Das Disk-Array RAID (Redundant Array of Independent Disks, redundantes Array unabhängiger Disks) wurde ursprünglich nicht nur für den Zweck der Erhöhung der Kapazität des Festplattensystems entworfen (verbunden mit mehreren Festplatten), jedoch vor allem für den Zweck der Erhöhung Ihrer Zuverlässigkeit und Beständigkeit gegen Fehler.
Obwohl dieses Prinzip im Allgemeinen funktioniert, erleidet das Disk-Array wie jedes andere System gewisse Einschränkungen und Übel, entstanden vor allem aus der erhöhten Komplexität der Dienstkomponenten (Controller) und Software (Treiber, Firmware). Eigene Fehler der Disk-Arrays sind meistens durch ähnliche Faktoren bewirkt wie bei vielen anderen elektronischen Komponenten der heutigen hastigen Zeit – Inkonsequenz bei ihrer Programmierung, Fehler beim Entwurf, Herstellungsfehler und die Nichteinhaltung der Rohstoffqualität, der Teile und der Arbeit. Oft ist es so, dass ein Disk-Array, welches die Datenspeicherung vor Hardwarefehlern und anderen Ausfällen schützen soll, wiederum gerade dank eines Fehlers selbst kollabiert und selbst dies bewirkt, wovor es schützen soll - dem Datenverlust.
Das Disk-Array selbst ist ein relativ komplizierter Mechanismus. Obwohl die Literatur meistens nur einige grundlegende „Level“ von RAID erwähnt, existieren eine unerschöpfliche Menge verschiedener Typen, Konfigurationen, Varianten und Kombinationen verschiedener Parameter. In der Praxis, besonders bei der Datenwiederherstellung aus dem Disk-Array, so müssen wir oft auch einige Dutzend Faktoren und Angaben zur Kenntnis nehmen, damit ein konsistentes und also auch ein fehlerfreies Ergebnis garantiert wird.
Unten führen wir wenigstens die Grundunterscheidungen der RAID-Level auf. Die konkrete Wahl der RAID-Level stellt das kritische Moment dar, wie bei seiner Schaffung, als auch bei seiner etwaigen Datenwiederherstellung.
RAID 0 (Stripe, Striping, Stripe Set)
Es hat die Markierung Level 0, denn es bietet keine Grundeigenschaft des Disk-Arrays, der sogenannten Redundanz. Unter Redundanzen oder auch Abundanzen versteht man die Beständigkeit eines Arrays gegenüber Festplattenausfällen. Dies wird so sicher gestellt, dass sich auf der Festplatte / den Festplatten Zusatzinformationen speichern, aus welchen es möglich ist, im Falle eines Ausfalles meist einer Festplatte, ihren Inhalt auf einer anderen (neuen) Festplatte wiederherzustellen.
Beim Striping speichern sich die Daten gleichmäßig auf mehreren Festplatten, womit sie zwar eine höhere Geschwindigkeit erreichen (bei der Benutzung eines parallelen Zugangs), obwohl im Falle eines Ausfalls auch nur einer Festplatte haben wir keine überschüssigen Informationen für ihre Datenwiederherstellung zur Verfügung. Es ist also immer notwendig, eine Datenrettung vor der eigentlichen Wiederherstellung aus der kollabierten Festplatte vorzunehmen.
RAID 1 (Mirror, Mirroring, Spiegel, Spiegelung)
Dies ist der grundlegendste RAID-Level, bei welchem die Daten in der Regel parallel auf zwei Festplatten gespeichert werden. Bei dem Ausfall einer Festplatte sollte der Datenbereich in gleicher Weise auch auf einer zweiten Festplatte gespeichert sein.
Mirror ist gegen Ausfälle von N-1 Festplatten beständig, und so betreffen Defekte alle Festplatten (z.B. bei dem Überspannen aus dem Netzteil), ist es notwendig, vor der Wiederherstellung des Arrays eine Datenrettung durchzuführen, wenigstens von einer der beschädigten Festplatten.
RAID 2, 3, 4, 5, 5e, 5ee, 6, … (Striping with parity / ECC)
Das heute meist genutzte Level RAID 5, genau so wie andere hier aufgeführte Varianten, nutzt die Vorteile des RAID 0, d.h., den Abtastvorgang nach Informationen auf allen Festplatten, womit ein größerer Datendurchsatz erreicht wird, auf den Festplatten werden auch noch sogenannte Zusatzinformationen gespeichert. Aus diesen ist es möglich, im Falle eines Festplattenausfalles, ihren Inhalt auf einer anderen (neuen) Festplatte wiederherzustellen, womit die defekte Festplatte vertauscht ist.
Diese Systeme sind beständig gegen Ausfälle in der Regel einer Festplatte, und so bei einem Ausfall mehrerer Festplatten ist es vor der Wiederherstellung notwendig bei dem gesamten Array eine Datenrettung einzeln aus jeder der noch weiteren defekten Festplatten durchzuführen.
RAID 0+1, 10, … (kombiniert)
Mit den Kombinationen verschiedener RAID-Levels versuchen die Hersteller die Vorteile beider benutzter Varianten (Schnelligkeit, Redundanz) zu verbinden. Obwohl solche Konfigurationen anspruchsvoller in ihrer Bedienung sind, so stellt die Datenwiederherstellung aus solchen Systemen in der Praxis in der Regel eine spürbare Erhöhung der Ansprüche dar und praktisch projiziert es so nicht einmal z.B. in den Preis der Array-Wiederherstellung.
Hardware RAID, Software RAID, Pseudo-Hardware RAID
Bei einem „klassischen“ Beispiel von einem Disk-Array sind einige Festplatten angekoppelt an einen speziellen „RAID“-Controller, welcher sich um sämtliche Operationen verbunden mit der Bedienung des Disk-Arrays kümmert, und dieser ist auch verantwortlich für die Datenlogistik im Rahmen des Arrays. Diese sogenannten „hardwareseitigen“ Controller sind in der Regel schnell, sie belasten nicht das System, aber sie sind gewöhnlich teurer. Aus diesem Grund begannen auf dem Markt Disk-Arrays zu erscheinen, welche auf der Stufe eines Betriebssystems, dem sogenannten „Software RAID“ bedient werden. Der Nachteil ist die komplizierte Datenwiederherstellung im Falle des Zusammenbruchs des Arrays auf Grund von der Notwendigkeit ständig Unterstützung seitens des Betriebssystems zu gewährleisten, welches jedoch oft genau auf dem defekten Array besetzt ist und also nach dem Defekt nicht funktioniert. Sehr populär sind in der heutigen Zeit die sogenannten „Pseudo-Hardware RAID“. Diese Controller, welche sich als echte RAID-Controller darstellen, obwohl sie aus nichts anderem als eines bloßen Festplatten-Interface (Controller) bestehen und sämtliche Bedienfunktionen des Disk-Arrays der Treiber übernimmt. Sie sind oft sehr preiswert und leider auch sehr störanfällig.
Die Disk-Arrays können prinzipiell aus wie auch immer gearteten Speichermedien zusammen gestellt sein. In der Praxis treffen wir selbstverständlich jedoch fast ausschließlich auf Festplatten. In Anbetracht unserer komplexen Unterstützung der verschiedensten Medientypen und dem Original-Zugriff zur Datenwiederherstellung können wir sagen, dass es praktisch nicht an dem verwandten Medientyp, dem Betriebs- oder nicht einmal am Dateisystem liegt, und die Datenrettung in unserer Gesellschaft möglicherweise sozusagen bei beliebiger Kombination der Parameter des Disk-Arrays erfolgt.
Der Vollständigkeit halber führen wir die häufigsten Typen und Medien- und Systemvarianten auf, auf welche wir in der Praxis bei den Disk-Arrays treffen. Falls Sie in der Aufzählung nicht „Ihr“ System finden, seien Sie gewiss, dass die Aufzählung nur illustrativ ist – die Datenwiederherstellung ist jedoch mit größter Wahrscheinlichkeit auch in Ihrem Fall möglich!
Die Verbindungsart
Die Datenwiederherstellung aus der Festplatte ist ohne Rücksicht auf das verwandte Interface möglich – IDE (ATA), SATA, eSATA, SCSI, FC-AL, SAS, iSCSI, SAN, NAS...
Die Betriebssysteme
Windows, Linux, Unix, MacOS, Novell u.a.
Die Dateisysteme
FAT (FAT12 / FAT16 / FAT32), NTFS (einschl. NTFS 5 und EFS), EXT (EXT, EXT2, EXT3), ReiserFS, JFS, XFS, UFS, Apple HFS und HFS+, Novell NWFS, Novell NSS, HPFS und weitere
Die Datenwiederherstellung aus einem defekten Disk-Array ist sozusagen bei beliebigen Schäden des Disk-Arrays möglich:
- elektronische / mechanische Defekte einer, mehrerer oder sogar aller Festplatten (z.B. ein Defekt einer PCB-Platine, der Köpfe, eine beschädigte Festplatte oder Festplattenmechanik – der Motor, das Lager, …)
- defekte Funktion des Controllers (Verlust der Konfiguration, fehlerhafter Eintrag, …)
- unrichtig umgerechnete Parität
- (partielle) Überschreibung des Disk-Arrays, einschließlich der Uminstallation des Systems
Unsere Spezialität sind dann komplizierte Defekte, wie z.B. mehrfache Umberechnung der Parität, und dies bei gleichzeitiger Änderung der Konfiguration und partiell initialisiertem Array.