Ein großes RAID 10 gegen mehrere kleinere Arrays?


10

Meine Frage ist: Wann ist es angebracht, einfach ein großes Array mit schneller Lese- und Schreibleistung wie RAID 10 zu erstellen, anstatt kleinere Arrays für bestimmte Anwendungen zu erstellen?

Es scheint mir, dass, wenn meine allgemeinen E / A-Anforderungen nicht besonders hoch sind, ein einzelnes Array mit ausgezeichneter Lese- und Schreibleistung allen Anwendungen insgesamt eine bessere Leistung bieten könnte, außer zu den (möglicherweise seltenen) Zeiten, in denen Anwendungen mit unterschiedlichen Zugriffsmustern ihren Höhepunkt erreichten zur gleichen Zeit (Kopieren großer Mengen großer Dateien, während eine Datenbank zugeschlagen wird).

Wenn ich ein Paar Spindeln für eine bestimmte Aufgabe wie Transaktionsprotokolle reserviere und sie nicht einmal mit der Arbeitslast ins Schwitzen kommen ... warum nicht einfach diese Arbeitslast auf ein größeres RAID 10 übertragen? Diese Spindeln könnten dann zu anderen Arbeitslasten beitragen, anstatt 60% der Zeit herumzusitzen und sich selbst zu kratzen.

PS: In meinem speziellen Fall spielt der Kostenaufwand für RAID 10 keine Rolle, da ich mehrere RAID 1-Arrays und ein kleineres RAID 5 erstellen möchte. Es wäre vergleichbar, RAID 10 für den benötigten Speicherplatz zu verwenden.

Antworten:


10

Wenn Sie wissen, wie Sie Ihren Speicher einrichten, müssen Sie IOPS und Bandbreite messen und budgetieren. (Ich bin hier sehr simpel, weil die Größe der prozentualen Mischung aus Lese- / Schreibzugriff, durchschnittlichen E / A-Vorgängen, RAID-Stripe-Größe und Cache-Trefferprozentsätzen von großer Bedeutung ist. Wenn Sie diese Zahlen erhalten, können Sie Ihre Berechnungen noch genauer durchführen.)

Es ist ein wirklich netter kleiner IO Rechner hier , dass ich häufig verwenden , wenn die Lagerung der Planung aus. Das Speicherverzeichnis von wmarow ist auch gut geeignet , um einige relativ aktuelle Festplattenleistungszahlen zu erhalten.

Wenn ich ein Paar Spindeln für eine bestimmte Aufgabe wie Transaktionsprotokolle reserviere und sie nicht einmal mit der Arbeitslast ins Schwitzen kommen ... warum nicht einfach diese Arbeitslast auf ein größeres RAID 10 übertragen?

Denken Sie daran, dass durch sequentielles E / A auf eine Spindel mit zufälligem E / A dieses sequentielle E / A zufällig wird. Ihre Transaktionsprotokolldatenträger sehen möglicherweise so aus, als würden sie nicht ins Schwitzen kommen, weil Sie sequentielle E / A-Vorgänge sehen. Sequentielles Lesen und Schreiben auf ein RAID-1-Volume ist recht schnell. Wenn Sie also beispielsweise auf der Länge der Festplattenwarteschlange basieren, dass Sie nicht ins Schwitzen kommen, erhalten Sie nicht die ganze Geschichte.

Messen oder berechnen Sie das maximal mögliche zufällige IOPS für das beabsichtigte Ziel-Volume, erstellen Sie eine Basislinie der aktuellen Arbeitslast auf diesem Volume und entscheiden Sie dann, ob Sie über genügend Headroom verfügen, um diese Transaktionsprotokoll-IOPS in das verbleibende zufällige IO im Ziel-Volume einzufügen. Stellen Sie außerdem sicher, dass Sie den für die Arbeitslast erforderlichen Platz (offensichtlich) budgetieren. Wenn Sie dazu neigen, bauen Sie einen Prozentsatz zusätzlichen "Headrooms" in Ihre IO-Workload / Speicherplatzzuweisung ein.

Fahren Sie mit dieser Methode für alle anderen Workloads fort, die Sie in das Ziel-RAID-10-Volume einfügen möchten. Wenn Ihnen die zufälligen IOPS ausgehen, stapeln Sie zu viel in das Volume - fügen Sie weitere Festplatten hinzu oder stellen Sie einen Teil der Arbeitslast auf dedizierte Volumes. Wenn Ihnen der Speicherplatz ausgeht, fügen Sie weitere Festplatten hinzu.


Ein Problem ist, dass ich mit meiner aktuellen Konfiguration wirklich nur eine gute Messung des gesamten IOPS erhalten kann, was nur etwa 300 (60% gelesen) bei einem Durchschnitt von 14 KByte pro Übertragung entspricht. Das große RAID 10-Array, das ich in Betracht ziehe, sollte 758 zufällige 16k-IOPS (60% und Ausklammern des Cache) ausführen können. Diese Berechnung berücksichtigt jedoch nicht die gemischten Arbeitslasten, und damit habe ich zu kämpfen.
Boden

4

Ich habe in letzter Zeit mehr Artikel gelesen, in denen es heißt, dass RAID 5 ein schlechter Weg für Zuverlässigkeit ist. Ich glaube, es ist mehr, nachdem eine Festplatte in einem RAID 5-Array defekt war, das Laufwerk ersetzt wurde und es nicht wiederhergestellt werden konnte, da eine zweite Festplatte einen latenten nicht behebbaren Lesefehler aufwies, der uns zwang, die Sicherung neu zu formatieren und wiederherzustellen.

Da die Laufwerke immer größer werden, steigt auch die Wahrscheinlichkeit, dass auf diesen riesigen Festplatten ein nicht erkannter nicht behebbarer Lesefehler auftritt, und mit RAID 5 wird die Zuverlässigkeit einfach nicht mehr verringert. Wenn Sie nicht spiegeln, wird anscheinend empfohlen, RAID 10 zu verwenden.

Wenn Sie nicht etwas tun, das sehr empfindlich auf Geschwindigkeitsprobleme reagiert, würde ich mir keine Sorgen machen, Dinge in kleine Arrays oder ähnliches zu zerlegen. Legen Sie es in ein RAID 10 ein und prüfen Sie, ob Ihre Leistung dem Schnupftabak entspricht. Mit dem richtigen Caching und Speicher im System sollte es in Ordnung sein. Die Zahlen für Benchmarks werden niemals ganz so sein, wie Sie sie tatsächlich erhalten, da sie von Ihrer tatsächlichen Nutzung, der tatsächlichen Auslastung, der Leistung des Festplattenlaufwerks, dem Controller-Caching, dem Festplatten-Caching, der Fragmentierung usw. abhängen.

Die beste Faustregel ist, die Konfiguration so weit wie möglich zu vereinfachen, denn selbst wenn Sie in ein oder zwei Jahren einen Tag oder eine Woche im Schwitzen über dieses Setup versinken, müssen Sie ein Problem auf diesem Server beheben, das übrig bleibt Sie fragen sich, warum Sie es so eingerichtet haben, wie Sie es getan haben, wenn Sie der Konfiguration unnötige Komplexität hinzugefügt haben.


1
Ja, ich bin von RAID 5 zu RAID 6 gewechselt, und die Schreibstrafe bringt mich um. Ich mag die Idee eines großen RAID 10. Womit kann ich verschiedene Arten des gleichzeitigen E / A-Ladens vergleichen?
Boden

1
Eine Stoppuhr ist die genaueste :-)
Bart Silverstrim

1
Unterschätzen Sie nicht die Bedeutung von Laufwerken und Controllern. Wir haben ein Dell NAS mit RAID 5 und es ist erstickt, wenn Benutzer sich anmelden und Profile daraus ziehen. Wir sind zu dem Schluss gekommen, dass die Laufwerke nicht 10.000 U / min haben, nachdem wir uns ein wenig mit den Leistungsüberwachungsnummern befasst haben. Am Ende haben wir bestimmte Daten auf einen separaten Server verschoben, um einen Teil der Arbeitslast zu entlasten.
Bart Silverstrim

2
Ehrlich gesagt verstehe ich nicht, warum jemand RAID 5 in einer Unternehmensumgebung verwenden würde. Wir sind RAID 10 den ganzen Weg.
Beep Beep

2
Weil RAID 5 zu der Zeit nicht böse war :-) RAID 10 galt als Luxus, der auf unserer Geschäftsebene nicht benötigt wurde, könnte man sagen. Die Preise sind wirklich gefallen, die Zeiten haben sich verschoben und wir unterstützen immer noch, was im Serverraum "funktioniert".
Bart Silverstrim

2

Wie vorhersehbar sollen die Latenzen für Ihre Anwendungen sein?

Angenommen, Sie haben eine App, die wirklich latenzempfindlich ist und ein Dateisystem mit Ihrer Finanzdatenbank teilt. Beim Abschluss des Geschäftsjahres erhalten Sie plötzlich Anrufe wegen des Zeitlimits für latenzempfindliche Apps. Wie wirst du das herausfinden?

Auf der anderen Seite bin ich ein großer Fan davon, alles zu vereinfachen. Daher würde ich überprüfen, ob Sie keine außergewöhnlichen Anforderungen haben, und Ihre Konfigurationen konsolidieren und vereinfachen, wenn Ihre Anforderungen nicht in seltsame Sonderfälle fallen.


0

Sicher warum nicht. Denken Sie daran, Ihr großes Multi-Disc-Array korrekt zu erstellen, es falsch zu verstehen und eine lange Wiederherstellungszeit zu erwarten.

RAID 10 gibt es in zwei Varianten:

  • RAID 1 + 0, bei dem Sie 2 RAID 1-Arrays erstellen und diese dann entfernen.
  • RAID 0 + 1, bei dem Sie 2 RAID 0-Arrays erstellen und diese dann spiegeln.

Sobald eine CD stirbt, müssen Sie in einer nur ein einzelnes raid1-Array neu erstellen. Mit dem anderen müssen Sie das gesamte raid0-Array neu erstellen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.