lvm的缩减

Linux系统下,我们可以在安装系统时使用LVM来管理我们的文件系统,但是当我们的LV容量太大了如何减少其容量呢?下面就一步一步来向大家介绍。

目标:将 lv_test 中的  /dev/sdb2 移除

什么?不会创建LVM文件系统?赶快猛戳 

http://jingyan.baidu.com/article/6079ad0e9d7d9e28fe86db11.html (Linux系统下创建LV(逻辑卷)并挂载)

http://jingyan.baidu.com/article/54b6b9c0fc8b0b2d583b47c6.html(Linux系统下增加LV(逻辑卷)容量)

工具/原料

  • Linux系统

方法/步骤

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

    命令 df -h

    lvm的缩减

  2. 查看系统中的 PV 情况

    命令:pvdisplay

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

    lvm的缩减



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

    命令:pvscan

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

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

    lvm的缩减

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

    命令:

    umount /test 卸载卷

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

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

    lvm的缩减


  5. 查看现在文件系统的容量

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

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

    lvm的缩减

  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

    lvm的缩减




  7. 查看系统中现在的 PV 情况

    命令:pvdisplay

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

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

    lvm的缩减




  8. 将/dev/sdb2 从 vg_test 中移除

    命令:

    vgreduce vg_test /dev/sdb2

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

    lvm的缩减


  9. 删除PV

    命令:

    pvremove /dev/sdb2

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

    lvm的缩减





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

    命令:resize2fs /dev/vg_test/lv_test 

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

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

    至此,大功告成!

    lvm的缩减
    END




注意事项

一定要确保 /dev/sdb2中所有的 PE都是 Free PE,即没有被使用的

  • 一定要卸载卷后减少文件系统的容量
  • 在减少文件系统前要进行磁盘检查
  • 如果您喜欢,别忘了投票支持我哈~~