next up previous contents
Next: PE+LV 改變大小 Up: 邏輯卷冊變更 Previous: 變更 VG 或 LV   Contents

PE 改變大小

  1. PE 改變大小必須看「新的 PE 大小是否可整除 VG 大小」,以下列 VG vg_mntx 為例,PE 大小是 2MiB,總數有 123 個,VG 總大小為 2MiB*123 = 246MiB
    [root@kvm7 ~]# vgdisplay vg_mntx | egrep '(Size|Total)'
      VG Size               246.00 MiB
      PE Size               2.00 MiB
      Total PE              123
      Alloc PE / Size       12 / 24.00 MiB
      Free  PE / Size       111 / 222.00 MiB
    
  2. 查看 vgchange 指令輔助說明。
    [root@kvm7 ~]# vgchange --help
      vgchange: Change volume group attributes
    
    vgchange
    	[-A|--autobackup {y|n}]
    	[--alloc AllocationPolicy]
    	[-P|--partial]
    	[--commandprofile ProfileName]
    	[-d|--debug]
    	[--detachprofile]
    	[-h|--help]
    	[--ignorelockingfailure]
    	[--ignoremonitoring]
    	[--ignoreskippedcluster]
    	[-K|--ignoreactivationskip]
    	[--metadataprofile ProfileName]
    	[--monitor {y|n}]
    	[--[vg]metadatacopies #copies]
    	[--poll {y|n}]
    	[--noudevsync]
    	[--refresh]
    	[--sysinit]
    	[-t|--test]
    	[-u|--uuid]
    	[-v|--verbose]
    	[--version]
    	{-a|--activate [a|e|l]{y|n}  |
    	[--activationmode {complete|degraded|partial}]
    	 -c|--clustered {y|n} |
    	 -x|--resizeable {y|n} |
    	 -l|--logicalvolume MaxLogicalVolumes |
    	 -p|--maxphysicalvolumes MaxPhysicalVolumes |
    	 -s|--physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE] |
    	 --addtag Tag |
    	 --deltag Tag}
    	[VolumeGroupName...]
    
  3. VG vg_mntx PE 大小 2MiB,總數有 123 個,若要將 PE 改為 1MiB,則 246MiB/1MiB = 246 可以正好分割成 246 PE,所以 vgchange 可以成功變更 PE 大小。
    [root@kvm7 ~]# vgchange -s 1M vg_mntx 
      Volume group "vg_mntx" successfully changed
    
  4. 現在 VG vg_mntx 的 PE 大小為 1MiB,且 LV pub 使用 24 個,也就是使用 24MiB,若要將 VG vg_mntx PE 大小變更為 2MiB,則 246MiB/2MiB = 123 VG 大小 246MiB 可以正好分割成 123 個 PE,且 24MiB/2MiB = 12 被 LV 使用 24MiB 也正好可以分割成 12 個 PE,因此 vgchange 也可以成功將 PE 由 1MiB 變大為 2MiB。
    [root@kvm7 ~]# vgdisplay vg_mntx | egrep '(Size|Total)'
      VG Size               246.00 MiB
      PE Size               1.00 MiB
      Total PE              246
      Alloc PE / Size       24 / 24.00 MiB
      Free  PE / Size       222 / 222.00 MiB
    
    [root@kvm7 ~]# vgchange -s 2M vg_mntx 
      Volume group "vg_mntx" successfully changed
    
  5. 現在 VG vg_mntx 的 PE 大小為 2MiB,且 LV pub 使用 12 個,也就是使用 24MiB,若要將 VG vg_mntx PE 大小變更為 4MiB,則 246MiB/4MiB = 61 餘 2 VG 大小 246MiB 可以正好分割成 61 PE 剩 2MiB,因此 vgchange 將 PE 由 2MiB 變大為 4MiB 時出現 PE 大小無法完美吻合的訊息,也就無法變更。
    [root@kvm7 ~]# vgdisplay vg_mntx | egrep '(Size|Total)'
      VG Size               246.00 MiB
      PE Size               2.00 MiB
      Total PE              123
      Alloc PE / Size       12 / 24.00 MiB
      Free  PE / Size       111 / 222.00 MiB
    
    [root@kvm7 ~]# vgchange -s 4M vg_mntx 
      New extent size is not a perfect fit
    



De-Yu Wang 2018-11-30