经常遇到有些网友,在提到自己服务器出现故障网站和面板无法打开,部分原因是因为服务器硬盘占满导致的。尤其是有些服务器默认系统盘8-10GB资源,其实这个服务器默认还会有10-30GB数据盘需要我们自己挂载才可以使用,并没有自动将我们服务器挂载到对应的目录中。
在这次给这个网友解决问题的时候遇到服务器是自动有挂载的,但是是挂载在HOME目录中,不过这个网友安装的是宝塔面板,需要默认使用WWW目录,所以他并没有用到数据盘20GB资源,而是还在根目录中使用的。所以导致服务器系统盘占满网站无法打开。在这篇文章中,的思路就是重新卸载挂载HOME目录,然后将挂载到WWW目录。
在这里将解决方法记录下来,但是即便我们有网友需要参考,建议还是先备份好数据库。因为在迁移过程中我是遇到一些问题的,但是都解决掉。我们在购买服务器安装面板之前最好先挂载数据库,这样省得以后磁盘占满在转移磁盘挂载麻烦。
第一、检查当前服务器情况
这里我们可以看到当前磁盘中安装的是宝塔面板,网站和面板是在WWW目录下,但是数据硬盘服务器商家自动挂载在HOME目录所以没用上。
第二、卸载挂载重新挂载
1、停止WEB运行
/etc/init.d/bt stop
/etc/init.d/nginx stop
/etc/init.d/mysqld stop
这里我们需要先将宝塔面板、Nginx、数据库都停止。
2、卸载挂载盘
umount /dev/mapper/Xvdbgroup-xvdb1
这里我们先卸载挂载盘原来的HOME目录。
3、重新建立www目录
我们可以先将默认的www目录重新命名为www22,然后新建一个www目录。
echo ‘/dev/mapper/Xvdbgroup-xvdb1 /www ext3 defaults 0 0’ >> /etc/fstab
mount -a
然后我们重新挂载到新的空www目录中。
第三、迁移数据至新的www
mv www22/ www/
这里我将原来www22目录中的内容移动到www目录中,然后我们需要调整一些文件目录到根目录下。
完毕之后我们需要重新启动宝塔面板、MYSQL数据库、NGINX等环境。如果有报错的话我们要依次解决到底是什么问题。这里可能有一个缺陷,如果数据不多的话估计没多大问题,如果数据多,可能还是要用到rsync同步迁移数据比较稳妥,这样数据不易丢失。
最终问题是得以解决的。
可以看到当前网站都没有问题,宝塔面板也正常访问。而且目前数据都在数据硬盘。
总结,后面有机会的话我准备稳妥起见,采用rsync同步迁移数据完整之后最后挂载数据硬盘。我这里是先挂载后迁移的,反正问题是解决完毕。