물리 볼륨에는 각각 크기가 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.
주의하세요. 그렇지 않으면 정말 이상한 오프셋이 발생할 수 있습니다.