WenRou's Blog

新浪微薄腾讯微薄

最新碎语:测试图片碎语哦

您的位置:WenRou's Blog >面板> 采用AMH5.1面板,如何将数据库和网站程序转移到数据盘?

采用AMH5.1面板,如何将数据库和网站程序转移到数据盘?

【原创与建议】

采用AMH5.1面板,如何将数据库和网站程序转移到数据盘?

原文首发: http://amh.sh/bbs/post-6251-1-1.htm


我的测试环境:阿里云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

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

---

转载请注明本文标题和链接:《采用AMH5.1面板,如何将数据库和网站程序转移到数据盘?

发表评论

44 + 7 =
路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(1)

自己顶一下。
温柔哥 9年前 (2015-04-05) 回复