Linux-Magazin-Logo Die Zeitschrift für Linux-Professionals

SATA-Controller mit Raid-5-Unterstützung unter Kernel 2.6 im Test

Reihenuntersuchung

Mirko Dölle

Der Umstieg der Linux-Distributionen auf Kernel 2.6 verändert auch die Treiber für die Hardware. Welche der aktuellen Serial-ATA-Controller für den professionellen Einsatz mit Kernel 2.6 geeignet und welche Transferraten damit möglich sind, untersucht dieser Artikel.

Raid-Controller und Festplatten mit Serial-ATA-Anschlüssen (SATA) haben den Storage-Markt in den letzten drei Jahren förmlich aufgerollt. Dazu hat maßgeblich der Preisverfall bei ATA-Festplatten mit inzwischen 50 Cent pro GByte beigetragen, während für SCSI das GByte bei knapp 3 Euro liegt. Die Leistungsdaten und Kompatibilitätslisten der SATA-Controller unter Kernel 2.4 lassen sich aber nicht einfach auf den neuen Kernel 2.6 übertragen: Während der Arbeit an dieser Release haben die Linux-Entwickler auch die Treiber für Storage-Controller überarbeitet und zum Teil erheblich umgeschrieben.

Das Competence Center Hardware testete daher vier SATA-Raid-Controller für den professionellen Einsatz auf dem neu erschienenen Suse Linux Enterprise Server 9 (Kernel 2.6.5). Das Testfeld besteht aus 3Ware Escalade 8506-12 und 9500S-12 sowie Adaptec AAC-21610SA und ICP GDT-8586RZ. Alle Probanden müssen mindestens Raid 5 in Hardware mit einer Hot-Spare-Festplatte beherrschen und über acht oder mehr SATA-Ports verfügen.

Als Testsystem dient der Server RM312 von Thomas Krenn Serverversand[1]. Das 3-HE-System ist mit dem Intel-Server-Board SE7210TP1-E, einem Pentium 4 mit 2,8 GHz sowie 512 MByte RAM ausgestattet. An der Vorderseite des Gehäuses sind zwölf Hot-Plug-Wechselrahmen eingebaut, jeder bestückt mit einer SATA-Festplatte von Western-Digital (Caviar WD2000) mit 200 GByte Nennkapazität und 8 MByte Cache. Zusammen mit dem 12-Port-SATA-Raid-Controller Escalade 8506-12 von 3Ware kostet das Server-System rund 4100 Euro.

Verbesserter CW-Wert

Ein Blick ins Innere des Krenn-Servers (Abbildung 1) lässt die Vorteile eines Serial-ATA-Systems gegenüber einem Parallel-ATA-Raid deutlich erkennen: Die gerade mal zehn Millimeter schmalen roten SATA-Kabel lassen sich problemlos kreuz und quer durch das Gehäuse verlegen und behindern den kühlenden Luftstrom kaum.

Abbildung 1: Ein großer Vorteil von SATA sind die nur zehn Millimeter schmalen roten Kabel. Im Gegensatz zu den breiten Flachbandkabeln bei Parallel-ATA und SCSI behindern sie den kühlenden Luftstrom im Inneren des Servers kaum.

Unabhängig von der Anzahl der SATA-Ports muss jeder Controller im Test acht Festplatten bedienen: sieben in einem Raid-5-Array plus eine Hot-Spare-Platte. Die Transferraten der Raid-Controller ermittelt das Competence Center mit Hilfe des Festplatten-Benchmarks Bonnie++, Version 1.03a[2]. Der Tester misst dabei einmal die Transferrate im Normalbetrieb auf einer 70 GByte großen und mit XFS formatierten Partition und einmal 60 Sekunden nach Entfernen der ersten Festplatte, also während des Rebuild-Prozesses. Der FS-Bench kommt als Messprogramm nicht in Frage: Ein Durchlauf mit vier bis fünf Dateisystemen dauert etwa zwei bis drei Tage, das Raid-Rebuild ist aber nach wenigen Stunden abgeschlossen.

3Ware Escalade 8506-12

Der Escalade 8506 ist voraussichtlich das letzte Modell aus 3Wares erster SATA-Controller-Familie 8000. Die neuen Controller der 9000er Familie sollen sie ersetzen. Den Escalade 8506 gibt es in vier Ausführungen mit zwei, vier, acht und zwölf SATA-Anschlüssen, wobei für je vier Ports ein eigener Controller-Chip auf der Platine untergebracht ist.

Acht der zwölf Ports hat 3Ware günstig an der hinteren Seite der Controller-Platine untergebracht, die SATA-Kabel sind so selbst bei eingesteckter Karte problemlos anzuschließen. Die Ports 9 bis 12 befinden sich jedoch auf der Bestückungsseite des Controllers im vorderen Drittel der Platine. SATA-Kabel lassen sich hier nur anschließen, wenn die Karte noch nicht eingebaut oder der benachbarte PCI-Slot frei ist.

Der Controller unterstützt die Raid-Modi 0, 1, 5, 10 sowie JBOD (Just a Bunch of Disks). Zum Lieferumfang des Escalade 8506-12 gehören ein kompletter Satz SATA-Kabel und eine CD mit den Handbüchern und Zusatzprogrammen. Einen speziellen Linux-Treiber benötigt der Escalade 8506 nicht, das Modul »3w-xxxx« gehört seit langem zum Standardkernel und unterstützt alle 3Ware-Modelle, einschließlich der 8000er Familie.

Für Einrichtung und Administration des Raid-Controllers liefert 3Ware das Kommandozeilenprogramm (CLI, Command Line Interface) »tw_cli« auf der CD mit. Das Programm ist sehr spartanisch und etwas umständlich zu bedienen. Das ebenfalls auf der CD enthaltene Handbuch ist jedoch gut gelungen und enthält viele Beispiele.

Administration unter Linux

Mit dem CLI (Abbildung 2) hat der Administrator Zugriff auf alle Funktionen, die auch das Controller-Bios-Setup bietet. Um das Raid einzurichten oder zu warten, muss der Admin seine Server also nicht erst neu booten.

Abbildung 2: Mit dem Command Line Interface »tw_cli« von 3Ware hat der Administrator unter Linux vollständigen Zugriff auf alle Funktionen des Controller-Bios, zum Einrichten des Raid oder Austauschen einer Festplatte ist kein Neustart des Rechners erforderlich.

Das Webfrontend »3dm« hingegen funktionierte im Test nicht unter Suse Linux Enterprise Server 9. Hier hätte 3Ware zusätzlich punkten können, die Gestaltung des Webfrontends ist durchaus gelungen und bietet im Gegensatz zum Command Line Interface komfortable Masken für Einrichtung und Wartung.

Hohe Transferrate

Die Transferrate des Escalade 8506 lag mit 73,6 MByte/s beim Schreiben (Abbildung 3) und 65,7 MByte/s beim Lesen im Normalbetrieb knapp hinter der des ICP GDT-8586RZ; der 3Ware-Controller schrieb etwas schneller, während das Gerät von ICP etwas schneller las. Beim Rebuild war der 3Ware Escalade 8502 der Konkurrenz von ICP jedoch haushoch (Faktor 2) überlegen.

Abbildung 3: Die Leistungen der Controller sind durchweg unausgewogen - jeder hat eine spezielle Stärke, aber auch Schwächen. 3Wares Escalade 9500S-12 schneidet am besten ab, dicht gefolgt von Escalade 8506-12. ICPs GDT-8586RZ landet wegen der schlechten Transferraten im Rebuild-Modus auf Platz drei.

Im Vergleich zum Escalade 9500S, dem Nachfolger aus dem eigenen Hause, verliert der 8506-12 beim Schreiben. Der 8506 erreichte im Normalbetrieb nur zwei Drittel der Leistung des 9500S und beim Rebuild mit 21 MByte/s gerade mal 20 Prozent des jüngeren Bruders.

Anders ist die Situation beim Lesen, hier schlug der Escalade 8506-12 mit 65,7 MByte/s im Normalbetrieb und stattlichen 46,5 MByte/s beim Rebuild sogar seinen Nachfolger - obwohl das Modell 8506 keinen Cache besitzt. Insgesamt reicht das für Platz zwei in der Wertung.

3Ware Escalade 9500S-12

Für die neue Modellfamilie 9000 verwendet 3Ware überarbeitete Controller-Chips, zudem sind die Controller der 9500S-Serie standardmäßig mit 64 MByte Cache ausgestattet, der durch Austausch des SO-DIMM-Speichers bis auf 512 MByte erweiterbar ist. Zwei weitere Unterschiede betreffen die Firmware: Einmal unterstützt der Escalade 9500S-12 neben den Raid-Leveln des 8506 noch Raid 50, zudem kann der Administrator die Strip-Größe von Raid-5-Arrays wählen. Die Anordnung der SATA-Anschlüsse entspricht beim Escalade 9500S-12 der des 8506-12. Die Ports 9 bis 12 sind auch hier nur schlecht zugänglich. Auch der Lieferumfang ist gleich, der Karton enthält neben den SATA-Kabeln lediglich die CD mit den Handbüchern und den Linux-Treibern.

Die Controller der 9000er Familie werden vom Standardkernel genauso wenig unterstützt wie vom Kernel des Suse Linux Enterprise Server 9. 3Ware liefert auf der CD ein Tar-Archiv mit den Treiberquellen für die 9000er mit, das nach Anleitung mit Hilfe eines Installations-Skripts übersetzt werden soll.

Treiber-Einrichtung

Praktischer ist es aber, aus dem Tar-Archiv die Treiberdateien »3w-9xxx.c«, »3w-9xxx.h« und »3w-9xxx_fw.h« in das Verzeichnis »drivers/scsi« der Kernelquellen zu kopieren und das originale »Makefile« des Kernels um folgende Zeile zu erweitern:

obj-$(CONFIG_BLK_DEV_3W_XXXX_RAID) += 3w-9xxx.o

Der große Vorteil dieser Variante: Das 3Ware-Modul wird bei allen künftigen Änderungen am Kernel automatisch mit übersetzt.

Die Schreib-Transferrate des Escalade 9500S-12 war überragend, mit über 110 MByte/s im Normalbetrieb und 63,2 MByte/s beim Rebuild konnte ihm kein Konkurrent das Wasser reichen. Auch die Lese-Transferrate von 37,9 MByte/s beim Rebuild kann sich sehen lassen, nur die Lese-Rate im Normalbetrieb war mit 50,9 MByte/s die schlechteste im Test. Dennoch ist der 3Ware Escalade 9500S der klare Testsieger.

Adaptec AAC-21610SA

Der Controller AAC-21610SA ist eine Eigenentwicklung der Adaptec-Gruppe, obwohl ICP seit Mitte 2003 in Besitz von Adaptec ist. Auch künftig sollen beide Marken mit unterschiedlichen Produkten am Markt präsent bleiben.

Wie bei den Controllern von ICP und 3Ware enthält auch Adaptecs Controller-Kit einen kompletten SATA-Datenkabelsatz. Die Dokumentation ist wie bei 3Ware nur spärlich, mit Ausnahme einer sehr knappen Kurzanleitung gibt es die Handbücher ausschließlich auf der beiliegenden CD.

Platte weg - Raid weg

Suse Linux Enterprise Server 9 erkannte den Controller automatisch und lud das Kernelmodul »aacraid«. Damit ließ sich das Raid problemlos ansteuern. Als der Tester eine Festplatte entfernte, meldete der Kernel überraschend einen I/O-Fehler beim Zugriff auf die Testpartition »/dev/sda1« und unmountete sie hart. Alle weiteren Zugriffsversuche auf das Raid waren vergeblich. Derselbe Effekt trat auch bei einem vom Tester selbst kompilierten Kernel 2.6.8.1 auf.

Auf Nachfrage erklärte Robert Helbig, Field Applications Engineer bei Adaptec Deutschland, dass Adaptec den Linux-Kernel 2.6 bei seinen SATA-Controllern noch nicht unterstütze. Auch würde das Kernelmodul »aacraid«, anders als im Changelog von Kernel 2.6.8 beschrieben, nicht von Adaptec supported.

Keine Unterstützung für Kernel 2.6

Derzeit muss daher vor dem Betrieb des Adaptec AAC-21610SA unter Kernel 2.6 gewarnt werden, da der Controller seine Aufgabe - ein redundantes Festplatten-Array - nicht erfüllt. Um dennoch Leistungsdaten zu erhalten, lief der Controller außer Konkurrenz unter Kernel 2.4.21 auf einem Suse Linux Enterprise Server 8. Hier erreichte der AAC-21610SA Schreib-Transferraten von akzeptablen 58,3 MByte/s im Normalbetrieb und guten 57,9 MByte/s beim Rebuild. Die Lese-Rate lag bei ausgezeichneten 80,2 MByte/s im Normalbetrieb und guten 37,1 MByte/s im Rebuild-Modus.

ICP GDT-8586RZ

Der 8-Port-SATA-Controller GDT-8586RZ von ICP ist der einzige Low-Profile-Controller im Testfeld. Allerdings hat ICP die SATA-Anschlüsse an die obere Kante der Platine verlegt - mit Kabeln benötigt der Controller wieder die volle Bauhöhe. Der Lieferumfang des Controller-Kits ist vorbildlich, neben dem Kabelsatz enthält das Paket die komplette Dokumentation in gedruckter Form.

Ausgereiftes Admin-Frontend

Auch bei der Linux-Unterstützung gibt es keine Probleme, das Modul »gdth« gehört seit langem zum Standardkernel. Suse Linux Enterprise Server 9 erkannte den Controller auf Anhieb und lud das korrekte Modul. Auch das Administrations-Frontend (Abbildung 4) ist ausgereift und komfortabel zu bedienen. Die Transferraten beim Festplatten-Benchmark enttäuschten jedoch. Der ICP-Controller schaffte beim Lesen während des Rebuilds nicht einmal 20 MByte/s und beim Schreiben waren es knapp über 10 MByte/s.

Das kann bei Anwendungen mit einem hohem Datendurchsatz bereits zu ernsten Problemen führen. Im Normalbetrieb schlug der ICP-Controller den 3Ware Escalade 8506 aber knapp mit 67,1 MByte/s beim Schreiben, die Lese-Rate war mit 78,2 MByte/s sogar die höchste im Test. Wegen der geringen Transferraten beim Rebuild reicht es für den GDT-8586RZ trotzdem nur zu Rang drei.

Fazit

Es war eine Überraschung, dass nach einem Update auf Kernel 2.6 ein redundantes Raid 5 wie beim Adaptec AAC-21610 zum Festplatten-Stapel ohne Ausfallsicherheit mutiert. Das ist aber erst zu bemerken, wenn eine Festplatte defekt ist. Die nicht funktionierenden Treiber in Kernel 2.6 sind daher das K.o.-Argument gegen diesen Controller.

Insgesamt schneiden 3Wares Escalade-Controller am besten ab. Sie garantieren auch im Rebuild-Modus eine brauchbare Transferrate, während die Schreib-Transferrate des Konkurrenten ICP GDT-8586RZ auf magere 10 MByte/s beim Raid-Rebuild einbricht. Diesen Nachteil kann auch die exzellente Dokumentation nicht mehr aufwiegen.

Infos

[1] Thomas Krenn Serverversand: [http://www.thomas-krenn.com]

[2] Festplatten-Benchmark Bonnie++: [http://www.coker.com.au/bonnie++]

Tabelle 1: Die Controller im Überblick