Der Sinn von RAID (engl. Redundant Array of Independent Disks) ist, mehrere Festplattenpartitionen zu einer großen virtuellen Festplatte zu vereinen, um die Performance und die Datensicherheit zu optimieren. Dabei geht das eine jedoch auf Kosten des anderen. Ein RAID-Controller verwendet meist das SCSI-Protokoll, da es gegenüber dem IDE-Protokoll mehr Festplatten besser ansteuern kann und besser für eine parallele Abarbeitung der Befehle geeignet ist. Es gibt inzwischen jedoch auch einige RAID-Controller, die mit IDE- oder SATA-Festplatten arbeiten. Vergleichen Sie hierzu auch die Hardware-Datenbank unter http://cdb.suse.de.
Statt eines RAID-Controllers, der unter Umständen sehr teuer sein kann, ist auch Soft-RAID in der Lage, diese Aufgaben zu übernehmen. SUSE LINUX bietet Ihnen die Möglichkeit, mit Hilfe von YaST mehrere Festplatten zu einem Soft-RAID-System zu vereinen – eine sehr günstige Alternative zu Hardware-RAID. RAID bietet verschiedene Strategien an, um mehrere Festplatten zu einem RAID-System zu verbinden. Jede Strategie hat ein unterschiedliches Ziel, Vorteile und Eigenschaften. Diese Variationen werden als RAID-Level bezeichnet.
Gängige RAID-Level:
Dieser Level verbessert die Performance Ihres Datenzugriffs, indem Blöcke jeder Datei über verschiedene Festplatten verteilt werden. Im Grunde ist dies gar kein RAID, da es keine Datensicherung gibt, doch die Bezeichnung RAID 0 hat sich für diese Art von System eingebürgert. Bei RAID 0 schließt man mindestens zwei Festplatten zusammen. Die Performance ist sehr gut – jedoch ist das RAID-System zerstört und Ihre Daten sind verloren, wenn auch nur eine von noch so vielen Festplatten ausfällt.
Dieser Level bietet eine zufrieden stellende Sicherheit für die Daten, weil diese 1:1 auf eine andere Festplatte kopiert werden. Dies nennt man Festplattenspiegelung – ist eine Platte zerstört, liegt eine Kopie deren Inhalts auf einer anderen. Es dürfen alle bis auf eine der Festplatten fehlerhaft sein, ohne Daten verloren zu haben. Im Vergleich zum Zugriff auf eine einzelne Festplatte leidet die Schreibperformance durch den Kopiervorgang ein wenig (10-20% langsamer), dafür geht der Lesezugriff deutlich schneller als bei einer einzelnen normalen physikalischen Festplatte, weil die Daten doppelt vorhanden sind und somit parallel ausgelesen werden können. Allgemein kann gesagt werden, dass die Lesegeschwindigkeit in Level 1 fast doppelt so hoch ist als bei einer einzelnen Festplatte. Die Schreibgeschwindigkeit entspricht in etwa der einer einzelnen Festplatte.
Dies sind keine typischen RAID-Implementierungen. Level 2 verteilt die Daten nicht auf der Blockebene, sondern auf der Bitebene. Level 3 bietet Striping auf der Byteebene mit einer dedizierten Paritätsplatte, kann aber mehrere zeitgleiche Anfragen nicht bearbeiten. Diese Level werden nur selten genutzt.
Wie Level 0 bietet Level 4 Striping auf der Blockebene, jedoch mit einer dedizierten Paritätsplatte. Im Falle eines Ausfalls der Datenplatte wird die Paritätsplatte benutzt, um eine Ersatzplatte zu schreiben. Die Paritätsplatte kann jedoch für den Schreibzugriff einen Flaschenhals darstellen. Trotzdem wird Level 4 von Zeit zu Zeit eingesetzt.
Was Performance und Redundanz betrifft, ist RAID 5 ein optimierter Kompromiss zwischen Level 0 und Level 1. Der Festplattenplatz entspricht der Anzahl der eingesetzten Platten minus einer. Die Daten werden wie bei RAID 0 über die Festplatten verteilt. Für die Sicherheit sorgen die Paritätsblöcke, die bei RAID 5 auf einer der Partitionen angelegt werden. Diese werden mit XOR miteinander verknüpft – somit lässt sich beim Ausfall einer Partition durch den dazugehörigen Paritätsblock der Inhalt nach XOR rekonstruieren. Bei RAID 5 ist zu beachten, dass nicht mehr als eine Festplatte gleichzeitig ausfallen darf. Fällt eine aus, muss sie schnellstmöglich ausgetauscht werden, da sonst Datenverlust droht.
Es sind noch etliche andere RAID-Level entwickelt worden (RAIDn, RAID 10, RAID 0+1, RAID 30, RAID 50, usw.), von denen manche proprietäre Implementierungen von Hardwareherstellern darstellen. Auf diese Level wird an dieser Stelle nicht eingegangen, da sie nicht sehr weit verbreitet sind.
Zur YaST Soft-RAID-Konfiguration gelangen Sie über den YaST Partitionierer für Experten (vgl. Abschnitt 2.7.5, „Partitionierung“). Dieses professionelle Partitionierwerkzeug ermöglicht die Bearbeitung und Löschung existierender Partitionen und die Erstellung neuer Partitionen, die in Verbindung mit Soft-RAID eingesetzt werden sollte. Erstellen Sie RAID-Partitionen, indem Sie zunächst + wählen und als Dateisystem-ID setzen. Bei RAID 0 und RAID 1 benötigen Sie mindestens zwei Partitionen – bei RAID 1 sind das im Normalfall genau zwei. Für eine Verwendung von RAID 5 hingegen sind mindestens drei Partitionen nötig. Es ist zu empfehlen, nur Partitionen gleicher Größe zu nehmen. Die einzelnen Partitionen eines RAID sollten auf verschiedenen Festplatten liegen, damit das Risiko eines Datenverlustes durch den Defekt einer Festplatte bei RAID 1 und 5 verhindert wird bzw. die Performance bei RAID 0 optimiert wird.
Im nächsten Dialog wählen Sie den RAID-Level 0, 1 oder 5 (weitere
Einzelheiten sind unter Abschnitt 3.8.1, „Soft-RAID“
verfügbar). Nachdem Sie auf geklickt haben,
führt der folgende Dialog sämtliche Partitionen auf, deren Typ
„Linux RAID“ oder „Linux native“ ist
(siehe Abbildung 3.8, „RAID-Partitionen“). Swap- und DOS-Partitionen
werden nicht angezeigt. Falls eine Partition bereits einem
RAID-Volume zugeordnet ist, wird der Name des RAID-Devices
(z.B. /dev/md0) in der Liste angezeigt.
Noch nicht zugeordnete Partitionen sind mit „--“
gekennzeichnet.
Um dem gewählten RAID-Volume eine noch nicht zugewiesene Partition hinzuzufügen, klicken Sie erst auf die Partition und dann auf . An dieser Stelle wird der Name des RAID-Devices neben der gewählten Partition eingegeben. Weisen Sie alle Partitionen zu, die für RAID reserviert sind, da sonst der Platz auf der Partition nicht genutzt werden kann. Nachdem Sie alle Partitionen zugewiesen haben, klicken Sie auf . Sie gelangen in einen Dialog, in dem Sie Feineinstellungen zur Performance vornehmen können (siehe Abbildung 3.9, „Dateisystemeinstellungen“).
Wie bei konventionellen Partitionen, setzen Sie das zu
benutzende Dateisystem und den Mountpoint für das
RAID-Volume. Die Aktivierung der Checkbox
sorgt dafür, dass
RAID-Partitionen gleich beim Booten als solche erkannt werden.
Nach Beendigung der Konfiguration mit
sehen Sie im Experten-Partitionierer dann das Device
/dev/md0 und andere
Devices als RAID gekennzeichnet.
Ob eine RAID-Partition zerstört ist, können Sie dem Inhalt der Datei
/proc/mdstats entnehmen. Grundsätzliche
Vorgehensweise in einem Fehlerfall ist es, Ihr Linux-System
herunterzufahren und die defekte Festplatte durch eine neue gleichartig
partitionierte zu ersetzen. Dann starten Sie Ihr System neu und verwenden
den Befehl mdadm /dev/mdX --add /dev/sdX, wobei
'X' durch die entsprechenden Werte zu ersetzen sind.
Damit wird die neue Festplatte automatisch in das
RAID-System integriert und vollautomatisch rekonstruiert.
Eine Anleitung zur Konfiguration von Soft-RAID und weitere Details hierzu finden Sie im angegebenen Howto:
/usr/share/doc/packages/raidtools/Software-RAID-HOWTO.html
Außerdem gibt es verschiedene Linux-RAID-Mailinglisten wie http://www.mail-archive.com/linux-raid@vger.rutgers.edu.