Der lvextendBefehl (ohne die --resizefsOption) trifft nur die LVM-seitigen Vorkehrungen, um das Blockgerät zu vergrößern, das das logische Volume ist. Unabhängig vom Dateisystemtyp (oder sogar davon, ob überhaupt ein Dateisystem vorhanden ist) auf dem LV sind diese Vorgänge immer ähnlich.
Wenn der LV ein ext2 / 3/4-Dateisystem enthält, besteht der nächste Schritt darin, die Metadaten des Dateisystems zu aktualisieren, um das Dateisystem darauf aufmerksam zu machen, dass mehr Speicherplatz verfügbar ist, und die erforderlichen Metadatenstrukturen zum Verwalten des hinzugefügten Speicherplatzes zu erstellen / zu erweitern. Bei ext2 / 3/4 Dateisystemen umfasst dies mindestens:
- Erstellen neuer Inodes für den hinzugefügten Speicherplatz
- Erweitern der Blockzuordnungsdatenstrukturen, sodass das Dateisystem erkennen kann, ob ein Block des hinzugefügten Speicherplatzes verwendet wird oder frei ist
- Verschieben möglicherweise einige Datenblöcke, wenn sie der zuvor erwähnten Datenstrukturerweiterung im Wege stehen
Dieser Teil ist spezifisch für den Dateisystemtyp, obwohl die ext2 / 3/4 Dateisystemtypen so ähnlich sind, dass sie alle mit einem einzigen resize2fsTool in der Größe geändert werden können . Für XFS-Dateisysteme würden Sie xfs_growfsstattdessen ein Tool verwenden. Andere Dateisysteme verfügen möglicherweise über eigene Erweiterungstools. Und wenn das logische Volume kein Dateisystem enthalten würde, sondern eine "rohe" Datenbank oder ein Oracle ASM-Volume, müsste ein weiteres Verfahren angewendet werden.
Jedes Dateisystem verfügt über unterschiedliche interne Funktionen, sodass die Bedingungen für die Erweiterung eines Dateisystems für jedes Dateisystem unterschiedlich sind. Es dauerte eine Weile, bis eine gemeinsame API für die Dateisystemerweiterung entwickelt wurde. Dadurch konnte der fsadm resizeBefehl implementiert werden , der eine einheitliche Syntax zum Erweitern mehrerer Dateisystemtypen bietet. Die --resizefsOption lvextendverwendet nur den fsadm resizeBefehl.
Auf den Punkt gebracht: Nach dem lvextendLVM-Level - Tools wie lvs, vgs, lvdisplayund vgdisplaydie aktualisierte Größe, aber das Dateisystem und alle Tools arbeitet auf es sehen, wie df, wird es noch nicht sehen.
lvextendund vor der Ausführungresize2fs,dfwürden die aktualisierten Größen melden?