Was ist RAID 100?
RAID 10 ist eines der wichtigsten und am häufigsten verwendeten RAID-Level, das heute im Einsatz ist. RAID 10 ist natürlich das, was als zusammengesetztes oder verschachteltes RAID bekannt ist, bei dem ein RAID-Level in einem anderen verschachtelt ist. Im Fall von RAID 10 ist das „niedrigste“ RAID-Level, dasjenige, das die physischen Laufwerke berührt, RAID 1. Die Nomenklatur des verschachtelten RAID besagt, dass die Zahl auf der linken Seite diejenige ist, die die physischen Laufwerke berührt, und jede Zahl auf der rechten Seite das RAID ist, das jene Arrays berührt.
RAID 10 ist also eine Anzahl von RAID-1-Sets (Mirror), die zusammen in einem RAID-0-Set (Stripe ohne Parität) zusammengefasst sind. Es gibt eine gewisse gängige Terminologie, die manchmal angewandt wird, hauptsächlich von HP vertreten, um selbst RAID 1 schlicht als eine Teilmenge von RAID 10 zu bezeichnen – ein RAID-10-Array, bei dem die RAID-0-Länge eins beträgt. Eine eigenwillige Art, sich RAID 1 vorzustellen, gewiss, doch sie macht tatsächlich viele Diskussionen und vergleichende Berechnungen einfacher und ergibt auf praktische Weise für die meisten Storage-Praktiker Sinn. Sich RAID 1 als einen „Sondernamen“ für die kleinstmögliche RAID-10-Stripe-Größe vorzustellen und dann zuzulassen, dass alle RAID-10-Permutationen als ein Berechnungskontinuum existieren, ergibt Sinn.
Ebenso bezeichnet HP auch einzelne Laufwerke, die an einen RAID-Controller angeschlossen sind, als RAID-0-Sets eines Stripes von eins. Die Anwendung dieser Terminologie auf die Welt von RAID 10 ist also tatsächlich naheliegender und sinnvoller, wenn man sie in diesem Licht betrachtet. Allerdings wendet weder HP noch irgendein anderer Anbieter heute dieselbe Benennungsmerkwürdigkeit auf andere Array-Typen an, etwa dass RAID 5 eine Teilmenge von RAID 50 oder RAID 6 eine Teilmenge von RAID 60 sei, obwohl man sie genauso betrachten könnte, wie RAID 1 zu RAID 10 betrachtet werden kann.
Wenn wir dieselbe Logik nehmen und sie auf die nächste Ebene heben, im übertragenen wie im wörtlichen Sinne, können wir mehrere RAID-10-Arrays nehmen und sie in einem weiteren RAID 0 zusammen-stripen. Das erscheint merkwürdig, kann aber Sinn ergeben. Das Ergebnis ist ein Stripe von RAID-10s oder, ausgeschrieben, ein Stripe von Stripes von Mirrors (wir geben RAID im Allgemeinen von oben nach unten an, doch die Nomenklatur verläuft von unten nach oben.) Da dies also RAID 1 auf den physischen Laufwerken ist, ein Stripe jener Mirrors und dann ein Stripe jener resultierenden Arrays, erhalten wir RAID 100 (R100.)
RAID 100 ist natürlich selten und eigentümlich. Allerdings nutzt ein äußerst wichtiger RAID-Controller-Hersteller R100 und folglich auch dessen nachgelagerter Integrationsanbieter: nämlich LSI und Dell.
Glücklicherweise ist dieser Ansatz, da Stripes ohne Parität kaum verhaltensbezogene Eigenheiten einbringen und nahezu keinen Overhead oder keine Latenz aufweisen, wirklich kein Problem, auch wenn er zu erheblicher Verwirrung führen kann. In jeder praktischen Hinsicht verhält sich RAID 100 genau wie RAID 10, wenn jede RAID-10-Teilmenge mit den anderen identisch ist.
Theoretisch könnte ein RAID 100 aus vielen ungleichen RAID-10-Sets unterschiedlicher Laufwerkstypen, Spindelzahlen und Geschwindigkeiten bestehen. Theoretisch könnte ein RAID 10 aus ungleichen RAID-1-Sets bestehen, doch dies ist in seinem Potenzial oder seiner wahrscheinlichen Variation weit begrenzter. RAID 100 könnte theoretisch einige ziemlich bizarre Dinge tun, wenn man es nicht im Zaum hält. In der Praxis jedoch wird jede RAID-100-Implementierung wahrscheinlich, wie es die Implementierung von LSI tut, Standardisierung erzwingen und erfordern, dass jede RAID-10-Teilmenge so identisch ist, wie ein Controller es zu erzwingen vermag. Jede wird also faktisch einheitlich sein, sodass das Gesamtverhalten dasselbe bleibt, als wären dieselben Laufwerke als RAID 10 eingerichtet.
Da das Verhalten identisch mit RAID 10 bleibt, besteht eine äußerst starke Tendenz, die Verwirrung zu vermeiden, das Array RAID 100 zu nennen, und es schlicht als RAID 10 zu bezeichnen. Dies würde gut funktionieren, abgesehen von der halbwegs notwendigen Eigenheit, dass man in der Lage sein muss, die Geometrie der zugrunde liegenden RAID-10-Sets anzugeben, wenn man ein RAID 100 aufbaut. LSI, und damit Dell, verlangt, dass Sie zum Zeitpunkt der Einrichtung eines RAID-100-Sets die zugrunde liegende RAID-10-Geometrie angeben müssen, doch da das Array als RAID 10 bezeichnet wird, ergibt dies keinen Sinn. Eine in der Tat bizarre Situation.
Um die Sache weiter zu verkomplizieren, wird aufgrund des Wunsches, die Fassade der Verwendung von RAID 10 statt RAID 100 aufrechtzuerhalten, die korrekte Terminologie gemieden, und anstatt die zugrunde liegenden RAID-10-Mitglieder als „RAID-10-Arrays“ oder „RAID-10-Teilmengen“ zu bezeichnen, werden sie schlicht „Spans“ genannt.“ Span jedoch, ein Begriff, der im Storage-Bereich für etwas anderes verwendet wird, trifft hier nicht korrekt zu. Span ist in keiner Weise eine korrekte Beschreibung für ein RAID-10-Set unter irgendeiner Bedingung.
Doch wenn wir uns darauf einigen, den Begriff Span zu verwenden, um eine RAID-10-Teilmenge eines RAID-100-Arrays zu bezeichnen, können wir recht problemlos vorankommen. Wann immer möglich, wollen wir dann so viele Spans wie möglich, um die zugrunde liegenden RAID-10-Teilmengen so klein wie möglich zu halten. Wenn wir sie klein genug machen, kollabieren sie tatsächlich zu RAID-1-Sets (HPEs eigenwilliges RAID 10 mit einer Stripe-Größe von eins), und unser RAID 100 kollabiert zu einem RAID 10, bei dem der mittlere Stripe statt des äußeren Stripes derjenige ist, der verschwindet! Bizarr, ja, aber praktisch.
Wie wenden wir dies also im wirklichen Leben an? Ganz einfach. In einem RAID-100-Array müssen wir eine Anzahl der zu verwendenden Spans angeben. Da wir wünschen, dass jeder Span zwei physische Laufwerksgeräte enthält, sodass jeder Span ein einfaches RAID 1 ist, müssen wir lediglich die Gesamtzahl der Laufwerke in unserem RAID-100-Array nehmen, die wir N nennen werden, und diese durch zwei teilen. Die gewünschte Span-Anzahl für ein normales RAID-100-Array ist also schlicht N/2. Das bedeutet: Wenn Sie ein Array mit zwei Laufwerken haben, wollen Sie einen Span. Vier Laufwerke, zwei Spans. Sechs Laufwerke, drei Spans. Vierundzwanzig Laufwerke, zwölf Spans. Und so weiter.
Haben Sie keine Angst vor RAID 100. Für normale Anwender erfordert es lediglich etwas zusätzliches Wissen darüber, wie man die richtige Anzahl von Spans auswählt. Es wäre ideal, wenn dies automatisch berechnet und verborgen gehalten würde, sodass Endanwender die Arrays in Form von RAID 10 betrachten könnten. Oder aber es würde konsequent als RAID 100 bezeichnet, um klarzumachen, was der Span darstellen muss. Oder man verwendet natürlich schlicht RAID 10 statt RAID 100. Doch angesichts des praktischen Zustands der Realität ist der Umgang mit RAID 100, sobald es verstanden ist, einfach.
