Website-Suche

LVM-Backup und Wiederherstellungs-Snapshot unter Linux


Logical Volume Manager (LVM) wird unter Linux zur Verwaltung von Festplatten und anderen Speichergeräten verwendet. Wie der Name schon sagt, kann es Rohspeicher in logische Volumes sortieren, was die Konfiguration und Verwendung erleichtert.

In diesem Tutorial erfahren Sie, wie Sie LVM-Backups und -Wiederherstellungen in einem Linux-System erstellen. LVM funktioniert auf jeder Linux-Distribution gleich, sodass Sie jeden der folgenden Befehle auf Ihrem eigenen System verwenden können.

Folgen Sie uns, wie wir LVM verwenden, um Partitionen, physische Volumes, eine Volume-Gruppe, logische Volumes und Dateisysteme auf einer Festplatte zu erstellen. Außerdem zeigen wir, wie Sie unsere neu erstellten logischen Volumes bereitstellen, erweitern und entfernen. Am Ende dieses Tutorials erstellen wir einen Snapshot des Volumes und zeigen dann, wie die Sicherung wiederhergestellt wird.

In diesem Tutorial lernen Sie:

  • So erstellen Sie einen logischen Datenträger in LVM
  • Erstellen eines Snapshots eines logischen Volumes
  • Funktionsweise logischer Datei-Überblicke
  • So stellen Sie eine Sicherung eines logischen Volumes wieder her

LVM-Backup und -Wiederherstellung unter Linux Schritt für Schritt

Installieren Sie LVM auf den wichtigsten Linux-Distributionen

Auf Ihrem Linux-System ist LVM möglicherweise bereits installiert, aber es ist nicht standardmäßig auf jeder Distribution installiert. Verwenden Sie den entsprechenden Befehl unten, um LVM mit dem Paketmanager Ihres Systems zu installieren.

So installieren Sie LVM unter Ubuntu, Debian und Linux Mint:

sudo apt install lvm2

So installieren Sie LVM unter CentOS, Fedora, AlmaLinux und Red Hat:

sudo dnf install lvm2

So installieren Sie LVM auf Arch Linux und Manjaro:

sudo pacman -S lvm2

Erstellen von Partitionen

Das erste, was wir tun werden, ist, Partitionen auf unserer Festplatte zu erstellen. Dies soll die Erstellung physischer Volumes im nächsten Abschnitt erleichtern, die entweder auf unformatierten, unpartitionierten Blockgeräten oder einzelnen Partitionen erstellt werden können. In diesem Tutorial werden wir uns mit Letzterem befassen.

In diesem Beispiel ist der Datenträger, mit dem wir arbeiten werden, /dev/sdb, d. h. eine (und derzeit nicht partitionierte) Festplatte mit 5 GB.

Wir können unsere /dev/sdb-Festplatte und die zugehörigen Details mit dem folgenden Befehl sehen.

fdisk -l

Als nächstes partitionieren wir die Festplatte mit cfdisk.

cfdisk /dev/sdb

In Ihrer Konsole öffnet sich eine Benutzeroberfläche, die recht intuitiv zu bedienen ist. Wir haben die folgenden beiden Partitionen als Beispiel erstellt.

Schließen Sie Ihre Änderungen ab, indem Sie auf "Schreiben" klicken, und beenden Sie das Dienstprogramm, wenn Sie fertig sind. Wir können jetzt unsere Partition aufgelistet sehen, wenn wir fdisk -l erneut ausführen.

Erstellen physischer Volumes

Wir können jetzt physische Volumes auf unseren neuen Partitionen erstellen, indem wir den Befehl pvcreate verwenden.

pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.

Verwenden Sie den Befehl pvdisplay, um Informationen zu allen physischen Datenträgern auf Ihrem System anzuzeigen, oder geben Sie ein bestimmtes Laufwerk an, zu dem Sie Details anzeigen möchten.

pvdisplay
OR
pvdisplay /dev/sdb1

Erstellen einer Volume-Gruppe

In dieser Phase müssen wir eine Volume-Gruppe erstellen, die als Container für unsere physischen Volumes dient. In diesem Beispiel nennen wir unsere Volume-Gruppe "mynew_vg", die die Partition /dev/sdb1 enthält, mit dem folgenden Linux-Befehl:

vgcreate mynew_vg /dev/sdb1 

Oder, um beide Partitionen gleichzeitig einzuschließen:

vgcreate mynew_vg /dev/sdb1 /dev/sdb2

Verwenden Sie den folgenden Befehl, um Informationen zu den Datenträgergruppen anzuzeigen.

vgdisplay

Wir können der Gruppe weitere physische Volumes hinzufügen, indem wir den Befehl vgextend verwenden.

vgextend mynew_vg /dev/sdb2
  Volume group "mynew_vg" successfully extended

Erstellen logischer Volumes

Jetzt können wir mit der Erstellung logischer Volumes fortfahren. Es kann hilfreich sein, sich unsere Volume-Gruppe als einen "großen Kuchen" vorzustellen, aus dem wir "Stücke" (logische Volumes) herausschneiden können, die als Partitionen auf unserem Linux-System behandelt werden.

Mit dem folgenden Befehl wird ein logischer Datenträger mit dem Namen vol01 und einer Größe von 400 MB erstellt.

lvcreate -L 400 -n vol01 mynew_vg

Anschließend erstellen wir ein weiteres Volume mit dem Namen vol02 und einer Größe von 1 GB.

lvcreate -L 1000 -n vol02 mynew_vg

Schließlich können wir den Befehl lvdisplay verwenden, um die logischen Volumes zu sehen, die wir gerade erstellt haben.

Erstellen eines Dateisystems auf logischen Datenträgern

Das logische Volume ist fast einsatzbereit. Alles, was wir tun müssen, ist, mit dem Befehl mkfs ein Dateisystem darauf zu erstellen.

mkfs.ext4 -m 0 /dev/mynew_vg/vol01 

Die Option -m gibt den Prozentsatz an, der für den Superuser reserviert ist, wir können diesen auf 0 setzen, um den gesamten verfügbaren Speicherplatz zu nutzen (der Standardwert ist 5%).

Logischer Volume-Snapshot

Schließlich sind wir an dem Punkt angelangt, an dem wir einen Schnappschuss unseres logischen Volumes erstellen können, das in den vorherigen Abschnitten erstellt wurde. Dazu benötigen wir auch einige Beispieldaten auf unserem logischen Volume "volume1", damit wir nach dem Zurücksetzen vom Snapshot den gesamten Prozess bestätigen können, indem wir die ursprünglichen Daten mit den aus dem Snapshot wiederhergestellten Daten vergleichen.

Snaphosts verstehen

Um zu verstehen, wie Snapshots funktionieren, müssen wir zunächst verstehen, woraus ein logisches Volume besteht und wie Daten gespeichert werden. Dieses Konzept ähnelt den bekannten symbolischen Verknüpfungen. Wenn Sie einen symbolischen Link zu einer Datei erstellen, erstellen Sie keine Kopie der eigentlichen Datei, sondern lediglich einen Verweis darauf. Das logische Volume speichert Daten auf ähnliche Weise und besteht aus zwei wesentlichen Teilen:

  • Metadaten-Zeiger
  • Datenblock

Wenn ein Snapshot erstellt wird, erstellt Logical Volume Manager einfach eine Kopie aller Metadatenzeiger auf ein separates logisches Volume. Metadaten verbrauchen nicht viel Speicherplatz und daher können Sie einen Snapshot von, sagen wir, 2 GB logischem Volume auf 5 MB Snapshot-Volume erstellen.

Das Snapshot-Volume beginnt erst dann zu wachsen, wenn Sie beginnen, die Daten des ursprünglichen logischen Volumes zu ändern. Das bedeutet, dass jedes Mal, wenn Sie eine Datei auf dem ursprünglichen logischen Datenträger entfernen oder bearbeiten, eine Kopie dieser Datei (Daten) auf dem Snapshot-Datenträger erstellt wird. Für eine einfache Änderung müssen Sie möglicherweise ein Snapshot-Volume erstellen, das etwa 5 bis 10 % der ursprünglichen Größe des logischen Volumes beträgt. Wenn Sie bereit sind, viele Änderungen an Ihrem ursprünglichen logischen Volume vorzunehmen, benötigen Sie viel mehr als 10 %.

LVM-Sicherung und -Wiederherstellung unter Linux aus dem Logical Volume Snapshot

Jetzt kann es losgehen. Befolgen Sie die nachstehenden Schritt-für-Schritt-Anweisungen, um LVM-Sicherungen und -Wiederherstellungen unter Linux aus dem logischen Volume-Snapshot zu erstellen.

  1. Zuerst erstellen wir einen neuen Bereitstellungspunkt für unser logisches Volume und mounten dann das Volume.

    sudo mkdir -p /mnt/volume1
    sudo mount /dev/mynew_vg/vol01 /mnt/volume1
    
  2. Wie bereits erwähnt, müssen wir einige Beispieldaten auf unserem logischen Volume ablegen. Auf diese Weise können wir später überprüfen, ob eine Sicherung und Wiederherstellung erfolgreich war. In diesem Schritt kopieren wir einfach das Verzeichnis /usr/bin auf das Volume.

    sudo cp -av /usr/bin/* /mnt/volume1
    du -s /usr/bin
    162528
    
  3. Wie in der obigen Ausgabe des Befehls du zu sehen ist, beträgt die Gesamtgröße Ihres /usr/bin-Verzeichnisses 162528 Byte. Wir werden diese Informationen verwenden, um später zu überprüfen, ob unsere Sicherung und Wiederherstellung erfolgreich war.

  4. Jetzt erstellen wir einen Snapshot des logischen Volumes "volume1 ". Dabei erstellt der Logical Volume Manager ein neues, separates logisches Volume. Dieses neue logische Volume hat eine Größe von 20 MB und wird als "volume1_snapshot" bezeichnet:

    sudo lvcreate -s -L 20M -n volume1_snapshot /dev/mynew_vg/vol01
      Logical volume "volume1_snapshot" created
    
  5. Nachdem der Snapshot erstellt wurde, können wir mit der Änderung der Daten auf "volume1" beginnen, indem wir beispielsweise den gesamten Inhalt entfernen, den wir zuvor kopiert haben:

    sudo rm -rf /mnt/volume1/*
    
  6. Als nächstes verwenden wir den folgenden lvconvert-Befehl, um unseren Snapshot wiederherzustellen.
sudo lvconvert --merge /dev/mynew_vg/vol01/volume1_snapshot
  Can't merge over open origin volume
  Merging of snapshot volume1_snapshot will start next activation.
  • Nach der Ausführung des obigen Befehls wird das logische Volume "volume1" zurückgesetzt, sobald es aktiviert ist. Daher muss als nächstes "volume1" wieder aktiviert werden. Stellen Sie zunächst sicher, dass Sie die Bereitstellung des Volumes aufheben, das wir wiederherstellen möchten.

    sudo umount /mnt/volume1
    
  • Nun können wir die Lautstärke deaktivieren und aktivieren:

    sudo lvchange -a n /dev/mynew_vg/vol01
    sudo lvchange -a y /dev/mynew_vg/vol01
    
  • Für den letzten Schritt mounten Sie erneut Ihr logisches Laufwerk "volume1" und bestätigen Sie, dass alle gelöschten Daten wiederhergestellt wurden.

    sudo mount /dev/mynew_vg/vol01 /mnt/volume1
    du -s /mnt/volume1
    162528
    
  • Wie in dieser Ausgabe zu sehen ist, wurde unser logisches Volume vollständig in den Zustand zum Zeitpunkt des Snapshots zurückversetzt.

Abschließende Gedanken

Das Obige war ein grundlegendes Beispiel für die Manipulation von Snapshots mit dem Logical Volume Manager und wie man LVM-Backups und -Wiederherstellungen unter Linux durchführt. Der Nutzen von logischen Datei-Überblicken ist enorm und wird Ihnen sicherlich bei Ihren Aufgaben helfen, egal ob Sie Systemadministrator oder Entwickler sind. Obwohl Sie das obige Setup verwenden können, um mehrere Snapshots für eine Backup-Wiederherstellung zu erstellen, müssen Sie auch wissen, dass Ihre Sicherung innerhalb Ihrer logischen Volume-Gruppe an ihre Grenzen stößt. Daher können Probleme mit physischen Volumes auf niedriger Ebene dazu führen, dass Ihr Snapshot unbrauchbar wird.

Verwandte Artikel: