私は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が欠落しているためです。
正確に同じサイズの2つのディスクを正しく作成できるように、システムに必要な容量を確保する方法はありますか?
答え1
論理ボリュームの割り当て範囲。vgdisplay
エクステントサイズ(PEサイズフィールドでわかります)を決定し、倍増してもボリュームグループの合計PEを超えない適切なエクステント数を指定するために使用されます。これにより、2GiBなどのサイズ仕様がある程度減少したときに小さな丸め誤差が回避されます。