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