centos7服务器根目录扩容的操作记录
最近在使用GPU服务器训练模型时,出现了因为内存不足而无法安装环境的问题,在解决了这个问题后,留下一些记录以供大家参考。
一、问题:服务器/dev/mapper/centos-root 占用了过高
近日,使用centos7 GPU服务器,使用命令补全、安装文件等指令操作,如:pip install XXX,等,都会报出以下错误,导致安装失败。
No space left on device
查看磁盘容量:
[root@CentOS]# df -h
查看了下磁盘容量,linux根目录内存只有50G。且占用率100%。
**内存占用达100%的时候,是无法使用任何操作的,因此必须删除掉一些不必要的文件。**删除后情况如下:
/dev/mapper/centos-root 清理后,占用了34G。
如果大家root路径下为内存足够操作,也可以不用这一步。
二、扩容的步骤如下
1.备份/home分区内容
首先,将/home备份到/run下面。
sudo tar cvf /run/home.tar /home
2.卸载/home
先终止所有使用/home文件系统的进程,再卸载,这里要注意不要在/home目录下执行下面的操作:
终止:
sudo fuser -km /home
卸载:
sudo umount /home
3.删除/home所在的逻辑卷lv
sudo lvremove /dev/mapper/centos-home
4.扩大根目录所在的逻辑卷,这里增大2T
sudo lvextend -L +2T /dev/mapper/centos-root
这里的大小可以自行设定。
5.扩大/文件系统
sudo xfs_growfs /dev/mapper/centos-root
6.重建/home文件系统所需要的逻辑卷
可用硬盘总容量为9.6T,由于刚才我们分出去2.0T,因此这里创建的逻辑卷大小为7.5T。
sudo lvcreate -L 7.5T -n/dev/mapper/centos-home
7.创建文件系统
sudo mkfs.xfs /dev/mapper/centos-home
8.将新建的文件系统挂载到/home目录下
sudo mount /dev/mapper/centos-home
9.恢复/home目录的内容
sudo tar xvf /run/home.tar -C /
10.删除/run下面的备份
sudo rm -rf /run/home.tar
三、结果
服务器根目录扩容完毕。
终止home下的进程后,一些服务需要重启服务器后才能生效。安装完后重启一次服务器即可。
这里建议大家在使用账户的时候,尽量不要使用root权限。在自己路径下完成安装环境等行为操作。