Wie man Daten von einem Linux-MD-RAID-6 mit LUKS-Verschlüsselung und fscrypt wiederherstellt
Die Wiederherstellung von Daten von Linux MD RAID 6, zusätzlich geschützt durch die Verschlüsselung LUKS und fscrypt, ist ein komplexer mehrstufiger Prozess, bei dem es wichtig ist, den Zustand des RAID-Arrays, die Reihenfolge der Laufwerksverbindung und die Verschlüsselungsebenen korrekt zu bestimmen. Ein Fehler in jeder Phase, vom fehlerhaften Zusammenbauen des Arrays bis zum Versuch, ein beschädigtes Dateisystem einzuhängen, kann die anschließende Wiederherstellung erheblich erschweren. Dieser Artikel beschreibt einen sicheren Ansatz zur Diagnose und Rekonstruktion von RAID 6, zum Öffnen des LUKS-Containers und zur weiteren Arbeit mit Daten, die durch fscrypt geschützt sind.

- Konfiguration von RAID, LUKS2 und fscrypt
- Anschließen der Laufwerke des RAID-Arrays
- Wie man Daten von Linux RAID 6 wiederherstellt
- Fazit
- Häufig gestellte Fragen
- Bemerkungen
Das Besondere an einer solchen Konfiguration besteht darin, dass die Daten mehrere Abstraktionsebenen gleichzeitig durchlaufen. Zunächst werden physische Laufwerke mithilfe von Linux MD zu einem RAID 6-Array zusammengefasst; anschließend kann das resultierende Array einen verschlüsselten LUKS-Container enthalten; und innerhalb des Dateisystems können einzelne Verzeichnisse oder Dateien zusätzlich mit fscrypt geschützt sein. Daher gewährleisten selbst voll funktionsfähige Laufwerke und ein korrekt zusammengesetztes RAID noch keinen Zugriff auf die benötigten Daten.
Während des Wiederherstellungsprozesses ist es entscheidend, die richtige Reihenfolge der Schritte einzuhalten. Vor jedem Schreibversuch auf die Laufwerke sollte deren Zustand bewertet, die Parameter des RAID-Arrays identifiziert, die Metadaten geprüft und nach Möglichkeit bitweise Kopien der problematischen Laufwerke erstellt werden. Besonders gefährlich sind automatische Array-Rebuilds, Dateisystemprüfungen mit Fehlerkorrektur oder eine Neuinitialisierung des LUKS-Containers – diese Aktionen können die für die weitere Wiederherstellung benötigten Strukturen verändern.
Die Verschlüsselung fügt eine weitere Komplexitätsebene hinzu. Bei LUKS müssen der Zugriff auf den Container-Header, die Key Slots sowie die entsprechenden Passphrasen oder Schlüsseldateien erhalten bleiben. Im Fall von fscrypt reicht der Zugriff auf das Dateisystem allein möglicherweise nicht aus: Das Entschlüsseln bestimmter Verzeichnisse erfordert die entsprechenden Schlüssel und Metadaten der Verschlüsselungsrichtlinie. Geht eines dieser Elemente verloren, können die Wiederherstellungsoptionen erheblich eingeschränkt sein.
Im Folgenden wird das Verfahren für die Arbeit mit einem solchen System beschrieben: von der Diagnose physischer Laufwerke und dem manuellen Zusammenbauen von Linux MD RAID 6 in einem Modus, der das Schreibrisiko minimiert, bis hin zum Öffnen des LUKS-Containers, zur Prüfung des Dateisystems und zur Wiederherstellung des Zugriffs auf mit fscrypt geschützte Daten. Das Grundprinzip in jeder Phase besteht darin, zunächst so viele Originalinformationen wie möglich zu erhalten und erst danach mit Wiederherstellungsversuchen fortzufahren.
Linux RAID 6 wiederherstellen: LUKS2, fscrypt & 2 fehlende Festplatten
| Ebene / Technologie | Zweck | Hauptmerkmal | Wichtige Aspekte bei der Wiederherstellung |
|---|---|---|---|
| Linux MD RAID 6 | Fasst mehrere Laufwerke zu einem fehlertoleranten Array zusammen | Verwendet doppelte Parität und toleriert den Ausfall von bis zu zwei Laufwerken | Die Laufwerksreihenfolge, die Array-Parameter, die UUID und der Zustand der Metadaten müssen korrekt ermittelt werden. Ein automatischer Rebuild darf nicht ohne vorherige Analyse gestartet werden. |
| LUKS2 | Vollständige Festplatten- oder Blockverschlüsselung | Verschlüsselt das gesamte logische Volume oder den gesamten Container | Der Zugriff erfordert einen gültigen LUKS-Header sowie eine Passphrase oder einen Schlüssel. Ein beschädigter Header kann den Zugriff auf die Daten verhindern, selbst wenn das RAID intakt ist. |
| Dateisystem | Speichert Verzeichnisse, Dateien und Metadaten | Befindet sich innerhalb des entsperrten LUKS-Containers | Vor einer Reparatur sollte vorzugsweise mit einer Kopie gearbeitet werden. Automatische Reparaturvorgänge können wichtige Datenstrukturen verändern. |
| fscrypt | Verschlüsselt einzelne Verzeichnisse oder Dateien | Arbeitet auf Dateisystemebene und schützt ausgewählte Daten | Die entsprechenden Schlüssel, Verschlüsselungsrichtlinien und Metadaten müssen verfügbar sein. Das Entsperren von LUKS gewährt nicht automatisch Zugriff auf fscrypt-geschützte Daten. |
| Schlüssel und Metadaten | Ermöglichen den Zugriff auf verschlüsselte Informationen | Schlüssel können getrennt von den eigentlichen Daten gespeichert sein | Der Verlust der Passphrase, der Schlüsseldatei, der LUKS-Header-Sicherung oder der fscrypt-Schlüssel kann die Wiederherstellungsmöglichkeiten erheblich einschränken. |
| Reihenfolge der Ebenen | Definiert die Reihenfolge des Datenzugriffs | Typischer Aufbau: Laufwerke → MD RAID 6 → LUKS2 → Dateisystem → fscrypt → Dateien | Die Wiederherstellung sollte in derselben Reihenfolge erfolgen, von der untersten zur obersten Ebene. |
| Schreibrisiko | Beeinflusst den Erhalt der Quelldaten | Jeder Rebuild, das Einhängen mit Lese-/Schreibzugriff oder ein Reparaturvorgang kann Datenstrukturen verändern | Es empfiehlt sich, zunächst Abbilder der Laufwerke zu erstellen und anschließend im Nur-Lese-Modus zu arbeiten. |
| Diagnosekomplexität | Bestimmt die Anzahl möglicher Fehlerquellen | Das Problem kann auf Laufwerks-, RAID-, LUKS2-, Dateisystem- oder fscrypt-Ebene liegen | Die Fehlerursache sollte Schritt für Schritt eingegrenzt werden, ohne Probleme verschiedener Ebenen miteinander zu vermischen. |
Konfiguration von RAID, LUKS2 und fscrypt
Für das Testen von Hetman RAID Recovery haben wir einen Dell PowerEdge R710-Server mit einem PERC H700-RAID-Controller und installiertem Ubuntu Server 24.04 LTS vorbereitet.
Aus vier 60 GB-HDDs haben wir mit mdadm ein softwarebasiertes Linux MD RAID 6-Array mit einer Gesamtkapazität von etwa 120 GB erstellt. Die Chunk-Größe betrug 512 KB (in Hetman RAID Recovery wird dieser Parameter als Blockgröße) angezeigt.

Auf dem Array wurde ein verschlüsseltes LUKS2-Volume eingerichtet, und darin wurde ein EXT4-Dateisystem erstellt. Ein zusätzlicher Ordner auf dieser Partition wurde mit fscrypt unter Verwendung einer eigenen Passphrase verschlüsselt.

Nach der Vorbereitung des Speichers wurden Testdateien geschrieben und anschließend einige reguläre Daten aus EXT4 sowie einige Dateien aus dem durch fscrypt geschützten Verzeichnis gelöscht.
Anschließen der Laufwerke des RAID-Arrays
METHODE 1. Physische Laufwerke anschließen.
Die Laufwerke des RAID-Arrays können über folgende Schnittstellen angeschlossen werden:
- SATA;
- SAS;
- Fibre Channel;
- HBA;
- RAID-Controller.
Wichtig ist jedoch, dass der Controller dem Programm Zugriff auf jedes physische Laufwerk einzeln gewährt.
Sie können auch Folgendes verwenden:
- USB-Adapter;
- Dockingstationen;
- Externe Gehäuse.
Für eine langfristige Analyse ist eine direkte Verbindung über SATA, SAS, HBA oder den entsprechenden Controller besser geeignet – sie ist in der Regel schneller und stabiler.

Das Anschließen aller Laufwerke des Arrays ist nicht immer erforderlich. Hetman RAID Recovery berücksichtigt fehlende Laufwerke und kann deren Daten rekonstruieren, wenn die RAID-Stufe dies zulässt und die verbleibenden intakten Laufwerke ausreichen, um das Array wiederherzustellen. So erlaubt beispielsweise RAID 5 ein fehlendes Laufwerk, RAID 6 zwei.
Nach dem Anschließen der Laufwerke kann Windows Sie auffordern, diese zu initialisieren oder zu formatieren. Stimmen Sie nicht zu – schließen Sie diese Meldung, um Änderungen an den RAID-Daten und Serviceinformationen zu vermeiden.
METHODE 2. Mit Datenträgerabbildern arbeiten.
Die Arbeit mit Abbildern ist sinnvoll, wenn nicht genügend Anschlüsse vorhanden sind, um alle Laufwerke gleichzeitig anzuschließen, oder wenn die Laufwerke schlechte SMART-Werte, Lesefehler oder einen instabilen Betrieb aufweisen.
Um in Hetman RAID Recovery ein Abbild zu erstellen, wählen Sie im Hauptfenster des Programms das gewünschte physische Laufwerk aus und klicken Sie auf Datenträger speichern.

Wählen Sie im Speicherassistenten die Erstellung eines Abbilds des gesamten Datenträgers, geben Sie den Ordner und den Dateinamen an und starten Sie dann das Kopieren.
Es ist vorzuziehen, das Abbild auf einem anderen intakten Laufwerk mit ausreichend freiem Speicherplatz zu speichern.
Für die weitere Arbeit klicken Sie auf Datenträger einbinden – RAW-Datenträgerabbilder. Wählen Sie die erstellten Abbilddateien aus und fügen Sie sie dem Programm hinzu.

Danach arbeitet Hetman RAID Recovery mit ihnen wie mit gewöhnlichen physischen Laufwerken und kann sie für die automatische oder manuelle RAID-Rekonstruktion verwenden.

METHODE 3. Laufwerke über SSH anschließen.
Wenn der Linux-Server über das Netzwerk erreichbar bleibt, können die Laufwerke über Werkzeuge – Verbindung über SSH remote hinzugefügt werden.

Geben Sie die Serveradresse, den Port und die Authentifizierungsdaten an und wählen Sie dann die gewünschten physischen Laufwerke oder Volumes aus. Sie werden Hetman RAID Recovery hinzugefügt und stehen für die Analyse und RAID-Rekonstruktion zur Verfügung, ohne dass eine physische Verbindung zum Computer erforderlich ist.

Wie man Daten von Linux RAID 6 wiederherstellt
SCHRITT 1. Automatische Erkennung des RAID-Arrays
Nach dem Start von Hetman RAID Recovery analysiert das Programm automatisch die verfügbaren Laufwerke und sucht nach Anzeichen für RAID-Arrays. Wenn die erforderlichen Laufwerke bereits mit dem Computer verbunden sind, wird das gefundene Array unmittelbar nach dem Start im Bereich RAID-Arrays angezeigt.
Wenn die Laufwerke später hinzugefügt werden – physisch angeschlossen, aus Abbildern eingebunden oder per SSH hinzugefügt -, analysiert das Programm die verfügbaren RAID-Mitglieder erneut und rekonstruiert das Array automatisch, sofern genügend Informationen vorhanden sind.

Für das erkannte RAID zeigt Hetman RAID Recovery die wichtigsten Parameter an:
- Array-Typ und Kapazität;
- Sektor- und Blockgröße;
- Datenlayout-Schema;
- RAID-Status;
- Liste der Mitgliedslaufwerke, ihre Reihenfolge und Offsets.

In unserem Fall erkannte das Programm automatisch ein Linux MD RAID 6 mit einer Größe von etwa 118 GB und zeigte es als bereit für die weitere Analyse an. Die detaillierten Array-Parameter werden wir später bei der manuellen Rekonstruktion betrachten.
Wenn einige Laufwerke fehlen, zeigt das Programm sie als Leeres Laufwerk an und ermittelt, ob die vorhandenen Laufwerke für die Rekonstruktion ausreichen. In unserem Test hat das Array selbst bei zwei der vier fehlenden RAID-6-Laufwerke den Status Wiederherstellbar und bleibt für die Datenanalyse und Wiederherstellung verfügbar.
SCHRITT 2. RAID-Analyse und Entschlüsselung der Daten
Um mit der Suche nach Daten zu beginnen, doppelklicken Sie auf das gefundene RAID-Array oder die Partition. Wenn Hetman RAID Recovery feststellt, dass das Volume mit LUKS verschlüsselt ist, fordert das Programm Sie umgehend auf, ein Kennwort einzugeben oder eine Schlüsseldatei anzugeben.

Zum Entschlüsseln wird ein gültiges Kennwort oder ein gültiger Schlüssel sowie intakte LUKS-Service-Daten benötigt.
Nach dem Entsperren von LUKS wählen Sie die Analyseart. Zunächst können Sie einen Schnellscan ausführen – dieser ist häufig ausreichend, wenn die Partitionsstruktur und das Dateisystem nicht beschädigt wurden und Sie nur kürzlich gelöschte Dateien suchen müssen.

Wenn auf dem Datenträger destruktive Vorgänge durchgeführt wurden – Löschen oder Erstellen von Partitionen, Formatierung, Änderungen am Dateisystem, Beschädigung der Partitionstabelle oder andere Vorgänge, die die Datenstruktur verändern könnten -, wird die Verwendung von Vollständige Analyse empfohlen. Geben Sie bei der vollständigen Analyse das auf dem Array verwendete Dateisystem an. In unserem Fall ist dies Ext2/3/4.
Wenn das Programm während der Analyse mit fscrypt verschlüsselte Daten erkennt, werden Sie aufgefordert, die entsprechende Passphrase einzugeben. Nach der Entschlüsselung können Sie mit der Suche nach vorhandenen und gelöschten Dateien fortfahren.

SCHRITT 3. Anzeigen und Speichern wiederhergestellter Dateien
Überprüfen Sie nach Abschluss der Analyse die gefundenen Dateien. Verwenden Sie den Miniaturansichtsmodus, die Vorschau sowie Suche und Filter, um die benötigten Daten schnell zu finden und deren Inhalt zu prüfen.
Gelöschte Dateien werden vom Programm mit einem roten Kreuz markiert. Wählen Sie die Dateien und Ordner aus, die Sie speichern möchten, und klicken Sie auf Wiederherstellung.

Speichern Sie wiederhergestellte Daten nicht auf Datenträgern, die Mitglieder des RAID-Arrays sind. Das Schreiben darauf kann Informationen überschreiben, die noch nicht wiederhergestellt wurden. Verwenden Sie zum Speichern ein separates physisches Laufwerk.
Geben Sie im Assistenten das Ziel an und starten Sie das Speichern der Dateien.
SCHRITT 4. Manuelle RAID-Rekonstruktion
Die automatische RAID-Erkennung kann unmöglich sein, wenn die Serviceinformationen über das Array beschädigt, überschrieben, nicht vorhanden oder auf den Laufwerken inkonsistent sind.
Dies kann nach direkt auf den Mitgliedslaufwerken ausgeführten Vorgängen auftreten, die die RAID-Metadaten beschädigt oder überschrieben haben könnten:
- Initialisieren von Laufwerken in Windows;
- Ausführen von mdadm –zero-superblock;
- Erstellen eines neuen RAID auf einem alten;
- Ändern der Partitionstabelle;
- teilweises Überschreiben von Laufwerken;
- oder ein fehlgeschlagener Rebuild.

Eine manuelle Rekonstruktion kann auch erforderlich sein, wenn einige Laufwerke fehlen oder beschädigt sind, wenn Metadaten verschiedener RAID-Arrays auf den Laufwerken verbleiben, wenn die Laufwerksreihenfolge oder Offsets geändert wurden oder wenn ein Abbild eines der Laufwerke unvollständig erstellt wurde.
Wenn Hetman RAID Recovery die Array-Konfiguration nicht automatisch bestimmen konnte, kann sie mit RAID Constructor manuell rekonstruiert werden.
Öffnen Sie RAID Constructor, wählen Sie den Manuellen Modus und geben Sie die bekannten Array-Parameter an.

Für das in unserem Test mit mdadm und dem Standard-Layout erstellte Linux MD RAID 6 verwendet RAID Constructor das Schema Left Synchronous P+Q. In unserem Fall betrug die Blockgröße 512 KB.

Verwenden Sie bei den meisten Laufwerken 512 Bytes im Feld Bytes pro Sektor. Wenn das Laufwerk eine logische Sektorgröße von 4K verwendet, wählen Sie 4096 Bytes.
Für standardmäßiges Linux MD RAID lassen Sie den Parameter Byte-Reihenfolge auf Standard, sofern das Array nicht mit anderen speziellen Einstellungen erstellt wurde.
Stellen Sie als Nächstes die korrekte Laufwerksreihenfolge ein und geben Sie den Datenoffset – Offset – für jedes Laufwerk an. In unserem Test betrug er für jedes Laufwerk 34.603.008 Bytes.

Wenn ein oder mehrere Laufwerke nicht verfügbar sind, fügen Sie stattdessen ein Leeres Laufwerk hinzu.
Nachdem die Konfiguration zusammengestellt wurde, fügen Sie das rekonstruierte RAID über Hinzufügen dem Hauptfenster des Programms hinzu.

Danach können Sie damit auf die gleiche Weise arbeiten wie mit einem automatisch erkannten Array: LUKS entsperren, das Dateisystem analysieren und die benötigten Dateien wiederherstellen.

SCHRITT 5. Wie unbekannte Array-Parameter bestimmt werden
Wenn einige RAID-Parameter unbekannt sind, können sie anhand der Struktur der auf dem Array gespeicherten Daten bestimmt werden. In unserem Fall wissen wir, dass Linux MD RAID 6 verwendet wurde und direkt darauf ein verschlüsseltes LUKS2-Volume lag.

Beginnen wir mit der Bestimmung des Datenoffsets – Offset. Öffnen Sie jedes Laufwerk des Arrays im HEX-Editor, starten Sie die Suche nach einem HEX-Wert und geben Sie die LUKS-Signatur ein: 4C 55 4B 53 BA BE. Stellen Sie in den Suchoptionen die Richtung auf Nach unten, die Position auf Sektoranfang und starten Sie die Suche.

In unserem Test-Array wurde die LUKS-Signatur an der Adresse 34.603.008 Bytes ab Beginn des Datenträgers gefunden. Dies ist der Wert, den wir als Offset für alle Laufwerke unseres Arrays verwenden.

Das Laufwerk, auf dem die Signatur gefunden wurde, enthält den Beginn des logischen LUKS-Volumes. Dadurch lässt sich der Datenoffset bestimmen und ein Referenzlaufwerk ermitteln, die Signatur selbst zeigt jedoch nicht die vollständige Reihenfolge aller Laufwerke. Wenn die Laufwerksreihenfolge unbekannt ist, lassen Sie sie daher über Die Laufwerksreihenfolge automatisch erkennen bestimmen.

Stellen Sie anschließend die bereits bekannten RAID-Parameter ein. Wenn das Array mit mdadm und den Standardeinstellungen erstellt wurde, ist das typische Schema für RAID 5 Left Synchronous und für RAID 6 Left Synchronous P+Q. In unserem Fall beträgt die Blockgröße 512 KB. Wurde dieser Parameter bei der RAID-Erstellung geändert, kann er einen anderen Wert haben, zum Beispiel 64, 128, 256 KB oder 1 MB.
Für Parameter, die bestimmt werden konnten, geben Sie exakte Werte an. Lassen Sie Automatisch erkennen nur für unbekannte Parameter aktiviert. Dadurch wird die Anzahl möglicher Konfigurationen deutlich reduziert und die Suche beschleunigt.
Klicken Sie anschließend auf Weiter und warten Sie, bis die Prüfung der Varianten abgeschlossen ist.
Während der Suche zeigt Hetman RAID Recovery den Fortschritt, die verstrichene Zeit und die Anzahl der gefundenen Konfigurationen an. Nach Abschluss der Suche wählen Sie die am besten geeignete Konfiguration aus und fügen das rekonstruierte RAID dem Hauptfenster des Programms hinzu.
Die Korrektheit der Parameter kann anhand der Struktur der resultierenden Daten überprüft werden. In unserem Fall sollte Hetman RAID Recovery ein LUKS2-Volume der erwarteten Größe erkennen. Wenn es sich mit dem richtigen Kennwort erfolgreich entsperren lässt und darin das EXT4-Dateisystem erkannt wird, wurde die RAID-Konfiguration korrekt ausgewählt.

Fazit
Hetman RAID Recovery erkannte das Test-Linux MD RAID 6 automatisch, entsperrte LUKS2 mit dem bekannten Kennwort und fand während des Schnellscans sowohl vorhandene als auch gelöschte Dateien. Nach Eingabe der fscrypt-Passphrase erhielt das Programm außerdem Zugriff auf vorhandene und gelöschte Dateien im zusätzlich verschlüsselten Verzeichnis.
Wenn nicht genügend RAID-Metadaten vorhanden sind, kann das Array in RAID Constructor manuell anhand bekannter Parameter rekonstruiert werden, oder Sie können die automatische Auswahl unbekannter Werte verwenden. Die Suche nach der LUKS2-Signatur im HEX-Editor hilft bei der Bestimmung des Datenoffsets, und die Korrektheit der Konfiguration kann durch das erfolgreiche Entsperren von LUKS und die Erkennung des EXT4-Dateisystems überprüft werden.




