在阿里云购买的1台ECS,原系统盘20G,无数据盘,把LNMP环境都搭建在系统盘的/alidata目录下(一键安装包安装的)。现新购了1块数据盘,那么如何将/alidata的数据迁移至新购的数据盘中呢?详细操作步骤如下:
1.分区并格式化新的数据盘
使用【fdisk -l】命令查看数据盘是否存在
执行【fdisk -S 56 /dev/xvdb】命令,对数据盘进行分区;根据提示,依次输入[n],[p],[1],两次回车,[wq],很快就能完成。
使用【fdisk -l】命令查看新的分区xvdb1已经建立完成。
使用【mkfs.ext3 /dev/xvdb1】命令对新分区进行格式化。
2.停止web相关服务
# cat /etc/rc.local //查看启动了哪些服务,依次关闭即可 # /etc/init.d/MySQLd stop # /etc/init.d/Nginx stop # /etc/init.d/php-fpm stop # /etc/init.d/vsftpd stop
3.挂载数据盘至临时目录(/mnt ),复制系统盘中的网站数据文件(/alidata目录)至数据盘挂载的临时目录(/mnt )。
# mount /dev/xvdb1 /mnt # cp -rp /alidata/* /mnt/
4. 卸除数据盘挂载的临时目录(/mnt ),再重新挂载数据盘至原网站数据的目录(/alidata)。
# umount /mnt # mount /dev/xvdb1 /alidata
5.重启启动web服务,检查网站是否可以正常访问。
# /etc/init.d/mysqld start # /etc/init.d/nginx start # /etc/init.d/vsftpd start # /etc/init.d/php-fpm start
6.修改/etc/fstab文件,增加数据磁盘/dev/xvdb1的自动挂载。
# echo '/dev/xvdb1 /alidata ext3 defaults 0 0' >> /etc/fstab
至此,大功告成?非也,第3步中使用的是cp命令,也就是说,原系统盘/alidata的数据还在。以上操作都正常后,再进行下面的删除旧数据操作。
先执行上面第2步,停止web服务。然后【# umount /alidata】取消挂载,接着删除/alidata目录下的所有文件。最后【# mount /dev/xvdb1 /alidata】重新挂载,重启服务,访问正常。即大功告成。