Zweckebenen von Raid-Arrays. Welche RAID-Level gibt es und welches sollte man wählen? Was lässt sich in der Praxis besser anwenden?

07.08.2020 SSD-Laufwerke

Und so weiter, so weiter, so weiter, so weiter. Also, heute werden wir darüber reden ÜBERFALL darauf basierende Arrays.

Wie Sie wissen, sind es die gleichen Festplatten Sie verfügen außerdem über eine gewisse Sicherheitsmarge, nach der sie versagen, sowie über Eigenschaften, die sich auf die Leistung auswirken.

Daher haben wahrscheinlich viele von Ihnen auf die eine oder andere Weise schon einmal von bestimmten Raid-Arrays gehört, die aus gewöhnlichen Raids hergestellt werden können Festplatte um den Betrieb dieser Festplatten und des Computers insgesamt zu beschleunigen oder eine erhöhte Zuverlässigkeit der Datenspeicherung zu gewährleisten.

Sicherlich wissen Sie auch (und wenn Sie es nicht wissen, spielt es keine Rolle), dass diese Arrays unterschiedliche Sequenznummern haben ( 0, 1, 2, 3, 4 usw.) und erfüllen auch ganz andere Funktionen. Dieses Phänomen kommt tatsächlich in der Natur vor und ist, wie Sie bereits vermutet haben, genau dasselbe ÜBERFALL Arrays ist das, was ich Ihnen in diesem Artikel erzählen möchte. Genauer gesagt sage ich es euch schon ;)

Gehen.

Was ist RAID und warum wird es benötigt?

ÜBERFALL- Dies ist ein Festplattenarray (d. h. ein Komplex oder, wenn Sie so wollen, ein Bündel) aus mehreren Geräten - Festplatten. Wie ich oben sagte, dient dieses Array dazu, die Zuverlässigkeit der Datenspeicherung zu erhöhen und/oder die Geschwindigkeit des Lesens/Schreibens von Informationen (oder beides) zu erhöhen.

Was genau dieser Festplattenstapel bewirkt, also die Arbeit beschleunigt oder die Datensicherheit erhöht, hängt von Ihnen ab, genauer gesagt von der Wahl der aktuellen Konfiguration des Raids bzw. der Raids. Die verschiedenen Arten dieser Konfigurationen sind genau angegeben verschiedene Zahlen: 1, 2, 3, 4 und erfüllen dementsprechend unterschiedliche Funktionen.

Ganz einfach, zum Beispiel beim Bauen 0 -te Version (Beschreibung der Variationen 0, 1, 2, 3 usw. - siehe unten) Sie werden eine spürbare Produktivitätssteigerung erzielen. Und allgemein Festplatte Heutzutage gibt es nur noch einen schmalen Geschwindigkeitskanal des Systems.

Warum ist das überhaupt passiert?

Festplatten vergrößern ihr Volumen nur aufgrund der Rotationsgeschwindigkeit ihres Kopfes (mit Ausnahme seltener Modelle wie Raubvogel"ov) ist schon seit geraumer Zeit eingefroren 7200 , der Cache wächst auch nicht gerade, die Architektur bleibt nahezu gleich.

Im Allgemeinen stagnieren Festplatten in Bezug auf die Leistung (die Situation kann nur durch die Entwicklung von Festplatten gerettet werden), spielen jedoch eine wichtige Rolle für den Betrieb des Systems und an einigen Stellen für vollwertige Anwendungen.

Im Falle der Konstruktion einer einzelnen Einheit (im Sinne einer Zahl). 1 )-Raid verlieren Sie etwas an Leistung, erhalten aber eine konkrete Garantie für die Sicherheit Ihrer Daten, da diese vollständig dupliziert werden und tatsächlich, selbst wenn eine Festplatte ausfällt, alles vollständig auf der zweiten liegt ohne jeglichen Verlust.

Im Allgemeinen, ich wiederhole, werden Raids für jeden nützlich sein. Ich würde sogar sagen, dass sie erforderlich sind :)

Was ist RAID im physikalischen Sinne?

Physisch ÜBERFALL-array repräsentiert von zwei Vor N-Anzahl der angeschlossenen Festplatten, die die Fähigkeit zum Erstellen unterstützen ÜBERFALL(oder an den entsprechenden Controller, was seltener vorkommt, da diese für den durchschnittlichen Benutzer teuer sind (Controller werden aufgrund ihrer erhöhten Zuverlässigkeit und Leistung normalerweise auf Servern verwendet)), d. h. Für das Auge ändert sich nichts innerhalb der Systemeinheit; es gibt einfach keine unnötigen Verbindungen oder Verbindungen von Festplatten untereinander oder zu irgendetwas anderem.

Generell ist an der Hardware alles fast wie immer, sondern ändert sich nur programmatischer Ansatz, der tatsächlich durch Auswahl des RAID-Typs genau festlegt, wie die angeschlossenen Festplatten funktionieren sollen.

Programmgesteuert treten im System nach dem Erstellen eines Raids auch keine besonderen Macken auf. Tatsächlich liegt der ganze Unterschied bei der Arbeit mit einem Raid nur in einer kleinen Umgebung, die den Raid tatsächlich organisiert (siehe unten) und in der Verwendung des Treibers. Ansonsten ist ALLES absolut gleich – im „Arbeitsplatz“ das Gleiche CD und andere Festplatten, alle die gleichen Ordner, Dateien... Im Allgemeinen und in der Software sind sie vom Auge her völlig identisch.

Die Installation des Arrays ist nicht schwierig: Wir nehmen einfach ein Motherboard, das die Technologie unterstützt ÜBERFALL, wir nehmen zwei völlig identische, - es ist wichtig!, - sowohl nach den Eigenschaften (Größe, Cache, Schnittstelle usw.) als auch nach Hersteller und Modell der Festplatte und schließen Sie diese an dieses Motherboard an. Als nächstes schalten Sie einfach den Computer ein und gehen zu BIOS und stellen Sie den Parameter ein SATA-Konfiguration: ÜBERFALL.

Danach während des Bootvorgangs des Computers (normalerweise vor dem Booten). Windows) erscheint ein Panel, das Informationen über die Festplatte im Raid und außerhalb davon anzeigt, auf die Sie tatsächlich klicken müssen CTR-I um den Raid zu konfigurieren (Festplatten hinzufügen, löschen usw. usw.). Eigentlich ist das alles. Dann gibt es noch andere Lebensfreuden, das heißt wieder ist alles wie immer.

Wichtiger Hinweis, den Sie sich merken sollten

Beim Erstellen oder Löschen eines Raids ( 1 Dies scheint auf den Raid nicht zuzutreffen, ist aber keine Tatsache. Alle Informationen werden unweigerlich von den Datenträgern gelöscht, und daher ist es einfach, ein Experiment durchzuführen, zu erstellen und zu löschen verschiedene Konfigurationen, es lohnt sich eindeutig nicht. Speichern Sie daher vor dem Erstellen eines Raids zunächst alle erforderlichen Informationen (falls vorhanden) und experimentieren Sie dann.

Was die Konfigurationen betrifft. Wie ich bereits sagte, ÜBERFALL Es gibt verschiedene Arten von Arrays (zumindest von der Hauptbasis her - das ist RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6). Zunächst werde ich über zwei sprechen, die bei normalen Benutzern am verständlichsten und beliebtesten sind:

  • RAID 0- Disk-Array zur Erhöhung der Aufnahmegeschwindigkeit.
  • RAID 1- gespiegeltes Festplatten-Array.

Und am Ende des Artikels werde ich noch kurz auf die anderen eingehen.

RAID 0 – was ist das und wozu dient es?

Also.. RAID 0(auch Striping genannt) – nutzt zwei bis vier (mehr, seltener) Festplatten, die gemeinsam Informationen verarbeiten, was die Produktivität steigert. Um es klarzustellen: Das Tragen von Taschen für eine Person dauert länger und ist schwieriger als für vier Personen (obwohl die Taschen in ihren physikalischen Eigenschaften gleich bleiben, ändern sich nur die Kräfte, die mit ihnen interagieren). Programmgesteuert werden Informationen zu einem solchen Raid in Datenblöcke aufgeteilt und nacheinander auf beide/mehrere Festplatten geschrieben.

Ein Datenblock auf einer Festplatte, ein anderer Datenblock auf einer anderen und so weiter. Dadurch wird die Leistung erheblich gesteigert (die Anzahl der Festplatten bestimmt das Vielfache der Leistungssteigerung, d. h. 4 Festplatten laufen schneller als zwei), allerdings leidet die Datensicherheit auf dem gesamten Array. Wenn eine der darin enthaltenen Komponenten vorhanden ist ÜBERFALL Festplatten (also Festplatten) gehen alle Informationen nahezu vollständig und unwiederbringlich verloren.

Warum? Tatsache ist, dass jede Datei aus einer bestimmten Anzahl von Bytes besteht, von denen jedes Informationen enthält. Aber in RAID 0 In einem Array können sich die Bytes einer Datei auf mehreren Datenträgern befinden. Wenn also eine der Festplatten „stirbt“, geht eine beliebige Anzahl von Bytes der Datei verloren und es ist einfach unmöglich, sie wiederherzustellen. Aber es gibt mehr als eine Datei.

Generell wird beim Einsatz eines solchen Raid-Arrays dringend empfohlen, wertvolle Informationen dauerhaft auf externen Medien zu speichern. Der Raid sorgt wirklich für spürbare Geschwindigkeit – das erzähle ich euch aus eigener Erfahrung, denn ich habe schon seit Jahren ein solches Glück zu Hause installiert.

RAID 1 – was ist das und wofür wird es verwendet?

Was ist mit RAID 1?(Spiegeln – „Spiegeln“) Eigentlich fange ich mit dem Nachteil an. Im Gegensatz zu RAID 0 Es stellt sich heraus, dass Sie scheinbar an Volumen „verlieren“. zweite hart Festplatte (wird verwendet, um eine vollständige (Byte für Byte) Kopie der ersten darauf zu schreiben Festplatte während RAID 0 dieser Raum vollständig zugänglich ist).

Der Vorteil besteht, wie Sie bereits verstanden haben, in der hohen Zuverlässigkeit, d. h. alles funktioniert (und alle Daten sind in der Natur vorhanden und verschwinden nicht, wenn eines der Geräte ausfällt), solange mindestens eine Festplatte funktioniert, d. h. Selbst wenn Sie eine Festplatte grob zerstören, verlieren Sie kein einziges Byte an Informationen, denn Der zweite ist eine reine Kopie des ersten und ersetzt ihn, wenn er ausfällt. Diese Art von Raid wird aufgrund der unglaublichen Lebensfähigkeit der Daten häufig auf Servern eingesetzt, was wichtig ist.

Bei diesem Ansatz geht die Leistung verloren, und nach persönlichem Empfinden ist sie sogar geringer als bei der Verwendung einer Festplatte ohne Raids. Für manche ist Zuverlässigkeit jedoch viel wichtiger als Leistung.

RAID 2, 3, 4, 5, 6 – was sind sie und wofür werden sie verwendet?

Die Beschreibung dieser Arrays ist hier so weit wie möglich, d.h. rein als Referenz, und selbst dann in komprimierter Form (tatsächlich wird nur die zweite beschrieben). Warum so? Zumindest aufgrund der geringen Beliebtheit dieser Arrays beim Durchschnittsbenutzer (und im Allgemeinen bei jedem anderen) Benutzer und infolgedessen meiner geringen Erfahrung in der Verwendung dieser Arrays.

RAID 2 reserviert für Arrays, die eine Art Hamming-Code verwenden (ich war nicht daran interessiert, was das war, deshalb werde ich es Ihnen nicht sagen). Das Funktionsprinzip ist ungefähr so: Die Datenerfassung auf den entsprechenden Geräten erfolgt auf die gleiche Weise wie in RAID 0, das heißt, sie werden auf allen Festplatten, die an der Speicherung von Informationen beteiligt sind, in kleine Blöcke unterteilt.

Auf den verbleibenden (speziell dafür vorgesehenen) Festplatten werden Fehlerkorrekturcodes gespeichert, mit denen im Falle eines Festplattenausfalls Informationen wiederhergestellt werden können. In Arrays dieser Art werden die Festplatten in zwei Gruppen unterteilt – für Daten und für Fehlerkorrekturcodes

Beispielsweise verfügen Sie über zwei Festplatten, die Platz für das System und die Dateien bieten, und zwei weitere sind ausschließlich für Korrekturdaten reserviert, falls die ersten beiden Festplatten ausfallen. Im Wesentlichen handelt es sich hierbei um so etwas wie einen Zero-Raid, nur mit der Möglichkeit, bei Ausfall einer der Festplatten zumindest irgendwie Informationen zu speichern. Selten teuer – vier Festplatten statt zwei mit einem sehr umstrittenen Sicherheitsgewinn.

RAID 3, 4, 5, 6.. Über sie, egal wie seltsam es auf den Seiten dieser Website klingen mag, versuchen Sie, auf Wikipedia darüber zu lesen. Tatsache ist, dass ich in meinem Leben äußerst selten auf diese Arrays gestoßen bin (außer dass das fünfte häufiger zur Hand war als andere) und ich die Prinzipien ihrer Funktionsweise nicht in zugänglichen Worten beschreiben kann, und ich möchte sie auf keinen Fall noch einmal drucken Artikel aus der oben vorgeschlagenen Ressource, zumindest aufgrund der darin enthaltenen ärgerlichen Formulierungen, die selbst ich kaum verstehen kann.

Welches RAID sollten Sie wählen?

Wenn Sie Spiele spielen, häufig Musik und Filme kopieren oder ressourcenintensive Programme installieren, werden Sie es auf jeden Fall nützlich finden RAID 0. Seien Sie aber bei der Auswahl der Festplatten vorsichtig – in diesem Fall ist deren Qualität besonders wichtig – oder machen Sie unbedingt Backups auf externen Medien.

Wenn Sie mit wertvollen Informationen arbeiten, deren Verlust dem Tod gleichkommt, dann brauchen Sie das auf jeden Fall RAID 1- Es ist äußerst schwierig, damit Informationen zu verlieren.

Ich wiederhole das Sehr Es ist wünschenswert, dass die Festplatten installiert sind ÜBERFALL Die Gruppe war geschlechtsidentisch. Größe, Marke, Serie, Cachegröße – am besten sollte alles gleich sein.

Nachwort

So sind die Dinge.

Wie man dieses Wunder zusammenbaut, habe ich übrigens im Artikel geschrieben: „ So erstellen Sie ein RAID-Array mit Standardmethoden", und über ein paar Parameter im Material " RAID 0 von zwei SSDs, - Praxistests mit Read Ahead und Read Cache". Nutzen Sie die Suche.

Ich hoffe aufrichtig, dass dieser Artikel für Sie nützlich sein wird und Sie auf jeden Fall einen Raid der einen oder anderen Art machen werden. Glauben Sie mir, es lohnt sich.

Bei Fragen zum Erstellen und Konfigurieren im Allgemeinen können Sie mich in den Kommentaren kontaktieren. Ich werde versuchen, Ihnen zu helfen (sofern online eine Anleitung für Ihr Motherboard verfügbar ist). Auch über Ergänzungen, Wünsche, Gedanken usw. freue ich mich.

Fast jeder kennt das Sprichwort: „Bis der Donner schlägt, wird sich ein Mann nicht bekreuzigen.“ Es ist wichtig: Solange dieses oder jenes Problem den Benutzer nicht berührt, wird er nicht einmal darüber nachdenken. Das Netzteil ist kaputt und hat ein paar Geräte mitgenommen – der User beeilt sich, nach Artikeln zu relevanten Themen rund um leckeres und gesundes Essen zu suchen. Der Prozessor ist durchgebrannt oder hat aufgrund von Überhitzung eine Fehlfunktion festgestellt. In den „Favoriten“ finden sich einige Links zu zahlreichen Forenthreads, in denen die CPU-Kühlung thematisiert wird.

Mit Festplatten verhält es sich genauso: Sobald die nächste Schraube, nachdem sie zum Abschied den Kopf geknackt hat, unsere sterbliche Welt verlässt, beginnt der Besitzer des PCs, für eine Verbesserung der Lebensbedingungen des Laufwerks zu sorgen. Aber selbst der ausgefeilteste Kühler kann kein langes und glückliches Leben der Festplatte garantieren. Die Lebensdauer des Laufwerks wird von vielen Faktoren beeinflusst: Herstellungsfehlern und einem versehentlichen Tritt gegen das Gehäuse (insbesondere, wenn das Gehäuse irgendwo auf dem Boden steht), Staub, der durch die Filter dringt, und vom Gerät gesendeten Hochspannungsstörungen Stromversorgung... Es gibt nur einen Ausweg - Sicherung Informationen, und wenn Sie unterwegs ein Backup benötigen, ist es an der Zeit, ein RAID-Array aufzubauen, da heutzutage fast jedes Motherboard über eine Art RAID-Controller verfügt.

An dieser Stelle machen wir einen kurzen Ausflug in die Geschichte und Theorie von RAID-Arrays. Die Abkürzung RAID selbst steht für Redundant Array of Independent Disks. Früher wurde „kostengünstig“ anstelle von „unabhängig“ verwendet, aber mit der Zeit hat diese Definition an Relevanz verloren: Fast alle Festplatten sind kostengünstig geworden.

Die Geschichte von RAID begann 1987, als der von den Kameraden Peterson, Gibson und Katz unterzeichnete Artikel „Enclosure for Redundant Arrays of Low-Cost Disks (RAID)“ veröffentlicht wurde. In der Notiz wurde die Technologie beschrieben, mehrere reguläre Festplatten zu einem Array zusammenzufassen, um ein schnelleres und zuverlässigeres Laufwerk zu erhalten. Die Autoren des Materials informierten die Leser auch über verschiedene Arten von Arrays – von RAID-1 bis RAID-5. Anschließend wurde den vor fast zwanzig Jahren beschriebenen Arrays ein Zero-Level-RAID-Array hinzugefügt, das immer beliebter wurde. Was sind das alles für RAID-x? Was ist ihr Wesen? Warum werden sie als überflüssig bezeichnet? Wir werden versuchen, das herauszufinden.

Um es sehr auszudrücken in einfacher Sprache, dann ist RAID eine Sache, die es dem Betriebssystem ermöglicht, nicht zu wissen, wie viele Festplatten im Computer installiert sind. Das Zusammenfassen von Festplatten zu einem RAID-Array ist ein Vorgang, der der Aufteilung eines einzelnen Speicherplatzes in genau entgegengesetzt ist logische Laufwerke: Wir bilden ein logisches Laufwerk basierend auf mehreren physischen Laufwerken. Dazu benötigen wir entweder die entsprechende Software (wir werden nicht einmal über diese Option sprechen – sie ist unnötig) oder einen in das Motherboard integrierten RAID-Controller oder einen separaten, der in einen PCI- oder PCI-Express-Anschluss eingesteckt ist Slot. Es ist der Controller, der die Festplatten zu einem Array zusammenfasst und operationssystem Es funktioniert nicht mehr mit der HDD, sondern mit dem Controller, der ihm aber nichts Unnötiges mitteilt. Es gibt aber sehr viele Möglichkeiten, mehrere Scheiben zu einer, genauer gesagt etwa zehn, zusammenzufassen.

Was sind RAID-Typen?

Die einfachste davon ist JBOD (Just a Bunch of Disks). Zwei Festplatten werden in Reihe zu einer zusammengeklebt, die Informationen werden zuerst auf die eine und dann auf die andere Festplatte geschrieben, ohne sie in Stücke und Blöcke zu zerbrechen. Aus zwei 200-GB-Laufwerken machen wir ein 400-GB-Laufwerk, das fast mit der gleichen und in Wirklichkeit etwas niedrigeren Geschwindigkeit wie jedes der beiden Laufwerke arbeitet.

JBOD ist ein Sonderfall eines Level-0-Arrays, RAID-0. Es gibt auch eine andere Variante des Namens von Arrays auf dieser Ebene – Stripe (Strip), der vollständige Name lautet „Striped Disk Array without Fault Tolerance“. Diese Option beinhaltet auch die Kombination von n Festplatten zu einer mit einer um das N-fache erhöhten Kapazität, wobei die Festplatten jedoch nicht nacheinander, sondern parallel zusammengefasst werden und Informationen in Blöcken auf sie geschrieben werden (die Blockgröße wird vom Benutzer bei der Bildung eines RAID angegeben). Array).

Das heißt, wenn Sie die Zahlenfolge 123456 auf zwei in einem RAID-0-Array enthaltene Laufwerke schreiben müssen, teilt der Controller diese Kette in zwei Teile – 123 und 456 – und schreibt den ersten auf eine Festplatte und den zweiten auf das andere. Jede Festplatte kann Daten übertragen ... also mit einer Geschwindigkeit von 50 MB/s, und die Gesamtgeschwindigkeit von zwei Festplatten, von denen Daten parallel entnommen werden, beträgt 100 MB/s. Somit sollte sich die Geschwindigkeit beim Arbeiten mit Daten um das N-fache erhöhen (in Wirklichkeit ist die Geschwindigkeitssteigerung natürlich geringer, da niemand die Verluste bei der Suche nach Daten und deren Übertragung über den Bus ausgeglichen hat). Doch diese Steigerung ist nicht umsonst: Fällt mindestens eine Festplatte aus, gehen Informationen aus dem gesamten Array verloren.

RAID-Level Null. Die Daten werden in Blöcke unterteilt und auf Festplatten verteilt. Es gibt keine Parität oder Redundanz.

Das heißt, es gibt keine Redundanz und überhaupt keine Redundanz. Dieses Array kann nur bedingt als RAID-Array betrachtet werden, erfreut sich jedoch großer Beliebtheit. Nur wenige Menschen denken über Zuverlässigkeit nach; sie lässt sich nicht anhand von Benchmarks messen, aber jeder versteht die Sprache von Megabyte pro Sekunde. Das ist weder schlecht noch gut, es passiert einfach. Im Folgenden werden wir darüber sprechen, wie man den Fisch isst und die Zuverlässigkeit beibehält. Wiederherstellung von RAID-0 nach einem Ausfall

Ein weiterer Nachteil des Stripe-Arrays besteht übrigens darin, dass es nicht tragbar ist. Damit meine ich nicht, dass er bestimmte Nahrungsmittel nicht verträgt oder beispielsweise auch seine Besitzer. Das interessiert ihn nicht, aber das Array selbst irgendwohin zu bewegen, ist ein großes Problem. Selbst wenn Sie beide Festplatten und Controller-Treiber zu Ihrem Freund ziehen, ist es keine Tatsache, dass sie als ein Array definiert werden und die Daten verwendet werden können. Darüber hinaus gibt es Fälle, in denen das einfache Anschließen (ohne etwas zu schreiben!) von Stripe-Festplatten an einen „nicht nativen“ (anderen als den, auf dem das Array gebildet wurde) Controller zu einer Beschädigung der Informationen im Array führte. Wir wissen nicht, wie relevant dieses Problem heute mit dem Aufkommen moderner Steuerungen ist, raten Ihnen aber dennoch zur Vorsicht.


RAID-Array der Stufe 1 mit vier Festplatten. Die Festplatten sind in Paare unterteilt und die Laufwerke innerhalb des Paares speichern dieselben Daten.

Das erste wirklich „redundante“ Array (und das erste RAID, das auftauchte) war RAID-1. Sein zweiter Name – Spiegel – erklärt das Funktionsprinzip: Alle dem Array zugewiesenen Festplatten werden in Paare aufgeteilt, und Informationen werden gleichzeitig auf beide Festplatten gelesen und geschrieben. Es stellt sich heraus, dass jede der Festplatten im Array eine exakte Kopie hat. In einem solchen System erhöht sich nicht nur die Zuverlässigkeit der Datenspeicherung, sondern auch die Lesegeschwindigkeit (Sie können von zwei Festplatten gleichzeitig lesen), obwohl die Schreibgeschwindigkeit dieselbe bleibt wie die einer Festplatte.

Wie Sie sich vorstellen können, entspricht das Volumen eines solchen Arrays der Hälfte der Summe der Volumes aller darin enthaltenen Festplatten. Der Nachteil dieser Lösung besteht darin, dass Sie doppelt so viele Festplatten benötigen. Die Zuverlässigkeit dieses Arrays entspricht jedoch nicht einmal der doppelten Zuverlässigkeit einer einzelnen Festplatte, sondern liegt weit über diesem Wert. Ein Ausfall von zwei Festplatten innerhalb von ... sagen wir einmal, einem Tag ist unwahrscheinlich, es sei denn, dass beispielsweise das Netzteil eingreift. Gleichzeitig wird jede vernünftige Person, die sieht, dass eine Festplatte in einem Paar ausgefallen ist, diese sofort ersetzen, und selbst wenn die zweite Festplatte unmittelbar danach ausfällt, werden die Informationen nirgendwo hingehen.

Wie Sie sehen, haben sowohl RAID-0 als auch RAID-1 ihre Nachteile. Wie kann ich sie loswerden? Wenn Sie über mindestens vier Festplatten verfügen, können Sie eine RAID 0+1-Konfiguration erstellen. Dazu werden RAID-1-Arrays zu einem RAID-0-Array zusammengefasst. Oder umgekehrt: Manchmal wird ein RAID-1-Array aus mehreren RAID-0-Arrays erstellt (das Ergebnis ist RAID-10, dessen einziger Vorteil eine kürzere Datenwiederherstellungszeit ist, wenn eine Festplatte ausfällt).

Die Zuverlässigkeit einer solchen Konfiguration aus vier Festplatten entspricht der Zuverlässigkeit eines RAID-1-Arrays, und die Geschwindigkeit ist tatsächlich die gleiche wie die von RAID-0 (in Wirklichkeit wird sie aufgrund der begrenzten Geschwindigkeit höchstwahrscheinlich etwas niedriger sein). Fähigkeiten des Controllers). Gleichzeitig bedeutet der gleichzeitige Ausfall zweier Festplatten nicht immer einen vollständigen Informationsverlust: Dies geschieht nur, wenn die Festplatten mit denselben Daten ausfallen, was unwahrscheinlich ist. Das heißt, wenn vier Festplatten in die Paare 1-2 und 3-4 aufgeteilt und die Paare zu einem RAID-0-Array zusammengefasst werden, führt nur der gleichzeitige Ausfall der Festplatten 1 und 2 oder 3 und 4 zu Datenverlust Im Falle eines vorzeitigen Ausfalls der ersten und dritten, zweiten und vierten, ersten und vierten oder zweiten und dritten Festplatte bleiben die Daten sicher und unversehrt.

Der Hauptnachteil von RAID-10 sind jedoch die hohen Festplattenkosten. Dennoch kann der Preis für vier (mindestens!) Festplatten nicht als gering bezeichnet werden, insbesondere wenn uns tatsächlich nur die Kapazität von zwei davon zur Verfügung steht (über Zuverlässigkeit und deren Kosten denken nur wenige Menschen, wie wir bereits gesagt haben). Große (100 %) Redundanz der Datenspeicherung macht sich bemerkbar. All dies hat dazu geführt, dass in letzter Zeit eine Array-Variante namens RAID-5 an Popularität gewonnen hat. Zur Umsetzung benötigen Sie drei Festplatten. Zusätzlich zu den Informationen selbst speichert der Controller auch Paritätsblöcke auf den Array-Laufwerken.

Wir gehen nicht näher auf die Funktionsweise des Paritätskontrollalgorithmus ein. Wir sagen nur, dass Sie bei Verlust von Informationen auf einer der Festplatten diese mithilfe von Paritätsdaten und Live-Daten von anderen Festplatten wiederherstellen können. Der Paritätsblock hat das Volumen einer physischen Festplatte und ist gleichmäßig auf alle Festplatten des Systems verteilt, sodass Sie bei Verlust einer Festplatte Informationen von dieser mithilfe eines Paritätsblocks wiederherstellen können, der sich auf einer anderen Festplatte des Arrays befindet. Die Informationen werden in große Blöcke aufgeteilt und einzeln, also nach dem 12-34-56-Prinzip bei einem Drei-Platten-Array, auf die Platten geschrieben.

Dementsprechend ist das Gesamtvolumen eines solchen Arrays das Volumen aller Festplatten abzüglich der Kapazität einer davon. Die Datenwiederherstellung erfolgt natürlich nicht sofort, aber ein solches System bietet eine hohe Leistung und einen gewissen Zuverlässigkeitsspielraum minimale Kosten(Ein 1000-GB-Array erfordert sechs 200-GB-Laufwerke). Allerdings wird die Leistung eines solchen Arrays immer noch geringer sein als die Geschwindigkeit eines Stripe-Systems: Bei jedem Schreibvorgang muss der Controller auch den Paritätsindex aktualisieren.

RAID-0, RAID-1 und RAID 0+1, manchmal auch RAID-5 – diese Level schöpfen am häufigsten die Möglichkeiten von Desktop-RAID-Controllern aus. Höhere Stufen sind nur für komplexe Systeme verfügbar, die auf SCSI-Festplatten basieren. Allerdings glückliche Besitzer von SATA-Controllern mit Matrix-RAID-Unterstützung (solche Controller sind in die Südbrücken ICH6R und ICH7R eingebaut). Intel) können die Vorteile von RAID-0- und RAID-1-Arrays mit nur zwei Laufwerken nutzen, und diejenigen mit einer Karte mit ICH7R können RAID-5 und RAID-0 kombinieren, wenn sie über vier identische Laufwerke verfügen.

Wie wird dies in der Praxis umgesetzt? Schauen wir uns einen einfacheren Fall mit RAID-0 und RAID-1 an. Nehmen wir an, Sie haben zwei 400-GB-Festplatten gekauft. Sie teilen jedes Laufwerk in logische Laufwerke mit 100 GB und 300 GB auf. Danach verwenden Sie das festverdrahtete Gerät BIOS-Dienstprogramme Mit dem Intel Application Accelerator RAID Option ROM kombinieren Sie 100-GB-Partitionen zu einem Stripe-Array (RAID-0) und 300-GB-Partitionen zu einem Spiegel-Array (RAID-1). Jetzt weiter schnelle Festplatte Mit einer Kapazität von 200 GB können Sie beispielsweise Spielzeug, Videomaterial und andere Daten speichern, die eine hohe Geschwindigkeit erfordern Festplatten-Subsystem und darüber hinaus nicht sehr wichtige (d. h. solche, deren Verlust Sie nicht sehr bereuen werden), und auf einer gespiegelten 300-Gigabyte-Festplatte verschieben Sie Arbeitsdokumente, ein E-Mail-Archiv, Dienstprogramme und andere wichtige Dinge notwendigen Dateien. Wenn ein Laufwerk ausfällt, gehen die auf dem Stripe-Array gespeicherten Daten verloren, aber die Daten, die Sie auf dem zweiten logischen Laufwerk abgelegt haben, werden auf dem verbleibenden Laufwerk dupliziert.

Die Kombination der RAID-5- und RAID-0-Stufen bedeutet, dass ein Teil des Volumens von vier Festplatten für ein schnelles Stripe-Array reserviert ist und der andere Teil (seien es 300 GB auf jeder Festplatte sein) auf Datenblöcke und Paritätsblöcke entfällt Das heißt, Sie erhalten eine ultraschnelle 400-GB-Festplatte (4 x 100 GB) und ein zuverlässiges, aber langsameres 900-GB-Array mit 4 x 300 GB minus 300 GB für Paritätsblöcke.

Wie Sie sehen, ist diese Technologie äußerst vielversprechend und es wäre schön, wenn andere Chipsatz- und Controller-Hersteller sie unterstützen würden. Es ist sehr verlockend, schnell und zuverlässig Arrays unterschiedlicher Ebenen auf zwei Festplatten zu haben.

Dies sind möglicherweise alle Arten von RAID-Arrays, die in Heimsystemen verwendet werden. Im Leben kann es jedoch vorkommen, dass Sie auf RAID-2, 3, 4, 6 und 7 stoßen. Schauen wir uns also noch einmal an, was diese Level sind.

RAID-2. In einem Array dieses Typs sind die Festplatten in zwei Gruppen unterteilt – für Daten und für Fehlerkorrekturcodes. Wenn die Daten auf n Festplatten gespeichert sind, werden n-1 Festplatten zum Speichern von Korrekturcodes benötigt. Das Schreiben der Daten auf die entsprechenden Festplatten erfolgt auf die gleiche Weise wie bei RAID-0; diese werden entsprechend der Anzahl der zum Speichern von Informationen vorgesehenen Festplatten in kleine Blöcke unterteilt. Auf den verbleibenden Festplatten werden Fehlerkorrekturcodes gespeichert, die zur Wiederherstellung von Informationen verwendet werden können, wenn eine Festplatte ausfällt. Das Hamming-Verfahren wird seit langem in ECC-Speichern verwendet und ermöglicht die sofortige Korrektur kleiner Ein-Bit-Fehler, wenn diese plötzlich auftreten. Wenn zwei Bits falsch übertragen werden, wird dies erneut mithilfe von Paritätssystemen erkannt. Allerdings wollte niemand für diesen Zweck eine sperrige Struktur mit fast der doppelten Anzahl an Festplatten beibehalten, und diese Art von Array fand keine Verbreitung.

Array-Struktur RAID-3 ist das so: In einem Array von n Festplatten werden die Daten in 1-Byte-Blöcke aufgeteilt und auf n-1 Festplatten verteilt, und eine andere Festplatte wird zum Speichern von Paritätsblöcken verwendet. RAID-2 verfügte zu diesem Zweck über n-1 Festplatten, die meisten Informationen auf diesen Festplatten wurden jedoch nur zur Fehlerkorrektur im laufenden Betrieb verwendet einfache Genesung Im Falle eines Festplattenausfalls genügt eine kleinere Menge; eine dedizierte Festplatte reicht aus.


RAID-Level 3 mit separater Festplatte zum Speichern von Paritätsinformationen. Es gibt kein Backup, aber die Daten können wiederhergestellt werden.

Dementsprechend liegen die Unterschiede zwischen RAID-3 und RAID-2 auf der Hand: die Unmöglichkeit einer sofortigen Fehlerkorrektur und weniger Redundanz. Die Vorteile sind wie folgt: Die Geschwindigkeit beim Lesen und Schreiben von Daten ist hoch und zum Erstellen eines Arrays sind nur sehr wenige Festplatten erforderlich, nämlich nur drei. Ein Array dieser Art eignet sich jedoch nur für Einzelaufgabenarbeiten mit großen Dateien, da es bei häufigen Anfragen kleiner Datenmengen zu Geschwindigkeitsproblemen kommt.


Ein Level-5-Array unterscheidet sich von RAID-3 dadurch, dass die Paritätsblöcke gleichmäßig auf alle Festplatten im Array verteilt sind.

RAID-4ähnelt RAID-3, unterscheidet sich jedoch dadurch, dass die Daten in Blöcke und nicht in Bytes unterteilt sind. Somit konnte das Problem der geringen Datenübertragungsgeschwindigkeit kleiner Volumina „besiegt“ werden. Das Schreiben ist langsam, da die Parität für den Block während der Aufzeichnung generiert und auf eine einzelne Festplatte geschrieben wird. Arrays dieser Art werden sehr selten verwendet.

RAID-6- Dies ist das gleiche RAID-5, aber jetzt werden auf jeder der Array-Festplatten zwei Paritätsblöcke gespeichert. Wenn also zwei Festplatten ausfallen, können die Informationen trotzdem wiederhergestellt werden. Natürlich führte die erhöhte Zuverlässigkeit zu einer Verringerung des nutzbaren Festplattenvolumens und einer Erhöhung der Mindestanzahl von Festplatten: Wenn nun n Festplatten im Array vorhanden sind, entspricht das für die Datenaufzeichnung verfügbare Gesamtvolumen dem Volumen von eine Scheibe multipliziert mit n-2. Die Notwendigkeit, zwei Prüfsummen gleichzeitig zu berechnen, bestimmt den zweiten Nachteil, den RAID-6 von RAID-5 geerbt hat – die niedrige Datenschreibgeschwindigkeit.

RAID-7 ist eine eingetragene Marke der Storage Computer Corporation. Die Struktur des Arrays ist wie folgt: Daten werden auf n-1 Festplatten gespeichert, eine Festplatte wird zum Speichern von Paritätsblöcken verwendet. Es wurden jedoch einige wichtige Details hinzugefügt, um den Hauptnachteil solcher Arrays zu beseitigen: einen Datencache und einen schnellen Controller, der die Anforderungsverarbeitung verwaltet. Dadurch konnte die Anzahl der Festplattenzugriffe zur Berechnung der Datenprüfsumme reduziert werden. Dadurch konnte die Geschwindigkeit der Datenverarbeitung deutlich gesteigert werden (mancherorts um das Fünffache oder mehr).



RAID-Level 0+1-Array oder ein Design aus zwei RAID-1-Arrays, die zu RAID-0 kombiniert werden. Zuverlässig, schnell, teuer.

Es sind auch neue Nachteile aufgetreten: die sehr hohen Kosten für die Implementierung eines solchen Arrays, die Komplexität seiner Wartung, die Notwendigkeit einer unterbrechungsfreien Stromversorgung, um Datenverlust im Cache-Speicher bei Stromausfällen zu verhindern. Es ist unwahrscheinlich, dass Sie ein Array dieser Art sehen werden, aber wenn Sie es plötzlich irgendwo sehen, schreiben Sie uns, wir schauen es uns auch gerne an.

Erstellen eines Arrays

Ich hoffe, Sie haben es bereits geschafft, den Array-Typ auszuwählen. Wenn Ihr Board über einen RAID-Controller verfügt, benötigen Sie nichts weiter als die erforderliche Anzahl an Festplatten und Treibern für diesen Controller. Bedenken Sie übrigens: Es ist sinnvoll, nur gleich große Festplatten zu Arrays zusammenzufassen, am besten zu einem Modell. Der Controller weigert sich möglicherweise, mit Festplatten unterschiedlicher Größe zu arbeiten, und höchstwahrscheinlich können Sie nur einen Teil einer großen Festplatte verwenden, dessen Volumen dem der kleineren Festplatte entspricht. Darüber hinaus wird sogar die Geschwindigkeit eines Stripe-Arrays durch die Geschwindigkeit der langsamsten Festplatte bestimmt. Und mein Rat an Sie: Versuchen Sie nicht, das RAID-Array bootfähig zu machen. Dies ist möglich, aber wenn im System Fehler auftreten, wird es für Sie schwierig, da die Wiederherstellung der Funktionalität sehr schwierig sein wird. Darüber hinaus ist es gefährlich, mehrere Systeme auf einem solchen Array zu platzieren: Fast alle Programme, die für die Auswahl des Betriebssystems verantwortlich sind, töten Informationen aus den Servicebereichen der Festplatte und beschädigen dementsprechend das Array. Es ist besser, ein anderes Schema zu wählen: Eine Festplatte ist bootfähig und der Rest wird zu einem Array zusammengefasst.



Matrix RAID in Aktion. Ein Teil des Speicherplatzes wird vom RAID-0-Array genutzt, der Rest wird vom RAID-1-Array belegt.

Jedes RAID-Array beginnt mit dem RAID-Controller-BIOS. Manchmal (nur bei integrierten Controllern und selbst dann nicht immer) ist es im Haupt-BIOS des Motherboards integriert, manchmal befindet es sich separat und wird nach bestandenem Selbsttest aktiviert, aber auf jeden Fall muss man gehen Dort. Im BIOS werden die notwendigen Array-Parameter sowie die Größe der Datenblöcke, die verwendeten Festplatten usw. eingestellt. Wenn Sie das alles geklärt haben, müssen Sie nur noch die Einstellungen speichern, das BIOS verlassen und zum Betriebssystem zurückkehren.

Dort müssen Sie die Controller-Treiber installieren (in der Regel liegt eine Diskette mit ihnen dem Motherboard oder dem Controller selbst bei, sie können jedoch mit anderen Treibern und Dienstprogrammen auf eine Diskette geschrieben werden), neu starten und fertig Das Array ist einsatzbereit. Sie können es in logische Laufwerke aufteilen, formatieren und mit Daten füllen. Denken Sie daran, dass RAID kein Allheilmittel ist. Es schützt Sie vor Datenverlust, wenn die Festplatte ausfällt, und minimiert die Folgen eines solchen Ergebnisses. Es schützt Sie jedoch nicht vor Stromstößen und Ausfällen eines minderwertigen Netzteils, das beide Laufwerke unabhängig von ihrem Zustand gleichzeitig zerstört "Massivität".

Die Vernachlässigung einer hochwertigen Stromversorgung und der Temperaturbedingungen der Festplatten kann die Lebensdauer der Festplatte erheblich verkürzen; es kommt dazu, dass alle Festplatten im Array ausfallen und alle Daten unwiederbringlich verloren gehen. Insbesondere moderne Festplatten (insbesondere IBM und Hitachi) reagieren sehr empfindlich auf den +12-V-Kanal und mögen nicht einmal die geringste Spannungsänderung darauf. Daher lohnt es sich, vor dem Kauf der gesamten zum Aufbau des Arrays erforderlichen Ausrüstung dies zu überprüfen die entsprechenden Spannungen und ggf. das Einschalten eines neuen Netzteils auf die Einkaufsliste.

Die Stromversorgung von Festplatten sowie allen anderen Komponenten über ein zweites Netzteil ist auf den ersten Blick einfach zu implementieren, aber ein solches Stromversorgungsschema birgt viele Fallstricke und man muss hundertmal nachdenken, bevor man sich dafür entscheidet so ein Schritt. Mit der Kühlung ist alles einfacher: Sie müssen lediglich für die Luftzirkulation aller Festplatten sorgen und diese nicht zu nahe beieinander platzieren. Einfache Regeln, aber leider folgt ihnen nicht jeder. Und Fälle, in denen beide Festplatten in einem Array gleichzeitig ausfallen, sind keine Seltenheit.

Darüber hinaus ersetzt RAID nicht die Notwendigkeit einer regelmäßigen Erstellung Backups Daten. Spiegeln ist Spiegeln, aber wenn Sie versehentlich Dateien beschädigen oder löschen, hilft Ihnen die zweite Festplatte überhaupt nicht weiter. Erstellen Sie daher wann immer möglich Backups. Diese Regel gilt unabhängig vom Vorhandensein von RAID-Arrays im PC.

Also, bist du RAIDy? Ja? Großartig! Vergessen Sie im Streben nach Lautstärke und Geschwindigkeit nicht ein anderes Sprichwort: „Zwinge einen Narren, zu Gott zu beten, er wird sich sogar die Stirn brechen.“ Wir wünschen Ihnen starke Festplatten und zuverlässige Controller!

Kostenvorteil von lautem RAID

RAID ist auch unabhängig vom Geld gut. Aber berechnen wir den Preis des einfachsten 400-GB-Stripe-Arrays. Zwei Seagate Barracuda SATA 7200.8-Laufwerke mit jeweils 200 GB kosten etwa 230 US-Dollar. RAID-Controller sind in den meisten Mainboards integriert, das heißt, wir bekommen sie kostenlos.

Gleichzeitig kostet ein 400-GB-Laufwerk des gleichen Modells 280 US-Dollar. Die Differenz beträgt 50 $, und mit diesem Geld können Sie kaufen mächtiger Block Ernährung, die Sie zweifellos brauchen werden. Ich spreche nicht einmal davon, dass die Leistung einer zusammengesetzten „Festplatte“ zu einem günstigeren Preis fast doppelt so hoch sein wird wie die Leistung einer einzelnen Festplatte.

Führen wir nun die Berechnung durch und konzentrieren uns dabei auf das Gesamtvolumen von 250 GB. Es gibt keine 125-GB-Laufwerke, also nehmen wir zwei 120-GB-Festplatten. Der Preis pro Festplatte beträgt 90 US-Dollar, der Preis für eine 250-GB-Festplatte 130 US-Dollar. Nun ja, bei solchen Volumina hat die Leistung ihren Preis. Was wäre, wenn wir ein 300-GB-Array nehmen würden? Zwei 160-GB-Festplatten – etwa 200 US-Dollar, eine 300-GB-Festplatte – 170 US-Dollar … Nicht mehr dasselbe. Es stellt sich heraus, dass RAID nur dann von Vorteil ist, wenn sehr große Festplatten verwendet werden.

Alle modernen Mainboards sind mit einem integrierten RAID-Controller ausgestattet, Topmodelle verfügen sogar über mehrere integrierte RAID-Controller. Inwieweit integrierte RAID-Controller von Heimanwendern nachgefragt werden, ist eine andere Frage. Auf jeden Fall modern Hauptplatine bietet dem Benutzer die Möglichkeit, ein RAID-Array aus mehreren Festplatten zu erstellen. Allerdings nicht jeder Heimanwender weiß, wie man ein RAID-Array erstellt, welche Array-Ebene man wählt und hat im Allgemeinen keine Ahnung von den Vor- und Nachteilen der Verwendung von RAID-Arrays.
In diesem Artikel geben wir kurze Empfehlungen Zum Erstellen von RAID-Arrays auf Heim-PCs zeigen wir Ihnen anhand eines konkreten Beispiels, wie Sie die Leistung eines RAID-Arrays selbstständig testen können.

Geschichte der Schöpfung

Der Begriff „RAID-Array“ tauchte erstmals 1987 auf, als die amerikanischen Forscher Patterson, Gibson und Katz von der University of California Berkeley in ihrem Artikel „A Case for Redundant Arrays of Inexpensive Discs, RAID“ beschrieben, wie man auf diese Weise mehrere kombinieren kann kostengünstige Festplatten in einem logischen Gerät zusammenzufassen, sodass die resultierende Kapazität und Leistung des Systems erhöht wird und der Ausfall einzelner Laufwerke nicht zum Ausfall des gesamten Systems führt.

Seit der Veröffentlichung dieses Artikels sind mehr als 20 Jahre vergangen, aber die Technologie zum Aufbau von RAID-Arrays hat auch heute noch nicht an Relevanz verloren. Das Einzige, was sich seitdem geändert hat, ist die Dekodierung des RAID-Akronyms. Tatsache ist, dass RAID-Arrays anfangs überhaupt nicht auf billigen Festplatten aufgebaut waren, daher wurde das Wort „Inexpensive“ (preiswert) in „Independent“ (unabhängig) geändert, was zutreffender war.

Funktionsprinzip

RAID ist also ein redundantes Array unabhängiger Festplatten (Redundant Arrays of Independent Discs), dessen Aufgabe es ist, Fehlertoleranz sicherzustellen und die Leistung zu steigern. Fehlertoleranz wird durch Redundanz erreicht. Das heißt, ein Teil der Speicherplatzkapazität wird für offizielle Zwecke zugewiesen und ist für den Benutzer unzugänglich.

Eine erhöhte Leistung des Festplattensubsystems wird durch den gleichzeitigen Betrieb mehrerer Festplatten gewährleistet. In diesem Sinne gilt: Je mehr Festplatten im Array vorhanden sind (bis zu einer bestimmten Grenze), desto besser.

Der gemeinsame Betrieb von Festplatten in einem Array kann entweder über parallelen oder unabhängigen Zugriff organisiert werden. Beim parallelen Zugriff wird der Speicherplatz zur Datenaufzeichnung in Blöcke (Strips) unterteilt. Ebenso werden die auf die Festplatte zu schreibenden Informationen in dieselben Blöcke unterteilt. Beim Aufzeichnen werden einzelne Blöcke auf unterschiedliche Datenträger geschrieben, wobei mehrere Blöcke beschrieben werden verschiedene Festplatten erfolgt gleichzeitig, was zu einer Leistungssteigerung bei Schreibvorgängen führt. Notwendige Informationen Es wird auch in separaten Blöcken gleichzeitig von mehreren Festplatten gelesen, was auch die Leistung proportional zur Anzahl der Festplatten im Array erhöht.

Es ist zu beachten, dass das parallele Zugriffsmodell nur implementiert wird, wenn die Größe der Datenschreibanforderung größer ist als die Größe des Blocks selbst. Ansonsten ist eine parallele Aufzeichnung mehrerer Blöcke nahezu unmöglich. Stellen wir uns eine Situation vor, in der die Größe eines einzelnen Blocks 8 KB und die Größe einer Anforderung zum Schreiben von Daten 64 KB beträgt. In diesem Fall werden die Quellinformationen in acht Blöcke zu je 8 KB zerschnitten. Wenn Sie über ein Array mit vier Festplatten verfügen, können Sie vier Blöcke oder 32 KB gleichzeitig schreiben. Offensichtlich sind im betrachteten Beispiel die Schreib- und Lesegeschwindigkeiten viermal höher als bei Verwendung einer einzelnen Festplatte. Dies gilt nur für eine ideale Situation, aber die Anforderungsgröße ist nicht immer ein Vielfaches der Blockgröße und der Anzahl der Festplatten im Array.

Ist die Größe der aufgezeichneten Daten kleiner als die Blockgröße, kommt ein grundlegend anderes Modell zum Einsatz – der unabhängige Zugriff. Darüber hinaus kann dieses Modell auch verwendet werden, wenn die Größe der zu schreibenden Daten größer als die Größe eines Blocks ist. Beim unabhängigen Zugriff werden alle Daten einer einzelnen Anfrage auf eine separate Festplatte geschrieben, d. h. die Situation ist identisch mit der Arbeit mit einer Festplatte. Der Vorteil des unabhängigen Zugriffsmodells besteht darin, dass mehrere gleichzeitig eintreffende Schreib-(Lese-)Anfragen alle unabhängig voneinander auf separaten Festplatten ausgeführt werden. Diese Situation ist beispielsweise für Server typisch.

Gemäß verschiedene Arten Zugriff vorhanden und verschiedene Typen RAID-Arrays, die normalerweise durch RAID-Level gekennzeichnet sind. Neben der Art des Zugriffs unterscheiden sich RAID-Level auch in der Art und Weise, wie sie redundante Informationen aufnehmen und generieren. Redundante Informationen können entweder auf einer dedizierten Festplatte abgelegt oder auf alle Festplatten verteilt werden. Es gibt viele Möglichkeiten, diese Informationen zu generieren. Die einfachste davon ist die vollständige Duplizierung (100-prozentige Redundanz) oder Spiegelung. Darüber hinaus werden Fehlerkorrekturcodes sowie Paritätsberechnungen verwendet.

RAID-Level

Derzeit gibt es mehrere RAID-Level, die als standardisiert gelten können – dies sind RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 und RAID 6.

Es kommen auch verschiedene Kombinationen von RAID-Levels zum Einsatz, wodurch Sie deren Vorteile kombinieren können. Typischerweise handelt es sich dabei um eine Kombination aus einer Art Fehlertoleranzstufe und einer Nullstufe zur Verbesserung der Leistung (RAID 1+0, RAID 0+1, RAID 50).

Beachten Sie, dass alle modernen RAID-Controller die JBOD-Funktion (Just a Bench Of Disks) unterstützen, die nicht für die Erstellung von Arrays gedacht ist, sondern die Möglichkeit bietet, einzelne Festplatten an den RAID-Controller anzuschließen.

Zu beachten ist, dass die auf Mainboards für Heim-PCs integrierten RAID-Controller nicht alle RAID-Level unterstützen. Dual-Port-RAID-Controller unterstützen nur die Level 0 und 1, während RAID-Controller dies unterstützen große Menge Ports (zum Beispiel ein 6-Port-RAID-Controller, der in die Southbridge des ICH9R/ICH10R-Chipsatzes integriert ist) – ebenfalls Level 10 und 5.

Wenn wir über Motherboards sprechen, die auf Intel-Chipsätzen basieren, implementieren diese außerdem auch die Intel Matrix RAID-Funktion, mit der Sie erstellen können Festplatte x gleichzeitig RAID-Matrizen mehrerer Ebenen, wobei jedem von ihnen ein Teil des Speicherplatzes zugewiesen wird.

RAID 0

RAID-Level 0 ist streng genommen kein redundantes Array und bietet dementsprechend keine zuverlässige Datenspeicherung. Dennoch dieses Niveau Wird aktiv in Fällen eingesetzt, in denen eine hohe Leistung des Festplattensubsystems sichergestellt werden muss. Beim Erstellen eines RAID-Level-0-Arrays werden Informationen in Blöcke (manchmal auch Stripes genannt) unterteilt, in die geschrieben wird separate Festplatten, das heißt, es entsteht ein System mit parallelem Zugriff (sofern die Blockgröße dies natürlich zulässt). Durch die gleichzeitige E/A von mehreren Festplatten bietet RAID 0 die schnellsten Datenübertragungsgeschwindigkeiten und maximale Speicherplatzeffizienz, da kein Speicherplatz für Prüfsummen erforderlich ist. Die Umsetzung dieses Levels ist sehr einfach. RAID 0 wird hauptsächlich in Bereichen eingesetzt, in denen eine schnelle Übertragung großer Datenmengen erforderlich ist.

RAID 1 (gespiegelte Festplatte)

RAID-Level 1 ist ein Array aus zwei Festplatten mit 100-prozentiger Redundanz. Das heißt, die Daten werden einfach vollständig dupliziert (gespiegelt), wodurch ein sehr hohes Maß an Zuverlässigkeit (und Kosten) erreicht wird. Beachten Sie, dass es zur Implementierung von Level 1 nicht erforderlich ist, die Festplatten und Daten zunächst in Blöcke zu partitionieren. Im einfachsten Fall enthalten zwei Festplatten die gleichen Informationen und bilden eine logische Festplatte. Wenn eine Festplatte ausfällt, werden ihre Funktionen von einer anderen ausgeführt (was für den Benutzer absolut transparent ist). Das Wiederherstellen eines Arrays erfolgt durch einfaches Kopieren. Darüber hinaus verdoppelt diese Stufe die Lesegeschwindigkeit von Informationen, da dieser Vorgang gleichzeitig von zwei Festplatten ausgeführt werden kann. Dieses Informationsspeicherschema wird hauptsächlich in Fällen verwendet, in denen die Kosten für die Datensicherheit viel höher sind als die Kosten für die Implementierung eines Speichersystems.

RAID 5

RAID 5 ist ein fehlertolerantes Festplatten-Array mit verteilter Prüfsummenspeicherung. Bei der Aufzeichnung wird der Datenstrom auf Byte-Ebene in Blöcke (Stripes) unterteilt und gleichzeitig in zyklischer Reihenfolge auf alle Platten des Arrays geschrieben.

Angenommen, das Array enthält N Festplatten und die Stripe-Größe D. Für jede Portion n–1 Streifen werden berechnet Prüfsumme P.

Streifen d 1 auf der ersten Festplatte aufgezeichnet, Streifen d 2- beim zweiten und so weiter bis zum Streifen dn–1, das geschrieben wird an ( N–1)te Festplatte. Weiter geht's N-Disk-Prüfsumme wird geschrieben p n, und der Vorgang wird zyklisch ab der ersten Festplatte wiederholt, auf die der Stripe geschrieben wird d n.

Aufnahmevorgang (n–1) Streifen und deren Prüfsumme werden für alle gleichzeitig erstellt N Festplatten.

Die Prüfsumme wird mithilfe einer bitweisen Exklusiv-Oder-Operation (XOR) berechnet, die auf die zu schreibenden Datenblöcke angewendet wird. Also, wenn ja N Festplatte, D- Datenblock (Stripe), dann wird die Prüfsumme nach folgender Formel berechnet:

pn=d1 d 2 ... d 1–1.

Wenn eine Festplatte ausfällt, können die darauf befindlichen Daten mithilfe der Kontrolldaten und der auf den Arbeitsplatten verbleibenden Daten wiederhergestellt werden.

Betrachten Sie zur Veranschaulichung Blöcke mit jeweils vier Bits. Es seien nur fünf Festplatten zum Speichern von Daten und zum Aufzeichnen von Prüfsummen vorhanden. Wenn eine Folge von Bits 1101 0011 1100 1011 vorhanden ist, die in Blöcke zu je vier Bits unterteilt ist, muss zur Berechnung der Prüfsumme die folgende bitweise Operation ausgeführt werden:

1101 0011 1100 1011 = 1001.

Somit beträgt die auf die fünfte Festplatte geschriebene Prüfsumme 1001.

Wenn eine der Festplatten, zum Beispiel die vierte, ausfällt, erfolgt die Blockierung d 4= 1100 ist beim Lesen nicht verfügbar. Sein Wert kann jedoch mithilfe der Prüfsumme und der Werte der verbleibenden Blöcke mithilfe derselben „exklusiven ODER“-Operation leicht wiederhergestellt werden:

d4 = d1 d 2d 4S. 5.

In unserem Beispiel erhalten wir:

d4 = (1101) (0011) (1100) (1011) = 1001.

Bei RAID 5 sind alle Festplatten im Verbund gleich groß, die insgesamt zum Schreiben zur Verfügung stehende Kapazität des Festplattensubsystems wird jedoch um genau eine Festplatte kleiner. Wenn beispielsweise fünf Festplatten 100 GB groß sind, beträgt die tatsächliche Größe des Arrays 400 GB, da 100 GB für Steuerinformationen reserviert sind.

RAID 5 kann auf drei oder mehr Festplatten aufgebaut werden. Mit zunehmender Anzahl an Festplatten in einem Array nimmt dessen Redundanz ab.

RAID 5 verfügt über eine unabhängige Zugriffsarchitektur, die die gleichzeitige Ausführung mehrerer Lese- oder Schreibvorgänge ermöglicht.

RAID 10

RAID-Level 10 ist eine Kombination aus den Leveln 0 und 1. Die Mindestanforderung für diesen Level sind vier Laufwerke. In einem RAID 10-Array aus vier Laufwerken werden diese paarweise zu Level-0-Arrays zusammengefasst und beide Arrays werden als logische Laufwerke zu einem Level-1-Array zusammengefasst. Ein anderer Ansatz ist ebenfalls möglich: Zunächst werden die Festplatten zu gespiegelten Arrays zusammengefasst Ebene 1 und dann logische Laufwerke basierend auf diesen Arrays - in ein Array der Ebene 0.

Intel Matrix RAID

Die betrachteten RAID-Arrays der Level 5 und 1 werden zu Hause selten verwendet, was vor allem an den hohen Kosten solcher Lösungen liegt. Am häufigsten wird für Heim-PCs ein Level-0-Array auf zwei Festplatten verwendet. Wie bereits erwähnt, bietet RAID-Level 0 keine sichere Datenspeicherung, und daher stehen Endbenutzer vor der Wahl: Erstellen Sie ein schnelles, aber unzuverlässiges RAID-Level-0-Array oder, was die Kosten für Speicherplatz verdoppelt, ein RAID-Level-1-Array Dies bietet eine zuverlässige Datenspeicherung, bietet jedoch keine nennenswerten Leistungsvorteile.

Um dieses schwierige Problem zu lösen, hat Intel die Intel Matrix Storage-Technologie entwickelt, die die Vorteile von Tier-0- und Tier-1-Arrays auf nur zwei physischen Festplatten vereint. Und um zu betonen, dass es sich in diesem Fall nicht nur um ein RAID-Array handelt, sondern um ein Array, das sowohl physische als auch logische Festplatten kombiniert, wird im Namen der Technologie anstelle des Wortes „Array“ das Wort „Matrix“ verwendet “.

Was ist also eine RAID-Matrix mit zwei Festplatten und Intel Matrix Storage-Technologie? Die Grundidee besteht darin, dass, wenn das System über mehrere Festplatten und ein Motherboard mit einem Intel-Chipsatz verfügt, der die Intel Matrix Storage-Technologie unterstützt, der Speicherplatz in mehrere Teile aufgeteilt werden kann, die jeweils als separates RAID-Array fungieren.

Schauen wir uns ein einfaches Beispiel einer RAID-Matrix an, die aus zwei Festplatten mit jeweils 120 GB besteht. Jede der Festplatten kann in zwei logische Festplatten aufgeteilt werden, beispielsweise 40 und 80 GB. Anschließend können zwei logische Laufwerke gleicher Größe (z. B. je 40 GB) zu einer RAID-Level-1-Matrix und die restlichen logischen Laufwerke zu einer RAID-Level-0-Matrix zusammengefasst werden.

Grundsätzlich ist es mit zwei physischen Festplatten auch möglich, nur eine oder zwei RAID-Level-0-Matrizen zu erstellen, es ist jedoch nicht möglich, nur Level-1-Matrizen zu erhalten. Das heißt, wenn das System nur über zwei Festplatten verfügt, können Sie mit der Intel Matrix Storage-Technologie die folgenden Arten von RAID-Matrizen erstellen:

  • eine Matrix der Ebene 0;
  • zwei Matrizen der Ebene 0;
  • Level-0-Matrix und Level-1-Matrix.

Wenn das System über drei Festplatten verfügt, können folgende Arten von RAID-Matrizen erstellt werden:

  • eine Matrix der Ebene 0;
  • eine Matrix der Ebene 5;
  • zwei Matrizen der Ebene 0;
  • zwei Matrizen der Stufe 5;
  • Level-0-Matrix und Level-5-Matrix.

Verfügt das System über vier Festplatten, besteht zusätzlich die Möglichkeit, eine RAID-Matrix der Stufe 10 sowie Kombinationen aus Stufe 10 und Stufe 0 oder 5 zu erstellen.

Von der Theorie zur Praxis

Wenn wir über Heimcomputer sprechen, sind RAID-Arrays der Stufen 0 und 1 am beliebtesten und beliebtesten. Die Verwendung von RAID-Arrays mit drei oder mehr Festplatten in Heim-PCs ist eher eine Ausnahme von der Regel. Dies liegt daran, dass einerseits die Kosten von RAID-Arrays proportional zur Anzahl der daran beteiligten Festplatten steigen und andererseits bei Heimcomputern die Kapazität des Festplatten-Arrays von vorrangiger Bedeutung ist , und nicht seine Leistung und Zuverlässigkeit.

Daher werden wir in Zukunft die RAID-Level 0 und 1 auf Basis von nur zwei Festplatten betrachten. Ziel unserer Forschung ist es, die Leistung und Funktionalität von RAID-Arrays der Stufen 0 und 1 zu vergleichen, die auf der Grundlage mehrerer integrierter RAID-Controller erstellt wurden, sowie die Abhängigkeit der Geschwindigkeitseigenschaften des RAID-Arrays vom Stripe zu untersuchen Größe.

Tatsache ist, dass sich die Lese- und Schreibgeschwindigkeit bei Verwendung eines RAID-Level-0-Arrays zwar theoretisch verdoppeln sollte, die Steigerung der Geschwindigkeitseigenschaften in der Praxis jedoch viel weniger bescheiden ausfällt und je nach RAID-Controller unterschiedlich ausfällt. Das Gleiche gilt auch für ein RAID-Level-1-Array: Obwohl theoretisch die Lesegeschwindigkeit verdoppelt werden müsste, läuft in der Praxis nicht alles so reibungslos.

Für unseren RAID-Controller-Vergleichstest haben wir das Gigabyte GA-EX58A-UD7-Motherboard verwendet. Dieses Board basiert auf dem Intel X58 Express-Chipsatz mit der ICH10R Southbridge, die über einen integrierten RAID-Controller für sechs SATA II-Ports verfügt, der die Organisation von RAID-Arrays der Level 0, 1, 10 und 5 unterstützt Intel-Funktion Matrix-RAID. Darüber hinaus integriert das Gigabyte GA-EX58A-UD7-Board den GIGABYTE SATA2 RAID-Controller, der über zwei SATA II-Ports mit der Möglichkeit verfügt, RAID-Arrays der Level 0, 1 und JBOD zu organisieren.

Auf dem GA-EX58A-UD7-Board befindet sich außerdem ein integrierter SATA III-Controller Marvell 9128, auf dessen Basis zwei SATA III-Ports mit der Möglichkeit implementiert sind, RAID-Arrays der Level 0, 1 und JBOD zu organisieren.

So verfügt das Gigabyte GA-EX58A-UD7-Board über drei separate RAID-Controller, auf deren Basis Sie RAID-Arrays der Level 0 und 1 erstellen und miteinander vergleichen können. Erinnern wir uns daran, dass der SATA III-Standard abwärtskompatibel mit dem SATA II-Standard ist und daher auf dem Marvell 9128-Controller basiert, der Laufwerke mit unterstützt SATA-Schnittstelle III können Sie auch RAID-Arrays mithilfe von Laufwerken mit SATA II-Schnittstelle erstellen.

Der Prüfstand hatte folgenden Aufbau:

  • Prozessor - Intel Core Prozessor i7-965 Extreme Edition;
  • Hauptplatine - Gigabyte GA-EX58A-UD7;
  • BIOS-Version - F2a;
  • Festplatten – zwei Western Digital WD1002FBYS-Laufwerke, ein Western Digital WD3200AAKS-Laufwerk;
  • integrierte RAID-Controller:
  • ICH10R,
  • GIGABYTE SATA2,
  • Marvell 9128;
  • Speicher - DDR3-1066;
  • Speicherkapazität - 3 GB (drei Module zu je 1024 MB);
  • Speicherbetriebsmodus - DDR3-1333, Dreikanal-Betriebsmodus;
  • Grafikkarte - Gigabyte GeForce GTS295;
  • Netzteil - Tagan 1300W.

Die Tests wurden unter der Kontrolle des Operationssaals durchgeführt Microsoft-Systeme Windows 7 Ultimate (32-Bit). Das Betriebssystem wurde auf einem Western Digital WD3200AAKS-Laufwerk installiert, das an den Port des in die ICH10R-Southbridge integrierten SATA-II-Controllers angeschlossen wurde. Das RAID-Array wurde auf zwei WD1002FBYS-Laufwerken mit SATA II-Schnittstelle aufgebaut.

Um die Geschwindigkeitseigenschaften der erstellten RAID-Arrays zu messen, haben wir das Dienstprogramm IOmeter verwendet, das den Industriestandard zur Messung der Leistung von Festplattensystemen darstellt.

IOmeter-Dienstprogramm

Da wir diesen Artikel als eine Art Benutzerhandbuch zum Erstellen und Testen von RAID-Arrays gedacht haben, wäre es logisch, mit einer Beschreibung des Dienstprogramms IOmeter (Input/Output Meter) zu beginnen, bei dem es sich, wie bereits erwähnt, um eine Art Dienstprogramm handelt Industriestandard zur Messung der Leistung von Festplattensystemen. Dieses Dienstprogramm ist kostenlos und kann von http://www.iometer.org heruntergeladen werden.

Das Dienstprogramm IOmeter ist ein synthetischer Test und ermöglicht Ihnen die Arbeit mit Festplatten, die nicht in logische Partitionen unterteilt sind, sodass Sie Laufwerke unabhängig davon testen können Dateistruktur und den Einfluss des Betriebssystems auf Null reduzieren.

Beim Testen ist es möglich, ein bestimmtes Zugriffsmodell oder „Muster“ zu erstellen, mit dem Sie die Ausführung festlegen können Festplatte spezifische Operationen. Im Falle der Schöpfung spezifisches Modell Der Zugriff ist erlaubt, um die folgenden Parameter zu ändern:

  • Größe der Datenübertragungsanfrage;
  • zufällige/sequenzielle Verteilung (in %);
  • Verteilung der Lese-/Schreibvorgänge (in %);
  • Die Anzahl der einzelnen E/A-Vorgänge, die parallel ausgeführt werden.

Das IOmeter-Dienstprogramm erfordert keine Installation auf einem Computer und besteht aus zwei Teilen: IOmeter selbst und Dynamo.

IOmeter ist ein Überwachungsteil des Programms mit einer grafischen Benutzeroberfläche, mit der Sie alle Funktionen ausführen können notwendigen Einstellungen. Dynamo ist ein Lastgenerator ohne Schnittstelle. Jedes Mal, wenn Sie IOmeter.exe ausführen, wird der Dynamo.exe-Lastgenerator automatisch gestartet.

Um mit dem IOmeter-Programm zu arbeiten, führen Sie einfach die Datei IOmeter.exe aus. Dadurch wird das Hauptfenster des IOmeter-Programms geöffnet (Abb. 1).

Reis. 1. Hauptfenster des IOmeter-Programms

Es ist zu beachten, dass Sie mit dem Dienstprogramm IOmeter nicht nur lokale Festplattensysteme (DAS), sondern auch an das Netzwerk angeschlossene Speichergeräte (NAS) testen können. Beispielsweise kann damit die Leistung des Festplattensubsystems (Dateiserver) eines Servers mithilfe mehrerer Netzwerk-Clients getestet werden. Daher beziehen sich einige der Lesezeichen und Tools im Fenster des IOmeter-Dienstprogramms speziell auf Netzwerkeinstellungen Programme. Es ist klar, dass wir beim Testen von Festplatten und RAID-Arrays diese Programmfunktionen nicht benötigen und daher nicht den Zweck aller Registerkarten und Tools erläutern.

Wenn Sie also das IOmeter-Programm starten, wird auf der linken Seite des Hauptfensters (im Topologiefenster) eine Baumstruktur aller laufenden Lastgeneratoren (Dynamo-Instanzen) angezeigt. Jede ausgeführte Dynamo-Lastgeneratorinstanz wird als Manager bezeichnet. Darüber hinaus ist das IOmeter-Programm multithreaded und jeder einzelne Thread, der auf einer Dynamo-Lastgenerator-Instanz ausgeführt wird, wird als Worker bezeichnet. Die Anzahl der laufenden Worker entspricht immer der Anzahl der logischen Prozessorkerne.

In unserem Beispiel verwenden wir nur einen Computer mit einem Quad-Core-Prozessor, der die Hyper-Threading-Technologie unterstützt, sodass nur ein Manager (eine Instanz von Dynamo) und acht (entsprechend der Anzahl der logischen Prozessorkerne) Worker gestartet werden.

Um Festplatten in diesem Fenster zu testen, ist es eigentlich nicht nötig, etwas zu ändern oder hinzuzufügen.

Wenn Sie den Namen des Computers mit der Maus in der Baumstruktur der laufenden Dynamo-Instanzen auswählen, dann im Fenster Ziel auf der Registerkarte Festplattenziel Alle auf dem Computer installierten Festplatten, Festplatten-Arrays und anderen Laufwerke (einschließlich Netzlaufwerke) werden angezeigt. Dies sind die Laufwerke, mit denen IOmeter arbeiten kann. Medien können gelb oder blau markiert sein. Logische Partitionen von Medien werden gelb markiert, und physische Geräte ohne darauf erstellte logische Partitionen werden blau markiert. Ein logischer Abschnitt kann durchgestrichen sein oder nicht. Tatsache ist, dass das Programm, damit es mit einer logischen Partition arbeiten kann, zunächst vorbereitet werden muss, indem darauf eine spezielle Datei erstellt wird, deren Größe der Kapazität der gesamten logischen Partition entspricht. Wenn die logische Partition durchgestrichen ist, bedeutet dies, dass der Abschnitt noch nicht zum Testen vorbereitet ist (er wird in der ersten Testphase automatisch vorbereitet). Wenn der Abschnitt jedoch nicht durchgestrichen ist, bedeutet dies, dass bereits eine Datei vorhanden ist auf der logischen Partition erstellt und vollständig zum Testen bereit.

Beachten Sie, dass es trotz der unterstützten Fähigkeit, mit logischen Partitionen zu arbeiten, optimal ist, Laufwerke zu testen, die nicht in logische Partitionen partitioniert sind. Sie können eine logische Festplattenpartition ganz einfach löschen – über ein Snap-In Datenträgerverwaltung. Um darauf zuzugreifen, klicken Sie einfach mit der rechten Maustaste auf das Symbol Computer auf dem Desktop und wählen Sie das Element im sich öffnenden Menü aus Verwalten. Im sich öffnenden Fenster Computermanagement Auf der linken Seite müssen Sie das Element auswählen Lagerung, und darin - Datenträgerverwaltung. Danach auf der rechten Seite des Fensters Computermanagement Alle angeschlossenen Laufwerke werden angezeigt. Per Rechtsklick auf auf die gewünschte Festplatte und wählen Sie das Element im sich öffnenden Menü aus Volume löschen... können Sie eine logische Partition auf einer physischen Festplatte löschen. Wir möchten Sie daran erinnern, dass beim Löschen einer logischen Partition von einer Festplatte alle darauf befindlichen Informationen gelöscht werden, ohne dass eine Wiederherstellung möglich ist.

Im Allgemeinen können Sie mit dem IOmeter-Dienstprogramm nur leere Festplatten oder Festplatten-Arrays testen. Das heißt, Sie können eine Festplatte oder ein Festplatten-Array, auf dem das Betriebssystem installiert ist, nicht testen.

Kehren wir also zur Beschreibung des IOmeter-Dienstprogramms zurück. Im Fenster Ziel auf der Registerkarte Festplattenziel Sie müssen die Festplatte (oder das Festplatten-Array) auswählen, die getestet werden soll. Als nächstes müssen Sie die Registerkarte öffnen Zugriffsspezifikationen(Abb. 2), anhand dessen das Testszenario bestimmt werden kann.

Reis. 2. Greifen Sie auf die Registerkarte „Spezifikationen“ des IOmeter-Dienstprogramms zu

Im Fenster Globale Zugriffsspezifikationen Es gibt eine Liste vordefinierter Testskripte, die dem Bootmanager zugewiesen werden können. Da wir diese Skripte jedoch nicht benötigen, können sie alle ausgewählt und gelöscht werden (hierfür gibt es eine Schaltfläche). Löschen). Klicken Sie anschließend auf die Schaltfläche Neu um ein neues Testskript zu erstellen. Im sich öffnenden Fenster Zugriffsspezifikation bearbeiten Sie können das Startszenario für eine Festplatte oder ein RAID-Array definieren.

Angenommen, wir möchten die Abhängigkeit der Geschwindigkeit des sequentiellen (linearen) Lesens und Schreibens von der Größe des Datenübertragungsanforderungsblocks herausfinden. Dazu müssen wir eine Sequenz von Boot-Skripten im sequentiellen Lesemodus mit unterschiedlichen Blockgrößen und dann eine Sequenz von Boot-Skripten im sequentiellen Schreibmodus mit unterschiedlichen Blockgrößen generieren. Typischerweise werden Blockgrößen als Reihe gewählt, wobei jedes Mitglied doppelt so groß ist wie das vorherige, und das erste Mitglied dieser Reihe ist 512 Bytes groß. Das heißt, die Blockgrößen sind wie folgt: 512 Byte, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 KB, 1 MB. Es macht keinen Sinn, die Blockgröße für sequentielle Operationen größer als 1 MB zu machen, da sich bei solch großen Datenblockgrößen die Geschwindigkeit sequentieller Operationen nicht ändert.

Erstellen wir also ein Ladeskript im sequentiellen Lesemodus für einen Block von 512 Bytes.

Auf dem Feld Name Fenster Zugriffsspezifikation bearbeiten Geben Sie den Namen des Ladeskripts ein. Beispiel: Sequential_Read_512. Als nächstes auf dem Feld Größe der Übertragungsanforderung Wir legen die Datenblockgröße auf 512 Bytes fest. Schieberegler Prozentuale zufällige/sequenzielle Verteilung(das prozentuale Verhältnis zwischen sequentiellen und selektiven Operationen) verschieben wir ganz nach links, sodass alle unsere Operationen nur sequentiell sind. Nun, der Schieberegler , der das prozentuale Verhältnis zwischen Lese- und Schreibvorgängen festlegt, wird ganz nach rechts verschoben, sodass alle unsere Vorgänge schreibgeschützt sind. Weitere Parameter im Fenster Zugriffsspezifikation bearbeiten kein Änderungsbedarf (Abb. 3).

Reis. 3. Bearbeiten Sie das Fenster „Zugriffsspezifikation“, um ein sequentielles Leseladeskript zu erstellen
mit einer Datenblockgröße von 512 Byte

Klicken Sie auf die Schaltfläche OK, und das erste von uns erstellte Skript wird im Fenster angezeigt Globale Zugriffsspezifikationen auf der Registerkarte Zugriffsspezifikationen IOmeter-Dienstprogramme.

Ebenso müssen Sie Skripte für die verbleibenden Datenblöcke erstellen. Um Ihnen die Arbeit zu erleichtern, ist es jedoch einfacher, das Skript nicht jedes Mal neu zu erstellen, indem Sie auf die Schaltfläche klicken Neu, und nachdem Sie das zuletzt erstellte Szenario ausgewählt haben, drücken Sie die Taste Kopie bearbeiten(Kopie bearbeiten). Danach öffnet sich das Fenster erneut Zugriffsspezifikation bearbeiten mit den Einstellungen unseres zuletzt erstellten Skripts. Es reicht aus, nur den Namen und die Größe des Blocks zu ändern. Nachdem Sie ein ähnliches Verfahren für alle anderen Blockgrößen durchgeführt haben, können Sie mit der Erstellung von Skripten für die sequentielle Aufzeichnung beginnen, was bis auf den Schieberegler auf die gleiche Weise geschieht Prozentuale Lese-/Schreibverteilung, der das prozentuale Verhältnis zwischen Lese- und Schreibvorgängen festlegt, muss ganz nach links verschoben werden.

Ebenso können Sie Skripte zum selektiven Schreiben und Lesen erstellen.

Nachdem alle Skripte fertig sind, müssen sie dem Download-Manager zugewiesen werden, d. h. angeben, mit welchen Skripten sie funktionieren sollen Dynamo.

Dazu prüfen wir noch einmal, was sich im Fenster befindet Topologie Der Name des Computers (also des Lastmanagers auf dem lokalen PC) wird hervorgehoben und nicht der einzelne Worker. Dadurch wird sichergestellt, dass Lastszenarien allen Workern gleichzeitig zugewiesen werden. Weiter im Fenster Globale Zugriffsspezifikationen Wählen Sie alle von uns erstellten Lastszenarien aus und drücken Sie die Taste Hinzufügen. Alle ausgewählten Lastszenarien werden dem Fenster hinzugefügt (Abb. 4).

Reis. 4. Zuweisen der erstellten Lastszenarien zum Lastmanager

Danach müssen Sie zur Registerkarte gehen Versuchsaufbau(Abb. 5), wo Sie die Ausführungszeit jedes von uns erstellten Skripts festlegen können. Tun Sie dies in einer Gruppe Laufzeit Legen Sie die Ausführungszeit des Lastszenarios fest. Es reicht aus, die Zeit auf 3 Minuten einzustellen.

Reis. 5. Festlegen der Ausführungszeit des Lastszenarios

Darüber hinaus im Feld Testbeschreibung Sie müssen den Namen des gesamten Tests angeben. Im Prinzip gibt es auf dieser Registerkarte noch viele weitere Einstellungen, die für unsere Aufgaben jedoch nicht benötigt werden.

Nachdem alle notwendigen Einstellungen vorgenommen wurden, empfiehlt es sich, den erstellten Test durch Klicken auf die Schaltfläche mit dem Bild einer Diskette in der Symbolleiste zu speichern. Der Test wird mit der Erweiterung *.icf gespeichert. Anschließend können Sie das erstellte Lastszenario nutzen, indem Sie nicht die Datei IOmeter.exe, sondern die gespeicherte Datei mit der Erweiterung *.icf ausführen.

Jetzt können Sie direkt mit dem Testen beginnen, indem Sie auf den Button mit der Flagge klicken. Sie werden aufgefordert, den Namen der Datei mit den Testergebnissen anzugeben und ihren Speicherort auszuwählen. Die Testergebnisse werden in einer CSV-Datei gespeichert, die dann einfach nach Excel exportiert werden kann und durch Setzen eines Filters in der ersten Spalte die gewünschten Daten mit Testergebnissen ausgewählt werden kann.

Während des Tests sind auf der Registerkarte Zwischenergebnisse zu sehen Ergebnisanzeige, und Sie können auf der Registerkarte bestimmen, zu welchem ​​Lastszenario sie gehören Zugriffsspezifikationen. Im Fenster Zugewiesene Zugriffsspezifikation Ein ausgeführtes Skript wird in Grün, abgeschlossene Skripte in Rot und nicht ausgeführte Skripte in Blau angezeigt.

Deshalb haben wir uns die grundlegenden Techniken für die Arbeit mit dem IOmeter-Dienstprogramm angesehen, die zum Testen einzelner Festplatten oder RAID-Arrays erforderlich sind. Beachten Sie, dass wir nicht über alle Funktionen des IOmeter-Dienstprogramms gesprochen haben, eine Beschreibung aller seiner Funktionen jedoch den Rahmen dieses Artikels sprengen würde.

Erstellen eines RAID-Arrays basierend auf dem GIGABYTE SATA2-Controller

Also beginnen wir mit der Erstellung eines RAID-Arrays basierend auf zwei Festplatten mithilfe des auf der Platine integrierten GIGABYTE SATA2 RAID-Controllers. Natürlich stellt Gigabyte selbst keine Chips her und daher verbirgt sich unter dem GIGABYTE SATA2-Chip ein umbenannter Chip eines anderen Unternehmens. Wie Sie der Treiber-INF-Datei entnehmen können, handelt es sich um einen Controller der JMicron JMB36x-Serie.

Der Zugriff auf das Controller-Setup-Menü ist beim Systemstart möglich. Dazu müssen Sie die Tastenkombination Strg+G drücken, wenn die entsprechende Aufschrift auf dem Bildschirm erscheint. Natürlich zuerst rein BIOS-Einstellungen Sie müssen den Betriebsmodus von zwei SATA-Ports, die zum GIGABYTE SATA2-Controller gehören, als RAID definieren (andernfalls ist der Zugriff auf das RAID-Array-Konfiguratormenü nicht möglich).

Das Setup-Menü für den GIGABYTE SATA2 RAID-Controller ist recht einfach. Wie bereits erwähnt, verfügt der Controller über einen Dual-Port und ermöglicht die Erstellung von RAID-Arrays der Stufe 0 oder 1. Über das Controller-Einstellungsmenü können Sie ein RAID-Array löschen oder erstellen. Beim Erstellen eines RAID-Arrays können Sie dessen Namen angeben, die Array-Ebene (0 oder 1) auswählen, die Stripe-Größe für RAID 0 festlegen (128, 84, 32, 16, 8 oder 4 KB) und auch die Größe des RAID-Arrays bestimmen Array.

Sobald das Array erstellt ist, sind keine Änderungen mehr daran möglich. Das heißt, Sie können für das erstellte Array beispielsweise seinen Level oder seine Stripe-Größe nicht nachträglich ändern. Dazu müssen Sie zunächst das Array (mit Datenverlust) löschen und anschließend erneut erstellen. Tatsächlich gilt dies nicht nur für den GIGABYTE SATA2-Controller. Die Unfähigkeit, die Parameter der erstellten RAID-Arrays zu ändern, ist ein Merkmal aller Controller, das sich aus dem eigentlichen Prinzip der Implementierung eines RAID-Arrays ergibt.

Sobald ein Array auf Basis des GIGABYTE SATA2-Controllers erstellt wurde, können aktuelle Informationen dazu über eingesehen werden GIGABYTE-Dienstprogramm RAID-Konfigurator, der automatisch zusammen mit dem Treiber installiert wird.

Erstellen eines RAID-Arrays basierend auf dem Marvell 9128-Controller

Die Konfiguration des Marvell 9128 RAID-Controllers ist nur über die BIOS-Einstellungen des Gigabyte GA-EX58A-UD7-Boards möglich. Generell muss gesagt werden, dass das Menü des Marvell 9128 Controller-Konfigurators etwas grob ist und unerfahrene Benutzer in die Irre führen kann. Auf diese kleineren Mängel werden wir jedoch etwas später eingehen, zunächst aber auf die wichtigsten eingehen Funktionalität Marvell 9128-Controller.

Obwohl dieser Controller SATA III-Laufwerke unterstützt, ist er auch vollständig mit SATA II-Laufwerken kompatibel.

Mit dem Marvell 9128-Controller können Sie ein RAID-Array der Level 0 und 1 basierend auf zwei Festplatten erstellen. Für ein Array der Ebene 0 können Sie die Stripe-Größe auf 32 oder 64 KB festlegen und außerdem den Namen des Arrays angeben. Darüber hinaus gibt es eine erklärungsbedürftige Option wie Gigabyte Rounding. Trotz des Namens, der dem Namen des Herstellers ähnelt, hat die Gigabyte Rounding-Funktion damit nichts zu tun. Darüber hinaus besteht keine Verbindung zum RAID-Level-0-Array, obwohl es in den Controller-Einstellungen speziell für ein Array dieses Levels definiert werden kann. Tatsächlich ist dies der erste der von uns erwähnten Mängel im Marvell 9128-Controller-Konfigurator. Die Gigabyte-Rundungsfunktion ist nur für RAID-Level 1 definiert. Sie ermöglicht Ihnen die Verwendung von zwei Laufwerken zum Erstellen eines RAID-Level-1-Arrays (z. B. verschiedene Hersteller oder verschiedene Modelle), deren Kapazität sich geringfügig voneinander unterscheidet. Die Gigabyte-Rundungsfunktion legt den Unterschied in den Größen der beiden Festplatten, die zum Erstellen eines RAID-Level-1-Arrays verwendet werden, genau fest. Im Marvell 9128-Controller können Sie mit der Gigabyte-Rundungsfunktion den Unterschied in den Größen der Festplatten auf 1 oder 10 einstellen GB.

Ein weiterer Fehler im Marvell 9128-Controller-Konfigurator besteht darin, dass der Benutzer beim Erstellen eines RAID-Level-1-Arrays die Möglichkeit hat, die Stripe-Größe (32 oder 64 KB) auszuwählen. Allerdings ist das Stripe-Konzept für RAID-Level 1 überhaupt nicht definiert.

Erstellen eines RAID-Arrays basierend auf dem im ICH10R integrierten Controller

Am gebräuchlichsten ist der in die ICH10R Southbridge integrierte RAID-Controller. Wie bereits erwähnt, verfügt dieser RAID-Controller über 6 Ports und unterstützt nicht nur die Erstellung von RAID 0- und RAID 1-Arrays, sondern auch RAID 5 und RAID 10.

Der Zugriff auf das Controller-Setup-Menü ist beim Systemstart möglich, wofür Sie die Tastenkombination Strg + I drücken müssen, wenn die entsprechende Aufschrift auf dem Bildschirm erscheint. Natürlich sollten Sie zunächst in den BIOS-Einstellungen den Betriebsmodus dieses Controllers als RAID festlegen (andernfalls ist der Zugriff auf das RAID-Array-Konfiguratormenü nicht möglich).

Das Setup-Menü des RAID-Controllers ist recht einfach. Über das Controller-Einstellungsmenü können Sie ein RAID-Array löschen oder erstellen. Beim Erstellen eines RAID-Arrays können Sie dessen Namen angeben, die Array-Ebene auswählen (0, 1, 5 oder 10), die Stripe-Größe für RAID 0 festlegen (128, 84, 32, 16, 8 oder 4K) und auch bestimmen die Größe des Arrays.

RAID-Leistungsvergleich

Um RAID-Arrays mit dem IOmeter-Dienstprogramm zu testen, haben wir sequentielle Lese-, sequentielle Schreib-, selektive Lese- und selektive Schreiblastszenarien erstellt. Die Datenblockgrößen in jedem Lastszenario waren wie folgt: 512 Byte, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 KB, 1 MB.

Auf jedem der RAID-Controller haben wir ein RAID 0-Array mit allen zulässigen Stripe-Größen und ein RAID 1-Array erstellt. Um den Leistungsgewinn durch die Verwendung eines RAID-Arrays bewerten zu können, haben wir außerdem eine einzelne Festplatte getestet auf jedem der RAID-Controller.

Schauen wir uns also die Ergebnisse unserer Tests an.

GIGABYTE SATA2-Controller

Schauen wir uns zunächst die Ergebnisse des Tests von RAID-Arrays auf Basis des GIGABYTE SATA2-Controllers an (Abb. 6-13). Im Allgemeinen erwies sich der Controller als im wahrsten Sinne des Wortes mysteriös und seine Leistung war einfach enttäuschend.

Reis. 6.Geschwindigkeit sequentiell
und selektive Festplattenoperationen
Western Digital WD1002FBYS

Reis. 7.Geschwindigkeitssequentiell

mit einer Stripe-Größe von 128 KB
(GIGABYTE SATA2-Controller)

Reis. 12.Seriengeschwindigkeit
und selektive Operationen für RAID 0
mit einer Stripe-Größe von 4 KB
(GIGABYTE SATA2-Controller)

Reis. 13.Seriengeschwindigkeit
und selektive Operationen
für RAID 1 (GIGABYTE SATA2 Controller)

Betrachtet man die Geschwindigkeitseigenschaften einer Festplatte (ohne RAID-Array), beträgt die maximale sequentielle Lesegeschwindigkeit 102 MB/s und die maximale sequentielle Schreibgeschwindigkeit 107 MB/s.

Beim Erstellen eines RAID 0-Arrays mit einer Stripe-Größe von 128 KB erhöht sich die maximale sequentielle Lese- und Schreibgeschwindigkeit auf 125 MB/s, was einer Steigerung von etwa 22 % entspricht.

Bei Stripe-Größen von 64, 32 oder 16 KB beträgt die maximale sequentielle Lesegeschwindigkeit 130 MB/s und die maximale sequentielle Schreibgeschwindigkeit 141 MB/s. Das heißt, mit den angegebenen Stripe-Größen erhöht sich die maximale sequentielle Lesegeschwindigkeit um 27 % und die maximale sequentielle Schreibgeschwindigkeit um 31 %.

Tatsächlich reicht dies für ein Level-0-Array nicht aus, und ich würde mir eine höhere maximale Geschwindigkeit sequentieller Vorgänge wünschen.

Bei einer Stripe-Größe von 8 KB bleibt die maximale Geschwindigkeit sequentieller Vorgänge (Lesen und Schreiben) ungefähr gleich wie bei einer Stripe-Größe von 64, 32 oder 16 KB, allerdings gibt es offensichtliche Probleme beim selektiven Lesen. Wenn die Datenblockgröße auf bis zu 128 KB ansteigt, erhöht sich die selektive Lesegeschwindigkeit (wie erwartet) proportional zur Datenblockgröße. Beträgt die Datenblockgröße jedoch mehr als 128 KB, sinkt die selektive Lesegeschwindigkeit auf nahezu Null (auf ca. 0,1 MB/s).

Bei einer Stripe-Größe von 4 KB sinkt nicht nur die selektive Lesegeschwindigkeit, wenn die Blockgröße mehr als 128 KB beträgt, sondern auch die sequentielle Lesegeschwindigkeit, wenn die Blockgröße mehr als 16 KB beträgt.

Durch die Verwendung eines RAID 1-Arrays auf einem GIGABYTE SATA2-Controller ändert sich die sequentielle Lesegeschwindigkeit nicht wesentlich (im Vergleich zu einem einzelnen Laufwerk), aber die maximale sequentielle Schreibgeschwindigkeit wird auf 75 MB/s reduziert. Denken Sie daran, dass bei einem RAID 1-Array die Lesegeschwindigkeit im Vergleich zur Lese- und Schreibgeschwindigkeit einer einzelnen Festplatte steigen und die Schreibgeschwindigkeit nicht sinken sollte.

Basierend auf den Testergebnissen des GIGABYTE SATA2-Controllers kann nur eine Schlussfolgerung gezogen werden. Die Verwendung dieses Controllers zur Erstellung von RAID 0- und RAID 1-Arrays ist nur dann sinnvoll, wenn alle anderen RAID-Controller (Marvell 9128, ICH10R) bereits verwendet werden. Obwohl es ziemlich schwierig ist, sich eine solche Situation vorzustellen.

Marvell 9128-Controller

Der Marvell 9128-Controller zeigte im Vergleich zum GIGABYTE SATA2-Controller deutlich höhere Geschwindigkeitseigenschaften (Abb. 14-17). Tatsächlich treten die Unterschiede auch dann auf, wenn der Controller mit einer Festplatte arbeitet. Wenn für den GIGABYTE SATA2-Controller die maximale sequentielle Lesegeschwindigkeit 102 MB/s beträgt und mit einer Datenblockgröße von 128 KB erreicht wird, beträgt die maximale sequentielle Lesegeschwindigkeit für den Marvell 9128-Controller 107 MB/s und wird mit einer Datenblockgröße erreicht Blockgröße von 16 KB.

Beim Erstellen eines RAID 0-Arrays mit Stripe-Größen von 64 und 32 KB erhöht sich die maximale sequentielle Lesegeschwindigkeit auf 211 MB/s und die sequentielle Schreibgeschwindigkeit auf 185 MB/s. Das heißt, mit den angegebenen Stripe-Größen erhöht sich die maximale sequentielle Lesegeschwindigkeit um 97 % und die maximale sequentielle Schreibgeschwindigkeit um 73 %.

Es gibt keinen signifikanten Unterschied in der Geschwindigkeitsleistung eines RAID 0-Arrays mit einer Stripe-Größe von 32 und 64 KB, jedoch ist die Verwendung eines 32-KB-Stripes vorzuziehen, da in diesem Fall die Geschwindigkeit sequentieller Vorgänge mit einer Blockgröße von weniger als 128 KB wird etwas höher ausfallen.

Beim Erstellen eines RAID 1-Arrays auf einem Marvell 9128-Controller bleibt die maximale sequentielle Betriebsgeschwindigkeit im Vergleich zu einer einzelnen Festplatte praktisch unverändert. Wenn also für eine einzelne Festplatte die maximale Geschwindigkeit sequenzieller Vorgänge 107 MB/s beträgt, beträgt sie für RAID 1 105 MB/s. Beachten Sie außerdem, dass bei RAID 1 die Leistung beim selektiven Lesen leicht abnimmt.

Generell ist anzumerken, dass der Marvell 9128 Controller über gute Geschwindigkeitseigenschaften verfügt und sowohl zum Aufbau von RAID-Arrays als auch zum Anschluss einzelner Festplatten daran verwendet werden kann.

Controller ICH10R

Der im ICH10R integrierte RAID-Controller erwies sich als der leistungsstärkste aller von uns getesteten Controller (Abbildung 18-25). Bei der Arbeit mit einem einzelnen Laufwerk (ohne Erstellung eines RAID-Arrays) entspricht seine Leistung nahezu der des Marvell 9128-Controllers. Die maximale sequentielle Lese- und Schreibgeschwindigkeit beträgt 107 MB und wird mit einer Datenblockgröße von 16 KB erreicht.

Reis. 18. Sequentielle Geschwindigkeit
und selektive Operationen
für Western Digital WD1002FBYS-Festplatte (ICH10R-Controller)

Wenn wir über das RAID 0-Array auf dem ICH10R-Controller sprechen, hängt die maximale sequentielle Lese- und Schreibgeschwindigkeit nicht von der Stripe-Größe ab und beträgt 212 MB/s. Lediglich die Größe des Datenblocks, bei der die maximale sequentielle Lese- und Schreibgeschwindigkeit erreicht wird, hängt von der Stripe-Größe ab. Testergebnisse zeigen, dass es für RAID 0 basierend auf dem ICH10R-Controller optimal ist, einen 64-KB-Stripe zu verwenden. In diesem Fall wird die maximale sequentielle Lese- und Schreibgeschwindigkeit mit einer Datenblockgröße von nur 16 KB erreicht.

Zusammenfassend betonen wir also noch einmal, dass der im ICH10R verbaute RAID-Controller alle anderen integrierten RAID-Controller in der Leistung deutlich übertrifft. Und da er auch über eine größere Funktionalität verfügt, ist es optimal, diesen bestimmten Controller zu verwenden und die Existenz aller anderen einfach zu vergessen (es sei denn, das System verwendet natürlich SATA III-Laufwerke).

ÜBERFALL- eine Abkürzung, die für Redundant Array of Independent Disks steht – „ausfallsicheres Array unabhängiger Festplatten“ (früher wurde manchmal das Wort „Inexpensive“ anstelle von „Independent“ verwendet). Das Konzept einer Struktur, die aus mehreren zu einer Gruppe zusammengefassten Festplatten besteht und Fehlertoleranz bietet, wurde 1987 in der bahnbrechenden Arbeit von Patterson, Gibson und Katz geboren.

Ursprüngliche RAID-Typen

RAID-0
Wenn wir glauben, dass RAID „Fehlertoleranz“ (redundant...) ist, dann ist RAID-0 „Null-Fehlertoleranz“, also das Fehlen davon. Die RAID-0-Struktur ist ein „striped array of disks“. Datenblöcke werden der Reihe nach einzeln auf alle im Array enthaltenen Festplatten geschrieben. Dies erhöht die Leistung, idealerweise um das Vielfache der Anzahl der im Array enthaltenen Festplatten, da die Aufzeichnung zwischen mehreren Geräten parallel erfolgt.
Allerdings sinkt die Zuverlässigkeit um den gleichen Betrag, da Daten verloren gehen, wenn eine der im Array enthaltenen Festplatten ausfällt.

RAID-1
Dies ist der sogenannte „Spiegel“. Schreibvorgänge werden auf zwei Festplatten parallel ausgeführt. Die Zuverlässigkeit eines solchen Arrays ist höher als die einer einzelnen Festplatte, die Leistung steigt jedoch geringfügig (oder steigt überhaupt nicht).

RAID-10
Ein Versuch, die Vorteile zweier RAID-Typen zu kombinieren und ihnen ihre inhärenten Nachteile zu nehmen. Wenn wir eine RAID-0-Gruppe mit erhöhter Leistung nehmen und jeder von ihnen (oder dem gesamten Array) „Spiegelfestplatten“ zuweisen, um Daten vor Verlust aufgrund von Fehlern zu schützen, erhalten wir als Ergebnis ein fehlertolerantes Array mit erhöhter Leistung der Verwendung von Striping.
Heutzutage ist dies „in freier Wildbahn“ einer der beliebtesten RAID-Typen.
Nachteile – alle oben genannten Vorteile bezahlen wir mit der Hälfte der Gesamtkapazität der im Array enthaltenen Festplatten.

RAID-2
Blieb eine völlig theoretische Option. Dabei handelt es sich um ein Array, in dem Daten mit einem fehlerresistenten Hamming-Code kodiert sind, der aufgrund seiner Redundanz die Wiederherstellung einzelner fehlerhafter Fragmente ermöglicht. Beim Auslesen von Daten aus den Magnetköpfen von Festplatten und optischen CD/DVD-Lesegeräten werden übrigens verschiedene Modifikationen des Hamming-Codes sowie seiner Nachfolger verwendet.

RAID-3 und 4
„Kreative Weiterentwicklung“ der Idee des Datenschutzes mit redundantem Code. Der Hamming-Code ist unverzichtbar im Fall eines „ständig unzuverlässigen“ Stroms, der mit kontinuierlichen, schwach vorhersehbaren Fehlern gesättigt ist, wie beispielsweise einem verrauschten Luftkommunikationskanal. Bei Festplatten sind jedoch nicht Lesefehler das Hauptproblem (wir gehen davon aus, dass Festplatten Daten in der Form ausgeben, in der wir sie geschrieben haben, sofern sie funktionieren), sondern der Ausfall der gesamten Festplatte.
Für solche Bedingungen können Sie ein Striping-Schema (RAID-0) kombinieren und zum Schutz vor dem Ausfall einer der Festplatten die aufgezeichneten Informationen durch Redundanz ergänzen, die es Ihnen ermöglicht, Daten wiederherzustellen, wenn ein Teil davon verloren geht. indem Sie hierfür eine zusätzliche Festplatte zuweisen.
Wenn wir eine der Datenfestplatten verlieren, können wir die darauf gespeicherten Daten mithilfe einfacher mathematischer Operationen an den Redundanzdaten wiederherstellen. Wenn die Festplatte mit den Redundanzdaten ausfällt, können wir immer noch Daten vom Festplatten-Array vom Typ RAID-0 lesen.
Die Optionen RAID-3 und RAID-4 unterscheiden sich darin, dass im ersten Fall einzelne Bytes verschachtelt werden und im zweiten Fall Gruppen von Bytes, „Blöcke“, verschachtelt werden.
Der Hauptnachteil dieser beiden Schemata ist das Extreme langsame Geschwindigkeit schreibt in das Array, da jeder Schreibvorgang eine Aktualisierung der „Prüfsumme“ verursacht, einem Redundanzblock für die geschriebenen Informationen. Es liegt auf der Hand, dass trotz der Streifenstruktur die Leistung eines RAID-3- und RAID-4-Arrays durch die Leistung einer einzelnen Festplatte begrenzt ist, nämlich derjenigen, auf der der „Redundanzblock“ liegt.

RAID-5
Durch den Versuch, diese Einschränkung zu umgehen, entstand neben RAID-10 der nächste RAID-Typ, der derzeit am weitesten verbreitet ist. Wenn das Schreiben eines „Redundanzblocks“ auf die Festplatte das gesamte Array einschränkt, verteilen wir ihn auch auf die Festplatten des Arrays und erstellen für diese Informationen eine nicht zugewiesene Festplatte, damit die Redundanzaktualisierungsvorgänge auf alle Festplatten des Arrays verteilt werden. Das heißt, wie im Fall von RAID-3(4) verwenden wir Festplatten zum Speichern von N Informationen in der Menge von N + 1 Festplatten, aber im Gegensatz zu Typ 3 und 4 wird diese Festplatte auch zum Speichern von Daten verwendet, die mit Redundanzdaten gemischt sind , wie der Rest N.
Mängel? Was wäre es ohne sie? Das Problem mit der langsamen Aufnahme wurde teilweise gelöst, aber immer noch nicht vollständig. Allerdings ist das Schreiben auf ein RAID-5-Array langsamer als das Schreiben auf ein RAID-10-Array. Aber RAID-5 ist „kostengünstiger“. Bei RAID-10 bezahlen wir die Fehlertoleranz mit genau der Hälfte der Festplatten, bei RAID-5 ist es nur eine Festplatte.

Allerdings nimmt die Schreibgeschwindigkeit proportional zur Zunahme der Anzahl der Festplatten im Array ab (im Gegensatz zu RAID-0, wo sie nur zunimmt). Dies liegt daran, dass das Array beim Schreiben eines Datenblocks den Redundanzblock neu berechnen muss, für den es die verbleibenden „horizontalen“ Blöcke liest und den Redundanzblock entsprechend ihren Daten neu berechnet. Das heißt, für einen Schreibvorgang führt ein Array aus 8 Festplatten (7 Datenfestplatten + 1 zusätzliche) 6 Lesevorgänge in den Cache durch (die verbleibenden Datenblöcke von allen Festplatten werden zur Berechnung des Redundanzblocks berechnet) und berechnet daraus den Redundanzblock Blöcke und führen Sie zwei Schreibvorgänge durch (Schreiben eines Blocks aufgezeichneter Daten und Überschreiben eines Redundanzblocks). IN moderne Systeme Das Problem wird teilweise durch Caching gemildert, aber dennoch führt die Verlängerung der RAID-5-Gruppe zwar zu einer proportionalen Erhöhung der Lesegeschwindigkeit, aber auch zu einer entsprechenden Verringerung der Schreibgeschwindigkeit.
Die Situation mit verminderter Leistung beim Schreiben auf RAID-5 führt manchmal zu interessantem Extremismus, zum Beispiel http://www.baarf.com/ ;)

Da RAID-5 jedoch hinsichtlich des Festplattenverbrauchs pro „linearem Megabyte“ die effizienteste RAID-Struktur ist, wird es häufig dort eingesetzt, wo die Reduzierung der Schreibgeschwindigkeit kein entscheidender Parameter ist, beispielsweise für die langfristige Datenspeicherung oder für Daten, die hauptsächlich gelesen werden.
Unabhängig davon sollte erwähnt werden, dass die Erweiterung eines RAID-5-Festplatten-Arrays durch Hinzufügen einer zusätzlichen Festplatte zu einer vollständigen Neuberechnung des gesamten RAID führt, was Stunden und in manchen Fällen sogar Tage dauern kann, wobei die Leistung des Arrays katastrophal abfällt.

RAID-6
Weiterentwicklung der RAID-5-Idee. Wenn wir die zusätzliche Redundanz nach einem anderen Gesetz als dem von RAID-5 berechnen, können wir den Zugriff auf die Daten aufrechterhalten, wenn zwei Festplatten des Arrays ausfallen.
Der Preis hierfür ist eine zusätzliche Platte für die Daten des zweiten „Redundanzblocks“. Das heißt, um Daten zu speichern, die dem Volumen von N Festplatten entsprechen, müssen wir N + 2 Festplatten verwenden. Die „Mathematik“ der Berechnung von Redundanzblöcken wird komplizierter, was zu einer noch stärkeren Reduzierung der Schreibgeschwindigkeit im Vergleich zu RAID-5 führt , aber die Zuverlässigkeit steigt. Darüber hinaus übertrifft es in einigen Fällen sogar die Zuverlässigkeitsstufe von RAID-10. Es ist leicht zu erkennen, dass RAID-10 auch den Ausfall von zwei Festplatten im Array überstehen kann, wenn diese Festplatten jedoch zum gleichen „Spiegel“ oder zu unterschiedlichen, aber nicht zwei gespiegelten Festplatten gehören. Und die Wahrscheinlichkeit einer solchen Situation kann nicht ausgeschlossen werden.

Durch die „Hybridisierung“ kommt es zu einem weiteren Anstieg der Anzahl der RAID-Typen, so entsteht RAID-0+1, aus dem sich das bereits diskutierte RAID-10 entwickelt hat, oder alle möglichen chimären RAID-51 und so weiter.
Glücklicherweise kommen sie nicht in der Tierwelt vor und bleiben normalerweise ein „Traum des Geistes“ (naja, mit Ausnahme des oben bereits beschriebenen RAID-10).

Abhängig von der gewählten RAID-Spezifikation können die Lese- und Schreibgeschwindigkeit und/oder der Schutz vor Datenverlust verbessert werden.

Bei der Arbeit mit Festplattensubsystemen stehen IT-Spezialisten häufig vor zwei Hauptproblemen.

  • Der erste ist die niedrige Lese-/Schreibgeschwindigkeit; manchmal reichen sogar die Geschwindigkeiten einer SSD-Festplatte nicht aus.
  • Der zweite Grund ist der Ausfall von Festplatten, was einen Datenverlust bedeutet, dessen Wiederherstellung möglicherweise unmöglich ist.

Beide Probleme werden durch die RAID-Technologie (Redundant Array of Independent Disks) gelöst – eine virtuelle Datenspeichertechnologie, die mehrere physische Festplatten zu einem logischen Element vereint.

Abhängig von der gewählten RAID-Spezifikation können die Lese-/Schreibgeschwindigkeit und/oder der Schutz vor Datenverlust verbessert werden.

Die RAID-Spezifikationsstufen sind: 1,2,3,4,5,6,0. Darüber hinaus gibt es Kombinationen: 01,10,50,05,60,06. In diesem Artikel betrachten wir die gängigsten Arten von RAID-Arrays. Nehmen wir aber zunächst einmal an, dass es Hardware- und Software-RAID-Arrays gibt.

Hardware- und Software-RAID-Arrays

  • Software-Arrays werden nach der Installation des Betriebssystems erstellt Softwareprodukte und Dienstprogramme, was den Hauptnachteil solcher Festplatten-Arrays darstellt.
  • Hardware-RAIDs erstellen vor der Installation des Betriebssystems ein Festplatten-Array und sind nicht von diesem abhängig.

RAID 1

RAID 1 (auch „Mirror“ – Mirror genannt) beinhaltet die vollständige Duplizierung von Daten von einer physischen Festplatte auf eine andere.

Zu den Nachteilen von RAID 1 gehört die Tatsache, dass Sie nur die Hälfte des Speicherplatzes erhalten. Diese. Wenn Sie ZWEI 250-GB-Festplatten verwenden, erkennt das System nur EINE 250-GB-Festplatte. Dieser Typ RAID bringt keinen Geschwindigkeitsgewinn, erhöht aber die Fehlertoleranz deutlich, denn bei Ausfall einer Festplatte ist immer eine vollständige Kopie davon vorhanden. Das Aufzeichnen und Löschen von Datenträgern erfolgt gleichzeitig. Wenn Informationen absichtlich gelöscht wurden, gibt es keine Möglichkeit, sie von einer anderen Festplatte wiederherzustellen.

RAID 0

Bei RAID 0 (auch Striping genannt) werden Informationen in Blöcke aufgeteilt und gleichzeitig verschiedene Blöcke auf verschiedene Festplatten geschrieben.

Diese Technologie erhöht die Lese-/Schreibgeschwindigkeit, ermöglicht es dem Benutzer, die volle Gesamtkapazität der Festplatten zu nutzen, verringert jedoch die Fehlertoleranz bzw. reduziert sie auf Null. Wenn also eine der Festplatten ausfällt, ist es nahezu unmöglich, die Informationen wiederherzustellen. Für den Aufbau von RAID 0 wird empfohlen, nur hochzuverlässige Festplatten zu verwenden.

RAID 5 kann als fortgeschritteneres RAID 0 bezeichnet werden. Sie können bis zu 3 Festplatten verwenden. Raid 0 wird auf allen bis auf einen aufgezeichnet, und auf dem letzten wird eine spezielle Prüfsumme aufgezeichnet, die es Ihnen ermöglicht, Informationen auf den Festplatten zu speichern, falls einer von ihnen (jedoch nicht mehr als einer) „tot“ ist. Die Betriebsgeschwindigkeit eines solchen Arrays ist hoch. Wenn Sie die Festplatte austauschen, wird das viel Zeit in Anspruch nehmen.

RAID 2, 3, 4

Hierbei handelt es sich um Methoden der verteilten Informationsspeicherung unter Verwendung von Festplatten, die für Paritätscodes reserviert sind. Sie unterscheiden sich nur in der Blockgröße voneinander. In der Praxis werden sie praktisch nicht verwendet, da ein großer Teil der Festplattenkapazität für die Speicherung von ECC- und/oder Paritätscodes aufgewendet werden muss und die Leistung gering ist.

RAID 10

Es handelt sich um eine Mischung aus RAID-Arrays 1 und 0. Und es vereint die Vorteile beider: hohe Leistung und hohe Fehlertoleranz.

Das Array muss eine gerade Anzahl von Festplatten enthalten (mindestens 4) und ist die zuverlässigste Option zum Speichern von Informationen. Der Nachteil sind die hohen Kosten des Festplatten-Arrays: Die effektive Kapazität beträgt die Hälfte der Gesamtkapazität des Festplattenspeichers.

Ist eine Mischung aus RAID-Arrays 5 und 0. RAID 5 wird gebaut, seine Komponenten werden jedoch keine unabhängigen Festplatten, sondern RAID 0-Arrays sein.

Besonderheiten.

Bei einem Ausfall des RAID-Controllers ist eine Wiederherstellung der Informationen nahezu unmöglich (gilt nicht für den Mirror). Selbst wenn Sie genau den gleichen Controller kaufen, besteht eine hohe Wahrscheinlichkeit, dass das RAID aus anderen Festplattensektoren zusammengesetzt wird, was bedeutet, dass Informationen auf den Festplatten verloren gehen.

In der Regel werden Discs in einer Charge gekauft. Dementsprechend kann ihre Lebensarbeitszeit ungefähr gleich sein. In diesem Fall wird empfohlen, gleich beim Kauf von Festplatten für das Array einen Überschuss zu kaufen. Um beispielsweise RAID 10 mit 4 Festplatten zu konfigurieren, sollten Sie 5 Festplatten kaufen. Wenn also eine davon ausfällt, können Sie sie schnell durch eine neue ersetzen, bevor andere Festplatten ausfallen.

Schlussfolgerungen.

In der Praxis werden meist nur drei Arten von RAID-Arrays verwendet. Dies sind RAID 1, RAID 10 und RAID 5.

Im Hinblick auf Kosten/Leistung/Fehlertoleranz wird die Verwendung von Folgendem empfohlen:

  • RAID 1(Spiegelung), um ein Festplattensubsystem für Benutzerbetriebssysteme zu bilden.
  • RAID 10 für Daten mit hohen Anforderungen an die Schreib- und Lesegeschwindigkeit. Zum Beispiel zum Speichern von 1C:Enterprise-Datenbanken, Mail-Server, ANZEIGE.
  • RAID 5 Wird zum Speichern von Dateidaten verwendet.

Nach Meinung der Mehrheit die ideale Serverlösung Systemadministratoren ist ein Server mit sechs Festplatten. Die beiden Festplatten werden „gespiegelt“ und das Betriebssystem wird auf RAID 1 installiert. Die vier verbleibenden Laufwerke werden zu RAID 10 zusammengefasst, um einen schnellen, störungsfreien und zuverlässigen Systembetrieb zu gewährleisten.