导读 本文介绍如何缩减XFS分区格式的 / 目录。如果需要缩减逻辑卷上的XFS文件系统,则需要通过备份、恢复和重新创建逻辑卷来实现。
系统环境

Centos8

当前系统分区布局

这是当前文件系统布局。当前挂载点/容量为17G。我们的目的时减少/的容量。

备份数据

在缩减分区前一定要备份重要数据。如果出现问题了,可以恢复数据。

注意:需要为该服务器额外添加一块硬盘,用来备份系统分区的。

进入救援模式

在VMware Workstation中,加载光盘,并开机器用。开机按F2,进入BIOS,切换到Boot选项卡。将CD-ROM Drive移动到Hard Drive上面。按F10保存并重启。

选择Troubleshooting,然后选择进入救援模式。


当进入下面界面时,选择3,直接进入界面。

进入救援模式,可以看到/mnt/sysimage目录没有挂载系统分区。

# ls -al /mnt/sysimage/

激活逻辑卷组

挂载分区之前,需要激活逻辑卷,下面激活卷组:

# vgchange -ay
  2 logical volume(s) in volume group "cl" now active
# vgs
  VG #PV #LV #SN Attr   VSize   VFree
  cl   1   2   0 wz--n- <19.00g    0 

挂载系统分区和用来备份数据的分区

首先从备份开始,我们需要将逻辑卷挂载在某个位置。通过临时挂载它,我们可以将/分区备份到任何其他位置,并且在执行还原时需要对其进行访问。

现在,在/mnt/sysimage/下创建两个目录。一个用于挂载该服务器的实际/分区,另一个将用于存储/分区的备份。

# mkdir /mnt/sysimage/root
# mkdir /mnt/sysimage/backup
# mount /dev/cl/root /mnt/sysimage/root
# mount /dev/sda /mnt/sysimage/backup/

使用xfsdump备份/分区

通过运行xfsdump来执行备份。

# xfsdump -l 0 -L "root lv backup" -M "backup" -f /mnt/sysimage/backup/root_backup.img /mnt/sysimage/root 


dump使用级别0(备份所有文件)时,将提示输入备份会话标签和媒体标签,我们可以通过以下选项-f-L-M添加到以下内容来避免出现提示:

  • -l 0 备份级别设置为0,0级指所有文件都将备份。
  • -L 指定备份会话的标签
  • -M 指定第一个媒介的标签
  • -f 指定备份目的文件。
卸载文件系统

备份完成后,我们可以卸载文件系统。

# umount /mnt/sysimage/root/
缩减/分区

使用lvremove删除逻辑卷,并使用lvcreate来创建新的卷。

# lvremove /dev/cl/root 
Do you really want to remove active logical volume cl/root? [y/n]: y
  Logical volume "root" successfully removed


之后,创建所需的逻辑卷大小,下面创建逻辑卷大小为15G。

# lvcreate -Zy -L 15G -n root cl


使用-Zy将新的逻辑卷中的前4KiB数据清零。

创建新的XFS分区
# mkfs.xfs /dev/cl/root 

挂载并恢复数据

文件系统准备就绪后,将其挂载在/mnt/sysimage/root目录中:

# mount /dev/cl/root /mnt/sysimage/root/

使用xfsrestore恢复之前备份的数据:

# xfsrestore -f /mnt/sysimage/backup/root_backup.img /mnt/sysimage/root


重启进入系统检查是否正常。断开虚拟机的光驱连接,开机按F2,进入BIOS,设置引导顺序,将硬盘放在第一项启动,F10保存并重启:

进入系统之后,检查分区大小是否以缩减:

[root@localhost ~]# df -hT /
Filesystem          Type  Size  Used Avail Use% Mounted on
/dev/mapper/cl-root xfs    15G  1.7G   14G  11% /

总结

就这样,借助xfsdumpxfsrestore实用程序,我们完成了缩减XFS文件系统和逻辑卷的工作。

本文原创地址://lrxjmw.cn/reduce-xfs-root-directory.html编辑:逄增宝,审核员:逄增宝