小乌龟和鬼
just so so
1. 首先,必须确保其他分区有足够的空间用来分给根目录/。可以使用以下命令查看: 
$ sudo df -h 
可以看到,这里home目录空闲的空间还很大,因此,我们将home的空间分给根目录一些。
 
2. 扩容根目录的思路如下: 
将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容。
 
3. 备份/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。
如删除lvm时出现"Logical volume contains a filesystem in use"
解决方法:
使用如下脚本找出所有与该lvm相关的进程
# for i in /proc/[0-9]* ; do echo $i >> /tmp/mountinfo ; grep -q "/dev/mapper/centos-home" $i/mountinfo ; echo $? >> /tmp/mountinfo ; done
结果如下:
# grep -B 1 '^0$' /tmp/mountinfo /proc/922 0 
杀死进程: kill -9 922
 
 
6. 扩大根目录所在的逻辑卷,这里增大1T: 
$ sudo lvextend -L +1T /dev/mapper/centos-root
 
7. 扩大/文件系统: 
$ sudo xfs_growfs /dev/mapper/centos-root
 
8. 重建/home文件系统所需要的逻辑卷: 
由于刚才我们分出去1.0T,因此这里创建的逻辑卷大小为2.5T. 
$ sudo lvcreate -L 2.5T -n/dev/mapper/centos-home
 
9.创建文件系统: 
$ sudo mkfs.xfs /dev/mapper/centos-home
 
10. 将新建的文件系统挂载到/home目录下: 
$ sudo mount /dev/mapper/centos-home
 
11. 恢复/home目录的内容: 
$ sudo tar xvf /run/home.tar -C /
 
12. 删除/run下面的备份:
$ sudo rm -rf /run/home.tar
 

posted on 2021-12-29 17:02  小乌龟和鬼  阅读(490)  评论(0)    收藏  举报