Linux VPS系统盘已满后挂载数据盘且平移迁移网站数据

老蒋在给不少网友提供运维服务的时候,遇到不少的网友在购买VPS主机之后也并不查看系统盘的大小,以及也不查看商家是否有提供数据盘。因为不少商家提供的磁盘中有分系统盘和数据盘,而默认的时候数据盘是没有挂载的,我们购买VPS默认可能有40GB,可能默认直接建站安装环境只用到系统盘的10GB左右,30GB数据硬盘根本就没用得上。

但是在网站运行一段时间之后,网友会发现数据已占满系统盘,解决办法就是将数据盘或者增加数据硬盘之后将数据硬盘重新挂载到对应目录,然后将已有的网站数据迁移到挂载数据盘目录。这样的操作需要谨慎,因为稍有不慎可能会将已有的数据和系统损坏,建议提前备份数据。

第一、准备工作

1、备份数据

如果我们服务器有快照备份的,直接快照备份数据,这样恢复起来容易一些。如果没有快照备份功能,那我们可以将网站数据和数据库打包到本地或者远程服务器备份。

2、缕清思路

这篇文章解决的挂载问题是已有网站在运行,使用的是默认系统盘。需要考虑到网站后续数据的增加,客户需要将开始忘记挂载的数据盘利用起来,直接将网站数据单独用数据盘存储。服务器系统还是用系统盘。

第二、挂载和迁移数据

1、暂停当前网站运行

我们在操作数据之前,需要将当前运行的面板和网站数据库都暂停,然后在进行其他操作,要不容易引起错误。这里需要根据我们每个不同的WEB环境进行设置。

/etc/init.d/mysqld stop

/etc/init.d/php-fpm-70 stop

2、重命名网站目录

我们有一种操作是将已有的网站数据迁移到临时的目录中,然后将挂载盘到网站目录再迁移回来。但是如果系统盘已满,我们肯定无法进行临时目录迁移,所以将采用更换目录名称然后挂载目录到网站固有的目录。

默认网站目录是www目录,我这里将www目录修改成itbulu目录。

3、创建www目录

mkdir -p /www

4、挂载数据盘

fdisk -l

可以看到数据盘42GB没有挂载。

fdisk /dev/sdb

根据提示我们操作 n p 1 回车 回车。然后我们可以看到fdisk -l看到数据硬盘。

mkfs.ext3 /dev/sdb1

进行格式化。

mount /dev/sdb1 /www

设置挂载

mount -a

进行挂载生效后再进行启动项设置。

echo '/dev/sdb1 /www ext3 defaults 1 2' >> /etc/fstab

这里我们可以看到www目录已经是挂载盘的容量。

5、迁移回数据

这里我们需要将原来改目录的itbulu里文件全部转移到www目录。

mv /itbulu/* /www

这里命令不要搞错,根据服务器磁盘读写以及数据多少可能有些时候需要等待时间不同。

这里我们迁移完毕之后,看到系统盘存储缓解,一般10GB容量放系统盘是够用的。单独用40GB用挂载盘来放网站也是比原来10GB宽松很多。

第三、恢复网站环境启动

上面一切都很顺利,现在数据依旧回到原来的WWW目录中,我们这里就需要启动WEB环境和网站MYSQL等环境。

/etc/init.d/mysqld start

/etc/init.d/php-fpm-70 restart

这里老蒋测试是正常的,但愿我们有网友参考的时候也一切顺利。数据备份很关键,如果出现问题我们尽量恢复原貌。

总结,如果我们担心数据的问题建议重启后再看看是否有异常,如果有任何异常需要尽快恢复数据到原来,这次的挂载操作是解决我们很多网友开始没有挂载直接用于系统盘,而后续磁盘满再去挂载磁盘迁移网站文件到挂载盘管理的过程。

本文出处:老蒋部落 » Linux VPS系统盘已满后挂载数据盘且平移迁移网站数据 | 欢迎分享( 公众号:站长事儿 )