最近在尝试通过物理机安装 CentOS,官方镜像默认安装时,如果没有手动分区,默认设置是会将 home 单独分区,系统分区默认为 50 GB,这里提供方法将 home 分区合并到 root 分区。

1.查看当前系统分区情况

输入命令:df -h

[root@192 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.8G     0  3.8G   0% /dev
tmpfs                    3.8G   16K  3.8G   1% /dev/shm
tmpfs                    3.8G  9.0M  3.8G   1% /run
tmpfs                    3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  2.2G   48G   5% /
/dev/sda2               1014M  144M  871M  15% /boot
/dev/sda1                200M   12M  189M   6% /boot/efi
/dev/mapper/centos-home  165G   33M  165G   1% /home
tmpfs                    761M     0  761M   0% /run/user/0


2.备份home分区的文件

备份打包文件到/tmp/home.tar,如果home分区下没有文件,可以省略这一步。

tar cvf /tmp/home.tar /home


3.卸载home分区

umount /home


4.取消开机自检home目录

卸载home分区后,如果不做这一步,会在开机阶段卡住。

vi /etc/fstab

加#号注释掉这一行,避免开机自检:

# /dev/mapper/centos-home /home xfs defaults 0 0

提示:如果不会vi或vim操作,先按i键,然后移动光标输入#号注释掉上面这一行,再按Esc键,输入:,再输入wq,最后按Enter回车键即可。


5.删除home目录所在的lv

输入命令:lvremove /dev/mapper/centos-home
注意:centos-home替换成你自己的硬盘分区路径,参考第1步的命令df -h

如果 home 目录存在进程,使用命令fuser -m -v -i -k /home终止 home 下的进程

[root@192 ~]# lvremove /dev/mapper/centos-home
Do you really want to remove active logical volume centos/home? [y/n]: y
  Logical volume "home" successfully removed


6.扩展root目录所在的lv将剩下全部可用大小都分配给root

lvextend -l +100%FREE /dev/mapper/centos-root
# 如果只加部分,可以指定大小,例如只增加1G大小:
lvextend -L +1G /dev/mapper/centos-root


7.扩展root目录文件系统

xfs_growfs /dev/mapper/centos-root


8.重新查看分区

输入命令:df -h,注意到分区已经改变了:

[root@192 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.8G     0  3.8G   0% /dev
tmpfs                    3.8G   16K  3.8G   1% /dev/shm
tmpfs                    3.8G  9.0M  3.8G   1% /run
tmpfs                    3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root  215G  2.2G  213G   1% /
/dev/sda2               1014M  144M  871M  15% /boot
/dev/sda1                200M   12M  189M   6% /boot/efi
tmpfs                    761M     0  761M   0% /run/user/0


9.最后重启系统

reboot