由于我们初期选择云服务器架设网站或者项目的时候没有考虑后期有更多的数据,或者是我们很多网友拿到云服务器没有检查服务商磁盘是通过系统盘和挂在盘分离给我们的,而我们没有先挂载数据硬盘只是直接用系统盘的。但是随着项目数据的增加,我们发现原有的系统盘存储量是不够的。
比如周末的时候老蒋遇到明同学的独立服务器数据盘有150GB居然没有用,而是用的数据盘40GB,随着数据的增加,已经用到将近70%才发现这个问题。基于它已经有超过20GB数据,如果搬迁到本地再重新部署,那周期太长,于是我们考虑的是无缝挂载新目录迁移数据的策略。
当然,老蒋建议如果没有把握的朋友还是先备份数据到本地或者远程服务器,当然如果有快照备份的话一定要先快照备份。
1、检查磁盘情况
通过检查磁盘,我们可以看到 当前 默认系统的它用的是宝塔面板,系统盘是挂载在WWW目录中,而服务商给的数据盘挂载在data目录,这个目录现在是空的。通过命令检查:
fdisk -l
检查可以看到它的数据硬盘目录是:/dev/vdb1
2、停止软件工作
由于它是有网站在运行的,老蒋先准备给他的宝塔面板、数据库、PHP、Nginx、Redis等只要在运行的软件都统统的关闭。
3、同步数据到挂载盘
这里,我看到它的150GB挂载盘挂载在data目录中。所以,我先将www目录中的全部网站数据迁移到data目录的挂在盘中。(思路很简单,后面直接将挂载盘vdb1重新挂载新的www目录就可以直接无缝迁移)
rsync -aXS /www/. /data/.
这个过程我等了大约五六分钟左右,这个相对比我们下载到本地再上传速度快N百倍。
4、备份WWW目录
这个我们还是担心万一数据搞错或者没有迁移完整还可以恢复。所以我不着急删除原始的www目录,而是给先重新备份一个目录。因为我等会需要创建一个新的www。
mv /www /www_backup
5、创建新的www目录
mkdir /www
6、卸载和挂载
我们需要先将原来挂载在data目录的卸载。
umount /dev/vdb1
然后我们挂载给新的www
mount /dev/vdb1 /www
这个时候,我们可以检查 df -h 可以看到已经挂载150GB给新的www,而且数据也都在。
7、设置启动项
但是这个时候我们还需要修改启动项。
vi /etc/fstab
编辑启动项,有一行挂载的是data,我们修改成www这样。重新服务器也没有问题。否则可不行。
8、恢复软件启动
这里,我们可以恢复软件启动看看网站和系统是否正常运行。如果正常运行都没有问题,我们可以将备份的 www_backup 删除缓解系统盘的存储空间。