Linux:解决centos-root 根目录磁盘空间不足,动态扩容,不删数据
默认安装的root分区只有50G,/home分区有大几百G,可以考虑重新挂载分配空间,不用删除数据,不需要停业务。
查看系统空间
bash
df -h
解决思路:
先备份/home文件夹
删除/home文件系统所在的逻辑卷
增大/根目录文件系统所在的逻辑卷
增大/根目录文件系统大小
新建/home目录
恢复/home文件夹内容
详细步骤
- 查看系统分区大小,并截图,后面会用到逻辑卷名称(每个人名字可能不同)
bash
df -h
- 备份/home分区内容。比如可以放到/tmp文件夹
bash
tar cvf /tmp/home.tar /home
- 卸载/home
bash
umount /home
注意如果卸载不掉的话,要先停止使用/home文件系统的进程,然后再卸载。不要在/home目录下执行
bash
fuser -km /home
- 删除/home所在的逻辑卷lv:
bash
lvremove /dev/mapper/cl_192-home
选择y
- 扩大/root根目录所在的逻辑卷,这里增大400G:
bash
lvextend -L +35G /dev/mapper/cl_192-root
- 扩展/root文件系统
bash
xfs_growfs /dev/mapper/cl_192-root
- 重建/home文件系统所需要的逻辑卷:
bash
lvcreate -L 5G2.5T -n/dev/mapper/cl_192-home
- 创建/home文件系统
bash
mkfs.xfs /dev/mapper/cl_192-home
- 把新建的文件系统挂载到/home目录下:
bash
mount /dev/mapper/cl_192-home
- 恢复/home目录的内容:
bash
tar xvf /tmp/home.tar -C /home/
- 删除/tmp下面的备份:
bash
rm -rf /tmp/home.tar
- 再次使用df -h查看系统磁盘大小
PS:
可以查看哪个目录占用过高,如果是临时文件夹,可以删除相应的文件
bash
du -h -x --max-depth=1