Disk-Array-Controller – was ist das und wie funktioniert er?

Ein Disk-Array-Controller ist eine Einheit, die eine Gruppe von Festplatten als ein einziges, kohärentes und ausfallsicheres Ganzes verwaltet – sie verteilt die Daten über die Laufwerke, berechnet die Parität, stellt das Array nach einem Festplattenausfall wieder her und beschleunigt das Schreiben dank eigenem Cache-Speicher. Ohne ihn ist das Array nur eine Ansammlung einzelner Festplatten, von denen jede unabhängig ausfallen kann.

Es lohnt sich, gleich zwei Begriffe zu unterscheiden, da sie verwechselt werden: der RAID-Controller im Server (eine Karte, die lokale Festplatten bedient) ist etwas anderes als der Array-Controller innerhalb eines externen Storage-Systems, der mehrere Hosts gleichzeitig bedient. Nachfolgend erklären wir, wie beide funktionieren, wozu sie eine Batterie oder einen Kondensator brauchen und worin sich der Active-Active-Modus vom Active-Passive-Modus unterscheidet.

Wozu überhaupt ein Controller, wenn Festplatten doch „zuverlässig" sind?

Weil sie es nicht sind – und das ist der ganze Ausgangspunkt. Marketing-Datenblätter geben eine MTTF in der Größenordnung von einer Million Stunden an, was eine Ausfallrate weit unter 1 % pro Jahr nahelegen würde. Die Produktionsrealität sieht anders aus. Eine Analyse von ca. 70 000 Enterprise-Festplatten ergab jährliche Austauschraten allgemein auf dem Niveau von 2–4 %, in extremen Systemen bis zu 12 % – ein Vielfaches über den Herstellerangaben.

Hinzu kommt der Skaleneffekt. Eine grundlegende Arbeit über RAID zeigte, dass bei 100 Festplatten mit einer MTTF von 30 000 Stunden die effektive ausfallfreie Betriebszeit des gesamten Arrays auf gerade einmal 300 Stunden fällt – je mehr Festplatten Sie zusammenschalten, desto häufiger fällt eine aus. Es überrascht daher nicht, dass Festplatten für etwa 50 % aller Hardware-Ausfälle in Servern verantwortlich sind. Der Controller existiert genau dazu, aus unzuverlässigen Elementen ein zuverlässiges Ganzes zu bauen.

Wie funktioniert der Controller – RAID, Cache und Schreiben

Der Controller erfüllt zwei Aufgaben zugleich. Erstens verwaltet er die Redundanz: Er verteilt Daten und Parität über die Festplatten und stellt nach dem Ausfall einer von ihnen deren Inhalt wieder her (Rebuild). Zweitens beschleunigt er die I/O-Operationen dank eigenem Cache-Speicher. Und hier fällt eine Zahl, die den Sinn dieses Speichers am besten erklärt.

Der Cache des Controllers ist etwa eine Million Mal schneller als das direkte Schreiben auf die Festplattenscheiben – deshalb bestätigt der Controller den Schreibvorgang sofort nach dem Ablegen der Daten im Cache (Write-Back-Modus), statt zu warten, bis sie physisch auf der Festplatte landen. Für eine SQL-Datenbank oder eine Virtualisierungsumgebung bedeutet das eine real schnellere Abwicklung von Schreibvorgängen, weil die Anwendung nicht auf das langsamste Element des Puzzles wartet.

Die Wahl der RAID-Ebene selbst ist ein direktes Erbe jener Arbeit von 1988, die fünf Ebenen einführte, jede mit einem anderen Kompromiss zwischen Kosten, Leistung und Ausfallsicherheit. Zwei Dinge sollte man bei der Konfiguration des Controllers wissen:

  • RAID 1 und RAID 10 bieten das beste Verhältnis von Redundanz zu Leistung unter den grundlegenden Ebenen – alle Festplatten außer einer im Spiegelpaar halten reale Daten, ohne Paritäts-Overhead. Die natürliche Wahl für Datenbanken und virtuelle Maschinen.
  • RAID 5 kann bei großen Festplatten riskant sein – die Neuerstellung gelingt nur dann, wenn sich alle übrigen Festplatten fehlerfrei lesen lassen. Ein einzelner Lesefehler während des Rebuilds kann die gesamte Neuerstellung zum Scheitern bringen. Daher bewährt sich bei kapazitätsstarken Laufwerken eher RAID 6.

Tiefer in die RAID-Ebenen und ihre Auswahl gehen wir in einem eigenen Text – RAID: Datenschutz oder unnötige Ausgabe?

Batterie, Kondensator, Flash – warum muss der Cache geschützt werden?

Der Write-Back-Modus beschleunigt das Schreiben radikal, birgt aber ein Risiko: Im Cache liegen ständig Daten, die noch nicht auf die Festplatte gelangt sind. Ein Stromausfall in diesem Moment würde ihren Verlust bedeuten. Deshalb hat jeder ernstzunehmende Controller einen Cache-Schutz – und die Hersteller haben das auf mehrere Arten gelöst.

Der Klassiker ist die Stützbatterie (BBU), die die nicht geschriebenen Daten üblicherweise mehrere Tage nach dem Stromausfall bewahrt – ausreichend, um den Strom wiederherzustellen, bevor es zu einem Verlust kommt. Der Nachteil der Batterie ist die Wartung: Sie erfordert regelmäßige Kalibrierungszyklen und einen Austausch. Neuere Ansätze eliminieren das.

Flash-basierte Lösungen gehen weiter. In der Technologie Dell NVCACHE schaltet der FPGA-Baustein nach einem Stromausfall auf Notstrom um und kopiert den gesamten Cache-Inhalt in etwa 30 Sekunden in den Flash-Speicher – danach sind die Daten dauerhaft gesichert, selbst wenn sich die Batterie später erschöpft. Die praktische Konsequenz: Einen solchen Controller kann man aus einem beschädigten Server ausbauen und in einen anderen einsetzen, ohne die Daten aus dem Cache zu verlieren. Eine ähnliche Philosophie hat ZMCP von Adaptec, wo die Batterie durch einen Kondensator (Supercapacitor) ersetzt wird, der mit Flash gekoppelt ist – ohne Kalibrierung und Batterieaustausch.

Cache-Schutz

Prinzip

Praktisches Merkmal

BBU (Batterie)

Batterie stützt den DRAM-Cache nach Stromausfall

Daten mehrere Tage sicher; erfordert Kalibrierung und Austausch

NVCACHE (Flash)

FPGA schreibt den Cache in ~30 s in den Flash

Daten dauerhaft unabhängig von der Batterie; Controller transportabel

ZMCP (Kondensator)

Supercapacitor + Flash statt Batterie

wartungsfrei – kein Batterie-Kalibrierungszyklus

Nicht jeder Controller ist dasselbe – vom Boot- bis zum Array-Controller

Unter dem Stichwort „RAID-Controller" verbergen sich Geräte mit äußerst unterschiedlichem Funktionsumfang. Am einen Ende der Skala steht ein einfacher Boot-Controller – seine einzige Aufgabe ist das Starten des Betriebssystems, nicht die Verarbeitung von Anwendungsdaten. Beispielsweise unterstützt Dell BOSS-N1 ausschließlich RAID 0 und RAID 1, maximal 2 Festplatten, hat weder Batterie noch nichtflüchtigen Cache und arbeitet nur im Write-Through-Modus. Das ist eine bewusst minimale Einheit, nicht zu verwechseln mit einer vollwertigen RAID-Karte.

In der Mitte befindet sich der vollwertige RAID-Controller des Servers (wie die Karten Dell PERC oder HPE Smart Array) – mit Cache, Write-Back-Schutz und Unterstützung mehrerer RAID-Ebenen. Am anderen Ende steht der Array-Controller, zu dem wir gleich kommen. Konkrete Karten für Server wählen Sie im Angebot der RAID-Controller aus – in der Variante Dell PERC oder HPE Smart Array.

Array-Controller vs. RAID-Controller – ist das dasselbe?

Das ist die häufigste Frage zum Thema, also direkt: nein, das ist nicht dasselbe. Der RAID-Controller (Karte im Server) verwaltet die lokalen Festplatten einer Maschine. Der Array-Controller ist eine weitaus komplexere Komponente innerhalb eines externen Storage-Systems – wie Dell PowerVault oder Compellent –, die sich wie ein eigenständiger, spezialisierter Computer verhält, der das gesamte Array verwaltet und mehrere Hosts gleichzeitig bedient. In ernstzunehmenden Arrays arbeitet er im Paar, zwecks Redundanz.

Und hier kommen wir zu einem Unterschied, der sich unmittelbar auf die Leistung überträgt – Active-Active kontra Active-Passive. Im Active-Passive-Aufbau bedient ein Controller den gesamten Verkehr, und der andere wartet nur als Reserve. Was kostet das? In der traditionellen Architektur bleibt der passive Controller etwa 99 % der täglichen Arbeitszeit untätig – die Hälfte der Hardware verschwendet sich also den Großteil des Tages. Im Active-Active-Aufbau arbeiten beide Controller parallel und bedienen ihre eigenen Festplattengruppen, und beim Ausfall eines übernimmt der andere dessen Aufgaben (Failover) ohne Rekonfiguration des Datenpfads.

Merkmal

Active-Passive

Active-Active

Hardware-Nutzung

zweiter Controller ~99 % der Zeit untätig

beide arbeiten parallel

Leistung

durch einen Controller begrenzt

höher – Verkehr verteilt

Failover

Reserve übernimmt den Verkehr

Übernahme ohne Pfad-Rekonfiguration

Der moderne Array-Controller ist noch weiter gegangen: Eine Plattform bedient gleichzeitig verschiedene Medien (NL-SAS, SAS, SSD, NVMe), verschiedene Netzwerke (Fibre Channel, Ethernet 10–200 Gb) und viele Protokolle (NVMe/FC, NFS, SMB, S3). Das ist der Abstand, der eine einfache RAID-Karte von der Steuerungs-Engine eines ganzen Arrays trennt. Fertige Systeme mit solchen Controllern finden Sie unter den Arrays Dell PowerVault, Dell Compellent sowie im vollständigen Angebot der Disk-Arrays.

Was folgt daraus bei der Hardwarewahl?

Der Controller entscheidet über zwei Dinge, die in der Praxis am meisten wiegen: ob Ihre Daten einen Festplattenausfall überstehen und wie schnell Schreibvorgänge abgewickelt werden. Für einen einzelnen Server mit Datenbank oder Virtualisierung ist ein RAID-Controller mit Cache und dessen Schutz (BBU oder Flash) entscheidend. Für eine Umgebung, in der viele Server auf eine gemeinsame Ressource zugreifen, ergibt ein externes Array mit einem Paar Controller im Active-Active-Modus Sinn.

Die Wahl von Controller, RAID-Ebene und Medien hängt davon ab, was real auf der Hardware laufen soll. Schreiben Sie uns, welche Last Sie planen – ERP, SQL, Virtualisierung, Backup – und wir wählen Controller und Array für dieses Szenario aus. Jede Konfiguration erhalten Sie getestet, einsatzbereit und mit Garantie. Wenn Sie das auf Basis eines Rack-Servers aufbauen, werfen Sie auch einen Blick in die Kategorien der Rack-Server und der Array-Controller.

FAQ

Worin unterscheidet sich der Array-Controller vom RAID-Controller?

Der RAID-Controller (Karte im Server) verwaltet die lokalen Festplatten einer Maschine. Der Array-Controller ist eine komplexe Komponente innerhalb eines externen Storage-Systems, die mehrere Hosts gleichzeitig bedient und in der Regel zwecks Redundanz im Paar arbeitet.

Wozu braucht der RAID-Controller eine Batterie oder einen Kondensator?

Sie schützen den Cache-Speicher im Write-Back-Modus. Nach einem Stromausfall bewahrt die Batterie (BBU) die nicht geschriebenen Daten mehrere Tage, und Flash-Lösungen (z. B. NVCACHE) schreiben den Cache in etwa 30 Sekunden in einen dauerhaften Speicher.

Active-Active oder Active-Passive?

Active-Active, wenn Ihnen an Leistung gelegen ist – beide Controller arbeiten parallel. Bei Active-Passive ist der zweite Controller etwa 99 % der Zeit untätig, sodass die Hälfte der Hardware im Alltag nicht arbeitet.

Reicht ein einfacher Boot-Controller für Daten?

Nein. Der Boot-Controller (z. B. Dell BOSS) dient nur dem Starten des Systems – er bedient 2 Festplatten im RAID 0/1, ohne Cache und dessen Schutz. Für Anwendungsdaten ist ein vollwertiger RAID-Controller erforderlich.

Sind Festplatten so zuverlässig, dass ein RAID-Controller überflüssig ist?

Nein. Die reale Ausfallrate von Enterprise-Festplatten erreicht 2–4 % pro Jahr (extrem bis zu 12 %), deutlich über den Angaben der Datenblätter. Festplatten sind für etwa die Hälfte der Hardware-Ausfälle verantwortlich, weshalb RAID Standard ist.

Quellen

HPE Community – NAS vs SAN vs DAS – https://community.hpe.com/hpeb/attachments/hpeb/itrc-248/37570/1/327691.pdf

Patterson, Gibson, Katz – A Case for Redundant Arrays of Inexpensive Disks (RAID) – https://www.cs.cmu.edu/~garth/RAIDpaper/Patterson88.pdf

Schroeder, Gibson – Disk Failures in the Real World (USENIX FAST '07) – https://www.usenix.org/legacy/event/fast07/tech/schroeder/schroeder.pdf

IBM / University of Southampton – How Safe Is Your Data? (N. Jones) – https://eprints.soton.ac.uk/7803/7/HowSafeIsYourData_copy.pdf

HP – Smart Array Technology: Advantages of Battery-Backed Cache – https://h10032.www1.hp.com/ctg/Manual/c00257513.pdf

Intel – RAID Smart Battery AXXRSBBU4 User's Guide – https://cdrdv2-public.intel.com/841033/d92010_1axxrsbbu4_uguide.pdf

Dell – Non-Volatile Cache for Host-Based RAID Controllers (NVCACHE) – https://i.dell.com/sites/csdocuments/Shared-Content_data-Sheets_Documents/en/NV-Cache-for-Host-Based-RAID-Controllers.pdf

Adaptec – Zero-Maintenance Cache Protection (ZMCP) – https://www.adaptec.com/nr/rdonlyres/e2c8f4f4-921e-4e7d-90be-0ef41aa6557c/0/intro_zmcp.pdf

Broadcom/LSI – MegaRAID SAS Software User Guide – https://www.supermicro.com/manuals/other/MegaRAID_SAS_Software_Rev_I_UG.pdf

Dell – PowerEdge BOSS-N1 Specification Sheet – https://www.delltechnologies.com/asset/en-us/products/servers/technical-support/dell-poweredge-boot-optimized-storage-solution-datasheet-for-n1.pdf.external

NetApp – ONTAP Reliability, Availability, Serviceability (White Paper) – https://www.netapp.com/media/67355-wp-7354.pdf

Patent USA (Sicola i in.) – Host Transparent Storage Controller Failover/Failback of SCSI Targets – https://image-ppubs.uspto.gov/dirsearch-public/print/downloadPdf/5790775

Patent USA – Performing Failover in Storage System with Dual Storage Controllers – https://image-ppubs.uspto.gov/dirsearch-public/print/downloadPdf/10185639