在我们安装某个软件系统时,发现root目录空间较少,而home目录空间较大,那么怎么把home目录空间扩容至/根目录呢?
一、查看目录空间
df -h:查系统目录空间大小
$ df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 2.7G 48G 6% /
......
/dev/mapper/centos-home 42G 33M 42G 1% /home
......
可知,根目录较小,而/home目录空间充足,可扩容一些到/目录下去
二、备份并卸载/home目录
home先备份并卸载:先进行home文件压缩并保存其他目录下,再卸载。
# 先将home下面的所有文件备份到/tmp下,一会要重新分配home,不备份数据将会丢失
# tar cvfP /tmp/home.tar /home
$ umount /home/
$ lvremove /dev/mapper/centos-home
Do you really want to remove active logical volume centos/home? [y/n]: y
Logical volume "home" successfully removed
三、根目录扩容
根目录扩容:将/home空间扩容一定比例至/根目录,本次移走85%
$ lvextend -l +85%FREE /dev/centos/root
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 84.95 GiB (21748 extents).
Logical volume centos/root successfully resized.
$ cat /etc/fstab |grep root # 查看文件类型
/dev/mapper/centos-root / xfs defaults 0 0
# 扩充到空间
$ xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13107200 to 22269952
四、创建回/home目录
创建回home:重新创建home目录
$ lvcreate -l +100%FREE -n home centos
Logical volume "home" created.
$ mkfs.xfs /dev/mapper/centos-home
meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=404224 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1616896, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
$ mount /dev/mapper/centos-home /home
# 之前如果有备份的,可以在这时复制回来
tar xvfP /tmp/home.tar -C /home/ //将压缩文件还原
五、验证一下
df -h:查看磁盘空间大小。
df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 85G 2.4G 83G 3% / # 容量从50G增加到了85G
......
/dev/mapper/centos-home 6.2G 33M 6.2G 1% /home
可知,根目录已完成扩容。