因为公司的linux测试环境的磁盘20G满了,我们使用它来存放图片和部署walle等环境的,那就是都用不了了。这就导致工作代码都上传不了,于是主管操作,我写博客,嘿嘿

思路:
1.分区并且格式化新的数据盘(格式化这些操作都是常规操作)
2.停止web相关服务
3.挂载数据盘至临时目录(/mnt ),复制系统盘中的网站数据文件(/alidata目录)至数据盘挂载的
4.卸除数据盘挂载的临时目录(/mnt ),再重新挂载数据盘至原网站数据的目录(/alidata)
5.重启启动web服务,检查网站是否可以正常访问
6.修改/etc/fstab文件,增加数据磁盘/dev/xvdb1的自动挂载

 

在阿里云购买的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】重新挂载,重启服务,访问正常。即大功告成。