怎么修改lvm分区大小-记删除home分区给根分区扩容

事情是这样的,一次给客户远程部署软件系统,客户也确实按要求准备了系统盘和数据盘两个盘,系统盘要了300G。但是客户安装系统时却将199G给了 /home ,30G给了 swap 。导致根分区(/)只有70G,怎奈我们安装需要安装/opt下(实际上就是占用根分区空间)需要200G以上空间,否则不能安装。。这怎么办,客户影响已经不好了,毕竟这事怪我们没有“重点强调”这些事情(实际上我们给了安装指南文档的。。。)。
好吧,都说咱们程序员是万能的,毕竟在外人看来咱们程序猿是“电脑专家”。于是开始向“通义千问”需求帮助,最终搞定删除home分区给根分区扩容。

先说下操作环境:

名称 内容
操作系统(OS): Anolis OS 8.6GA (阿里龙蜥,centos系列)
文件系统(FS): XFS
分区方式: lvm

1. 怎么卸载/home 分区

当我执行umount /home的时候提示我目标正忙,无法卸载。

[root@znl.pub ~]# umount /home
umount: /home: target is busy.

首先,我们要先把home进行备份

cp -rp /home /home.bak

第二步,卸载/home分区(/home是可以被umount命令卸载的)

lsof +D /home
查看有哪些进程哪些文件在使用 /home 分区

我们发现果然有个程序从home下启动,snc-agent。
ps aux 看一下 Snc-agent 的进程号(1264),然后kill掉他(kill 1264),发现可以卸载/home了。

要立即执行 umount -l /home 指令,怎么这个服务会自动重启(我测试过了,以下截图只是为了说明过程,一定要动作迅速。)

第三步,要抓紧将 /home.bak 下的内容拷贝回 /home

因为第二步已经卸载了 /home的挂载分区,现在也就是 /home 有回到了根分区下。现在要抓紧把/home.bak/ 放到 /home 下。/home.bak 是我第一步备份的/home目录,不先做这一步,万一来个重启系统,因为home中没有数据可能你就进不来了(没有仔细求证,但是为了避免节外生枝,安稳为妙!)。
这个就是cp一下,不截图了。

第四步,现在我们可以放心删除/home分区了

删除/home原来占用的分区,

[root@znl.pub ~]# lvremove /dev/ao_ps-mailpt-uat01/home
Do you really want to remove active logical volume ao_ps-mailpt-uat01/home? [y/n] y
  Logical volume "home" successfully removed.

也要记得修改/etc/fstab中的挂载项一并注释掉或删除掉

第五步,将多出来的空间给root

一开始,我执行了 lvextend -L +198G /dev/ao_ps-mailpt-uat01/rootlsblk看到ao_ps-mailpt-uat01已经变大了,但是df -h 看到的根分区却没有变大。这是怎么回事呢?

第六步,调整文件系统大小

扩展逻辑卷后,还需要调整文件系统的大小以使用新的空间。这取决于使用的文件系统类型
ext2/ext3/ext4:使用 resize2fs 命令。
resize2fs /dev/vg_name/lv_root

XFS:使用 xfs_growfs 命令。
xfs_growfs /

到此大功告成!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注