Linux 根目录动态扩容
动态扩容 Linux 根目录,解决 /dev/mapper/centos-root
占用过高的问题。
首先,必须确保其他分区有足够的空间用来分给根目录 /
。可以使用以下命令查看:
$ sudo df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 34G 17G 67% /
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 58M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sdb2 1014M 279M 736M 28% /boot
/dev/sdb1 200M 9.8M 191M 5% /boot/efi
/dev/mapper/centos-home 3.6T 17G 3.6T 1% /home
可以看到,这里 home 目录空闲的空间还很大,因此,我们将 home 的空间分给根目录一些。
扩容根目录的思路如下:
将 /home
文件夹备份,删除 /home
文件系统所在的逻辑卷,增大 /
文件系统所在的逻辑卷,增大 /
文件系统大小,最后新建 /home
目录,并恢复 /home
文件夹下的内容。
Step1:备份 /home
分区内容
这里需要选一个能够容纳下 /home
文件夹大小的分区,可以看到 /run
剩余空间为32G,因此,我们将 /home
备份到 /run
下面
$ sudo tar cvf /run/home.tar /home
Step2:卸载 /home
目录
要先终止所有使用 /home
文件系统的进程,这里要注意不要在 /home
目录下执行下面的操作
$ sudo fuser -km /home
$ sudo umount /home
安装 fuser 命令:
yum install -y psmisc
Step3:删除 /home
所在的逻辑卷 lv
$ sudo lvremove /dev/mapper/centos-home
选择
y
Step4:扩大根目录所在的逻辑卷,这里增大 1T
$ sudo lvextend -L +1T /dev/mapper/centos-root
Step5:扩大 /
文件系统
$ sudo xfs_growfs /dev/mapper/centos-root
Step6:重建 /home
文件系统所需要的逻辑卷
由于刚才我们分出去 1.0T
,因此这里创建的逻辑卷大小为 2.5T
$ sudo lvcreate -L 2.5T -n/dev/mapper/centos-home
Step7:创建文件系统
$ sudo mkfs.xfs /dev/mapper/centos-home
Step8:将新建的文件系统挂载到 /home
目录下
$ sudo mount /dev/mapper/centos-home
Step9:恢复 /home
目录的内容
$ sudo tar xvf /run/home.tar -C /
Step10:删除 /run
下面的备份
$ sudo rm -rf /run/home.tar