Intel Matrix-RAID

Sicher und schnell: SATA-RAID

09.09.2004 von Klaus Länger
RAID-Funktionalität gehört zur Ausstattung vieler Mainboards, inzwischen sogar direkt in die Chipsätze integriert. Intels aktueller ICH6R erlaubt per Matrix-RAID die Verbindung von Schnelligkeit und Datensicherheit mit nur zwei Platten.

RAID: Diese Abkürzung steht für "Redundant Arrays of Inexpensive Disks". Sie bezeichnet Verfahren zur Kombination mehrerer kleiner Laufwerke zu einem mit Fehlererkennungs- und Fehlerkorrekturmechanismen ausgestatteten, ausfallgesicherten Verbund. Entwickelt wurde RAID 1988 an der Universität von Kalifornien in Berkeley, also zu einer Zeit, als Festplatten mit hoher Kapazität extrem teuer waren. Zunächst wurden Platten im RAID-Verbund nur bei Servern genutzt. Als Platten fanden zunächst Modelle mit SCSI- oder Fibre-Channel-Interface Verwendung. Ende der 90er Jahre kamen die ersten RAID-fähigen EIDE-Controller auf den Markt. Sinkende Festplattenpreise sorgten dafür, dass diese auch in Desktops zum Einsatz kamen.

Später wurden diese Controller durch Serial-ATA-Varianten ergänzt. Die Chips saßen entweder auf PCI-Karten oder als PCI-Chips direkt auf dem Mainboard. In beiden Fällen entwickelte sich aber der bei Desktop-Rechnern übliche 32 Bit breite PCI-Bus zum Flaschenhals. Im Chipsatz integrierte Lösungen bieten dagegen genügend Bandbreite auch für sehr schnelle Serial-ATA-Platten. Die Einrichtung und das Management eines RAID-Verbunds sind kein Hexenwerk. Wenn man bei der Einrichtung des PCs den richtigen Weg wählt, kann man sogar ohne Neuinstallation von einer Einzelplattenkonfiguration zu einem RAID wechseln.

RAID-Level

Die verschiedenen Verfahren der Datenspeicherung auf Festplattenverbänden werden als RAID-Level 0, 1 oder 5 bezeichnet - so die geläufigsten. Diese etwas unglückliche Bezeichnung sorgt immer wieder für Missverständnisse: Trotz der Bezeichnung "Level" handelt es sich nicht um stufenweise aufbauende Verfahren, sondern um voneinander völlig unabhängige Techniken.

Neben den primär angepeilten Zielen - kostengünstige Speicherung großer Datenmengen und hohe Ausfallsicherheit - bieten die verschiedenen RAID-Verfahren weitere Vorteile. Zum einen stellt sich der RAID-Verbund auf Anwenderseite als einzelnes logisches Volume dar. Die Verwaltung gestaltet sich also ebenso einfach wie bei einem Einzellaufwerk.

Zum anderen bieten einige der RAID-Verfahren durch die Parallelisierung der Plattenzugriffe einen Geschwindigkeitsvorteil gegenüber Einzellaufwerken. Die in den Chipsätzen integrierten Controller auf Desktop-Mainboards beherrschen nur Level 0, Level 1 und deren Kombination. Die PCI-Chips von Silicon Image unterstützen neuerdings auch RAID Level 5.

RAID-Level 0 und 1

RAID Level 0 ist eigentlich gar kein RAID. Denn dieses Verfahren dient lediglich zur Beschleunigung von Plattenzugriffen, Redundanz für höhere Datensicherheit gibt es nicht. RAID 0 fasst zwei oder mehr Festplatten zu einem logischen Laufwerk zusammen. Es verteilt die Daten in aufeinander folgenden Blöcken ("Stripes") gleichmäßig über alle Laufwerke. Daher bezeichnet man RAID 0 auch als Striping. Das parallele Lesen respektive Schreiben auf mehreren Laufwerken steigert die Durchsatzrate.

Die Sicherheit der Daten ist aber sogar geringer als bei einzelnen Laufwerken: Fällt auch nur eine Platte des Verbunds aus, sind alle Daten verloren.

RAID Level 1 wird auch als Mirroring oder Spiegelung bezeichnet. Dieser Name verdeutlicht, wie das Verfahren arbeitet: Alle Schreibzugriffe erfolgen parallel auf zwei Laufwerke, so dass jede Platte quasi ein Spiegelbild der anderen darstellt. Alle Daten stehen doppelt zur Verfügung.

Auch wenn eines der beiden Laufwerke komplett ausfällt, bleiben alle Nutzdaten erhalten. Allerdings steht bei RAID 1 nur die Hälfte der Plattenkapazität für die Speicherung zur Verfügung. Die Kosten der Datenhaltung verdoppeln sich also.

Durch die Kombination von Mirroring und Striping lassen sich Geschwindigkeitsgewinn und Datensicherheit verbinden: Ein RAID 0 erzielt durch das lineare Zusammenschalten mehrerer Festplatten sowohl beim Lesen als auch beim Schreiben einen Geschwindigkeitsvorteil. Die zusätzliche Spiegelung des Stripe-Sets auf weitere Platten sorgt für Datensicherheit. Je nach Hersteller wird dieses Verfahren als RAID 0+1, RAID 0/1 oder RAID 10 apostrophiert. Hierfür sind allerdings mindestens vier Platten erforderlich.

RAID-Level 5

RAID Level 5 arbeitet mit einer blockweisen Verteilung von Nutzdaten über mehrere Laufwerke ähnlich wie bei einem RAID-0-Verbund. Zusätzlich werden Prüfsummen generiert und ebenfalls auf allen Platten verteilt. Schreibzugriffe lassen sich bei RAID 5 damit weit gehend parallelisieren.

Fällt eine der Festplatten aus, kann deren Inhalt aus den auf den anderen Platten abgelegten Prüfsummen rekonstruiert und auf ein neues Laufwerk im RAID-Verbund gespeichert werden. Beim Lesen bietet RAID 5 durch das Verteilen der Daten über alle Laufwerke ebenfalls eine gute Performance.

Der Vorteil gegenüber RAID 1 oder RAID 0+1 liegt darin, dass der für die Datensicherheit erforderliche Kapazitäts-Overhead deutlich geringer ist. Andererseits erfordert das Update der Prüfsummen beim Speichern von Daten zusätzliche Schreib- und Lesezugriffe. Ähnlich wie RAID Level 1 lässt sich RAID 5 sehr gut mit RAID 0 kombinieren.

Chipsätze mit SATA-RAID

Chipsätze mit integrierten Serial-ATA-RAID-Controllern gibt es mittlerweile von fast allen Chipsatzherstellern für Desktop-Mainboards. Den Anfang machte Intel mit dem I/O-Hub ICH5R, bald darauf folgte VIA mit dem VT8237. Inzwischen haben auch SiS und Nvidia nachgezogen. Mit dem I/O-Hub ICH6R hat Intel bereits seine zweite Chipgeneration mit Serial-ATA-RAID im Programm. Noch nicht eingesetzt wird der ICH6RW, der zusätzlich zur RAID-Funktion noch über einen integrierten WLAN Access Point verfügt.

ICHs/Southbridges mit SATA-RAID

Intel ICH5R

Intel ICH6R / RW

Nvidia nForce3

Nvidia nForce2 RAID MCP

VIA VT8237

SiS964

SiS965

SATA-Ports

2x SATA 150

4x SATA 150

4x SATA 150

2x SATA 150

4x SATA 150 mit SATALite PHY

2x SATA 150

4x SATA 150

PATA-Ports

2x PATA 100

1x PATA 100

2x PATA 133

2x PATA 133

2x PATA 133 (1 PATA nutzbar bei 4x SATA)

2x PATA 133

2x PATA 133

RAID-Level

0, 1

0, 1, 0+1, Matrix-RAID

0, 1, 0+1 (auch in Kombination mit PATA)

0, 1

0,1, 0+1

0,1

0,1, 0+1

Chipsätze

Intel 865PE / G optional), 875

Intel 915P / G / GV (optional), 925X

Nvidia nForce3 250, 250Gb, 250 Ultra, Professional

Nvidia nForce2 Ultra 400R

K8T800 Pro, K8T800, K8M800, KT880, KT600, PT880, PT800, PM880, PM800

SiS755, SiS755FX, SiS760, SiS741, SiS741GX SiS655TX, SiS655FX, 661FX

SiS756, SiS656, SiS649

Plattform

Pentium 4

Pentium 4

Athlon 64

Athlon XP

Athlon 64, Athlon XP, Pentium 4

Athlon 64, Athlon XP Pentium 4

Athlon 64, Pentium 4

Bei allen RAID-Controllern außer Intels ICH6R mit Matrix-RAID kann man bei zwei Festplatten nur zwischen Schnelligkeit und Sicherheit wählen. Die Kombination, also RAID 0+1, ist nur mit vier Festplatten realisierbar. Beim nForce3 von Nvidia kann man mit der neuesten Treiber-Software Serial- und Parallel-ATA-Festplatten zu einem RAID-Verbund koppeln.

Matrix-Storage im Detail

Die Matrix-Storage-Technologie beinhaltet Features zur Erhöhung der Performance und zur Verbesserung der Datensicherheit auf Festplatten. Um die Funktionen zu nutzen, setzt Intel den ICH6R- beziehungsweise den ICH6RW-I/O-Baustein voraus. Dieser beinhaltet vier SATA-Advanced-Host-Controller-Interfaces (AHCI), die das Native Command Queuing (NCQ) in Hardware und die Intel-Matrix-RAID-Technologie beherrschen.

Das Native Command Queuing steigert die Festplatten-Performance, indem es multiple Datenzugriffe auf eine Festplatte optimiert neu ordnet. Werden zum Beispiel die einzelnen Datensätze A, B, C, D einer Datei abgerufen, so sucht und liest die Festplatte nach dem herkömmlichen Verfahren die Daten in der geforderten Reihenfolge. Für diese Aufgabe sind unter ungünstigen Bedingungen mehrere Plattenumdrehungen notwendig. Das NCQ analysiert die einzelnen Datensätze und ordnet sie so um, das die Festplatte die einzelnen Informationen der Datei im optimalen Fall in nur einer Plattenumdrehung einliest. Dabei kann die Reihenfolge beliebig sein, wie zum Beispiel B, D, A, C. Neben dem HDD-Controller müssen auch die Festplatte und ein entsprechender Treiber (Intel Application Accelerator 4.0) das Native Command Queuing unterstützen. So arbeitet ein RAID aus PATA- und SATA-Festplatten ohne NCQ, da der PATA-Controller die entsprechenden Protokollfunktionen des AHCIs nicht kennt.

Eine weitere Besonderheit der Matrix-Storage-Technologie ist die Intel-Matrix-RAID-Funktion. Diese erlaubt, mit nur zwei Festplatten gleichzeitig ein RAID 0 und RAID 1 zu bauen. Intels abgespecktes RAID 0+1 nutzt je eine Hälfte der Speicherkapazität von zwei Festplatten für das Striping, das hohe Performance für unkritische Anwendungen bieten soll. Auf der jeweils anderen Hälfte der HDDs kommt RAID1 zum Einsatz, um hohe Sicherheit für dort abgelegte wichtige Daten zu gewährleisten.

So lässt sich für die Systempartition ein schnelles Stripe-Set anlegen, wichtige Daten wandern auf ein Mirror-Set. Fällt nun eine der beiden Platten aus, muss man zwar das System nach dem Ersatz der fehlerhaften Platte wieder neu installieren, die Daten bleiben aber erhalten und werden automatisch wieder auf die neue Platte gespiegelt.

Matrix-RAID in der Praxis

Um die RAID-Funktion des ICH6R nutzen zu können, muss man sie im Mainboard-BIOS aktivieren. Im RAID-Modus des ICH lassen sich Festplatten aber auch als Einzellaufwerke betreiben. Ist ein späteres Upgrade ohne Neuinstallation des Betriebssystems von einem Einzellaufwerk auf einen RAID-Verbund geplant, ist die Platte auf jeden Fall am RAID-Controller zu betreiben.

Bei aktivierter RAID-Funktion erfordern Windows XP, 2000 oder Server 2003 bei der Installation einen RAID-Treiber, der auf einer Diskette liegen muss.

Intern behandelt Windows ein Serial-ATA-RAID wie einen SCSI-Controller, was ein Blick in den Gerätemanager zeigt. Gehört keine Treiberdiskette zum Lieferumfang des Mainboards oder PCs, so ist sie mit Hilfe der Treiber-CD selbst anzufertigen. Das ist bei den anderen Serial-ATA-RAID-Lösungen nicht anders.

Soll das Betriebssystem auf dem RAID-Volume installiert werden, ist dieses vorher im BIOS des Controllers einzurichten sowie im Mainboard-BIOS als Boot-Datenträger auszuwählen. Wird von einer Nicht-RAID-Platte gebootet oder soll auf dem Plattenpaar noch ein weiteres RAID angelegt werden, kann die Konfiguration des RAID-Verbunds auch unter Windows mit dem Intel Storage Utility erfolgen.

Ein besonders interessantes Feature des ICH6R ist die Migration bestehender Daten von einer einzelnen Festplatte auf ein RAID. Hier erscheint deren Inhalt dann in einer Partition mit der gleichen Größe des ursprünglichen Laufwerks. Die Restkapazität steht für ein zweites RAID-Volume zur Verfügung. Die Migration erfolgt unter Windows bei laufendem Betrieb und wird über das Storage Utility durchgeführt.

RAID-Performance

Für die Messung der Geschwindigkeit einer Matrix-RAID-Konfiguration aus Stripe- und Mirror-Set setzen wir zwei verschiedene Benchmarks ein. Um die Praxisleistung zu untersuchen, führen wir mit unserem Applikations-Benchmark tecMark Schreib-, Lese- und Kopiertests unter realen Bedingungen durch. Der Lowlevel-Benchmark tecHD lotet die maximale Leistungsfähigkeit mit möglichst geringem Betriebssystem-Overhead ohne Cache aus.

Das RAID-0-Volume der Testkonfiguration liegt auf zwei Hitachi Deskstar HDS722516VLSA80 und hat dabei mit 153,4 GByte eine ähnliche Kapazität wie eine einzelne der Hitachi-Platten. Die Blocksize haben wir auf 64 KByte eingestellt. Das RAID-1-Volume nimmt mit 76,6 GByte den Rest der Festplattenkapazität ein. Als Betriebssystem kommt Windows XP mit Service Pack 1 zum Einsatz.

Die Geschwindigkeitssteigerung bei RAID Level 0 macht sich vor allem bei großen, zusammenhängenden Dateien deutlich bemerkbar. Hier finden die Zugriffe parallel auf allen Platten statt, die Transferrate wird dadurch vervielfacht. Beim Lesen oder Schreiben vieler kleiner Files ist die Zugriffszeit der Platten der limitierende Faktor. Hier kann ein Stripe-Set wegen des Verwaltungs-Overheads sogar langsamer als eine einzelne Platte sein. Trotzdem zeigt tecMark auf dem ASUS P5GD2 Premium mit ICH6R einen deutlichen Geschwindigkeitsgewinn gegenüber einer einzelnen Platte. Das RAID-Level-1-Volume ist kaum langsamer als die Hitachi-Platte im Einzelbetrieb.

Praxisleistung

Konfiguration

Schreiben (KByte/s)

Lesen (KByte/s)

Kopieren (KByte/s)

Einzelplatte

23.809

28.178

24.536

Stripe-Set

38.152

43.040

37.471

Mirror-Set

20.169

24.985

20.994

Drastischer als beim Anwendungs-Benchmark zeigt sich der Unterschied zwischen RAID Level 0, Level 1 und einer einzelnen Festplatte beim Lowlevel-Benchmark tecHD. Hier ist das Stripe-Set tatsächlich doppelt so schnell wie eine einzelne Platte.

RAID-Level 5 auf dem Desktop

Die Hersteller von PCI-Serial-ATA-Controllern reagieren mit neuen Features auf die integrierte Konkurrenz. Eine neue Treiber-Software von Silicon Image für den Sil3114 erlaubt nun auch den Betrieb von Festplatten im RAID-Level-5-Verbund. Die für unsere Testplattform Asus P5GD2 Premium zum Download verfügbaren Treiber tragen zum Testzeitpunkt (September 2004) aber noch den Zusatz "Development" und die Versionsnummer 0.0.0.14.

Das erklärt wohl auch die derzeitige Performance. Die Leseleistung ist mit 31.181 KByte/s zwar hervorragend, die Schreib-Performance liegt mit 4739 KByte/s aber eher auf dem Niveau uralter IDE-Festplatten. Wirklich benutzbar ist diese Lösung derzeit noch nicht.

Fazit

RAID auf dem Desktop macht richtig eingesetzt Sinn. Mit der in die Chipsätze integrierten Funktionalität ist RAID auf Desktop-Mainboards zudem günstiger geworden. Zwei Festplatten kosten kein Vermögen, und der Leistungsgewinn bei einem Stripe-Set ist erheblich. Wichtige Daten haben hier aber nichts zu suchen, da das Risiko eines Datenverlusts doppelt so hoch ist wie bei einer Einzelplatte. So benötigt man bei den meisten RAID-Lösungen zusätzlich zu den beiden Laufwerken für das Stripe-Set mindestens noch eine zusätzliche Datenplatte. Bei Intel-Chipsätzen mit ICH6R genügen zwei Platten in Matrix-RAID-Konfiguration mit einem RAID-0- und einem RAID-1-Volume. Hier sind wichtige Daten sogar sicherer untergebracht als auf einer einzelnen Platte. (cvi/mje)

Testkonfiguration

Alle Tests wurden in einer exakt festgelegten Testumgebung durchgeführt. In der folgenden Übersicht finden Sie alle von uns für den Test verwendeten Komponenten.

Komponente

Daten

Mainboard

Asus P5GD2 Premium

Chipsatz

Intel 915P (ICH6R)

CPU

Intel Pentium 4 560 / 3,60 GHz (Prescott)

Grafikkarte

ATI X600

RAM

Kingston ValueRAM KVR533D2N4/512

Kapazität

2x 512 MByte

Typ

DDR2-533 CL4

Festplatten

Hitachi HDS 722516VLSA80

Kapazität

164,7 GByte

Schnittstelle

SATA 150