lvextendが指定されたスペースよりも少ないスペースを割り当てるのはなぜですか?

lvextendが指定されたスペースよりも少ないスペースを割り当てるのはなぜですか?

ボリュームを拡張しようとしています。ボリュームをと呼びます/dev/vol1。次のコマンドを呼び出すと、初期ボリュームサイズが500 MBであることがわかります。

df --block-size=M /dev/vol1

その後、100MBまで拡張するには、次のように呼び出します。

lvextend -L+100M /dev/vol1
resize2fs /dev/vol1

しかし、寸法をもう一度確認してください。

df --block-size=M /dev/vol1

595が表示されます。これは、95MBのみが取得されたことを示します。このような違いが発生するのはなぜですか? MBが1024KBと1000KBのものと関係があると思いますが、問題が何であるかよくわかりません。

答え1

LVMユーティリティのサイズを指定すると、大文字は10進数単位(K = 1000、M = 1000000など)を表し、小文字は2進数単位(k = 1024、m = 1048576など)を表します。これはpvs、およびvgsのマニュアルページに記載されていますが、lvsサイズ引数を使用する他のコマンドのマニュアルページには記載されていません。ボリュームを100,000,000バイト≒95MiB拡張しました。

答え2

論理ボリュームの実際の詳細を表示するには、 lvscanまたはlvdisplayを使用します。lvs

df -hM = 1,048,576バイトを報告します。

df -HレポートM = 1,000,000バイト。

関連情報