LVM (Logical Volume Manager) Tutorial unter Linux

Letzte Aktualisierung: 17/12/2025
Autor: Holger
  • LVM ermöglicht die Abstraktion der Lagerung Physikalische Lösungen in PV, VG und LV, die ein flexibles und dynamisches Raummanagement ermöglichen. Linux.
  • Mit Befehle Befehle wie pvcreate, vgcreate, lvcreate, lvextend oder pvmove können Volumes im laufenden Betrieb erstellen, erweitern und migrieren.
  • Snapshots, Spiegelungen und Migrationen zwischen Speicherarrays machen LVM zu einem wichtigen Werkzeug für hohe Verfügbarkeit und Wartung ohne Ausfallzeiten.
  • Das Verständnis typischer LVM-Fehler und Konfigurationsdateien ist für die Fehlerbehebung in Produktionsumgebungen unerlässlich.

LVM (Logical Volume Manager) in Linux

Dank LVM (Logical Volume Manager) ist die Arbeit mit Speichermedien unter Linux ohne den Aufwand herkömmlicher Partitionierung möglich . Dieses System fügt den physischen Festplatten eine Abstraktionsschicht hinzu und ermöglicht so das flexible Ändern, Verschieben und Schützen von Daten. Gerade in professionellen Umgebungen ist dies ein entscheidender Vorteil: Server müssen nicht heruntergefahren werden, sondern können alle Änderungen im laufenden Betrieb vornehmen.

Wer Systeme verwaltet oder sich auf Zertifizierungen wie LPIC, RHCSA oder ähnliche vorbereitet, benötigt fundierte LVM-Kenntnisse. In diesem Tutorial erfahren Sie, was LVM ist, wie es aufgebaut ist, wie Sie PVs, VGs und LVs erstellen und verwalten und wie Sie diese in der Praxis anwenden, z. B. beim Scale-up und Scale-down, beim Spiegeln von Systemen, beim Erstellen von Snapshots, bei Speichermigrationen, bei der Verwendung erweiterter LUNs und bei der Behebung häufiger Produktionsprobleme.

Was ist LVM und wofür wird es unter Linux verwendet?

Wenn wir von LVM sprechen, meinen wir ein System, das die logische Speicherverwaltung ermöglicht, anstatt direkt auf feste Partitionen zu setzen . Anstatt beispielsweise eine 50 GB große /dev/sdb1 und eine 100 GB große /dev/sdc1 separat zu verwenden, können Sie diese mit LVM zu einem einzigen Speicherbereich zusammenfassen, indem Sie ihre Kapazität zu einer sogenannten 150 GB großen Volume Group (VG) kombinieren.

Auf dieser Volume Group (VG) können wir mehrere logische Volumes (LVs) definieren, beispielsweise eines mit 20 GB für /opt, ein weiteres mit 100 GB für /var und ein drittes mit 30 GB für Backups. Diese Abstraktionsschicht ermöglicht eine wesentlich einfachere Speicherplatzverteilung als bei der herkömmlichen Partitionierung , bei der eine Änderung der Partitionsgröße nach der Erstellung schwierig oder während des laufenden Betriebs schlichtweg unmöglich ist.

Einer der größten Vorteile von LVM ist die Möglichkeit, Snapshots logischer Volumes für schnelle Wiederherstellungspunkte zu erstellen, Dateisysteme dynamisch durch Hinzufügen neuer Festplatten zur Volume Group (VG) zu erweitern oder Daten innerhalb derselben Gruppe von einer Festplatte auf eine andere zu verschieben, ohne die Dienste zu unterbrechen. In Umgebungen mit Festplatten-Arrays, SANs oder gemeinsam genutztem Speicher ist diese Fähigkeit zur unterbrechungsfreien Datenmigration zwischen Festplatten oder Arrays von unschätzbarem Wert.

In der Praxis bedeutet dies, dass man eine Datenbank von einem ausgelasteten Speicherarray auf ein schnelleres verschieben kann , ohne dass die Benutzer etwas anderes als eine zusätzliche E/A-Last bemerken, oder dass man ein Anwendungsdateisystem erweitern kann, weil es nicht mehr ausreicht, ohne den Server neu zu starten oder Dienste manuell zu berühren.

Grundlegende LVM-Struktur: PV, VG und LV

LVM-Struktur in Linux

Um LVM vollständig zu verstehen, ist es unerlässlich, seine Hauptkomponenten zu kennen, die eine Hierarchie von der physischen zur logischen Ebene bilden. Der Schlüssel liegt darin, dass jede Ebene auf der vorherigen aufbaut, um Flexibilität zu gewährleisten, ohne dass das Dateisystem jedes Hardware- Detail kennen muss.

Die Grundlage bilden die physischen Volumes (PV) , also einfache physische Festplatten, Partitionen (z. B. /dev/sdb1, /dev/sdc1), LUNs von Speicherarrays oder auch Software-RAID-Geräte wie /dev/md0. Jedes PV ist intern in feste Einheiten, sogenannte Physical Extents (PE) , unterteilt, welche die Bausteine ​​der logischen Volumes bilden.

Über den physischen Volumes (PVs) befinden sich die Volume Groups (VGs) , die ein oder mehrere physische Volumes zu einem Speicherpool zusammenfassen. Die Größe einer VG entspricht der Summe der Kapazitäten aller darin enthaltenen PVs abzüglich des bereits für logische Volumes reservierten Speicherplatzes. In der Praxis dient die VG als „Container“, aus dem wir Speicherplatz extrahieren, um benutzerdefinierte logische Volumes zu erstellen.

Ganz unten in der Hierarchie befinden sich logische Volumes (LVs) , die vom System fast wie reguläre Partitionen behandelt werden. Auf einem LV wird das Dateisystem (ext4, xfs usw.) erstellt und unter /, /var, /home oder einem anderen gewünschten Pfad eingebunden. Intern besteht jedes LV aus logischen Extents (LEs) , die 1:1 den PEs der VG zugeordnet sind, sich aber über mehrere nicht zusammenhängende physische Festplatten erstrecken können.

Der Kernel verwendet den Device Mapper , um diese logischen Geräte (z. B. /dev/mapper/vg00-rootvol) ihren entsprechenden physischen Blöcken zuzuordnen. Die benutzerfreundlichen Namen von LVM sind oft symbolische Links zu Geräten wie /dev/dm-0, /dev/dm-1 usw., was eine enorme Flexibilität bei der Kombination von Festplatten, RAID, Verschlüsselung und LVM ermöglicht, ohne dass höhere Systemebenen davon Kenntnis haben.

In einem realen System zeigen Befehle wie `vgs`, `pvs` und `lvs` eine Liste der vorhandenen Volume-Gruppen, physischen und logischen Volumes, deren Gesamtgröße und freien Speicherplatz sowie Aktivierungsattribute, Status, UUID und weitere Informationen an. Mit `vgdisplay -v` erhalten Sie noch detailliertere Informationen: Anzahl der LVs, PE-Größe, Anzahl der freien PEs, Liste der PVs in der Gruppe usw.

  Ubuntu verabschiedet sich von GNU: Der Übergang in eine Rust-basierte Zukunft

Visualisieren Sie die bestehende LVM-Struktur im System.

LVM-Befehle in Linux

Bevor Änderungen vorgenommen werden, ist es unerlässlich, die aktuelle LVM-Struktur des Systems zu kennen . Dies geschieht hauptsächlich mithilfe der drei Befehle `pvs`, `vgs` und `lvs`. Jeder dieser Befehle liefert eine andere, sich ergänzende Ansicht derselben Situation.

Um zu sehen, welche Festplatten oder Partitionen zu welcher Gruppe gehören, verwenden wir `pvs` . Dieser Befehl zeigt die Gerätepfade (z. B. `/dev/sda2`, `/dev/sdb1`, `/dev/sdc1`), die zugehörige Volume Group (VG), die Größe der PV und den jeweils noch verfügbaren nicht zugewiesenen Speicherplatz an. Dies ist sehr hilfreich, um zu überprüfen, ob eine neue Festplatte korrekt zu einer VG hinzugefügt wurde.

Der Befehl `vgs` liefert eine Liste aller Volume-Gruppen mit Angabe der Anzahl an Persistent Volumes (PVs), Logischen Volumes (LVs) und Snapshots (SNs) in jeder Gruppe sowie der Gesamtgröße und des verfügbaren freien Speicherplatzes. So lässt sich schnell erkennen, welche Gruppen voll sind und wo Erweiterungspotenzial besteht.

Schließlich zeigt der Befehl `lvs` eine Liste logischer Volumes an, einschließlich Informationen wie Größe, zugehörige Volume Group (VG), Attribute (z. B. Spiegelungen, Snapshots, Thin Storage usw.), Snapshot-Nutzung in Prozent und weitere wichtige Daten. Auf Servern mit vielen logischen Volumes ist dieser Befehl für die Verwaltung der verschiedenen Dateisysteme nahezu unerlässlich.

Für einen noch detaillierteren Bericht einer bestimmten Gruppe kann der Befehl `vgdisplay -v VGName` ausgeführt werden . Dieser Befehl zeigt die VG-Konfiguration, alle zugehörigen LVs mit erweiterten Informationen sowie die Details jedes einzelnen PVs an. Er ist besonders nützlich für Diagnose- oder Speicherprüfungsaufgaben.

Wenn wir hingegen die eingebundenen Dateisysteme mit `mount` oder `df -h` untersuchen , sehen wir, dass die Mountpunkte auf Pfade unter `/dev/mapper/VG-LV` verweisen . Beispielsweise ist `/dev/mapper/vg00-rootvol` unter `/` eingebunden, `/dev/mapper/vg00-varvol` unter `/var` usw. Dies bestätigt, dass die Dateisysteme auf logischen LVM-Volumes tatsächlich unterstützt werden.

Erstellung einer LVM-Struktur von Grund auf

Um eine neue LVM-Struktur einzurichten, benötigen wir zunächst eine oder mehrere freie Festplatten (oder Partitionen). Der typische Arbeitsablauf umfasst die Erstellung eines Persistent Volume (PV), dann einer Volume Group (VG) und schließlich eines oder mehrerer Logischer Volumes (LVs), auf denen die Dateisysteme formatiert werden .

Initialisieren eines physikalischen Volumens (PV)

Im ersten Schritt wird eine Festplatte oder Partition mithilfe des Befehls `pvcreate` als physisches Volume für LVM markiert . Dadurch werden die für die Verwaltung durch LVM notwendigen Metadaten initialisiert. Um beispielsweise `/dev/sdb` als physisches Volume zu verwenden, wird folgender Befehl ausgeführt:

pvcreate /dev/sdb

Nach diesem Schritt kann das Gerät in eine Volume Group integriert werden . Bei einigen Distributionen wie Red Hat führt das Installationsprogramm beim Erstellen einer neuen Volume Group automatisch den Befehl `pvcreate` aus. Die Kenntnis dieses Befehls ist jedoch für manuelle Erweiterungen und Konfigurationen unerlässlich.

Erstellen einer Volumengruppe (VG)

Sobald die physischen Volumes (PVs) bereit sind, definieren wir die Volume-Gruppe mit dem Befehl `vgcreate` . Dieser Befehl benötigt den Namen der Volume-Gruppe und die Liste der physischen Geräte, aus denen sie bestehen soll. Beispiel: So erstellen Sie eine Volume-Gruppe namens `vgMySQL` mit zwei Festplatten:

vgcreate vgMySQL /dev/sdb /dev/sdc

Ab diesem Zeitpunkt fungiert vgMySQL als Speicherpool, auf dem wir ein oder mehrere logische Volumes für verschiedene Zwecke (Daten, Protokolle , Backups usw.) erstellen können. Das Ergebnis lässt sich mit vgdisplay vgMySQL oder der Kurzzusammenfassung vgs überprüfen.

Logische Volumes (LV) definieren

Sobald die Volumengruppe erstellt ist, wird im nächsten Schritt Speicherplatz innerhalb dieser Gruppe für jedes logische Volume reserviert . Dies geschieht mit dem Befehl `lvcreate`, wobei Name, Größe und Volumengruppe angegeben werden. Ein einfaches Beispiel wäre:

lvcreate -n lvMySQL -L 10G vgMySQL

Dieser Befehl erstellt ein 10 GB großes logisches Volume innerhalb von vgMySQL, das als /dev/vgMySQL/lvMySQL (und auch als /dev/mapper/vgMySQL-lvMySQL) angezeigt wird. Im Folgenden behandeln wir es fast wie eine herkömmliche Partition, auf der wir ein Dateisystem erstellen.

Erstellen Sie das Dateisystem auf dem logischen Volume.

Nachdem das logische Volume erstellt wurde, muss es nur noch mit dem Dateisystem formatiert werden, das unseren Anforderungen am besten entspricht . Wenn wir beispielsweise XFS auf dem logischen Volume für die Datenbank verwenden möchten:

mkfs.xfs /dev/vgMySQL/lvMySQL

Als Nächstes erstellen wir den Mountpunkt (z. B. /Backup_MySQL, /data_mysql usw.) und fügen den entsprechenden Eintrag in /etc/fstab hinzu , damit er beim Systemstart automatisch gemountet wird. Ab diesem Zeitpunkt sehen Anwendungen nur noch ein normales Dateisystem, obwohl im Hintergrund LVM verwendet wird.

Zwei Volumengruppen zusammenführen (vgmerge)

Manchmal möchten wir zwei Volume Groups (VGs) zu einer zusammenführen , um die Verwaltung zu vereinfachen oder Speicherplatz zwischen logischen Volumes, die sich zuvor in separaten Gruppen befanden, einfach neu zuzuweisen. Der Befehl `vgmerge` kann zu diesem Zweck verwendet werden, indem die zweite Gruppe mit der ersten kombiniert wird.

Vor dem Zusammenführen ist es wichtig sicherzustellen, dass es keine doppelten LV-Namen zwischen den beiden Gruppen gibt und dass die Extents-Größe (PE) in beiden VGs gleich ist; andernfalls schlägt der Befehl fehl oder erfordert vorherige Anpassungsschritte.

  So können Sie das Liefermenü in Windows 10 anpassen

Das typische Vorgehen umfasst das Aushängen der betroffenen Dateisysteme , das Deaktivieren der zu integrierenden Volume Group (VG) und das Ausführen von vgmerge. Beispiel für die Zusammenführung von vgPostgreSQL mit vgMySQL:

vgchange -an vgPostreSQL
vgmerge vgMySQL vgPostreSQL

Nach der Zusammenführung werden alle logischen Volumes (LVs), die zu vgPostgreSQL gehörten , Teil von vgMySQL und können wie gewohnt reaktiviert und eingebunden werden. Diese Vorgehensweise ist nützlich, wenn der Serverspeicher mittel- oder langfristig reorganisiert werden soll.

Wesentliche Befehle zur Verwaltung von LVM

Neben der Erstellung von PV-, VG- und LV-Aufträgen ist es für die tägliche Administration unerlässlich zu wissen, wie Auftragsvolumina erhöht, verringert, gelöscht und verschoben werden können, ohne Daten zu gefährden . LVM bietet eine Vielzahl von Auftragstypen, die sowohl in ihrer grundlegenden Form als auch in komplexen Szenarien beherrscht werden sollten.

Erweiterung eines Dateisystems in LVM

Eine der häufigsten Aufgaben ist die Vergrößerung des logischen Volumes (LV) und des Dateisystems, wenn der Speicherplatz eines Dateisystems knapp wird . Der übliche Workflow bei ext3/ext4-Dateisystemen besteht darin, zunächst lvextend für das logische Volume und anschließend ein Tool zur Dateisystemvergrößerung wie beispielsweise resize2fs zu verwenden.

Um beispielsweise ein Volume auf eine Gesamtgröße von 512 MB zu reduzieren, könnten wir Folgendes ausführen:

lvextend -L 512M /dev/VolGroup00/LogVol02
resize2fs /dev/VolGroup00/LogVol02

Wollen wir hingegen den aktuellen Speicherplatz erweitern (z. B. um 512 MB gegenüber dem bereits vorhandenen Speicherplatz des LV erhöhen), verwenden wir die Syntax mit dem Pluszeichen:

lvextend -L+512M /dev/VolGroup00/LogVol02

Auf XFS-Systemen wird das Dateisystemwachstum mit `xfs_growfs` gesteuert, das auf den Mountpunkt oder das Gerät verweist. Es ist wichtig, für jeden Dateisystemtyp das richtige Tool zu kennen, da sich die Dateisysteme beim Erweitern unterschiedlich verhalten.

Verkleinerung eines Dateisystems und eines logischen Volumes

Der umgekehrte Vorgang, das Verkleinern, ist heikler, da dabei das Dateisystem und anschließend das logische Volume (LV) verkleinert werden muss . Nicht alle Dateisysteme erlauben dies: EXT4 unterstützt das Verkleinern, während XFS beispielsweise nur das Erweitern, nicht aber das Verkleinern unterstützt.

Ein typischer Workflow mit ext4 beinhaltet zunächst das Verkleinern des Dateisystems (üblicherweise nach dem Aushängen und Ausführen von fsck, falls erforderlich) und anschließend die Verwendung von lvreduce zur Anpassung der logischen Volume-Größe. Viele Distributionen vereinfachen dies durch die Option -r von lvreduce, wodurch beide Schritte sicherer koordiniert werden.

lvreduce -r -L95G /dev/mapper/vgdml-lvdml

Der Prozess selbst führt Integritätsprüfungen durch, passt die Dateisystemgröße an und reduziert schließlich das logische Volume auf den angegebenen Wert. Trotzdem ist es ratsam, bei Reduzierungen stets ein Backup zu erstellen , da ein Fehler an dieser Stelle kritisch sein kann.

Ein logisches Volume löschen

Um ein nicht mehr benötigtes logisches Volume (LV) zu löschen, muss sichergestellt sein, dass es weder eingebunden noch in Verwendung ist . Sobald das Dateisystem ausgehängt ist, kann das logische Volume mit `lvremove` gelöscht werden.

lvremove /dev/VolGroup00/LogVol02

Dieser Befehl entfernt die Definition des LV und gibt dessen Extents innerhalb der VG frei , sodass dieser Speicherplatz für die Erstellung anderer Volumes oder die Erweiterung bestehender Volumes innerhalb derselben Gruppe zur Verfügung steht.

Erstellen und Verwalten von Spiegeln mit LVM

Wenn unsere Hardware kein RAID pro Controller unterstützt, können wir Spiegelungen auf LVM-Ebene konfigurieren , vorausgesetzt, die Volume Group (VG) verfügt über ausreichend Speicherplatz und die physischen Festplatten sind korrekt verteilt. Ältere Versionen verwendeten `lvextend` mit der Option `-m`, neuere Versionen hingegen `lvconvert`.

Um ein Spiegelbild eines bestehenden LV zu erstellen, geben wir die Anzahl der Kopien an ( m1 bedeutet eine Spiegelkopie zusätzlich zum Original):

lvconvert -m1 /dev/VolGroup00/LogVol02 /dev/sdae

Während des Vorgangs synchronisiert LVM beide Kopien. Der Fortschritt lässt sich mit `lvs` beobachten, wobei der Synchronisierungsprozentsatz von 0 auf 100 steigt. Um jederzeit zum linearen Modus (ohne Spiegelung) zurückzukehren, kann man `lvconvert` mit der Option ` -m0` verwenden , um die Spiegelung aufzuheben.

In einem typischen Praxisbeispiel wird eine neue Volume Group (VG) mit zwei Festplatten erstellt, ein Logical Volume (LV) im Spiegelmodus definiert und formatiert. Nach dem Kopieren von Daten in das Dateisystem (z. B. einer großen ISO-Installations-DVD zum Testen der Integrität) kann überprüft werden, ob die Synchronisierung abgeschlossen ist und beide Festplatten denselben Inhalt enthalten.

Eine weitere interessante Situation entsteht, wenn wir das Spiegel-Volume auflösen möchten, um eine Festplatte zu entfernen (z. B. um sie durch eine andere zu ersetzen). Zuerst konvertieren wir das virtuelle Volume (LV) mit `lvconvert -m0` in den linearen Modus, wodurch eine der Festplatten in der virtuellen Gruppe (VG) freigegeben wird . Anschließend führen wir `vgreduce` aus, um dieses virtuelle Volume (PV) aus der Gruppe zu entfernen. Schließlich können wir die Festplatte recyceln oder physisch entfernen. Später können wir mit `vgextend` ein neues Laufwerk hinzufügen und das Spiegel-Volume mit `lvconvert -m1` wiederherstellen.

Verschieben von Daten zwischen Datenträgern innerhalb derselben VG (pvmove)

In großen Unternehmensumgebungen kommt es häufig vor, dass Festplatten-Arrays mit der Zeit langsamer werden oder ihre Kapazitätsgrenze erreichen. LVM bietet den Befehl `pvmove` , um Daten von einem alten PV auf ein neues innerhalb derselben VG zu verschieben, ohne die Dienste zu unterbrechen. Dabei werden Datenbereiche transparent von einer Festplatte auf eine andere kopiert.

Der typische Arbeitsablauf wäre, zunächst die neuen schnellen Festplatten mit `vgextend` zur Volume Group (VG) hinzuzufügen , sodass sowohl die alten als auch die neuen Festplatten in `pvs` angezeigt werden. Anschließend führen wir `pvmove` aus und geben dabei Quelle und Ziel an, zum Beispiel:

  Wie man aus mehreren Arbeitsblättern einen Pivot Desk erstellen kann

pvmove /dev/sdg1 /dev/sdk1

Während der Ausführung zeigt pvmove den Fortschritt in Prozent an. Da es sich um einen E/A-intensiven Prozess handelt, sollte er außerhalb der Spitzenzeiten ausgeführt werden, da er Daten von der alten Festplatte liest, auf die neue schreibt und die alten Daten löscht . Sobald der Vorgang abgeschlossen ist und wir überprüft haben, dass sich keine Daten mehr auf dem alten PV befinden, können wir es mit vgreduce aus der Gruppe entfernen, um die erneute Nutzung dieses langsamen Speichersystems zu vermeiden.

Lautstärkegruppen aktivieren und deaktivieren (vgchange)

In Hochverfügbarkeitskonfigurationen, insbesondere in Clustern, ist es üblich, Volume Groups (VGs) auf verschiedenen Knoten zu aktivieren und zu deaktivieren, je nachdem, wo der Dienst ausgeführt wird. Obwohl dies normalerweise von der Cluster-Software verwaltet wird, ist manchmal eine manuelle Konfiguration erforderlich.

Um eine VG als aktiv zu kennzeichnen (verfügbar für die Montage Ihrer LVs), verwenden wir:

vgchange -a y NombreVG

Um es zu deaktivieren, beispielsweise vor der Migration eines Volumes auf einen anderen Server, werden folgende Methoden verwendet:

vgchange -a n NombreVG

In Kombination mit vgscan , das das System zwingt, Geräte nach LVM-Strukturen zu durchsuchen, können wir einen anderen Knoten im Cluster dazu bringen, dieselben Gruppen zu erkennen und zu aktivieren, die auf dem ersten Knoten erstellt oder geändert wurden.

Snapshots in LVM: Erstellen, Wiederherstellen und Löschen

Eine der leistungsstärksten Funktionen von LVM ist die Möglichkeit, Snapshots logischer Volumes zu erstellen . Ein Snapshot erfasst den Zustand eines logischen Volumes zu einem bestimmten Zeitpunkt und wird in einem zusätzlichen Speicherbereich gesichert, wo auch spätere Änderungen protokolliert werden. Dadurch können Sie die Änderungen rückgängig machen, falls ein Upgrade oder eine Konfigurationsänderung fehlschlägt.

Der grundlegende Ablauf wäre: Erstellen einer Datei oder eines Datasets auf dem Quelldateisystem, Generieren des Snapshots mit lvcreate unter Verwendung der Option -s , Vornehmen weiterer Änderungen, und falls etwas schiefgeht, Aushängen des Dateisystems und Zusammenführen des Snapshots mit lvconvert --merge, um den vorherigen Zustand wiederherzustellen.

Um beispielsweise einen 100 MB großen Snapshot von /dev/vgtest/lvtest zu erstellen, könnten wir Folgendes ausführen:

lvcreate -s -n lvtest_snapshot -L 100M /dev/vgtest/lvtest

Solange der Snapshot existiert, speichert LVM die geänderten Blöcke des Originals darin . Um Änderungen am Dateisystem nach der Snapshot-Erstellung rückgängig zu machen, wird das Volume ausgehängt, `lvconvert --merge` auf den Snapshot angewendet und das Dateisystem anschließend wieder eingehängt. Die Dateien befinden sich dann wieder im Zustand zum Zeitpunkt der Snapshot-Erstellung.

Wenn wir hingegen feststellen, dass alles korrekt funktioniert und wir die Änderungen dauerhaft speichern möchten, löschen wir den Snapshot einfach mit `lvremove` . Dadurch wird der von ihm reservierte Speicherplatz in der Volume Group freigegeben und ein Überlaufen aufgrund zu vieler Änderungen verhindert.

Wichtige LVM-Tools und -Befehle

LVM2, die in modernen Kerneln verwendete Version, bietet eine umfassende Sammlung spezialisierter Befehle. Obwohl wir einige bereits erwähnt haben, ist es hilfreich, einen Überblick über die wichtigsten Werkzeuge zur Verwaltung des gesamten Lebenszyklus von Volumes zu haben.

  • pvcreate, vgcreate, lvcreateSie erzeugen physische, Gruppen- und logische Volumina.
  • pvdisplay, vgdisplay, lvdisplaySie zeigen detaillierte Informationen zu jedem Typ von LVM-Objekt.
  • pvs, vgs, lvsSie bieten eine sehr nützliche Übersichtsansicht, um sich schnell einen Überblick über den Speicherstatus zu verschaffen.
  • lvextend, vgextendSie erweitern logische Volumes oder Gruppen durch Hinzufügen von Größe oder neuen PVs.
  • lvreduce, vgreduce: die Größe von LVs reduzieren oder PV aus einem VG entfernen.
  • pvscan, vgscan, lvscanSie scannen das System nach LVM-Strukturen.
  • pvchange, vgchange, lvchange: Attribute (z. B. Aktivierung, Berechtigungen) der verschiedenen Elemente ändern.
  • pvmove: migriert Daten von einem physischen Datenträger auf einen anderen innerhalb derselben Volume Group (VG).
  • pvresize, lvresizeSie passen die Datenstruktur an, um Datenmengen vergrößern oder verkleinern zu können.
  • vgcfgbackup, vgcfgrestoreSie speichern und stellen VG-Metadaten wieder her.
  • vgconvert: Ändert das Metadatenformat, nützlich für die Migration zwischen LVM-Versionen.
  • lvconvert: Konvertiert Volumina zwischen linearen, Spiegelungs-, Snapshot-Modi usw.
  • vgexport, vgimport, vgimportcloneSie exportieren/importieren VGs, um sie auf andere Systeme zu verschieben und dabei Namenskonflikte zu vermeiden.
  • vgmerge, vgsplit: Zusammenführen oder Aufteilen von Datenträgergruppen ermöglichen.
  • vgrename, lvrename: Ändern der Namen von VGs und LVs, ohne die Daten zu beeinträchtigen.
  • pvremove, lvremoveSie entfernen PVs aus LVM und löschen LVs, die nicht mehr verwendet werden.

Eine gewisse Beherrschung dieser Werkzeuge macht die Arbeit mit Speichern unter Linux wesentlich flexibler und weniger aufwändig , ermöglicht tiefgreifende Änderungen ohne Unterbrechung der Dienste und erleichtert die langfristige Wartung.

Die Beherrschung von LVM erfordert ein gründliches Verständnis seiner PV-VG-LV-Struktur, das Wissen um seine Interaktion mit Dateisystemen und die flüssige Handhabung von Befehlen wie pvcreate, vgcreate, lvcreate, pvmove, lvextend oder Snapshots; mit dieser Grundlage kann jeder Administrator den Speicher von Linux-Servern mit wesentlich größerer Sicherheit und Flexibilität verwalten als mit der traditionellen Partitionierung.

Persistenter Speicher oder PMEM: Was ist das?
In Verbindung stehender Artikel:
Persistenter Speicher (PMEM): Was er ist und wie man ihn verwendet