Wie kommt es, dass lvextend weniger als die angegebene Menge an Speicherplatz zuweist?

Wie kommt es, dass lvextend weniger als die angegebene Menge an Speicherplatz zuweist?

Ich versuche, ein Volume zu erweitern, nennen wir es /dev/vol1. Ich sehe, dass die anfängliche Volumegröße 500 MB beträgt, wenn ich aufrufe:

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

Um es dann um weitere 100 MB zu erweitern, rufe ich auf:

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

aber wenn ich die Größe nochmal überprüfe mit

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

Ich erhalte 595 zurück, was bedeutet, dass nur 95 MB gewonnen wurden. Was ist der Grund für diese Diskrepanz? Ich denke, es hat damit zu tun, dass ein MB 1024 statt 1000 KB ist, aber ich bin mir nicht sicher, wo das Problem liegt.

Antwort1

Wenn Sie eine Größe für LVM-Dienstprogramme angeben, bezeichnen Großbuchstaben Dezimaleinheiten (K=1000, M=1000000 usw.), während Kleinbuchstaben Binäreinheiten bezeichnen (k=1024, m=1048576 usw.). Dies wird in den Manpages pvs, vgsund erwähnt lvs, jedoch nicht in den Manpages für andere Befehle, die ein Größenargument annehmen. Sie haben das Volume um 100.000.000 Bytes ≈ 95 MiB erweitert.

Antwort2

Versuchen Sie, lvscanoder lvdisplayoder zu verwenden lvs, um die tatsächlichen Details eines logischen Datenträgers anzuzeigen.

df -hBerichte mit M = 1.048.576 Bytes.

df -HBerichte mit M = 1.000.000 Bytes.

verwandte Informationen