centos7 centos-home 磁盘空间转移至centos-root下(磁盘空间不足,磁盘不足)

#!/bin/bash #向 "根/" 增大的容量 rootsize=100 #定义/home目录的容量 homesize=80 mkdir -p /bak.$$ && mv /home/* /bak/ && umount /home util [[ `df -H| grep /home| awk '{print $NF}'` != '/home' ]];then do fsuser -km /home done lvremove /dev/mapper/centos-home lvextend -L +${rootsize}G /dev/mapper/centos-root xfs_growfs /dev/mapper/centos-root lvcreate -L ${homesize}G -n /dev/mapper/centos-home mkfs.xfs /dev/mapper/centos-home mount /dev/mapper/centos-home mv /bak.$$/* /home/ df -H
在安装centos系统的时候,如果在安装时没有分配磁盘空间,选择的是默认分配的,根分区默认为50G大小,在安装完成后,可以发现大容量磁盘往往分配在了home下面。
如果要把home下面的磁盘空间分配到root磁盘下面。可以进行如下操作
1.查看CentOS的系统版本
2.查看分区
df -h (centos-home和centos-root每人的名字可能不一样)
3.备份home分区文件
tar cvf /tmp/home.tar /home
4.卸载/home,如果无法卸载,先终止使用/home文件系统的进程
umount /home # 卸载时,发现/home在使用中,所以先终止。
fuser -km /home/ ; umount /home # 需要多次执行此步骤,直到df -h回显没有/home目录
5.删除/home所在的lv
lvremove /dev/mapper/centos-home
6.扩展/root所在的lv
lvextend -L +100G /dev/mapper/centos-root
7.扩展/root文件系统
xfs_growfs /dev/mapper/centos-root
8.重新创建home lv (创建时计算好剩余的磁盘容量,建议比剩余小1G左右)
lvcreate -L 41G -n /dev/mapper/centos-home
9.创建文件系统
mkfs.xfs /dev/mapper/centos-home
10.挂载home
mount /dev/mapper/centos-home
11.home文件恢复
tar xvf /tmp/home.tar -C /home/
12.再次使用df -h查看系统磁盘大小