Aufbau eines NAS in CI Hex Viewer
Ein netzgebundener Speicher oder NAS (Network Attached Storage) ist ein komplexer selbstständiger Speicher, der die Daten nicht nur speichert, sondern auch mittels des lokalen Netzwerkes freigibt. Die NAS-Speicher können mehr als eine Festplatte unter einer Decke enthalten. Normalerweise basieren die Geräte mit mehreren Festplatten auf einer RAID-Konfiguration, die alle ihren Komponenten in einem ungeteilten System nach einem speziellen Datenorganisationsschema richtet. Sollte das gesamte System ausfallen, dann bleibt nur ein auseinandergebautes Gerät. Jegliche Operationen mit den Daten auf so einem Speicher haben keinen Sinn, solange der Speicher wiederaufgebaut wird. Bei der Datenrettung von einem RAID-System muss man genau wissen, was die Folge von Festplatten im NAS ist, sowie welchen RAID-Level und Datenvertreibungsalgorithmus darin benutzt wird. Wenn diese Informationen vorhanden sind, dann ist es wirklich toll. Was tut man aber, wenn sie fehlen? Zuerst führt man eine vertiefende Datenanalyse aus. An einem Beispiel des virtuellen NAS-Speichers zeigen wir einige Tipps, wie man Daten aus dem NAS-Gerät analysieren kann. Zur Analyse verwenden wir das Programm zum Datenanschauen und Editieren CI Hex Viewer. |
NAS-Festplatten laden
Zuerst öffnen wir alle virtuellen NAS-Festplatten in CI Hex Viewer als Speicherabbilddateien, damit sie für das interne RAID-Builder-Tool zugänglich werden. Dazu drücken wir auf den Knopf Öffnen, wählen Datei aus der Drop-Down-Liste und öffnen die virtuelle Festplatten Als Speicherabbilddatei.
Festplatten im RAID öffnen
Wir öffnen das Tool zum Aufbau von komplexen Speichern - RAID-Builder. Dazu drücken wir Tools und wählen Virtuelles RAID bilden aus der Drop-Down-Liste.
Dann fügen wir alle virtuellen Festplatten ins Tool hinzu. Dazu drücken wir Komponente hinzufügen und wählen die virtuellen Festplatten aus dem Dialogfenster.
Normalerweise hat der NAS-Speicher drei dieselben Partitionen auf jeder Festplatte des Speichers: Firmware-Partition, Swap-Partition und Datenpartition. Zum Aufbau einer RAID-Konfiguration wird nur die Datenpartition nötig. Die Datenpartition lässt sich leicht bestimmen – sie ist die größte aus allen anderen Partitionen.
RAID-Parameter einstellen
In unserem Beispiel wissen wir, dass die Konfiguration die folgenden Parameter hat: links-symmetrischer RAID5-Level mit der Stripe-Größe von 64KB. Daraus ist aber eine Festplatte ausgefallen. Die Reihenfolge von Festplatten war verändert. Das Betriebssystem des Speichers ist XFS.
Mit diesen Informationen stellen wir Parameter für die virtuelle RAID-Konfiguration für unseren NAS ein. In der linken Tafel zu Konfigurationseinstellungen wählen wir aus den Drop-Down-Listen RAID5 für RAID-Level, Links-symmetrisch (rückwärts-dynamisch) für Paritätsverteilung, 64KB für Stripe-Größe, 1 für Paritätsverzögerung, wir nennen den neuen RAID als RAID NAS und schreiben den Namen ins Feld RAID Alias, zu einer schnelleren Arbeit mit der Konfiguration nach Aufbau wählen wir wenn möglich in der Zeile Asynchrone E/A.
Bei RAID 5 ist es möglich, das System mit einer fehlenden Festplatte wiederherzustellen. Um die Konfiguration vollständig zu machen, fügen wir den Platzhalter hinzu. Dazu drücken wir Platzhalter für fehlende Festplatte hinzufügen aus der Toolbar.
Als Ergebnis bekommen wir eine leere Festplatte. Bei Datenrettung werden die Daten des gesamten Speichers aus Parität intakter Festplatten zusammengestellt.
Konfiguration überprüfen
Jetzt, wenn alle Vorbereitungen schon fertig sind, übergehen wir zur Datenanalyse auf der Festplatten, damit die RAID-Konfiguration richtig aufgebaut wird. Insgesamt hat RAID5 die folgenden Besonderheiten:
-
Nur der erste Block enthält den Superblock.
-
In RAID5 mit einer Standardgröße des Stripes von 64KB, befindet sich der Inode-Block auf Position 0x0 der Datenposition des zweiten Speichers. Der erste Inode weist aufs Verzeichnis (Wurzelverzeichnis).
-
Der Startblock der dritten Festplatte enthält Daten oder Inodes-Tabelle.
-
Der Startblock der vierten Festplatte enthält Parität.
-
5. Die 5. XOR-Operation 5. auf jeglichen Bytes aus dem Startblock jeder Festplatte auf derselben Byteposition ergibt immer null.
Die Festplattenreihenfolge in RAID Level 5 ist wie folgt: Superblock – der erste; Festplatte mit dem Wurzelverzeichnis – der zweite; Festplatte mit Parität – die vierte; die bleibende Festplatte – die dritte.
Jetzt überprüfen wir die Inhalte der Festplatten und stellen die richtige Reihenfolge der Festplatten fest:
-
Zuerst, suchen wir den Superblock. Die Hauptmerkmale des XFS-Superblocks sind wie folgt: die Zeile 'XFSB' am Anfang, es gibt Werte der Dateisystemparameter und die Werte im Datenbereich von 0x100 bis 0x200 sind immer 0.
Durch die Analyse wurde es festgestellt, dass die vierte Festplatte den Superblock enthält. Auf diese Weise steht die vierte Festplatte auf dem ersten Platz
-
Danach suchen wir die zweite Festplatte in der Reihe. Das soll die Festplatte mit Inodes sein. Inodes sind kleine Blöcke mit der Größe von 256 Bytes, die die technischen Informationen (Metadaten) über Objekte (d.h. Dateien und Ordner) enthalten. Diese Informationen können User- und Gruppen-Accounts, Zugriffsmodi (Lese-, Schreiben-, Ausführen-Berechtigungen), Dateitype und Dateinamen usw. einschließen. Die Metadaten sind nicht genau die Daten, sondern weisen sie nur auf den tatsächlichen Ort des Objektes. Inodes sind typisch für Betriebssysteme der Unix-Gruppe. Jedes Objekt in solch einem System hat seinen eigenen Inode. Die Inodes können nach der Zeile 'IN' (Byte-Reihenfolge '49 4E') am Anfang jedes 256.er (0x100) Bytes erkannt werden. Die höhere Ziffer des dritten Bytes des Inodes-Anfangs bestimmt den Typ des Objektes: Byte “4…” bezeichnet ein Verzeichnis, Byte “8…” – eine Datei.
In unserem Beispiel befindet sich die Inodes-Tabelle auf Drive 3, der erste Inode ist ein Hinweis auf das Wurzelverzeichnis.
-
Startblock der dritten Festplatte in der Reihe enthält entweder Daten oder noch eine Inodes-Tabelle. In unserem Beispiel, wird nur eine nicht analysierte Festplatte geblieben, doch gibt es keine Merkmale entweder einer Inode-Tabelle noch der Daten. Deshalb vermuten wir, dass die ausgefallene Festplatte die Dritte in der Reihe war. Ihre Stelle nimmt in unserem Fall der Platzhalter.
-
Der Paritätsblock enthält eine Mischung von Daten aus Datenblöcken aller anderen Festplatten. Es kann scheinen, dass diese Festplatte einen „Quatsch“ mit Fragmenten von Daten aus Datenblöcken ist. Auch wenn die Paritätsfestplatte eine gültige Zeile 'XFSB' wie der Superblock hat, wird sie niemals Nullwerte im Bereich von 0x100 bis 0x200 haben. Das unterscheidet sie von der Festplatte mit dem Superblock. Abweichend vom Superblock hat die Paritätsfestplatte insgesamt mehr Nicht-Null-Werte.
Man kann Parität von RAID5 auf folgende Weise bestimmen:
-
Offset der Partition mit Nicht-Null-Daten wählen.
-
Rechner starten (z.B. den Standardrechner in Windows).
-
Ansicht als „Wissenschaftlich“ bzw. als „Programmierer“ einstellen, den Modus vom „Dec“ auf „Hex“ umschalten.
-
Eine hexadezimale Ziffer aus der erste Festplatte eingeben, „XOR“ drücken.
-
Eine hexadezimale Ziffer desselben Offsets aus der nächsten Festplatte eingeben und „XOR“ nochmals drücken.
-
Bis zur letzten Festplatte wiederholen. Bevor die Ziffer der letzten Festplatte eingegeben wird, soll der Rechner dieselbe Ziffer wie auf der gegebenen Position der letzten Festplatte zeigen. Die letzte XOR-Operation ergibt null. Nicht-Null-Wert bezeichnet entweder einen Fehler beim Rechnen oder Abwesenheit der Parität.
Aufgrund der Analyse stellen wir die Festplatten im Programm folgenderweise:
Festplatte 1 – Superblock – die erste
Festplatte 2– Inodes – die zweite
Fehlende Festplatte 3 – Platzhalter – die dritte
Festplatte 4 – Parität – die vierte
Zur Änderung von Reihenfolge der Festplatten stehen die Pfeile Aufwärts und Abwärts verschieben zur Verfügung.
RAID bauen
Jetzt mit der fertigen Konfiguration wird ein virtuelles RAID unseres NAS-Gerätes durch Drücken des Knopfes „RAID bilden“ aufgebaut.
Im Weiteren wird die virtuelle Konfiguration für einen vollständigen Speicher durch Programm genommen. Dabei speichern wir das neue RAID für weitere Anwendungen, indem wir den Knopf Speichern in der Toolbar für Datenanschauen drücken
und Speichern als aus der Drop-Down-Liste wählen.
Fazit:
Sollte ein NAS-Gerät gleich aus welchem Grund sich zerlegen, so muss in diesem NAS gehaltene RAID-Konfiguration vor weiteren Operationen neu aufgebaut werden. Vor dem Aufbau muss man die RAID-Parameter wissen bzw. durch Analyse bestimmen. Es lässt sich leicht mit CI Hex Viewer analysieren, was für Daten auf Festplatten des NAS-Gerätes sind, sowie ein virtuelles RAID-System des Gerätes wiederaufbauen.