Kostenlose Datenvernichtung Kostenlose Analyse anfordern →
Leistungen Große Volumes
+32 (0)800 11 400 Kostenlose Analyse anfordern

Enterprise und Rechenzentrum

Wiederherstellung sehr großer Volumes

ZFS-Pools, große NAS- und SAN-Volumes und Dateisysteme mit Hunderten Terabyte. Mit eigener Software, die die Wiederherstellung in drei Prozesse aufteilt.

Warum große Volumes anders sind

Ein Volume mit Hunderten Terabyte lässt sich nicht wie eine große Festplatte behandeln. Die Daten sind über Dutzende Platten verteilt, das Dateisystem hält seine Struktur in Bäumen und Verweisen fest, die selbst über das ganze Volume verstreut sind, und bei Copy-on-Write-Systemen wie ZFS und Btrfs bestehen oft mehrere Versionen derselben Struktur nebeneinander.

Gewöhnliche Wiederherstellungssoftware versucht, ein solches Volume in einem Durchgang zu lesen und zu verstehen. In dieser Größenordnung stößt sie an Grenzen bei Zeit, Arbeitsspeicher oder der Menge an Zwischenergebnissen.

Um welche Systeme es geht

Dateisysteme und Volumes, die Hunderte Terabyte groß werden, etwa:

  • ZFS-Pools (TrueNAS, Solaris, Proxmox und andere), auch mit RAID-Z1, Z2 oder Z3.
  • Btrfs, XFS und ext4 auf großen Linux-Servern und NAS-Systemen.
  • NTFS und ReFS auf Windows-Servern.
  • Große Volumes auf SAN-Speicher und in virtualisierten Umgebungen.

Sie sind unsicher, ob Ihr System dazugehört? Kontaktieren Sie uns mit den Angaben zu Ihrer Konfiguration.

Unser Ansatz: drei Prozesse

Deshalb haben wir eigene Software entwickelt, die die Wiederherstellung in drei aufeinanderfolgende Prozesse aufteilt:

Die drei Prozesse Find, Link und Save und der Koordinator im Monitor
Die drei Prozesse und der Koordinator im Monitor, beim Verknüpfen und Speichern. Beispiel mit simulierten Daten.

Prozess 1: finden (Find)

Wir durchsuchen das Volume nach den Bausteinen des Dateisystems: Knoten, Fragmente und Snippets (Nodes, Fragments, Snippets) von Metadaten und Daten, wo auch immer sie liegen.

Prozess 2: verknüpfen (Link)

Die gefundenen Teile werden kartiert, verkettet, zusammengefügt und sortiert (Mapping, Chaining, Stitching, Sorting), bis die Struktur aus Ordnern und Dateien wieder stimmt.

Prozess 3: zusammenführen (Save)

Die rekonstruierten Dateien werden konsolidiert und auf den Zielspeicher übertragen (Consolidate, Transfer).

Warum so: Durch die Aufteilung in drei Prozesse muss kein einzelner Prozess das ganze Volume auf einmal halten, und jeder liefert ein eigenes Ergebnis, auf dem der nächste aufbaut.

Die Software: Three-Tier Recovery

Die drei Prozesse laufen in unserer eigenen Software, Three-Tier Recovery. Ein Koordinator (Coordinator) verteilt die Arbeit und hält die gefundenen Schlüssel im Arbeitsspeicher; die eigentliche Verarbeitung übernehmen Worker, je Prozess: Find-Worker scannen das Volume, Link-Worker verknüpfen die Teile, Save-Worker schreiben die Dateien weg.

Ein Monitor zeigt jederzeit den Verlauf eines Auftrags:

Monitor von Three-Tier Recovery beim Scannen eines ZFS-Pools
Der vollständige Monitor beim Scannen (Prozess 1). Beispiel mit simulierten Daten: ein ZFS-RAIDZ2-Pool mit 24 × 18 TB und 12 Find-Workern auf 3 Nodes.
  • je Prozess den Fortschritt, den Durchsatz (Throughput) und wie viele Worker aktiv sind;
  • den Speicherverbrauch des Koordinators sowie die Anzahl Schlüssel und Operationen pro Sekunde;
  • die Summen: gescannt, gefundene Strukturen, verknüpfte Dateien, gelesene und geschriebene Daten, geprüfte und reparierte Checksummen sowie Lesefehler;
  • je Worker den Status, Speicher- und CPU-Verbrauch, Durchsatz und Fehler.
Technisch: Nachsteuern während des Jobs

Leistungsparameter wie das Scanfenster (Scan Window), die Batchgröße, die maximale Lesegröße und die Anzahl Link-Threads lassen sich während eines laufenden Jobs anpassen, und ein Job lässt sich pausieren. So stimmen wir die Last auf den Zustand der Platten und die verfügbaren Maschinen ab.

Bei Dateisystemen mit Checksummen wie ZFS prüft die Software die Checksummen der gelesenen Daten und zählt, wie viele Blöcke in Ordnung waren und wie viele repariert wurden.

Verteilt auf mehrere Maschinen (Nodes)

Die Worker müssen nicht auf einer Maschine laufen. Das Scannen wird auf mehrere Nodes verteilt, die jeweils einen Teil des Volumes verarbeiten. Für ein Volume mit Hunderten Terabyte setzen wir so viele Worker ein, wie der Auftrag erfordert, und verfolgen jeden einzeln.

Übersicht der Worker je Node beim Scannen
Worker beim Scannen: Find-Worker auf drei Nodes verteilt, während Link und Save warten. Beispiel mit simulierten Daten.

ZFS im Besonderen

ZFS überschreibt nie bestehende Daten (Copy-on-Write), sondern schreibt neue Versionen und verweist darauf aus einem Baum von Blockzeigern. Ganz oben steht immer der neueste Zustand des Pools. Ist dieser beschädigt, etwa durch eine defekte Platte, einen Importfehler oder einen Stromausfall, verweigert der Pool oft den Import, obwohl die Daten selbst noch vorhanden sind.

Da ZFS ältere Versionen seiner Struktur nicht sofort überschreibt, kann eine Wiederherstellung oft auf einen früheren, konsistenten Zustand zurückgreifen. Genau für diese Art der Suche ist der erste Prozess da.

Technisch: Labels, Uberblocks und Transaktionsgruppen (TXG)

Jede Platte in einem ZFS-Pool hat vier Labels: zwei am Anfang und zwei am Ende. Jedes Label enthält einen Ring von Uberblocks, und jeder Uberblock verweist auf den Zustand des Pools nach einer Transaktionsgruppe (Transaction Group, TXG). Der aktive Zustand ist der gültige Uberblock mit der höchsten TXG-Nummer.

Da ZFS mit Copy-on-Write arbeitet, bleiben die Blöcke, auf die ältere Uberblocks verweisen, oft noch eine Zeit lang unberührt. Eine ältere, konsistente TXG kann so zum Ausgangspunkt der Rekonstruktion werden.

Mehrschichtige Wiederherstellung (Multi-Layer Recovery)

Etwas anderes als die drei Prozesse, aber oft im selben Auftrag: Konfigurationen, in denen Daten in mehreren Schichten übereinander liegen. Zum Beispiel:

  • die Partitionierung
  • das Dateisystem der Platte oder des Volumes (Native File System), eventuell mit Deduplizierung (Deduplication)
  • die Virtualisierung, etwa VMware oder Hyper-V
  • virtuelle Datenträger (Virtual Disk Images, etwa VMDK oder VHDX), oft in Fragmenten verteilt
  • das Dateisystem innerhalb dieses virtuellen Datenträgers (Guest File System), eventuell erneut mit Deduplizierung
  • Anwendungsdateien wie eine Exchange-Datenbank, die selbst fragmentiert sein können

Ist eine dieser Schichten beschädigt, nutzen wir die Informationen aus den anderen Schichten, um sie zu rekonstruieren. So verrät das Dateisystem in einer Partition, wo diese begann und endete, die Struktur in einem virtuellen Datenträger hilft, seine Fragmente in die richtige Reihenfolge zu bringen, und der innere Aufbau einer Datenbank ermöglicht es, einzelne Teile wieder zusammenzusetzen.

Alles über mehrschichtige Wiederherstellung →

Technisch: Beispiele für Hilfe aus anderen Schichten

Partitionierung: GPT speichert eine Sicherungskopie des Headers und der Partitionstabelle am Ende der Platte. Und selbst ohne Partitionstabelle verrät der Bootsektor oder Superblock eines Dateisystems, wo eine Partition beginnt.

Deduplizierung (Deduplication): Die Daten liegen als eindeutige Blöcke (Chunks) in einem Speicher, mit einem Index, der festlegt, welche Blöcke zusammen eine Datei bilden. Ist dieser Index beschädigt, hilft die Struktur der darüberliegenden Schicht, etwa eines virtuellen Datenträgers oder Dateisystems, die Blöcke neu zu ordnen.

Anwendungsdateien: Eine Exchange-Datenbank (ESE) besteht aus Seiten fester Größe, jede mit eigener Prüfsumme (Checksum). Das hilft, sie zwischen anderen Daten zu erkennen.

Was Sie tun sollten

Das sollten Sie tun

  • Hören Sie auf, auf den Pool oder das Volume zu schreiben.
  • Bewahren Sie die Ausgabe von Verwaltungsbefehlen wie zpool status und zpool import sowie die letzten Meldungen auf.
  • Notieren Sie den Aufbau: Anzahl der Platten, RAID-Level oder vdev-Aufteilung sowie eventuelle Cache- und Log-Geräte.
  • Suchen Sie Verschlüsselungsschlüssel oder Passphrasen heraus, falls Pool oder Volume verschlüsselt sind.

Das sollten Sie lassen

  • Keine erzwungenen Importe oder Reparaturoptionen ausprobieren, die auf die Platten schreiben.
  • Keinen neuen Pool und kein neues Volume auf denselben Platten anlegen.
  • Keine Platten tauschen und keinen Wiederaufbau starten, bevor die Ursache klar ist.

So läuft ein Auftrag ab

  1. Analyse. Wir prüfen die Konfiguration, den Zustand der Platten und was passiert ist, und erstellen einen Plan.
  2. Kopien. Von jeder Platte erstellen wir eine vollständige Kopie; physisch beschädigte Platten reparieren wir zuerst in unserem Class-1-Labor.
  3. Drei Prozesse. Finden, verknüpfen und zusammenführen, mit unserer eigenen Software.
  4. Kontrolle. Sie sehen die Liste der wiederhergestellten Dateien, bevor Sie bezahlen.
  5. Lieferung. Die Daten werden auf ausreichend großen Speicher übertragen, bereitgestellt von Ihnen oder von uns.

Dürfen die Daten das Gebäude nicht verlassen, kann die Wiederherstellung auch bei Ihnen vor Ort stattfinden, mit unserem mobilen Reinraumschrank.

Warum es bei uns gelingt

Mehr über unser Labor →
  • Fast 20.000 Spenderfestplatten Das passende Teil liegt meist bereit.
  • Röntgen im eigenen Haus Erst sehen, dann eingreifen.
  • Rework und Reballing Chips sicher aus- und eingelötet.
  • Eigene Software Bis zu Hunderten Terabyte.
  • Mobiler Reinraum Der Datenträger bleibt in Ihrem Gebäude.
  • Seit 1988 Fast vierzig Jahre Ausrüstung und Erfahrung.

Ein großes Volume, das nicht mehr zugänglich ist?

Rufen Sie uns an oder fragen Sie eine Analyse an, mit dem Aufbau Ihres Systems und was passiert ist. Gemeinsam finden wir den besten Ansatz.