Grundarchitektur von Linux LVM und Perspektiven der Datenwiederherstellung

data organization, advantages and disadvantages and possibility of data recovery from linux logical volume manager

Logical Volume Manager oder LVM ist eine Datenträgerverwaltungsoption, die das Strecken von Partitionen auf mehrere physische Geräte und eine einfache Änderung der Partitionen-Größen ermöglicht. Seit 1999 im Linux-Kernel enthalten, basiert er auf Device Mapper und wird nun von jeder modernen Distribution unterstützt. Diese Speicherkonfigurationsmethode bietet erweiterte Flexibilität und wird von Systemadministratoren auf verschiedenen Server-, NAS- und SAN-Systemen, auf denen Linux ausgeführt wird, oft verwendet, um Speicherplatz mit maximaler Effizienz zu organisieren. Obwohl diese Technologie in Unternehmen besonders vorteilhaft ist, da die Speicheranforderungen von Heimanwendern erheblich erhöhen, wird die jedoch häufig auch auf Desktop-PCs eingesetzt, während immer mehr Linux-Installationen LVM standardmäßig aktivieren.

Lassen Sie uns die Schlüsselkonzepte von LVM, seine grundlegende Architektur, Stärken und Mängel durchgehen.


Grundlagen von LVM

Logical Volume Manager dient als Abstraktionsebene zwischen dem Betriebssystem und den von ihm verwendeten physischen Festplatten. Im Gegensatz zum herkömmlichen Festplattenverwaltungsmodell, bei dem jedes Speichergerät durch eine einzelne oder mehrere Partitionen dargestellt wird, sind logische Volumen in LVM auf diese Weise nicht an bestimmte digitale Medien gebunden: ein Volumen kann sich über viele Laufwerke ausbreiten, seine Größe ändern und jederzeit im laufenden Betrieb entfernt werden.

Zu den grundlegenden Speicherstrukturen, auf die LVM angewiesen ist, gehören:

  • Physical Volumes. Physical Volumes sind im Wesentlichen herkömmliche Festplattenpartitionen oder ganze Speichergeräte wie interne oder externe Festplatten, Software- oder Hardware-basierte RAID-Systeme usw. Ein oder mehrere Physical Volumes bilden eine Volume Group.
  • Volume Groups. Eine Volume Group kann mit einer virtuellen Partition verglichen werden und besteht aus einem oder mehreren Physical Volumes, die einen einzelnen für das System verfügbaren Speicherpool bilden. Zum Erstellen einer Volume Group ist mindestens ein Physical Volume erforderlich und weitere Datenträger können später hinzugefügt werden, um die Kapazität zu erhöhen. Wenn eine Volume Group erstellt wird, wird sie automatisch in Speicherabschnitte derselben festen Größe unterteilt, die als Physical Extents bezeichnet werden.
  • Physical Extents. Ein Physical Extent ist der kleinste Block, in den Physical Volumes gespalten werden (die Standardgröße beträgt 4 MiB). Physical Extents können als winzige Teile des physischen Speichers beschrieben werden, die auf Anforderung jedem logischen Datenträger zugewiesen werden können.
  • Logical Volumes. Ein Logical Volume ist Teil einer Volume Group und besteht aus Physical Extents. Ähnlich wie eine Standardpartition in einem nicht-LVM-verwalteten System, verfügt es über einen Einhängepunkt und ein Dateisystem wie Ext4 oder XFS, aber kann jedoch im Gegensatz dazu erstellt, entfernt oder geändert werden, freien Speicherplatz in der Volume Group, zu der es gehört, verwendend. Dies wird durch Kopieren und Reorganisieren verfügbarer Physical Extents während des Betriebs erreicht.

Wie werden Daten von LVM organisiert?

Zur Organisation und Verwaltung der internen Strukturen verwendet LVM Physical-Volume-Bezeichnungen und Metadaten.

Eine Physical-Volume-Bezeichnung trägt ein UUID (Universally Unique Identifier) des entsprechenden Physical Volumes, seine Größe in Byte, die Liste der Positionen der Datenbereiche und Metadatenbereiche. Diese Bezeichnung wird normalerweise in den zweiten 512-Byte-Sektor auf der Festplatte geschrieben.

Metadaten werden in ASCII gespeichert und enthalten alle Konfigurationsdetails jeder Volume Group. Es wird in einen speziellen Metadatenbereich innerhalb jedes Physical Volumes geschrieben, das die entsprechende Volume Group bildet. Neue Metadaten werden normalerweise am Ende der alten Metadaten hinzugefügt. Danach wird der Zeiger auf den Metadatenstart aktualisiert.

Neben den Informationen darüber, wie und wann die Volume Group erstellt wurde, ihrem Name, eindeutiger ID, der Version, den Eigenschaften, der Größe eines Extents usw. enthalten die Metadaten:

  • eine Liste der Physical Volumes, aus denen sie besteht, zusammen mit ihren UUIDs, Eigenschaften, Anzahl der Speicherbereiche und dem Versatz zum Start des ersten Speicherbereichs in Sektoren;
  • eine Liste von Logical Volumes, von denen jedes Element aus einer Liste logischer Volumensegmente mit Zuordnung zu der Liste physischer Volumensegmente besteht.

Da LVM diese Informationen nicht auf separaten Dateien, sondern direkt auf den Plattensektoren speichert, können die Festplatten nach der Neuinstallation von Linux oder in anderen Fällen, in denen das Root-Dateisystem gelöscht wird, von LVM lesbar sein.

Vor- und Nachteile von LVM

LVM bietet bemerkenswerte Vorteile in Bezug auf Skalierbarkeit und Speicherplatzverwaltung:

  • Dynamische Größenänderung von Volumes

    Anstatt Partitionen mit fester Größe ganz am Anfang einzurichten, kann der Benutzer nicht partitionierten Speicherplatz belassen und ihn einer bestimmten gemounteten Partition hinzufügen, wenn sie voll wird. Es ist nicht erforderlich, alle Daten zu sichern und den Speicher neu zu formatieren.

  • Verteilen von einem Volume über mehrere Festplatten

    Mit LVM kann eine beliebige Anzahl physischer Datenträger demselben Logical Volume zugewiesen werden, das vom System als einzelne Partition erkannt wird.

  • Live-Kapazitätserweiterung

    Eine beliebige gültige Anzahl Physischer Speichergeräte jeder Größe kann einer Volume Group hinzugefügt werden, um ihre Kapazität ohne Ausfallzeiten zu erweitern. Zum Beispiel können dem Server neue Laufwerke hinzugefügt werden, um seine Fähigkeiten zu erhöhen, während das System online bleibt.

  • Thin Provisioning

    LVM bietet die Möglichkeit, mehr Speicherkapazität auf Logical Volumes aufzuteilen, als tatsächlich in einer Volume Group verfügbar ist. Im Gegensatz zu einer Gruppe von Partitionen mit fester Größe kann ein spezieller Thin Pool innerhalb einer Volume Group erstellt werden, der Platz für alle daran gebundenen Thin Logical Volumes bietet. Keines der Thin Volumes reserviert jedoch einen Teil oder den gesamten vorhandenen Speicherplatz für den individuellen Bedarf, bis die Daten tatsächlich geschrieben werden, um diesen Speicherplatz zu belegen. Daher wird jedem der Thin Volumes eine virtuelle Größe zugewiesen, die den freien Speicherplatz im physischen Speicher überschreiten kann.

  • Unterstützung von Momentaufnahmen

    LVM unterstützt das Snapshotting, mit dem eine Sicherungskopie des Dateisystems zu einem bestimmten Zeitpunkt erstellt werden kann.

Als zusätzliche Abstraktionsebene zwischen dem Betriebssystem und den von ihm betriebenen Festplatten bewirkt LVM jedoch eine zusätzliche Komplexität, insbesondere beim Verlust von Daten:

  • Unsicheres Volumenschrumpfen

    Versuche, die Größe eines logischen Datenträgers zu verringern oder den von ihm verwendeten Speicherplatz auf einem anderen Datenträger neu zuzuordnen, führen in der Regel zu Beschädigungen und Datenverlust, insbesondere wenn das Dateisystem voll ist oder das Verkleinern von diesem Dateisystemtyp nicht unterstützt wird.

  • Kein Dual-Booten

    Andere Betriebssysteme erkennen LVM nicht. Daher kann man nicht auf LVM-Partitionen von Windows oder macOS zugriffen. Für eine Dual-Boot-Umgebung muss eine Standardpartition ohne LVM erstellt werden.

  • Überschreibungsrisiko

    Durch das mehrfache Booten können andere Betriebssysteme LVM nicht erkennen und die Festplatte als leer betrachten, was die Möglichkeit des Überschreibens birgt.

  • Keine Standardfehlertoleranz

    Durch den Verlust oder das Entfernen einer Platte aus LVM bleibt der gesamte Speicher zusammen mit allen Dateien unzugänglich, während die Wahrscheinlichkeit eines solchen Ausfalls mit jeder zu LVM hinzugefügten Platte steigt.

  • Hohe Wahrscheinlichkeit von Metadaten-Korruption

    LVM bietet die Möglichkeit, ein Logical Volume und sein Dateisystem zu vergrößern, wenn es eingehängt und aktiv ist. Eine mögliche Unterbrechung dieses Vorgangs, die durch einen Stromausfall, eine Fehlfunktion der Software oder Hardware oder durch einen einfachen Benutzerfehler verursacht wurde, kann jedoch das vollständige Schreiben der richtigen Metadaten verhindern und den gesamten LVM-Speicher unbrauchbar machen.

Möglichkeit der Datenwiederherstellung

Die Professional- und RAID-Editionen von UFS Explorer können Metadaten auf den LVM-Festplatten lesen und ein solches Volumen im virtuellen Modus automatisch rekonstruieren. Der virtuelle Speicher wird zur weiteren Datenwiederherstellung zur Liste der verbundenen Speicher im linken Bereich der Hauptregisterkarte hinzugefügt. Gleichzeitig wird auch Zugriff auf die Volume-Komponenten gewährt.

Schwerwiegende Schäden oder das vollständige Überschreiben von LVM-Metadaten können jedoch eine große Herausforderung für die Datenwiederherstellung darstellen: In LVM werden Daten meistens auf nicht zusammenhängenden Sektoren gespeichert, insbesondere wenn mehrere physische Datenträger in einer Datenträgergruppe vorhanden sind und die Datenträgergröße häufig geändert wird mal.

In einigen Fällen können Metadaten mithilfe einer Sicherungskopie wiederhergestellt werden, die in /etc/lvm/backup gespeichert wird. Der Dateiname stimmt mit dem Namen der Volume Group überein.

Wenn Sie Daten von einem LVM-Volumen retten müssen, verlassen Sie sich bitte auf die Anweisung.

Letzte Aktualisierung: 06. August 2022

Wenn Ihnen dieser Artikel gefällt, teilen Sie ihn in sozialen Medien: