Wie man Daten von QCOW2-Virtual Disks und KVM-(QEMU)-Snapshots in RHEL 7.9 wiederherstellt

In diesem Artikel erklären wir, wie Sie KVM-virtuelle Datenträger und Snapshots in Red Hat Enterprise Linux 7.9 wiederherstellen, die Ursache des Datenverlusts ermitteln und den Zugriff auf Informationen mithilfe geeigneter Tools wiederherstellen können.

Wie man Daten von QCOW2-Virtual Disks und KVM-(QEMU)-Snapshots in RHEL 7.9 wiederherstellt

Die auf KVM (Kernel-based Virtual Machine) und QEMU basierende Virtualisierung wird in Red Hat Enterprise Linux 7.9 häufig zum Erstellen und Verwalten virtueller Maschinen verwendet. Deren Betriebssysteme, Anwendungen und Benutzerdateien werden auf virtuellen Datenträgern gespeichert, beispielsweise in den Formaten QCOW2 oder RAW. Snapshots können verwendet werden, um einen früheren Zustand virtueller Maschinen zu erhalten und so zu einem bestimmten Zeitpunkt zurückzurollen. Ein versehentliches Löschen von Dateien, eine Beschädigung des Datenträgerabbilds, ein Ausfall eines physischen Laufwerks oder eine fehlerhafte Snapshot-Kette können jedoch zum Verlust des Zugriffs auf kritische Daten führen.

Zur Ansicht gehen
KVM (QEMU) virtuelle Maschinen und Snapshots unter RHEL 7.9 wiederherstellen

KVM (QEMU) virtuelle Maschinen und Snapshots unter RHEL 7.9 wiederherstellen

KVM- und LVM-Architektur in RHEL 7.9

Betrachten wir die Architektur unseres Serversystems genauer.

Das Betriebssystem Red Hat Enterprise Linux 7.9 selbst ist auf einem separaten Systemdatenträger mit dem Dateisystem XFS installiert. Der Speicher für die KVM-Virtualisierungsumgebung verwendet jedoch ein komplexes, mehrschichtiges Datenträgersubsystem.

KVM- und LVM-Architektur in RHEL 7.9

Das System basiert auf RAID 5– und RAID 0-Datenträgerverbünden. Darauf sind LVM-logische Volumes eingerichtet. Zur Datensicherheit werden diese Volumes zusätzlich mit dem Standard LUKS verschlüsselt, und erst innerhalb dieses kryptografischen Containers wird das Dateisystem ext4 erstellt, auf dem die Dateien der virtuellen Maschinen direkt gespeichert werden.

Die gesamte Umgebung wird über den libvirt-Daemon verwaltet, der die physische Datenträgershierarchie komfortabel in Storage-Pools abstrahiert und mit den Konfigurationen der einzelnen virtuellen Maschinen verknüpft. Im Fehlerfall wirkt sich dieser Komfort jedoch nachteilig aus, da libvirt bei einem Ausfall der unteren Speicherebene sofort die Verbindung zu den Pools verliert. Infolgedessen verschwinden alle virtuellen Maschinen einfach aus der Verwaltungsoberfläche oder werden sofort nicht mehr verfügbar.

Das Hauptproblem besteht darin, dass eine derart komplexe Architektur den Datenwiederherstellungsprozess erheblich erschwert. Diese gesamte Struktur (RAID, LVM, LUKS und ext4) ist eng miteinander verknüpft. Ein Fehler auf einer dieser Ebenen unterbricht sofort die gesamte Kette und blockiert den Zugriff auf die virtuellen Maschinen vollständig.

Kommen wir direkt zu den virtuellen Maschinen. Sie verwenden virtuelle Datenträger im gängigen Format qcow2. Dieses Format unterstützt Snapshots, also Aufnahmen des Systemzustands zu einem bestimmten Zeitpunkt. Das Speichern aller Snapshots und aktuellen Änderungen in einer einzigen virtuellen Datenträgerdatei ist für die Administration und Ressourcenverwaltung äußerst praktisch.

Aus Sicht der Zuverlässigkeit macht dies das System jedoch sehr anfällig. Wenn diese einzelne qcow2-Datei aufgrund eines Ausfalls des Host-Systems logisch beschädigt wird, besteht die Gefahr, nicht nur die aktuelle Arbeitsversion der virtuellen Maschine, sondern auch alle gespeicherten Zustände gleichzeitig zu verlieren.

Glücklicherweise bedeutet dies nicht den dauerhaften Verlust von Informationen, denn mit Hetman RAID Recovery können Sie die beschädigte Struktur analysieren und sowohl die virtuellen Datenträger selbst als auch die darin gespeicherten Daten erfolgreich wiederherstellen.

Zur Datenwiederherstellung von ausgefallenen RAID-Arrays, NAS-Geräten und anderen Speichersystemen mit mehreren Festplatten.
Komponente Zweck und Funktionen
KVM (Kernel-based Virtual Machine) Ein Linux-Kernelmodul, das Hardwarevirtualisierung bereitstellt und den Betrieb virtueller Maschinen unter RHEL 7.9 ermöglicht.
QEMU Emuliert virtuelle Hardware und ermöglicht den Betrieb virtueller Maschinen, einschließlich des Zugriffs auf deren virtuelle Datenträger.
libvirt Eine Sammlung von Werkzeugen zur Verwaltung der Virtualisierung, mit denen virtuelle Maschinen über virsh und andere Tools erstellt, gestartet, gestoppt und konfiguriert werden können.
Virtuelle Maschine (VM) Eine isolierte Umgebung, in der ein Gastbetriebssystem mit seinen Anwendungen, Einstellungen und Dateien ausgeführt wird.
Virtueller QCOW2-Datenträger Ein Format für QEMU-Datenträgerabbilder, das dynamische Speicherzuweisung, Metadaten und interne Snapshots unterstützt. Es kann auch Bestandteil einer externen Snapshot-Kette sein.
Virtueller RAW-Datenträger Ein Datenträgerabbild ohne die zusätzliche Containerstruktur von QCOW2. Es kann in einer Datei oder auf einem LVM-Blockgerät gespeichert werden.
Snapshot Ein gespeicherter Zustand eines Datenträgers oder einer virtuellen Maschine. Snapshots können intern sein und in einer einzelnen QCOW2-Datei gespeichert werden oder extern, wobei Änderungen in eine separate Datei geschrieben werden.
Externe Snapshot-Kette Eine Abfolge aus einem Basisabbild und untergeordneten Datenträgerabbildern, in denen Änderungen gespeichert werden. Damit auf den aktuellen Datenzustand zugegriffen werden kann, müssen die korrekten Verknüpfungen zwischen den Dateien erhalten bleiben.
LVM (Logical Volume Manager) Ein Linux-System zur Verwaltung logischer Volumes, mit dem physische Geräte zu Volume Groups zusammengefasst und logische Volumes für virtuelle Datenträger erstellt werden können.
PV (Physical Volume) Ein physisches Gerät oder eine Partition, das bzw. die für die Verwendung mit LVM vorbereitet wurde. Es bildet die Basisebene der LVM-Struktur.
VG (Volume Group) Eine Volume Group, die ein oder mehrere PVs zusammenfasst und Speicherplatz für die Erstellung logischer Volumes bereitstellt.
LV (Logical Volume) Ein logisches Volume, das als Blockgerät verwendet werden kann, um einen virtuellen RAW-Datenträger oder ein Dateisystem mit QCOW2-Abbildern zu speichern.
Host-Dateisystem Das Dateisystem von RHEL, beispielsweise XFS oder ext4, auf dem virtuelle Datenträgerabbilder und Konfigurationsdateien virtueller Maschinen gespeichert werden können.
libvirt-XML-Konfiguration Enthält die Parameter der virtuellen Maschine, darunter den Datenträgerpfad, den Controllertyp und weitere Einstellungen. Sie hilft festzustellen, welches Datenträgerabbild von der virtuellen Maschine verwendet wurde.
LVM-Metadaten Enthalten Informationen über physische Volumes, Volume Groups und logische Volumes. Eine Beschädigung dieser Metadaten kann dazu führen, dass logische Volumes und die darauf gespeicherten Daten nicht mehr zugänglich sind.

Die Datenträger mit dem Computer verbinden

Um den Wiederherstellungsprozess zu beginnen, müssen Sie die Datenträger physisch vom betroffenen Server entfernen und an einen Computer anschließen. Die beste und schnellste Option ist eine direkte Verbindung zum Motherboard des Computers über SATA– oder SAS-Ports.

Sie können auch externe USB-Dockingstationen oder Adapter verwenden, beachten Sie jedoch, dass dies die Scangeschwindigkeit verringern kann.

Eine wichtige Regel beim Zusammenstellen von Arrays: Um Daten aus einem RAID 5-Array erfolgreich wiederherzustellen, reicht es aus, alle Datenträger außer einem ausgefallenen Datenträger anzuschließen. Bei einem RAID 0-Array hingegen müssen unbedingt alle Laufwerke angeschlossen werden, die Teil des Arrays waren; andernfalls ist eine Wiederherstellung unmöglich.

Wenn nicht genügend freie Anschlüsse vorhanden sind, um alle Laufwerke zu verbinden, oder wenn die Datenträger Anzeichen eines Hardwareausfalls aufweisen, ist es am besten, sektorweise Abbilder zu erstellen. Diese integrierte Funktion von Hetman RAID Recovery ermöglicht es, eine exakte Byte-für-Byte-Kopie jedes Datenträgers als reguläre Datei zu speichern. Die Arbeit mit Abbildern ist eine übliche Sicherheitsmaßnahme, da der Scan ohne physische Belastung der ursprünglichen Serverlaufwerke erfolgt.

Um ein Abbild zu erstellen, wählen Sie im Hauptfenster den angeschlossenen Datenträger aus und klicken Sie in der oberen Leiste auf die Schaltfläche Datenträger speichern. Geben Sie anschließend den Speicherpfad an.

Hetman RAID Recovery: Erstellen eines sektorweisen Datenträgerabbilds

Nachdem Sie alle Abbilder erstellt haben, binden Sie sie im Programm ein: Öffnen Sie das Hauptmenü und wählen Sie Datenträger einbinden.

Hetman RAID Recovery: Öffnen Sie das Hauptmenü und wählen Sie Datenträger einbinden

Wählen Sie den Typ Raw-Datenträgerabbilder und öffnen Sie die gespeicherten Dateien.

Hetman RAID Recovery: Datenträger einbinden - Raw-Datenträgerabbilder

Sie werden sofort in der Liste der verfügbaren Geräte angezeigt und sind bereit für den automatischen Array-Aufbau und die weitere Analyse.

Hetman RAID Recovery: eingebundene Datenträger

Wie man KVM-(QEMU-)virtuelle Maschinen und Snapshots aus RHEL 7.9 wiederherstellt

METHODE 1. Wiederherstellung von Dateien virtueller Maschinen

Kommen wir zur Praxis und betrachten die Wiederherstellung des Zugriffs auf eine virtuelle qcow2-Datenträgerdatei.

In unserem Fall wurde die Datei nicht gelöscht, der Zugriff darauf war jedoch aufgrund eines plötzlichen Hardwareausfalls des Servers und der anschließenden Zerstörung der logischen Struktur des Arrays vollständig blockiert.

Hetman RAID Recovery: automatisch erkannte RAID-Partitionen

Die Algorithmen von Hetman RAID Recovery umgehen dieses Problem jedoch problemlos. Im Hauptfenster des Programms sehen wir ein bereits automatisch aufgebautes RAID 5-Array, aber um auf die Daten zuzugreifen, muss das logische Volume zunächst durch Eingabe des LUKS-Kennworts entsperrt werden.

Hetman RAID Recovery: Entsperren des Arrays durch Eingabe des LUKS-Kennworts

Erst nachdem der kryptografische Schutz erfolgreich aufgehoben wurde, wählen wir dieses Volume aus und starten den Algorithmus Schnellscan, der sofort die Struktur unseres Dateisystems analysiert, in diesem Fall ext4.

Hetman RAID Recovery: Schnellscan des entsperrten Arrays

Navigieren Sie zu dem Ordner, in dem die virtuelle Maschine gespeichert war. Das Programm hat die Verzeichnisstruktur erfolgreich wiederhergestellt und unsere intakte qcow2-Datei gefunden.

Hetman RAID Recovery: intakte qcow2-Datei

Wählen Sie das gefundene Abbild aus und klicken Sie in der oberen Leiste auf die Schaltfläche Wiederherstellen. Wählen Sie anschließend unbedingt einen sicheren Speicherort auf der lokalen Festplatte des Computers oder auf einem anderen Speichermedium, um ein Überschreiben der Daten zu vermeiden.

Hetman RAID Recovery: ausgewähltes Abbild und auf Wiederherstellen klicken

METHODE 2. Wiederherstellen von Dateien aus Gastbetriebssystemen

Betrachten wir nun ein weiteres häufiges Szenario: Der Datenverlust ist direkt innerhalb der virtuellen Maschine aufgetreten. In unserem Beispiel ist das Gastbetriebssystem Windows 10.

In der Regel erfordert der Zugriff auf solche Dateien den Start des Hypervisors und das vollständige Booten der virtuellen Maschine, was nach Systemausfällen nicht immer möglich oder sicher ist. Hetman RAID Recovery ermöglicht jedoch die direkte Arbeit mit dem Format qcow2. Sie können den virtuellen Datenträger direkt in der Programmoberfläche öffnen, ohne einen Hypervisor zu verwenden.

Hetman RAID Recovery: das Menü Datenträger einbinden öffnen

Öffnen Sie dazu das Menü Datenträger einbinden, wählen Sie die geeignete Option für virtuelle Maschinen aus, geben Sie den Pfad zum Ordner mit Ihrer gespeicherten qcow2-Datei an,

Hetman RAID Recovery

und klicken Sie auf Ordner einbinden.

Hetman RAID Recovery

Danach wird der virtuelle Datenträger sofort in der allgemeinen Geräteliste angezeigt. Da unser Gastsystem Windows 10 ist, sehen wir sofort seine Partition mit dem Dateisystem NTFS.

Hetman RAID Recovery

Wählen Sie diese Partition aus und starten Sie die Analyse Schnellscan. Das Programm analysiert die interne Struktur des virtuellen Datenträgers gründlich und findet gelöschte oder verlorene Daten. In unserem Fall handelt es sich um eine Reihe von Testdateien. Dank der Vorschaufunktion können Sie die Integrität von Dokumenten und Fotos direkt vor der Wiederherstellung visuell beurteilen.

Nachdem Sie die Richtigkeit der gefundenen Informationen überprüft haben, wählen Sie die erforderlichen Dateien aus, klicken Sie auf die Schaltfläche Wiederherstellen und speichern Sie sie auf der lokalen Festplatte Ihres Computers.

Hetman RAID Recovery: wählen Sie die erforderlichen Dateien aus und klicken Sie auf Wiederherstellen

METHODE 3. Wiederherstellung von Daten mithilfe von Snapshots

Eine weitere leistungsstarke Funktion von Hetman RAID Recovery ist die Arbeit mit Snapshots, also mit Aufnahmen des Systemzustands.

Wie bereits zu Beginn des Videos erwähnt, speichert das Format qcow2 alle Snapshots in einer einzigen Datei. Wenn ein solcher virtueller Datenträger eingebunden wird, findet das Programm automatisch alle darin enthaltenen Snapshots und zeigt sie als separate verbundene Laufwerke in der allgemeinen Liste an.

Hetman RAID Recovery: das Programm findet automatisch alle verfügbaren Snapshots

Dadurch lässt sich Daten aus früheren Systemzuständen einfach wiederherstellen. Wenn beispielsweise eine wichtige Datei geändert oder vollständig gelöscht wurde und in der aktuellen Arbeitsversion der virtuellen Maschine nicht mehr vorhanden ist, können Sie einfach zu einem älteren Snapshot zurückkehren. Wählen Sie den erforderlichen Snapshot in der Liste aus und starten Sie den Algorithmus Schnellscan.

Hetman RAID Recovery: alle verfügbaren Snapshots im Programm eingebunden

Das Programm analysiert dessen Struktur und findet frühere Dateiversionen. Danach müssen Sie die gefundenen Daten nur noch visuell überprüfen, die erforderlichen Dateien auswählen und sie mit der Schaltfläche Wiederherstellen auf einem sicheren lokalen Datenträger speichern.

Hetman RAID Recovery

Fazit

Die Wiederherstellung von KVM-virtuellen Datenträgern und Snapshots in Red Hat Enterprise Linux 7.9 erfordert ein Verständnis der Virtualisierungsarchitektur, der Speicherstruktur und der Art und Weise, wie Daten gespeichert werden. Je nach Konfiguration der virtuellen Maschine kann ihr Datenträger als QCOW2- oder RAW-Datei auf einem Dateisystem oder als LVM-logisches Volume vorliegen. Davon hängt die Wahl der Werkzeuge und die Reihenfolge der Wiederherstellungsschritte ab.

Wenn die virtuelle Maschine nicht mehr startet, der Datenträger versehentlich gelöscht wurde oder ein Snapshot beschädigt ist, sollte zunächst die Ursache des Problems ermittelt und die Verfügbarkeit der Originaldaten überprüft werden. Besonderes Augenmerk sollte auf externe QCOW2-Snapshots gelegt werden, da fehlerhafte Verknüpfungen zwischen dem Basisabbild und den untergeordneten Abbildern zum Verlust des Zugriffs auf den aktuellen Zustand des virtuellen Datenträgers führen können. Bei Verwendung von LVM müssen Sie den Status der physischen Volumes, Volume Groups und logischen Volumes prüfen, ohne deren Struktur unnötig zu verändern.

Um die Chancen auf eine erfolgreiche Wiederherstellung zu erhöhen, wird empfohlen, keine weiteren Schreibvorgänge auf dem beschädigten Speichermedium vorzunehmen, keine verbleibenden Snapshot-Dateien zu löschen und nach Möglichkeit eine sektorweise Kopie des Laufwerks oder eine Sicherungskopie der Abbilder zu erstellen. Spezialisierte Datenwiederherstellungssoftware kann verwendet werden, um nach verlorenen Dateien zu suchen, einschließlich Lösungen von Hetman Software. Das Ergebnis hängt dabei von der Art der Beschädigung, dem Zustand des Laufwerks und davon ab, ob die verlorenen Daten bereits überschrieben wurden.

Um das Risiko eines erneuten Datenverlusts zu minimieren, sollten Sie regelmäßig Backups der virtuellen Datenträger und der Konfigurationen virtueller Maschinen erstellen, die Integrität der Backups überprüfen und den Zustand des Speichers überwachen. Snapshots sollten als Möglichkeit zum Zurückkehren zu einem früheren Zustand verwendet werden, nicht als vollständiger Ersatz für Backups.

Glib Khomenko

Autor: , Technischer Schreiber

Hlib Khomenko ist Übersetzer und IT-Techniker im Unternehmen „Hetman Software“. Der Autor hat eine spezialisierte Hochschulausbildung und hat langjährige Erfahrung in der deutschen Übersetzung.

Alexandr Shafarenko

Editor: , Technischer Schreiber

Olexander Schafarenko hat langjährige Erfahrungen im Schreiben von Artikeln. Seine Artikel auf dem Blog wurden von Millionen von Benutzern gelesen. Der Autor hat eine spezialisierte Hochschulausbildung und teilt sein Wissen im Bereich IT mit den Lesern.

Für dich empfohlen