為什麼lvextend分配的空間小於指定的空間量?

為什麼lvextend分配的空間小於指定的空間量?

我正在嘗試擴展一個卷,我們稱之為/dev/vol1。當我呼叫以下命令時,我看到初始磁碟區大小為 500MB:

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

然後將其擴展 100MB,我調用:

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

但是當我再次檢查尺寸時

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

我返回 595,表明僅獲得了 95 MB。造成這種差異的原因是什麼?我認為這與 MB 為 1024 與 1000 KB 有關,但我不確定問題出在哪裡。

答案1

當您指定 LVM 實用程式的大小時,大寫字母表示十進位單位(K=1000、M=1000000 等),而小寫字母表示二進位單位(k=1024、m=1048576 等)。pvsvgs和手冊頁中提到了這一點,lvs但其他採用大小參數的命令的手冊頁中沒有提到這一點。您將磁碟區擴展了 100,000,000 位元組 ≈ 95MiB。

答案2

嘗試使用lvscanlvdisplaylvs查看邏輯卷的實際詳細資訊。

df -h報告 M = 1,048,576 位元組。

df -H報告 M = 1,000,000 位元組。

相關內容