Praktische RAID-Entscheidungen für spindelbasierte Arrays
Eine wahrhaft monumentale Menge an Informationen findet sich im Zusammenhang mit RAID-Speichersystemen, die Themen wie Risiko, Leistung, Kapazität, Trends, Ansätze und mehr behandeln. Während der Umfang der Arbeit zu diesem Thema geradezu überwältigend ist, lassen sich die Informationen auf eine Handvoll gängiger, praktischer Speicheransätze verdichten, die nahezu alle Anwendungsfälle abdecken. Mein Ziel ist es hier, einen handlichen Leitfaden bereitzustellen, der es einer nicht auf Speicher spezialisierten Fachkraft ermöglicht, RAID-Entscheidungen auf praktische und, was am wichtigsten ist, sichere Weise anzugehen.
Für die Zwecke dieses Leitfadens gehen wir von Speicherprojekten mit nicht mehr als fünfundzwanzig herkömmlichen Laufwerken aus (Laufwerke mit rotierenden Magnetscheiben, fachlich korrekt als Winchester-Laufwerke bezeichnet). Diese Laufwerke könnten üblicherweise SFF (2,5″) oder LFF (3,5″), SATA oder SAS, Consumer- oder Enterprise-Laufwerke sein. Solid-State-Laufwerke behandeln wir nicht, da diese sehr unterschiedliche Eigenschaften aufweisen und einen eigenen Leitfaden erfordern. Speichersysteme, die größer als etwa fünfundzwanzig Spindeln sind, sollten nicht nach allgemeinen Leitlinien arbeiten, sondern tiefer in spezifische Speicheranforderungen eintauchen, um eine angemessene Planung sicherzustellen.
Die Leitlinien hier sind für Standardsysteme im Jahr 2015 verfasst. In den vergangenen zwei Jahrzehnten haben sich die gängigen Ansätze für RAID-Speicher dramatisch verändert, und obwohl nicht erwartet wird, dass sich die Schlüsselfaktoren, die diese Entscheidungen beeinflussen, künftig stark genug ändern, um diese Empfehlungen zu verändern, ist es durchaus möglich, dass sie es tun. Ein gutes RAID-Design von 1998 ist heute ein sehr schlechtes RAID-Design. Die Veränderungsrate in der Branche ist seit jener Zeit erheblich gesunken, und diese Empfehlungen werden wahrscheinlich sehr lange Bestand haben, sehr wahrscheinlich, bis spindelbasierter Laufwerksspeicher nicht mehr verfügbar oder zumindest verbreitet ist; doch wie alle Dinge sind auch Vorhersagen großen Veränderungen unterworfen.
Im Allgemeinen verwenden wir einen Ansatz, der als “One Big Array” bezeichnet wird. Das ist ein einziges RAID-Array, auf dem alle System- und Datenpartitionen angelegt werden. Die Notwendigkeit oder der Wunsch, unseren Speicher in mehrere physische Arrays aufzuteilen, ist heute weitgehend entfallen und sollte nur unter nicht allgemeinen Umständen erfolgen. Nur in Situationen, in denen eine sorgfältige Untersuchung der Speicheranforderungen und eine umfangreiche Analyse durchgeführt werden, sollten wir eine Array-Aufteilung in Betracht ziehen. Eine Array-Aufteilung richtet weit eher Schaden als Nutzen an. Im Zweifel vermeiden Sie aufgeteilte Arrays. Das Ziel dieses Leitfadens sind allgemeine Faustregeln, die es jeder IT-Fachkraft ermöglichen, ein sicheres und zuverlässiges Speichersystem aufzubauen. Faustregeln decken nicht jedes Szenario ab und können das auch nicht, Ausnahmen existieren immer. Doch der Grundgedanke besteht hier darin, die überwiegende Mehrheit der Fälle mit bewährten Ansätzen abzudecken, die auf moderne Ausrüstung, Anwendungsfälle und Anforderungen ausgelegt sind, wobei darauf geachtet wird, im Zweifel zugunsten der Sicherheit zu entscheiden – wenn eine Wahl weniger als ideal ist, ist sie dennoch sicher. Keine dieser Wahlmöglichkeiten ist auch nur ansatzweise leichtsinnig, schlimmstenfalls sind sie übermäßig konservativ.
Das erste Szenario, das wir betrachten sollten, ist der Fall, dass Ihre Daten keine Rolle spielen. Das mag wie eine seltsame Überlegung klingen, doch es ist ein sehr wichtiges Szenario. Es gibt viele Fälle, in denen auf die Festplatte gespeicherte Daten als flüchtig gelten und nicht geschützt werden müssen. Dies ist häufig bei rekonstruierbaren Daten der Fall, etwa Arbeitsbereiche für das Rendering, Zwischenrechenbereiche oder Caches – Situationen, in denen Geld für den Schutz von Daten verschwendet wäre und es akzeptabel wäre, verlorene Daten einfach neu zu erstellen, anstatt sie zu schützen. Dies könnte ein Fall sein, in dem Ausfallzeit kein Problem darstellt und die Daten statisch oder nahezu statisch sind, und anstatt für die Reduzierung von Ausfallzeit auszugeben, kümmern wir uns nur darum, die Daten über Backup-Mechanismen zu schützen, sodass wir, wenn ein Array ausfällt, das Array einfach vollständig wiederherstellen. In diesen Fällen ist die naheliegende Wahl RAID 0. Es ist sehr schnell, sehr einfach und bietet die kosteneffizienteste Kapazität. Der einzige Nachteil von RAID 0 ist, dass es fragil ist und keinen Schutz vor Datenverlust im Falle eines Laufwerksausfalls oder selbst eines URE bietet (was eine Datenbeschädigung verursachen würde, wie sie auch eine Desktop-Festplatte erfährt).
Es sei angemerkt, dass eine Ausnahme vom “One Big Array”-Ansatz, die üblich wäre, bei Systemen besteht, die RAID 0 für Daten verwenden. Es gäbe ein sehr gutes Argument für ein kleines, dem Betriebssystem und den Anwendungsdaten gewidmetes Laufwerks-Array, dessen Neuinstallation im Falle eines Array-Verlusts umständlich wäre und das auf RAID 1 gehalten würde, wobei das RAID-0-Daten-Array davon getrennt wäre. Auf diese Weise könnte die Wiederherstellung sehr schnell erfolgen, anstatt das gesamte System vollständig von Grund auf neu aufbauen zu müssen, statt lediglich die Daten neu zu erstellen.
Unter der Annahme, dass wir die Fälle ausgeschlossen haben, in denen die Daten keinen Schutz erfordern, gehen wir für alle verbleibenden Fälle davon aus, dass die Daten recht wichtig sind und wir sie mit gewissem Aufwand schützen wollen. Wir gehen davon aus, dass der Schutz der Daten in ihrem Zustand auf dem aktiven Speicher wichtig ist, im Allgemeinen, weil wir Ausfallzeit vermeiden wollen oder weil wir die Datenintegrität sicherstellen wollen, da die Daten auf der Festplatte nicht statisch sind und ein Array-Ausfall zugleich einen Datenverlust darstellen würde. Mit dieser Annahme fahren wir fort.
Wenn wir ein Array aus nur zwei Festplatten haben, ist die Antwort sehr einfach: Wir wählen RAID 1. Bei dieser Größe gibt es keine andere Option, also ist keine Entscheidung zu treffen. Theoretisch sollten wir unsere Arrays ganzheitlich planen und nicht erst, nachdem die Anzahl der Laufwerke feststeht; die Anzahl der Laufwerke und der gewählte Array-Typ sollten gemeinsam bestimmt werden und nicht so, dass die Laufwerke erst gekauft und dann anhand dieser willkürlichen Zahl die Verwendung festgelegt wird, doch Gehäuse für zwei Laufwerke sind so verbreitet, dass es sich lohnt, dies als Fall zu erwähnen.
Ebenso ist bei einem Array aus vier Laufwerken die einzige wirklich in Betracht zu ziehende Wahl RAID 10. Eine weitere Bewertung ist nicht erforderlich. Wählen Sie einfach RAID 10 und fahren Sie fort.
Ein unbequemer Fall ist ein Array aus drei Laufwerken. Es ist sehr, sehr selten, dass wir auf drei Laufwerke beschränkt sind, da das einzige verbreitete Gehäuse, das auf drei Laufwerke beschränkt war, der Apple Xserve war, und dieser ist seit geraumer Zeit nicht mehr auf dem Markt, sodass die Notwendigkeit, sich mit der Entscheidungsfindung rund um Drei-Spindel-Arrays zu befassen, äußerst unwahrscheinlich sein dürfte. In Fällen, in denen wir drei Laufwerke haben, ist es oft am besten, Rat einzuholen, doch die gängigsten Ansätze bestehen darin, ein viertes Laufwerk hinzuzufügen und somit RAID 10 zu wählen oder, falls keine Kapazität von mehr als der eines einzelnen Laufwerks benötigt wird, alle drei Laufwerke in ein einzelnes Dreifach-Mirror-RAID-1 zu legen.
Für alle übrigen Fälle haben wir es daher mit fünf bis fünfundzwanzig Laufwerken zu tun. Da wir die Situationen ausgeschlossen haben, in denen RAID 0 und RAID 1 zutreffen würden, laufen alle gängigen Szenarien auf RAID 6 und RAID 10 hinaus, und diese machen die überwiegende Mehrheit der Fälle aus. Die Wahl zwischen RAID 6 und RAID 10 wird zur größten Herausforderung, der wir uns stellen werden, da wir allein auf unsere “weichen” Anforderungen an Zuverlässigkeit, Leistung und Kapazität blicken müssen.
Die Wahl zwischen RAID 6 und RAID 10 sollte nicht außerordentlich schwierig sein. RAID 10 ist ideal für Situationen, in denen Leistung und Sicherheit die Prioritäten sind. RAID 10 bietet eine deutlich schnellere Schreibleistung und ist unabhängig vom verwendeten Laufwerkstyp sicher (kostengünstige Consumer-Festplatten können dennoch äußerst sicher sein, selbst in großen Arrays). RAID 10 skaliert gut auf extrem große Größen, viel größer, als nach Faustregeln umgesetzt werden sollte! RAID 10 ist die sicherste aller Optionen, es ist schnell und sicher. Die offensichtlichen Nachteile sind, dass RAID 10 aus denselben Festplatten weniger Speicherkapazität bietet und auf Kapazitätsbasis kostspieliger ist. Es muss erwähnt werden, dass RAID 10 nur eine gerade Anzahl von Festplatten nutzen kann; Festplatten werden paarweise hinzugefügt.
RAID 6 ist im Allgemeinen sicher und schnell, jedoch niemals so sicher oder so schnell wie RAID 10. RAID 6 leidet speziell unter der Schreibleistung und ist daher für Workloads wie Datenbanken und stark gemischte Lasten wie in großen Virtualisierungssystemen sehr schlecht geeignet. RAID 6 ist kosteneffizient und legt einen starken Schwerpunkt auf die verfügbare Kapazität im Vergleich zu RAID 10. Wenn die Budgets knapp sind oder der Kapazitätsbedarf gegenüber der Leistung überwiegt, ist RAID 6 eine ideale Wahl. Selten ist der Unterschied in der Sicherheit zwischen RAID 10 und RAID 6 ein Anliegen, außer in sehr großen Systemen mit Laufwerken der Consumer-Klasse. RAID 6 unterliegt bei Laufwerken der Consumer-Klasse einem zusätzlichen Risiko, von dem RAID 10 nicht betroffen ist, was bei größeren RAID-6-Systemen, etwa solchen oberhalb von rund 40 TB, bei Verwendung von Consumer-Festplatten eine gewisse Sorge um die Zuverlässigkeit rechtfertigen könnte.
Insbesondere im Bereich der Kleinunternehmen wird die Mehrheit der Systeme RAID 10 verwenden, schlicht weil Arrays selten größer als vier Laufwerke sein müssen. Wenn Arrays größer sind, ist RAID 6 aufgrund eher knapper Budgets und im Allgemeinen geringer Bedenken hinsichtlich der Leistung die gängigere Wahl. Sowohl RAID 6 als auch RAID 10 sind sichere und wirksame Lösungen für nahezu alle Nutzungsszenarien, wobei RAID 10 dominiert, wenn Leistung oder extreme Zuverlässigkeit entscheidend sind, und RAID 6 dominiert, wenn Kosten und Kapazität entscheidend sind. Und wenn die Speicheranforderungen hochgradig einzigartig oder sehr groß sind, etwa größer als fünfundzwanzig Spindeln in einem Array, denken Sie natürlich daran, einen Speicherberater hinzuzuziehen, da das Szenario leicht sehr komplex werden kann. Speicher ist einer der Bereiche, in denen es sich auszahlt, besonders sorgfältig zu sein, da so vieles davon abhängt, Fehler so leicht zu machen sind und die Flexibilität, ihn nachträglich zu ändern, so gering ist.
