在这里,我们将向您展示如何在Linux中收缩LVM卷或分区,方法是首先调整文件系统的大小,然后调整逻辑卷的大小。
如果您尝试执行相反操作请看:LVM——linux增加LVM分区
注意:在这个例子中,我们以CentOS 7为例 ,某些命令在不同的 Linux 发行版中可能会有所不同。从 CentOS 7 开始,默认文件系统是 xfs,此示例使用 xfs文件系统。
因此,再开始之前,请检查您的文件系统,如果是ext4,请转移至LVM——缩小LVM分区(efx4)
cat /etc/redhat-release
df -hT
如下可以查看到当前文件系统是xfs
Filesystem Type Size Used Avail Use% Mounted on
...
/dev/mapper/centos-root xfs 50G 50G 340M 100% /
/dev/mapper/centos-home xfs 741G 108M 741G 1% /home...
逻辑卷管理器 (LVM) 概述
在完成调整大小过程之前,请务必先了解有关物理卷、卷组、逻辑卷和文件系统的一些基本概念。
- 物理卷 (PV):这可以在整个物理磁盘(例如/dev/sda)或Linux分区上创建。
- 卷组 (VG):它由至少一个或多个物理卷组成。
- 逻辑卷 (LV):这有时称为分区,它位于卷组中,并有一个文件系统写入其中。
- 文件系统:文件系统(如 ext4)将位于逻辑卷上。
备份原数据
xfsdump -f /tmp/home.dump /home
备份时,需要填写dump session和media ,这讲生成两个文件
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control============================= dump label dialog ==============================
please enter label for this dump session (timeout in 300 sec)
-> home_session
session label entered: "home_session"--------------------------------- end dialog ---------------------------------
...
...
============================= media label dialog =============================
please enter label for media in drive 0 (timeout in 300 sec)
-> home_media
media label entered: "home_media"--------------------------------- end dialog ---------------------------------
...
...
xfsdump: Dump Status: SUCCESS
备份成功后,将在/tmp下生成home.dump home_media home_session这三个文件
卸载分区
sudo umount /home
减小分区大小
/dev/centos/home原来有749G,需要减小到700G
减少700G
lvreduce -L -700G /dev/centos/home
减少到700G
lvreduce -L 700G /dev/centos/home
查看此时 centos卷组,多余了700G空间
vgdisplay
除了直接减小分区大小外,还有一种方法,先移除/dev/centos/home,再添加,可以参考如何在 LVM 中减少/收缩 Linux XFS 卷 - ShaunChng.com
lvremove /dev/centos/home
lvcreate – name home -L 49GB centos
使用 XFS 文件系统格式化分区
mkfs.xfs -f /dev/centos/home
重新挂载/home
mount /dev/vg00/lv00 /test
重新挂载后,/home下是空数据,需要还原刚备份的数据
恢复数据
xfsrestore -f /tmp/home.dump /home