Linux系统下减少LV(逻辑卷)容量

  1. 查看文件系统现有 lv_test 容量,总计9.9G,已使用2%

    命令 df -h

    Linux系统下减少LV(逻辑卷)容量
  2. 2

    查看系统中的 PV 情况

    命令:pvdisplay

    vg_test 下有两个 PV,分别为  /dev/sdb1 和 /dev/sdb2。我们要做的是移除其中的 /dev/sdb2,记住这个PV有 1284 个PE

    Linux系统下减少LV(逻辑卷)容量
  3. 3

    查看系统中PV情况,另一种方式

    命令:pvscan

    发现 /dev/sdb1 属于 vg_test,大小为4.98GB

    发现 /dev/sdb2 属于 vg_test,大小为5.02GB

    Linux系统下减少LV(逻辑卷)容量
  4. 4

    由于/dev/sdb1 大小为4.98G,而且容量不能写小数,故减少文件系统至 5000M。另外,减小文件系统容量不能在线进行,故先卸载卷

    命令:

    umount /test 卸载卷

    e2fsck -f /dev/vg_test/lv_test 磁盘检查

    resize2fs /dev/vg_test/lv_test 5000M 减小文件系统容量

    Linux系统下减少LV(逻辑卷)容量
  5. 5

    查看现在文件系统的容量

    mount /dev/vg_test/lv_test /test 先挂载

    此时,通过 df -h 查询文件系统已经由原来的9.9G降至为4.9G

    Linux系统下减少LV(逻辑卷)容量
  6. 6

    接下来,减少LV的容量。

    通过最开始的查询,我们知道 /dev/sdb2 有1284个 PE

    因为lv_test的使用量为 138M,小于现有容量4.98G,因此出现的警告可按 y

    命令:

    lvresize -l -1284 /dev/vg_test/lv_test 

    此时,通过 lvdisplay 查询 lv_test 容量降低至 4.98G

    Linux系统下减少LV(逻辑卷)容量
  7. 7

    查看系统中现在的 PV 情况

    命令:pvdisplay

    vg_test 下的 /dev/sdb2 有 1284 个 PE,并且都是 Free PE,说明lv_test不在使用 /dev/sdb2

    如果不全是 Free PE,需要使用 pvmove 将 占用的 PE 移至 /dev/sdb1

    Linux系统下减少LV(逻辑卷)容量
  8. 8

    将/dev/sdb2 从 vg_test 中移除

    命令:

    vgreduce vg_test /dev/sdb2

    通过 pvscan 查询,/dev/sdb2已经不在属于任何VG了

    Linux系统下减少LV(逻辑卷)容量
  9. 9

    删除PV

    命令:

    pvremove /dev/sdb2

    通过 pvscan 和 pvdisplay 查询,系统中不再有 /dev/sdb2 这个PV

    Linux系统下减少LV(逻辑卷)容量
  10. 10

    最后,完整的将现有的LV扩充到整个文件系统。

    命令:resize2fs /dev/vg_test/lv_test 

    此步骤主要是考虑在减少文件系统的时候,可能将 /dev/sdb1中的部分空间移除。现在通过扩充,将完整的利用 /dev/sdb1

    通过 df 查询,也发现扩充前后文件系统增加了部分容量

    至此,大功告成!

    Linux系统下减少LV(逻辑卷)容量
    END

注意事项

 
  • 一定要确保 /dev/sdb2中所有的 PE都是 Free PE,即没有被使用的
  • 一定要卸载卷后减少文件系统的容量
  • 在减少文件系统前要进行磁盘检查
原文地址:https://www.cnblogs.com/liuchaogege/p/6626952.html