物理ボリュームには、それぞれサイズ4194304バイト(または4MiB)の32の物理拡張領域が割り当てられました。 32*4194304は134217728(128MiB)です。正確なサイズにサイズ変更しようとするとエラーが発生します。 129MiBでサイズ変更しようとしました。
PVサイズを割り当てられた物理拡張領域の正確な数に合わせて調整できないのはなぜですか?サイズをどれくらい調整できるか、正確にはどうすればわかりますか?
root@osboxes:/etc/lvm# pvdisplay --unit b
--- Physical volume ---
PV Name /dev/sda4
VG Name vg1
PV Size 135266304 B / not usable 1048576 B
Allocatable yes (but full)
PE Size 4194304 B
Total PE 32
Free PE 0
Allocated PE 32
PV UUID 4XbCGL-eTnk-KFea-eZs5-MQT4-il6C-OPPVTB
root@osboxes:/etc/lvm# pvresize --setphysicalvolumesize 134217728b /dev/sda4
/dev/sda4: Requested size 128.00 MiB is less than real size <270.06 GiB. Proceed? [y/n]: y
WARNING: /dev/sda4: Pretending size is 262144 not 566349824 sectors.
/dev/sda4: cannot resize to 31 extents as 32 are allocated.
0 physical volume(s) resized or updated / 1 physical volume(s) not resized
答え1
LVMメタデータはどこかに保存する必要があります。通常、PVは1MiBのサイズで始まります。
次のように、最初の物理範囲の開始オフセットを確認できます。
pvs -o +pe_start
フルサイズに最初のPEオフセットを追加すると、正常に動作します。
vgcreate
マニュアルページの説明に従ってこの値を設定することもできます。
--dataalignment Size[k|UNIT]
Align the start of the data to a multiple of this number. Also
specify an appropriate Physical Extent size when creating a VG.
To see the location of the first Physical Extent of an existing
PV, use pvs -o +pe_start. In addition, it may be shifted by an
alignment offset. See lvm.conf/data_alignment_offset_detection
and --dataalignmentoffset.
--dataalignmentoffset Size[k|UNIT]
Shift the start of the data area by this additional offset.
注意してください。そうしないと、本当に奇妙なオフセットが発生する可能性があります。