Wie man ZVOLs und LXC-Container aus einem RAIDZ-Array in Proxmox VE wiederherstellt
In diesem Artikel untersuchen wir den Prozess der Wiederherstellung von als ZVOL-Blockgeräte und LXC-Container gespeicherten virtuellen Maschinen aus einem RAIDZ-Software-Array auf Basis des Dateisystems ZFS, das in Proxmox Virtual Environment Version 9.1.1 erstellt wurde.

- Wie ZFS in Proxmox funktioniert
- So verbinden Sie Serverlaufwerke mit einem Computer
- So stellen Sie Daten aus RAIDZ in Proxmox VE wieder her
- Fazit
- Häufig gestellte Fragen
- Bemerkungen
Wir analysieren die häufigsten Szenarien für Datenverlust. Dazu gehören das versehentliche Löschen wichtiger Dateien innerhalb des Gastsystems oder das versehentliche Löschen der virtuellen Maschine selbst bzw. des Container-Datasets. Wir berücksichtigen außerdem die Datenwiederherstellung bei Hardwareproblemen, beispielsweise bei einer Array-Beschädigung durch einen Laufwerksausfall oder eine allgemeine Serverstörung. Darüber hinaus behandeln wir Softwarefehler, beispielsweise einen Absturz des Proxmox VE-Hypervisors infolge fehlgeschlagener Updates, kritischer Fehler oder einer Beschädigung der Systempartition.
Wir zeigen, wie Sie die Laufwerke korrekt aus einem ausgefallenen Array entfernen, direkt an einen funktionierenden PC anschließen, das RAIDZ-Array automatisch zusammenstellen und Ihre Daten wiederherstellen.
Unsere Spezialsoftware ermöglicht die problemlose Datenwiederherstellung aus allen Gast-Dateisystemen für Windows, Linux und macOS.
Proxmox ZFS Datenrettung: ZVOL, VMs und LXC-Container wiederherstellen
Wie ZFS in Proxmox funktioniert
Das Dateisystem ZFS unterscheidet sich in einer Proxmox-Umgebung grundlegend von herkömmlichen Lösungen wie Ext4. Statt ein reguläres Verzeichnis anzulegen und dort herkömmliche virtuelle Festplattendateien abzulegen, ist ZFS eng in den Hypervisor auf Ebene der Speicherverwaltung integriert. Dies sorgt für hohe Leistung und Zuverlässigkeit, verändert jedoch den Ansatz für Datenspeicherung und -wiederherstellung grundlegend.
- Für vollwertige virtuelle Maschinen verwendet Proxmox nicht die bekannten Image-Dateien qcow2 oder RAW. Stattdessen erstellt das System spezielle dedizierte Blockgeräte namens ZVOL. Datenwiederherstellungssoftware sieht diese nicht als separate Dateien in einem Ordner, sondern als vollständige physische Laufwerke. Dieser Ansatz ermöglicht dem Hypervisor einen effizienteren Umgang mit Snapshots und der Server-Ressourcenzuweisung.
- Für leichte LXC-Container wird ein etwas anderer Ansatz verwendet. Anstatt virtuelle Festplatten zu erstellen, legt Proxmox jeden Container in einem eigenen isolierten ZFS-Dataset ab, das als Subvolume bezeichnet wird. Beim Scannen des Arrays erscheinen diese Datasets als gewöhnliche Ordner mit einer standardmäßigen Linux-Systemverzeichnisstruktur, aus der die benötigten Dateien direkt extrahiert werden können.
| Eigenschaft | Virtuelle Maschinen (ZVOL) | LXC-Container (Subvolume) |
|---|---|---|
| Speichermethode | Dedizierte ZVOL-Blockgeräte | Getrennte ZFS-Datasets |
| Datenorganisation | Die Daten werden als Blockgerät gespeichert, das wie ein eigenständiges Laufwerk arbeitet | Die Daten sind als Dateisystem mit einer Linux-Verzeichnisstruktur organisiert |
| Format der virtuellen Festplatte | Standardmäßige qcow2- oder RAW-Image-Dateien werden nicht verwendet — stattdessen werden ZVOLs erstellt | Es wird keine separate virtuelle Festplattendatei benötigt |
| Darstellung während der Wiederherstellung | Als einzelnes Blockgerät, ähnlich wie ein physisches Laufwerk | Als Ordner mit Dateien und Unterordnern |
| Dateizugriff | Der Inhalt des Blockgeräts muss analysiert werden, um die Dateisystemstruktur zu bestimmen | Die Verzeichnisstruktur kann durchsucht werden, und die benötigten Dateien können direkt extrahiert werden |
| Besonderheiten der ZFS-Nutzung | Effiziente Verwaltung von Blockspeicher und Snapshot-Unterstützung | Isolierte Speicherung jedes Container-Dateisystems |
| Hauptobjekt der Wiederherstellung | Virtuelle Festplatten und Daten innerhalb von ZVOLs | Dateien, Ordner und Daten von LXC-Containern |
So verbinden Sie Serverlaufwerke mit einem Computer
Bevor wir mit der softwarebasierten Wiederherstellung beginnen, müssen wir die Serverlaufwerke korrekt mit einem funktionierenden Computer verbinden. Die zuverlässigste Option ist eine direkte Verbindung über die SATA-Anschlüsse auf dem Mainboard.
Da es sich um Serverlaufwerke handelt, können sie die SAS-Schnittstelle verwenden. In diesem Fall muss zum Auslesen an einem Standardcomputer ein geeigneter SAS-Controller installiert werden. Externe USB-Adapter oder Dockingstationen können ebenfalls verwendet werden, allerdings ist zu beachten, dass die Scan-Geschwindigkeit großer Arrays über USB deutlich geringer ist.
Beim Anschließen der Laufwerke ist die Mindestanzahl an Laufwerken zu berücksichtigen, die für RAIDZ1-Arrays erforderlich ist. Da diese Array-Architektur Speicherplatz für einen Paritätsblock reserviert, kann die Software die Daten auch dann vollständig rekonstruieren, wenn ein physisches Laufwerk fehlt.
In unserem Fall bestand der ursprüngliche Pool aus drei Laufwerken. Daher genügt es für die erfolgreiche Extraktion aller Daten, nur zwei funktionsfähige Laufwerke mit dem Computer zu verbinden.

Falls nicht genügend verfügbare Anschlüsse vorhanden sind, besteht die optimale Lösung darin, von einigen Laufwerken virtuelle Images zu erstellen. Sie können einige physische Laufwerke direkt anschließen und exakte Bit-für-Bit-Kopien der übrigen verwenden, die direkt in der Programmoberfläche eingebunden werden.
Die Software erkennt solche Images als vollständige physische Geräte und verwendet sie automatisch zur Rekonstruktion der Array-Struktur. Diese Methode gewährleistet die Sicherheit der Originaldaten, da die weitere Analyse auf virtuellen Kopien erfolgt. Nachdem alle Pool-Komponenten physisch angeschlossen oder als Images eingebunden wurden, liest Hetman RAID Recovery automatisch die ZFS-Metadaten aus und zeigt das zusammengestellte Array im Hauptfenster an, wodurch der Zugriff auf weitere Scans und das Speichern von Dateien ermöglicht wird.
Um ein Image zu erstellen, starten Sie Hetman RAID Recovery, wählen Sie das gewünschte Laufwerk aus der Liste aus und klicken Sie auf Datenträger speichern.

Geben Sie im angezeigten Fenster den Speicherort für die Datei an.
Beachten Sie, dass die Größe des Images der vollen Kapazität des Quelldatenträgers entspricht, unabhängig davon, wie viel davon tatsächlich verwendet wird. Stellen Sie daher im Voraus sicher, dass das Ziellaufwerk über ausreichend freien Speicherplatz verfügt.
Nachdem das Image gespeichert wurde, gehen Sie zum Hauptmenü und wählen Sie Datenträger einbinden.

Wählen Sie in der Typenliste Raw-Datenträger-Images aus und laden Sie Ihre Datei.

Es wird in der Geräteliste zusammen mit den physisch angeschlossenen Laufwerken angezeigt. Wenn mehrere Laufwerke Probleme aufweisen, wiederholen Sie diesen Vorgang für jedes einzelne.
Nachdem alle Pool-Komponenten physisch angeschlossen oder als Images eingebunden wurden, liest Hetman RAID Recovery automatisch die ZFS-Metadaten aus und zeigt das zusammengestellte Array im Hauptfenster an, wodurch der Zugriff auf weitere Scans und das Speichern von Dateien ermöglicht wird.

So stellen Sie Daten aus RAIDZ in Proxmox VE wieder her
METHODE 1. Automatische Datenwiederherstellung
Nachdem die Laufwerke physisch mit dem Computer verbunden wurden, starten Sie Hetman RAID Recovery.
Das Programm beginnt automatisch mit dem Scannen aller verbundenen Geräte und liest die Servicemetadaten des ZFS-Dateisystems aus. Auf Grundlage dieser Daten rekonstruiert die Software das beschädigte RAIDZ-Array selbstständig. Dieser Vorgang ist vollständig automatisch und ermöglicht den Zugriff auf die Daten selbst nach einem schwerwiegenden Absturz des Proxmox-Hypervisors oder einem vollständigen Hardwareausfall des Servers.

Im Hauptfenster werden alle erkannten Arrays angezeigt. Wählen Sie Ihren zusammengestellten Pool aus und starten Sie den Modus Schnellscan für eine schnelle Analyse der Speicherstruktur.

Nach Abschluss des Scans wird das wiederhergestellte Dateisystem im Hauptfenster angezeigt. Dabei ist es wichtig zu verstehen, wie das Programm verschiedene Typen von Proxmox-Virtualisierungsumgebungen kennzeichnet. Blockgeräte vollwertiger virtueller Maschinen werden mit dem Bezeichner vm und dem Wort disk im Namen angezeigt und als ZVOL-Volumes markiert. Isolierte Datasets Ihrer LXC-Container werden vom Programm als gewöhnliche Ordner mit dem Wort subvol dargestellt.

Um Daten automatisch aus einem Container wiederherzustellen, müssen Sie lediglich den Ordner mit der entsprechenden Nummer Ihres LXC finden und öffnen.
Da Container als Dateisystem-Datasets gespeichert werden, sehen Sie in diesem Ordner die standardmäßige Linux-Systemverzeichnisstruktur. Sie können problemlos zwischen Verzeichnissen navigieren und nach den erforderlichen Benutzerdateien, Datenbanken oder Konfigurationen suchen. Wählen Sie die gewünschten Objekte zum Speichern aus und klicken Sie in der Symbolleiste auf die Schaltfläche Wiederherstellung.

Im nächsten Schritt fordert das Programm Sie auf, einen Pfad zum Speichern der Dateien anzugeben. Wählen Sie unbedingt ein separates Laufwerk mit ausreichend freiem Speicherplatz aus, um ein Überschreiben der Originaldaten auf Ihren Serverlaufwerken zu vermeiden. Bestätigen Sie den Start des Kopiervorgangs, und das Programm überträgt die ausgewählten Dateien sicher vom Container auf Ihr lokales Laufwerk.

Nach Abschluss des Vorgangs stehen alle wiederhergestellten Daten vollständig zur weiteren Verwendung bereit, ohne dass eine Einbindung oder andere zusätzliche Schritte erforderlich sind.
METHODE 2. Arbeit mit virtuellen Maschinen (ZVOL)
Die Wiederherstellung von Daten aus vollwertigen virtuellen Maschinen erfordert einen anderen Ansatz. Da Proxmox diese nicht als gewöhnliche Dateien, sondern als dedizierte ZVOL-Blockgeräte speichert, arbeitet das Programm nach demselben Prinzip wie bei physischen Laufwerken. Um Daten aus dem Gastsystem zu extrahieren, müssen wir dieses Blockgerät exportieren, einbinden und scannen.

Beim Analysieren des Pools suchen Sie das erforderliche ZVOL-Blockgerät und speichern Sie es über die Funktion Wiederherstellung auf Ihrem Computer.

Das Programm exportiert dieses Objekt im RAW-Format. Dieses Format ist eine exakte Byte-für-Byte-Kopie der Daten und enthält keine komplexe interne Struktur oder Komprimierung. Dadurch bietet es maximale Leistung und ist das am besten geeignete Objekt für Wiederherstellungsalgorithmen, die es wie ein standardmäßiges physisches Laufwerk analysieren können.
Das Verfahren zum Einbinden der gespeicherten Datei ist so einfach wie möglich. Öffnen Sie das Tool zum Einbinden von Datenträgern im oberen Menü des Programms. Suchen Sie anschließend das Feld für Standard-Datenträger-Images und wählen Sie die Option RAW. Wählen Sie danach im Suchfenster einfach die gespeicherte Datei Ihrer virtuellen Maschine aus. Das Programm bindet sie sofort ein und zeigt sie auf dem Hauptbildschirm an, sodass das virtuelle Laufwerk vollständig auf den abschließenden Scan vorbereitet ist.

Nach erfolgreichem Einbinden wird das Objekt in der Geräteliste als Standardlaufwerk angezeigt und ist für eine detaillierte Untersuchung seines internen Inhalts bereit. Die Wahl des Analysemodus hängt von der Art des Datenverlusts ab. Wenn Dateien im Gastsystem lediglich versehentlich gelöscht wurden, reicht die Verwendung von Schnellscan aus, um die Verzeichnisstruktur rasch anzuzeigen.
In komplexeren Fällen, nach einer Formatierung oder Änderung der logischen Partitionsstruktur, sollte Vollscan für eine gründliche Suche nach Daten verwendet werden. Nach Abschluss der Analyse können Sie die gefundenen Dateien anzeigen, ihre Integrität im Vorschaubereich prüfen und die benötigten Daten auf einem sicheren Speichermedium speichern.

METHODE 3. Wiederherstellung nach dem Löschen einer virtuellen Maschine
Das Löschen einer virtuellen Maschine oder eines Containers in Proxmox geschieht in der Regel aufgrund eines Administratorfehlers. Im ZFS-Dateisystem führt dies dazu, dass das ZVOL-Blockgerät oder das Subvolume-Dataset sofort verschwindet. Da es im System keinen Papierkorb gibt, steht der freigegebene Speicherplatz sofort für neue Schreibvorgänge zur Verfügung. Ihre Daten befinden sich jedoch physisch weiterhin auf den Laufwerken.
Die wichtigste Regel in dieser Situation ist, den Server sofort zu stoppen und alle Schreibzugriffe auf das Array zu unterbinden, um ein endgültiges Überschreiben der Daten zu vermeiden.
Zur Wiederherstellung der verlorenen Objekte verwenden wir erneut Hetman RAID Recovery.
Wählen Sie Ihren rekonstruierten Pool aus und starten Sie den Tiefenanalysemodus Vollscan. Dieser Vorgang dauert länger, da das Programm direkt mit den Datenträgersektoren arbeitet und sorgfältig nach fragmentierten Dateisystemkomponenten anhand ihrer Signaturen sucht.

Nach Abschluss des Scans werden die gefundenen Objekte im Programmfenster angezeigt.

Um das benötigte ZVOL oder gelöschte Dataset schnell zu finden, empfiehlt sich die Suchfunktion. Wenn Sie einen LXC-Container wiederherstellen, suchen Sie nach Ordnern mit der Bezeichnung subvol und überprüfen Sie deren Inhalt.

Bei vollwertigen virtuellen Maschinen ist der wichtigste Anhaltspunkt die Größe des gefundenen ZVOL-Volumes, insbesondere wenn der ursprüngliche Name nicht mehr vorhanden ist. Gefundene Dateien aus Containern können sofort über das Vorschaofenster überprüft werden.
Die erkannten ZVOL-Volumes müssen nur direkt im Programm eingebunden werden, um ihren Inhalt weiter zu analysieren.
Nach der Überprüfung der Datenintegrität wählen Sie die gewünschten Elemente aus und klicken Sie auf die Schaltfläche Wiederherstellung. Geben Sie den Pfad zu einem separaten sicheren Speichermedium mit ausreichend freiem Speicherplatz an und warten Sie, bis der Kopiervorgang abgeschlossen ist.

Fazit
Die Wiederherstellung von Daten aus einem RAIDZ-Array in Proxmox VE weist eigene Besonderheiten auf, da ZFS seine eigene Struktur für Speicherung und Datenverwaltung verwendet. Virtuelle Maschinen in einer solchen Umgebung können ZVOL verwenden, das als Blockgerät dargestellt wird, während LXC-Container als separate ZFS-Datasets gespeichert werden, die die Container-Dateistruktur enthalten.
Bei Beschädigung oder Verlust des Zugriffs auf RAIDZ ist es wichtig, das Array nicht neu zu erstellen, die Laufwerke nicht zu formatieren und keine Vorgänge auszuführen, die Servicedaten von ZFS überschreiben könnten. Für eine erfolgreiche Wiederherstellung ist es erforderlich, die ursprüngliche Array-Struktur zu erhalten und nach Möglichkeit mit Laufwerkskopien zu arbeiten.
Spezialisierte Datenwiederherstellungssoftware ermöglicht die Analyse der ZFS-Struktur sowie das Auffinden von ZVOL-virtuellen Festplatten, Dateisystemen und LXC-Containerdaten selbst in Situationen, in denen Proxmox VE oder das RAIDZ-Array selbst keinen regulären Zugriff auf die Informationen mehr bieten.
Damit ermöglicht der richtige Wiederherstellungsansatz den Zugriff sowohl auf die Daten der in ZVOL gespeicherten virtuellen Maschinen als auch auf die Dateien und Verzeichnisse von LXC-Containern unter Beibehaltung ihrer ursprünglichen Struktur. Dies ist besonders wichtig nach Laufwerksausfällen, einer Beschädigung des ZFS-Pools, versehentlichem Datenverlust oder kritischen Fehlern in Proxmox VE.







