解决服务器根目录下存储空间不足问题

解决服务器根目录下存储空间不足问题

记录一次大胆的尝试

问题的产生

实验室的服务器使用docker和container的模型分配和使用GPU资源,但是由于服务器最初的硬盘分区不够合理,使得2080ti服务器的更目录只有不到80G的空间,并且docker安装在/var目录下(docker的容器包括镜像会产生比较大的空间占用),根目录的空间随时会被占满。因此需要给根目录更多的存储空间。

解决方案

我们采取了软链接的方法扩充根目录空间。具体过程记录如下。
可能是比较上头,我直接选择了为整个/var文件夹建立软链接。
首先,复制/var文件夹内容到空间充足的文件夹(/media/var)下。

sudo cp -r /var /media/var/

这里使用Tab补全路径的时候没注意多加了/,导致复制之后的路径为/media/var/var

然后大胆删除/var文件夹(我也不知道怎么这么大胆),

sudo rm -rf /var

这里我忘记先停用docker服务,所以/var文件夹没有删除完。

提心吊胆地重启服务器,因为docker目录内的主体已经删除了,只是有一些overlay2下的文件因为没有停用容器就删除docker导致的错误无法删除,理论上来说,重启之后就可以删除/var文件夹。

sudo reboot

大约半分钟后,服务器重启成功了,但是ssh登录界面极其简介(幸好没有影响到ssh命令),简介到没有任何登入提示(笑),并且此时服务器没有(apt,apt-get,dpkg),也就是无法以常规方式给服务器安装工具了(慌)。
硬着头皮删除/var目录,之后发现在/media下没有/var的备份,在仔细思考和检查之后,发现是硬盘没有自动挂载。设置磁盘开机自动挂载。

sudo blkid /dev/sdb2  #首先查看需要自动挂载的分区的UUID
sudo vi /etc/fstab  #修改/etc/fstab文件,设置自动挂载
UUID=xxxxxxxxxxxxxxxxxxxxx /media ext4 defaults 0 0  #填入UUID即可,最后两位0 0的意义还不明确,姑且这样用了

然后我们设置软链接,将/media/var/var链接到根目录下

sudo ln -s /media/var/var /var

设置软链接检查无误之后,再次重启服务器

sudo reboot

服务器可以正常登入了,根目录下的使用空间减少了很多,没有根目录爆满的烦恼了,并且docker的镜像和容器也可以正常工作,apt等命令恢复正常(乐)。

作者

swallow

发布于

2022-02-24

更新于

2022-02-24

许可协议

评论