논리 볼륨이 맞는지 확인하는 방법

논리 볼륨이 맞는지 확인하는 방법

저는 lvm 작업을 수행하고 다음 시나리오를 사용하는 스크립트를 작성 중입니다.

>blockdev --getsize64 /dev/sdb
2147483648

2147483648 / 1024 / 1024 = 2048M

>pvs
PV         VG   Fmt  Attr PSize PFree
/dev/sdb   vg00 lvm2 a--u 2.00g 2.00g

>vgs
VG   #PV #LV #SN Attr   VSize VFree
vg00   1   1   0 wz--n- 2.00g 2.00g

이제 논리 볼륨 2개를 추가하려고 합니다. 둘 다 1GB입니다. 하지만 내가 이것을 시도하면 :

>/sbin/lvcreate -L 1024M -n lv00 vg00 
  Logical volume "lv00" created.

>/sbin/lvcreate -L 1024M -n lv01 vg00
  Volume group "vg00" has insufficient free space (255 extents): 256 required.

공간이 부족해서 물렸습니다. blockdev 줄을 보면 원시 디스크가 2GB입니다.

첫 번째 논리 볼륨을 생성한 후 pvs 또는 vgs를 수행하면 여유 공간이 1020.00m라는 것을 알았습니다. 서버가 관리상의 이유로 디스크의 일부를 사용해야 하기 때문에 5MB가 누락되었기 때문인 것 같습니다.

정확히 동일한 크기의 디스크 두 개를 올바르게 생성할 수 있도록 시스템에 필요한 용량을 보장할 수 있는 방법이 있습니까?

답변1

논리 볼륨 할당범위. vgdisplay익스텐트 크기(PE 크기 필드에서 알 수 있음)를 결정하고 두 배로 늘려도 볼륨 그룹의 총 PE를 초과하지 않는 적절한 익스텐트 수를 지정하는 데 사용됩니다 . 이렇게 하면 2GiB와 같은 크기 사양이 어느 정도 줄어들 때 작은 반올림 오류가 방지됩니다.

관련 정보