Centos7把home目录下多余的空间转移到/根目录下_根目录

通过df-h发现,根目录只有32G,而home目录可用的,居然有142G。我现在想分出70G给根目录

把你需要挂载的机器的逻辑卷记住(上面的图,左边是逻辑卷,右边是虚拟磁盘)

/dev/mapper/cl-home 物理地址(逻辑卷)

其中的cl就是这个类,不能修改,记住cl,在第四步后要用,你的可能是叫其他名,都是df -h,后显示的结果,cl-home,取-前面的值

第一步:进行备份,一定要备份。

mkdir /home-bak

mv /home/* /home-bak

第二步:取消挂载,一定要询问使用这台机器的所有人,有没有在home下挂服务

umount /home

如果,不能取消,说明有其他程序在使用,找到他们,杀死他们。

查看谁在使用它

fuser -k /home

然后,只复制前面的数字(进程号),就可以杀死

kill -9 数字

第三步: 卸载逻辑卷

lvremove /dev/mapper/cl-home

第四步:创建卷,为home目录,卷名为centos

lvcreate -L 70G -n home cl

第五步:将逻辑卷,拓展到磁盘系统,磁盘名字要与之前df-h的逻辑卷保持一致

mkfs -t xfs /dev/mapper/cl-home

第六步:将磁盘系统的逻辑卷,与磁盘目录做映射

mount /dev/mapper/cl-home /home

拓展,原有磁盘

先加到逻辑卷(df -h ,根目录,左边对应的就是逻辑卷)

lvextend -L +70G /dev/mapper/cl-root

在加到文件系统

xfs_growfs /dev/mapper/cl-root

df -h查看

第七步:把/home-bak目录中备份的东西,还到/home里

mv /home-bak/* /home

 

 

对于docker容器已部署后,如何将home目录下所有的空间转移到/根目录下

1、停止dokcer 

systemctl stop docker

2、备份home目录

mkdir /home-bak
mv /home/* /home-bak

3、修改分区表

vi /etc/fstab

进入文件后将/dev/mapper/centos-home /home  前面加#号注释掉

4、卸载home分区

umount /home

如果有报错,杀死/home占用home目录的所有进程
# fuser -mki /home

如果报错:-bash: fuser: command not found
安装:yum install -y psmisc

5、lvscan看已有的分区,会有/dev/contos/home这一项,移除home映身的分区

lvremove /dev/mapper/centos-home

注:lvremove /dev/mapper/centos-home  # 有可能有Logical volume centos/home contains a filesystem in use. 使用lvremove -f /dev/mapper/centos-home,如果还不可以,使用lvremove -f /dev/mapper/centos-home 然后再lvremove -f /dev/mapper/centos-home

6、把空出来的空间给到root

lvextend -l +100%free /dev/mapper/centos-root

7、更新扩容的区间

xfs_growfs /dev/mapper/centos-root

用hd -f命令查看效果,还是没有效果请用如下的命令

resize2fs /dev/mapper/centos-root

8、还原备份

mv /home-bak/* /home

9、重启docker 并设置开机启动

10、重启系统
reboot