【需求】
我们有时候会遇到这样一个问题:在给机器装系统的时候,磁盘分配不合理,给home目录非常多,但是给/root目录比较少,结果/root目录满了,/home目录还有很多空间没有使用,那么这个时候如果我们不想重装系统,该怎么把home的磁盘空间给/root目录匀一些?
【操作步骤】
- 前提条件是当前机器做了逻辑卷,我们先将home目录的逻辑卷删除掉(注意备份);
- 重新加home的逻辑卷的时候,就可以把home的磁盘空间缩小500G;
- 然后把多出来的物理卷空间用lvextend命令加到/root目录下面去。
tar -czvf home.tar.gz /home # 备份要缩小盘的空间,然后将备份导出到其他位置
umount /home # 卸载要缩小的盘
lvremove /dev/mapper/centos-home # 删除缩小盘的逻辑卷
lvcreate -L 500GB -n home centos # 给缩小盘重新创建逻辑卷,并且缩小空间
mkfs.xfs /dev/centos/home # 格式化缩小盘,这就是为什么要备份的原因
mount /dev/mapper/centos-home # 重新挂载/home盘
lvextend -r -l +100%FREE /dev/mapper/centos-root # 将所有物理卷都给扩容盘
tar xf /mnt/public/Share/tom/home.tar.gz -C / # 恢复缩小盘原来的备份文件
需要注意的是:我们可能挂载的物理卷的名称是不一样的,这个要注意,别搞混了。在生产环境中测试过这个过程,可以放心食用!