导读 | 本文介绍如何缩减XFS分区格式的 / 目录。如果需要缩减逻辑卷上的XFS文件系统,则需要通过备份、恢复和重新创建逻辑卷来实现。 |
系统环境 :CentOS7.6
当前挂载点根目录/
容量为21.39G。我们的目的时减少 /
的容量。
[root@CentOS7:~]# df -TH /
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 21.39G 5.6G 15.79G 36% /
在线模式下,不能利用LVM管理系来缩减根目录(/)分区容量,必须在离线模式下,进入到系统救援模式下恢复,需要备份根目录分区数据.
一 . VirtualBox环境下挂载CentOS7.6 ISO镜像
二. 进入救援模式
1.在VirtualBox环境下,开机按F12,进入VirtualBox temporary boot device selection 界面,按c键,选中CD-ROM 回车
2.选中Troubleshooting(故障排除),进入Troubleshooting界面
3.,选择Rescue a CentOS system 回车
4.进入救援模式后,选择3) Skip to shell 回车
5.进入救援模式,可以看到 /mnt/sysimage
目录没有挂载系统分区。
# ls -al /mnt/sysimage/
三 .备份数据
在缩减分区前一定要备份重要数据。如果出现问题了,可以恢复数据。
注意:需要为该服务器提前准备额外添加一块硬盘,建好分区,用来备份系统分区的数据
1.激活逻辑卷组
挂载分区之前,需要激活逻辑卷: lvcheange -ay
2. 挂载系统分区和用来备份数据的分区(备份数据具体步骤)
首先从备份开始,我们需要将逻辑卷挂载在某个位置。通过临时挂载,我们可以将 /
分区备份到任何其他位置,并且在执行还原时需要对其进行访问。现在,在/mnt/sysimage/下创建两个目录。一个用于挂载该服务器的实际 /
分区,另一个将用于存储 /
分区的备份。
# mkdir -p /mnt/sysimage/{root,backup} # mount /dev/centos/root /mnt/sysimage/root # mount /dev/sdc1 /mnt/sysimage/backup/
3.使用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
指定备份目的文件
四. 卸载文件系统,缩减/分区
1 .备份完成后,卸载文件系统。使用 lvremove
删除逻辑卷,并使用 lvcreate
来创建新的卷
# umount /mnt/sysimage/root/ # lvremove /dev/centos/root Do you really want to remove active logical volume cl/root? [y/n]: y Logical volume "root" successfully removed
2.创建所需的逻辑卷大小,下面创建逻辑卷大小为13G。
# lvcreate -Zy -L 13G -n root centos使用
-Zy
将新的逻辑卷中的前4KiB数据清零
3.创建新的XFS分区
# mkfs.xfs /dev/centos/root
五. 挂载并恢复数据
1.文件系统准备就绪后,将其挂载在/mnt/sysimage/root目录中:
# mount /dev/centos/root /mnt/sysimage/root/
2. 使用 xfsrestore
恢复之前备份的数据
# xfsrestore -f /mnt/sysimage/backup/root_backup.img /mnt/sysimage/root
六. 重启进入系统检查是否正常
如果可正常登录系统,就说明我们利用 xfsdump
和 xfsrestore命令
,已经成功缩减了XFS文件系统和逻辑卷。