产品服务AMH 免费服务器主机面板SSL证书 免费SSL证书申请 担保单 免费安全、零费率交易平台编程助手免费智能写代码、翻译AMYSQL 免费MySQL管理工具

AMH 社区首页

 AMH社区 - 开放自由有价值的社区

[求助帖] 【原创与建议】AMH5.1面板数据库和网站程序转移到数据盘

cxt0211
银牌会员
1474.31 价值分

cxt0211 发表于 2015-04-01 22:46:20
【原创与建议】
采用AMH5.1面板,如何将数据库和网站程序转移到数据盘?

我的测试环境:阿里云ECS ,CentOS6.5 64bit

硬盘的挂载和格式化具体可看阿里云教程:http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5974154
但是先别急着按照它的教程挂载,否者后面会多一些操作,有一些麻烦。

我用的是AMH5.1面板,最重要的是下面三个目录。
所有环境目录 /home/wwwroot/
数据库目录 /home/usrdata/
创建备份的目录 /home/backup/
其实都在/home 目录下

方法一(简便易行,但是目前AMH5.1不能实现):
AMH5.1环境面板安装在系统盘,但网站和数据库数据放在数据盘。
这样的好处是不仅仅可以使用到更多的数据盘空间,更重要的是重装系统或环境不会影响网站数据。当然格式化数据盘也不会影响系统和环境(不过你格式化数据盘的话,数据就没啦!)。
(简单说环境和数据分开。)


方法:
AMH5.1安装在系统盘里,按照官方默认安装即可。阿里云服务器的数据盘挂载也按原来的操作。
只是在AMH5.1后台添加网站时将默认目录选择成/mnt/wwwroot/lnmp/domain/主标识域名/web 即可。
但是前提是可以选择网站根目录,而现在的AMH5.1版本 还没有这个功能。
所以该方法还不能实现。
期待@amysql大神 更新该功能。


方法二:AMH5.1面板环境,网站数据、数据库数据均安装在数据盘
注意:本方法适用于先挂载数据盘,再安装AMH5.1面板。只需要直接将数据盘挂载到目录/home
方法:
直接按阿里云官方的教程操作就可以了
关键的地方就是把 /mnt 替换为 /home
也就是第5步:添加分区信息时候
把命令 echo '/dev/xvdb1 /mnt ext3 defaults 0 0' >> /etc/fstab
改写成 echo '/dev/xvdb1 /home ext3 defaults 0 0' >> /etc/fstab

操作完上面这些,再安装AMH5.1面板

注意:如果你是先安装了AMH5.1面板,本人就是这种情况,由于阿里云默认不赠送数据盘,所以系统盘20G使用完毕,就只能增加数据盘了。此时网站和数据库全部都在数据盘,如果还是本方法去挂载,也就是添加分区的时候把/mnt 替换为 /home 。
按照@AMYSQL大大的说法(http://amh.sh/bbs/forum.php?mod= ... 179&page=2#pid37995),挂载虽然不会覆盖数据,但是它读到的是当前挂载的数据盘数据。也就是你的网站数据根本没法访问了。因为此时访问的是数据盘,但是数据盘中又没有你的数据。(取消挂载后还是可以读到之前的数据)
所以并不能直接挂载到/home 下面。

再次提醒:本方法适用于先挂载数据盘,再安装AMH5.1面板。


方法三:先安装了AMH5.1,默认网站都在在系统盘下,我又是按照阿里云的的教程把数据盘挂载到了mnt下。还有办法迁移到数据盘吗?
悲催的我就是如此,如何搞呢?
论坛搜索,结合帖子 http://amh.sh/bbs/post-493-1-1.htm(该帖子虽然说是4.2版本的,但是稍作修改也可以用在5.1上面。)

给出以下方法:
先把PHP、MySQL、Nginx都停止
(如何停止?ssh 登陆后 输入amh ,然后按照提示选择即可!)
都停止了后然后再操作。
cd /home #进入网站和数据库上层目录

mv wwwroot /mnt #把wwwroot移动到/mnt目录,即数据盘
ln -s /mnt/wwwroot #原目录不变,并软链接到数据盘,原有任何设置均不改变

mv usrdata /mnt #把usrdata文件夹转移到/mnt目录
ln -s /mnt/usrdata

mv backup /mnt
ln -s /mnt/backup

完成后重启AMH 5.1即可


方法四:先安装了AMH5.1,默认网站都在在系统盘下,我又是按照阿里云的的教程把数据盘挂载到了mnt下,不采用方法三的软链接方法,而是采用转移大法。

方法:先将系统盘/home目录下的文件移动到/mnt相对应的目录,然后把数据盘卸载重新挂载到到/home 。

mkdir /mnt/wwwroot 建立目录
mkdir /mnt/usrdata
mkdir /mnt/backup

关闭相关服务:(ssh登陆后输入amh 按照提示选择即可!)
PHP
mysqld
pureftpd
nginxd

mv /home/wwwroot/* /mnt/wwwroot 复制文件
mv /home/usrdata/* /mnt/usrdata
mv /home/backup/* /mnt/backup

umount /dev/xvdb1 卸载数据盘
mount /dev/xvdb1 /home 重新挂载到/home 目录,
要重起生效,修改/etc/fstab文件
或者直接 echo '/dev/xvdb1 /home ext3 defaults 0 0' >> /etc/fstab 不用重启!

再开启相关服务:
PHP
mysqld
pureftpd
nginxd

如果有什么不周全的或者遗漏的地方,还请各位大神批评指正。谢谢!



评价: 这个问题有价值吗?  没有 (0分)   有, 感谢 (10分)
2015-04-01 22:46:20 1

jack2
银牌会员
1178.40 价值分

先挂载数据盘,再安装好吧
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-04-01 22:57:45 2

诸葛御风
金牌会员
5691.90 价值分

先挂数据盘~
不过话说现在用百度貌似比阿里云强点,这是题外话
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-04-02 14:01:41 3

cxt0211
银牌会员
1474.31 价值分

引用:
jack2 发表于 2015-4-1 22:57
先挂载数据盘,再安装好吧


不错。先挂数据盘是最好的,避免麻烦。万一不是先挂数据盘呢?
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-04-02 14:38:19 4

cxt0211
银牌会员
1474.31 价值分

引用:
诸葛御风 发表于 2015-4-2 14:01
先挂数据盘~
不过话说现在用百度貌似比阿里云强点,这是题外话


如果你不是先挂数据盘呢?
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-04-02 14:38:43 5

诸葛御风
金牌会员
5691.90 价值分

引用:
cxt0211 发表于 2015-4-2 14:38
如果你不是先挂数据盘呢?


我的思路 备份/home mv 到其他目录
挂载数据盘 cp过去
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-04-02 15:16:58 6

cxt0211
银牌会员
1474.31 价值分

引用:
诸葛御风 发表于 2015-4-2 15:16
我的思路 备份/home mv 到其他目录
挂载数据盘 cp过去


不错,这就是我说的方法四啊!!
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-04-03 15:45:33 7

88023939
铁牌会员
15.00 价值分

好东东 谢谢大大
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-04-21 13:38:14 8

mdgzaliyun1
铁牌会员
193.00 价值分

我是没有看教程,用的也是阿里云,直接把/mnt挂载成/home,也就是乾坤挪移大法。
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-06-28 15:07:39 9

howze
铜牌会员
657.00 价值分

这个帖子必须要收藏啊
先挂载数据盘的话
AMH5.1是不是默认就装到数据盘了?
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-06-30 09:44:23 10
 1 2 >  (总2页)
AMH社区列表
用户服务中心