Linux系统下减少LV(逻辑卷)容量
-
查看文件系统现有 lv_test 容量,总计9.9G,已使用2%
命令 df -h
-
查看系统中的 PV 情况
命令:pvdisplay
vg_test 下有两个 PV,分别为 /dev/sdb1 和 /dev/sdb2。我们要做的是移除其中的 /dev/sdb2,记住这个PV有 1284 个PE
-
查看系统中PV情况,另一种方式
命令:pvscan
发现 /dev/sdb1 属于 vg_test,大小为4.98GB
发现 /dev/sdb2 属于 vg_test,大小为5.02GB
-
由于/dev/sdb1 大小为4.98G,而且容量不能写小数,故减少文件系统至 5000M。另外,减小文件系统容量不能在线进行,故先卸载卷
命令:
umount /test 卸载卷
e2fsck -f /dev/vg_test/lv_test 磁盘检查
resize2fs /dev/vg_test/lv_test 5000M 减小文件系统容量
-
查看现在文件系统的容量
mount /dev/vg_test/lv_test /test 先挂载
此时,通过 df -h 查询文件系统已经由原来的9.9G降至为4.9G
-
接下来,减少LV的容量。
通过最开始的查询,我们知道 /dev/sdb2 有1284个 PE
因为lv_test的使用量为 138M,小于现有容量4.98G,因此出现的警告可按 y
命令:
lvresize -l -1284 /dev/vg_test/lv_test
此时,通过 lvdisplay 查询 lv_test 容量降低至 4.98G
-
查看系统中现在的 PV 情况
命令:pvdisplay
vg_test 下的 /dev/sdb2 有 1284 个 PE,并且都是 Free PE,说明lv_test不在使用 /dev/sdb2
如果不全是 Free PE,需要使用 pvmove 将 占用的 PE 移至 /dev/sdb1
-
将/dev/sdb2 从 vg_test 中移除
命令:
vgreduce vg_test /dev/sdb2
通过 pvscan 查询,/dev/sdb2已经不在属于任何VG了
-
删除PV
命令:
pvremove /dev/sdb2
通过 pvscan 和 pvdisplay 查询,系统中不再有 /dev/sdb2 这个PV
-
最后,完整的将现有的LV扩充到整个文件系统。
命令:resize2fs /dev/vg_test/lv_test
此步骤主要是考虑在减少文件系统的时候,可能将 /dev/sdb1中的部分空间移除。现在通过扩充,将完整的利用 /dev/sdb1
通过 df 查询,也发现扩充前后文件系统增加了部分容量
至此,大功告成!
END