PE+LV 改變大小

  1. 現在 VG vg_mntx 的 PE 大小為 4MiB,且 LV pub 使用 7 個,也就是使用 28MiB,若要將 VG vg_mntx PE 大小變更為 8MiB,則 240MiB/8MiB = 30 VG 大小 240MiB 可以正好分割成 30 PE。但 LV 使用 7 個 PE,也就是 28MiB,當PE 由 4MiB 變大為 8MiB 時,28Mib/8Mib = 3 餘 4,無法整除。
    [root@kvm7 ~]# vgdisplay vg_mntx | egrep '(Size|Total)'
      VG Size               240.00 MiB
      PE Size               4.00 MiB
      Total PE              60
      Alloc PE / Size       7 / 28.00 MiB
      Free  PE / Size       53 / 212.00 MiB
    
  2. LV 使用 7 個 PE,也就是 28MiB,當 PE 由 4MiB 變大為 8MiB 時,28Mib/8Mib = 3 餘 4,無法整除,所以無法變更。
    [root@kvm7 ~]# vgchange -s 8M vg_mntx 
      New size 434176 for vg_mntx free space not an exact number of new extents.
    
  3. 先將 LV vg_mntx-pub 的 PE 個數改成 8,也就是 8*4MiB = 32MiB ,是 8MiB 的倍數。
    [root@kvm7 ~]# lvresize --extents 8 -r /dev/vg_mntx/pub
      Size of logical volume vg_mntx/pub changed from 28.00 MiB (7 extents) to 32.00 MiB (8 extents).
      Logical volume vg_mntx/pub successfully resized.
    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/mapper/vg_mntx-pub is mounted on /mnt/pub; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 1
    The filesystem on /dev/mapper/vg_mntx-pub is now 32768 blocks long.
    
  4. 此時 VG 240MiB,LV 使用 8 個 PE,也就是 32MiB,都是 8MiB 的倍數,PE 就可以要由 4MiB 變大為 8MiB。
    [root@kvm7 ~]# vgchange -s 8M vg_mntx 
      Volume group "vg_mntx" successfully changed
    [root@kvm7 ~]# lvresize --extents 4 -r /dev/vg_mntx/pub
      Size of logical volume vg_mntx/pub unchanged from 32.00 MiB (4 extents).
      Logical volume vg_mntx/pub successfully resized.
    resize2fs 1.42.9 (28-Dec-2013)
    The filesystem is already 32768 blocks long.  Nothing to do!
    
  5. PE 由 4MiB 變大為 8MiB 後的 VG,此時 LV 用了 4 個 PE,如果不满足要求,就再使用 lvresize 變更大小。
    [root@kvm7 ~]# vgdisplay vg_mntx | egrep '(Size|Total)'
      VG Size               240.00 MiB
      PE Size               8.00 MiB
      Total PE              30
      Alloc PE / Size       4 / 32.00 MiB
      Free  PE / Size       26 / 208.00 MiB