在安装centos系统时如果采用默认自动分区,则会默认只给根分区分配50G空间,其余多余的会被分配到home分区,而作为家用服务器或仅个人使用的话,为了方便往往根分区会不够用而home分区几乎没使用。
先看下现在的磁盘结构和容量(xfs文件系统,如果是ext4文件系统后续部分命令可能不适用)
请操作仔细,并备份好重要数据
一、针对XFS文件系统缩容/home逻辑卷
注意:缩容文件系统有数据丢失的风险,务必提前备份数据。
1、检查文件系统:
umount /home
e2fsck -f /dev/mapper/centos-home
2、检查文件系统并修复任何潜在问题:
sudo xfs_repair /dev/mapper/centos-home
3、缩文件系统,XFS 文件系统不支持直接缩小,因此需要备份、重建和还原数据。
1)创建一个临时目录并将 /home 数据备份到该目录(确保有足够的空间)
mkdir /mnt/temp_home
mount /dev/mapper/centos-home /mnt/temp_home
cp -a /mnt/temp_home/* /mnt/backup/
umount /mnt/temp_home
2)删除并重新创建逻辑卷:
这里我将home分区大小改为20G
lvremove /dev/mapper/centos-home
lvcreate -L 20G -n home centos
mkfs.xfs /dev/mapper/centos-home
3)还原数据:
mount /dev/mapper/centos-home /mnt/temp_home
cp -a /mnt/backup/* /mnt/temp_home/
umount /mnt/temp_home
4)将新文件系统挂载回 /home:
mount /dev/mapper/centos-home /home
此时查看home分区大小已变成20G:
二、扩展其他逻辑卷(如 / 目录)
1、扩展根逻辑卷(/):
1)方式一:
分配指定大小的容量给根目录
#增加的空间容量不能超过空闲容量大小
lvextend -L +350G /dev/mapper/centos-root
2)方式一:
分配剩余所有容量给根目录
lvextend -l +100%FREE /dev/mapper/centos-root
2、扩展XFS文件系统
xfs_growfs /
3、更新fstab文件(如果需要)
1)确保 /etc/fstab 中的条目正确,防止系统重启后出现挂载问题。
vi /etc/fstab
2)确认有类似以下内容
/dev/mapper/centos-home /home xfs defaults 0 0
三、验证
确保所有文件系统都正确挂载并检查新的大小: