- 首先,必须确保其他分区有足够的空间用来分给根目录/。可以使用以下命令查看:
$ sudo df -h
可以看到,这里home目录空闲的空间还很大,因此,我们将home的空间分给根目录一些。
- 扩容根目录的思路如下:
将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容。
- 备份/home分区内容
这里需要选一个能够容纳下/home文件夹大小的分区,可以看到/run剩余空间为32G,因此,我们将/home备份到/run下面。
$ sudo tar cvf /run/home.tar /home
4. 卸载/home
要先终止所有使用/home文件系统的进程,这里要注意不要在/home目录下执行下面的操作:
$ sudo fuser -km /home
然后,卸载:
$ sudo umount /home
5. 删除/home所在的逻辑卷lv:
$ sudo lvremove /dev/mapper/centos-home
选择y。
若出现Logical volume centos/home contains a filesystem in use,则先运行
fuser -m -v -k /home |
---|
此时可能会自动注销登录,重新登录,继续运行
lvremove /dev/mapper/centos-home |
---|
- 扩大根目录所在的逻辑卷,这里增大1T:
$ sudo lvextend -L +1T /dev/mapper/centos-root
- 扩大/文件系统:
$ sudo xfs_growfs /dev/mapper/centos-root
- 重建/home文件系统所需要的逻辑卷:
由于刚才我们分出去2.0T,因此这里创建的逻辑卷大小为2T.
$ sudo lvcreate -L 2T -n/dev/mapper/centos-home
9.创建文件系统:
$ sudo mkfs.xfs /dev/mapper/centos-home
- 将新建的文件系统挂载到/home目录下:
$ sudo mount /dev/mapper/centos-home
11. 恢复/home目录的内容:
$ sudo tar xvf /run/home.tar -C /home
-
删除/run下面的备份:
$ sudo rm -rf /run/home.tar -
df -h 重新查看空间分布,可见 /dev/mapper/centos-root 空间已经扩大 2T