今天早上回来发现一台测试服务器的/var/分区爆满了。

第一时间想到的是给它添加一块硬盘。添加硬盘是简单,但是/var/的数据怎么办呢。而且,这台服务器分区采用的是标准分区,而不是lvm的方式。所以在扩展空间有点麻烦。方法还是有点。网上有些建议是把/var/的数据移动新的磁盘上。我觉得这种做法,不是很适当。如果把/var/目录的数据全部移动到新的磁盘中,旧的分区空间不就是浪费了吗。
处理的思路是:
- 先添加一块磁盘,格式化成ext4文件系统。
- 把它挂载到一个目录下。并把它设置成开机自动挂载。
- 寻找/var/目录下主要占容量的文件夹。把它移动新的硬盘下。
- 新建软软连接到/var/下。
添加硬盘和格式化比较简单,这里就不说了。
挂载目录
在根目录下新建一个文件夹,名字随便,我这里用docker.
mkdir docker
把新的硬盘挂载到docker目录下,并设置成开机启动。编辑/etc/fstab文件。添加如下语句
/dev/sdb1 /docker ext4 defaults 1 2
移动较大的文件夹到docker目录下
经过排查发现/var/lib/docker 这个目录文件夹较大,于是把这个目录移动到根目录下。这个目录是docker程序的库文件,移动之前先把docker服务停止。
service docker stop mv /var/lib/docker /docker
新建软软连接到
因为/var/lib/docker/目录下的文件是docker程序库文件,所以,需要新建一条软链接到/var/lib下。这样docker程序才能正常启动。
ln -s /docker /var/lib/docker