GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Ein Leitfaden zu LVM-Snapshots mit ext4 unter CentOS 7

LVM ist ein logischer Volume-Manager für den Linux-Kernel, der Festplatten und ähnliche Massenspeichergeräte verwaltet. Diese logischen Volumes können aus verschiedenen physischen Festplatten bestehen, erscheinen aber als eine Partition, auf der ein Dateisystem installiert werden kann.

Der LVM-Snapshot kann als vollständiges Backup Ihres Volumes verwendet werden. Damit können Sie die volle Lautstärke wiederherstellen, falls etwas schief geht. Die Veröffentlichung von Centos 7 hat große Änderungen an Schnappschüssen vorgenommen, um sie perfekter zu machen. Mit Snapshots logischer Volumes können Sie den aktuellen Zustand jedes Ihrer logischen Volumes einfrieren. Es handelt sich um einen speziellen Volume-Typ, der alle Daten darstellt, die sich zum Zeitpunkt der Erstellung des Snapshots auf dem Volume befanden. Dies bedeutet, dass Sie sehr einfach ein Backup erstellen und bei Bedarf auf einen ursprünglichen logischen Volume-Zustand zurücksetzen können. Diese Methode ist dem sehr ähnlich, was Sie bereits von der Virtualisierung kennen, wo Sie einfach einen Snapshot der gesamten virtuellen Maschine erstellen und wiederherstellen können, falls etwas schief geht.

1. Snapshot erstellen

Ein Snapshot-Volume kann so groß oder klein sein, wie Sie möchten, aber es muss groß genug sein, um alle Änderungen aufzunehmen, die wahrscheinlich während der Lebensdauer des Snapshots am ursprünglichen Volume vorgenommen werden.

Überprüfen Sie vorher die LV-Informationen

Um einen neuen Snapshot zu erstellen, müssen Sie die entsprechende VG und LV angeben, mit denen wir einen Snapshot erstellen werden

# lvcreate --size 1G --snapshot --name nameofthesnapshot /dev/nameofVG/nameofLV

Die LVM-Snapshots enthalten zunächst keine Daten, sie speichern nur Änderungen, die Sie am ursprünglichen Volume vornehmen, dies spart viel Platz. Da der Snapshot mit Änderungen des Ursprungsvolumes an Größe zunimmt, ist es wichtig, den Prozentsatz des Snapshot-Volumes regelmäßig mit dem Befehl lvs zu überwachen, um sicherzustellen, dass es nicht voll wird. Ein zu 100 % gefüllter Snapshot geht vollständig verloren, da ein Schreiben in unveränderte Teile des Ursprungs nicht erfolgreich sein könnte, ohne den Snapshot zu beschädigen.

Wenn für einen Snapshot der Speicherplatz ausgeht, wird der gesamte Snapshot gelöscht und kann nicht verwendet werden. Wenn Sie jedoch feststellen, dass dem Snapshot der Speicherplatz ausgeht (überprüfen Sie dies mit den Befehlen lvdisplay oder lvs), können Sie seine Größe wie jedes andere logische Volume erhöhen. Nachdem Sie den Snapshot erstellt haben, wird er in der Ausgabe des lvdisplay-Befehls wie folgt angezeigt:

2. Verwenden des LVM-Snapshots

Sie können den lvm-Snapshot jetzt als normale Partition verwenden, Sie können ihn in einem Ordner mounten, Änderungen daran vornehmen und wenn Sie mit den Änderungen zufrieden sind, können Sie die Änderungen mit dem ursprünglichen Volume zusammenführen.

Um es zu mounten, müssen Sie nur einen Ordner erstellen und den Mount-Befehl wie folgt verwenden:

# mkdir /mnt/snap1
# mount /dev/test/snap1 /mnt/snap1

Jetzt können Sie auf /mnt/snap1 alles testen, was Sie wollen Ordner, ohne das ursprüngliche System zu ändern.

Wenn Sie XFS als Dateisystem verwenden, müssen Sie die nouuid hinzufügen Option zum mount-Befehl

# mount /dev/test/snap1 /mnt/snap1 -o nouuid,ro

Wenn Sie den Snapshot mounten, ermöglichen die beim Erstellen des Snapshots geschriebenen Metadaten die Zuordnung von Snapshot-Pool-Blöcken zu geänderten Blöcken im Volume (oder Snapshot auf höherer Ebene). Auf diese Weise weiß LVM, wenn ein Zugriff für einen bestimmten Block erfolgt, welcher Blockzugriff erfolgt. Was das Dateisystem auf diesem Volume betrifft, gibt es keine Snapshots. Sobald Sie einen Snapshot erstellen, erstellt LVM einen Pool von Blöcken. Dieser Pool enthält auch eine vollständige Kopie der LVM-Metadaten des Datenträgers. Wenn Schreibvorgänge auf dem Hauptvolume stattfinden, wie z. B. das Aktualisieren eines Inodes, wird der zu überschreibende Block in diesen neuen Pool kopiert und der neue Block wird auf das Hauptvolume geschrieben. Dies ist das Copy-on-Write. Je mehr Daten zwischen der Erstellung eines Snapshots und dem aktuellen Status des Hauptvolumes geändert werden, desto mehr Speicherplatz wird daher von diesem Snapshot-Pool verbraucht.

3. Erstellen Sie ein Backup unseres Snapshots

Jetzt können wir ein Backup des Snapshots auf einer von uns erstellten Festplatte oder Partition erstellen. Sie können eine Festplatte, eine LUN oder was auch immer Sie speichern möchten auswählen. Snapshots wachsen nur, wenn sich Daten auf dem ursprünglichen logischen Volume ändern oder wenn Sie selbst in den Snapshot schreiben (mehr zum Schreibaspekt später). Wenn wir also für den Moment vergessen, dass wir manuell in Snapshots schreiben, sind die einzigen Daten im Snapshot Chunks von Original-Volume-Daten, die sich auf dem Original-Volume geändert haben, seit der Snapshot erstellt wurde

Sie brauchen nur eine Stellung, um den Schnappschuss zu speichern.

# tar -pczf /media/backup/snap1.tar.gz /mnt/snap1

oder Sie können

verwenden
# dd if=/mnt/snap1 of=/media/backup/snap1.img

4. Schnappschuss zusammenführen

Sie können einen Snapshot nur verwenden, um ein ursprüngliches logisches Volume wiederherzustellen, wenn das Original noch vorhanden ist. Snapshots sind also ein fantastisches Feature, aber sie sind keine Backups im herkömmlichen Sinne, eine vollständige Kopie aller Originaldaten zu haben. Wenn Sie zum Zeitpunkt eines Schnappschusses eine völlig unabhängige separate Kopie Ihrer Daten wünschen, können Sie eine Kopie auf die gleiche Weise wie für jedes andere Gerät erstellen, z. mit den cp- oder dd-Befehlen.

Wenn Sie mit den Änderungen, die Sie am Snapshot vorgenommen haben, zufrieden sind und diese im Original-Volume zusammenführen möchten. Die Zusammenführung beginnt sofort, wenn die Dateisysteme im Original-Volume und im Snapshot ausgehängt werden.

Dieser Vorgang kann einige Zeit in Anspruch nehmen, da Daten vom Snapshot auf das ursprüngliche Volume kopiert werden müssen. Sobald die Zusammenführung beginnt, wird jeder Lese-/Schreibvorgang auf dem ursprünglichen Volume transparent auf den Snapshot umgeleitet, der gerade zusammengeführt wird. Daher ist der Vorgang für den Benutzer transparent, der glaubt, das zusammengeführte Volume zu verwenden. Das bedeutet, dass die Benutzer, sobald die Zusammenführung beginnt, mit einem Volume interagieren, das die Daten zum Zeitpunkt der Erstellung des Snapshots enthält (+ Daten, die seitdem eventuell in den Snapshot geschrieben wurden).

Sie können den lvconvert --merge verwenden Befehl wie im folgenden Beispiel:

Wenn das ursprüngliche Volume gemountet ist, müssen Sie das System neu starten, damit die Änderungen wirksam werden. Jetzt wurde das ursprüngliche logische Volume in den Zustand des Snapshots zurückgesetzt/zusammengeführt. Denken Sie daran, dass dies einen Neustart erfordert, wenn eines der Volumes gemountet wird

Beachten Sie, dass sobald Sie einen Snapshot zum Zurücksetzen/Zusammenführen verwendet haben, der Snapshot von Ihrem System verschwindet.

5. Entfernen Sie den Schnappschuss

Sie können den Snapshot auch entfernen, wenn Sie die darin enthaltenen Änderungen nicht benötigen oder keine Verwendung mehr dafür haben. Wenn der logische Datenträger derzeit gemountet ist, heben Sie die Bereitstellung des Datenträgers auf, bevor Sie ihn entfernen. Außerdem müssen Sie in einer Clusterumgebung ein logisches Volume deaktivieren, bevor es entfernt werden kann. Alle Daten, die eventuell in den Snapshot geschrieben wurden, gehen verloren.

Um den Snapshot zu entfernen, verwenden Sie den folgenden Befehl:

lvremove /dev/test/snap1

Wie Sie sehen können, ist die Verwendung von LVM-Snapshots eine großartige Möglichkeit, verschiedene Änderungen am System in absoluter Sicherheit zu testen und zu experimentieren.

Schlussfolgerung

Der Nutzen von logischen Datei-Überblicken ist enorm und wird Ihnen sicher bei Ihren Aufgaben helfen, egal ob Sie Systemadministrator oder Entwickler sind. LVM ist die einzige Partitionsmethode, bei der wir mehr erweitern können und viele Funktionen haben.


Cent OS
  1. So konfigurieren Sie LVM unter Linux / CentOS / Redhat

  2. Logische Volumes unter Linux mit LVM erstellen

  3. CentOS / RHEL :So stellen Sie eine gelöschte Volume-Gruppe in LVM wieder her

  4. Verwenden von LVM-Snapshots für KVM-Klone virtueller Maschinen

  5. Synchronisieren Sie LVM-Snapshots mit dem Sicherungsserver

Speicher mit LVM hinzufügen

Schritt-für-Schritt-Anleitung zur Installation von CentOS 8 (mit Screenshots)

So erstellen Sie eine Volumengruppe in Linux mit LVM

DRBD mit MySQL Centos 8

CentOS 6.5 Desktop-Installationsanleitung mit Screenshots

Anfängerleitfaden für LVM (Logical Volume Management)