Estou montando um script para fazer ações do lvm e tenho o seguinte cenário:
>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
Agora eu quero adicionar 2 volumes lógicos que são exatamente 1 giga. No entanto, quando eu tento isso:
>/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.
Eu sou mordido porque não tenho espaço suficiente. Olhou para a linha blockdev, o disco bruto é de 2 Gigs.
Observo que se eu fizer um pvs ou vgs após o primeiro volume lógico ser criado o espaço livre é de 1020,00m. Presumo porque o servidor precisa usar parte do disco por questões de gerenciamento, ou seja, os 5 megabytes que faltam.
Existe uma maneira de garantir o quanto o sistema precisa para que eu possa criar corretamente dois discos do mesmo tamanho exato?
Aloque seus volumes lógicos em extensões . Use
vgdisplay
para determinar o tamanho da extensão (conhecido no campo "PE Size") e especifique um número apropriado de extensões que, quando duplicado, não exceda o "Total PE" do grupo de volumes. Isso evita pequenos erros de arredondamento quando uma especificação de tamanho como 2 GiB é reduzida em várias extensões.