Wie konfiguriere ich RAID 5, insbesondere die Stripe-Größe, mit 24 x 1,2 TB-Laufwerken für CentOS 6?

8

Für einen Dell R920 mit 24 x 1,2 TB Festplatten (und 1 TB RAM) möchte ich eine RAID 5-Konfiguration für schnelle E / A einrichten. Der Server wird zum Hosten von KVM-VMs verwendet, die Dateien aller Größen lesen / schreiben, einschließlich sehr großer Dateien. Ich bin nicht sonderlich an Datensicherheit interessiert, denn wenn der Server aus irgendeinem Grund ausfällt, stellen wir den Server nach dem Austausch der ausgefallenen Teile einfach wieder aus Bare-Metal bereit. Leistung ist also das Hauptanliegen. Wir ziehen RAID 5 in Betracht, weil es uns ermöglicht, Daten über mehrere Spindeln zu verteilen und somit eine bessere Leistung zu erzielen, und obwohl dies nicht unser Hauptanliegen ist, uns auch einen gewissen Datenschutz bietet. Unsere Netzwerkkarte verfügt über zwei 10-Gbit / s.

Ich beschränke diese Frage nur auf RAID 5, weil wir glauben, dass dies die beste Leistung bringt. Nur wenn es einen zwingenden Leistungsgrund gibt, werden wir etwas anderes in Betracht ziehen. Ich denke jedoch, ich würde Antworten bevorzugen, die sich auf RAID 5-Konfigurationen beziehen.

Okay, mit den oben genannten, hier sind unsere gegenwärtigen Konfigurationsgedanken für:

  • 24 Festplatten: RMCP3 : 1,2 TB, 10 KB, 2,5 Zoll 6 Gbit / s
  • RAID-Controller: H730P, 12 Gbit / s SAS-Unterstützung, 2 GB NV-Cache
  • 1 Hot Spare (nur um uns eine längere Lebensdauer zu geben, wenn ein Laufwerk ausfällt)
  • 23 Datenlaufwerke (von denen 1 als Parität und 22 für Daten übrig bleibt)
  • Streifengröße: 1 MB (1 MB / 22 Datenlaufwerke = ~ 46,5 KB pro Festplatte - oder verstehe ich die Streifengröße falsch)?
  • Leserichtlinie: Adaptives Vorauslesen
  • Schreibrichtlinie: Rückschreiben
  • Festplatten-Cache-Richtlinie: Aktiviert

Wenn die Streifengröße über die Datenlaufwerke GESAMT ist, habe ich angenommen, dass ~ 46,5 KB pro Laufwerk einen sehr guten Durchsatz ergeben. Wenn die Streifengröße pro Spindel ist, dann habe ich das alles falsch verstanden.

Entspricht die Streifengröße auch der Größe einer einzelnen Datei? Wenn beispielsweise eine 2-KB-Datei vorhanden ist, würde die Auswahl einer Streifengröße von 1 MB bedeuten, dass wir fast ein ganzes Megabyte verschwenden? Oder können mehrere Dateien innerhalb eines Streifens leben?

Müssen wir bei der Installation von CentOS 6.5 (oder der neuesten Version) etwas Besonderes tun, um sicherzustellen, dass das Dateisystem RAID optimal nutzt? Zum Beispiel hat mkfs.ext4 eine Option -E Schritt , von der mir gesagt wurde, dass sie der RAID-Konfiguration entsprechen sollte. Aber gibt es während einer CentOS-Installation eine Möglichkeit, dies zu tun?

Vielen Dank für Ihre Gedanken zu einer Konfiguration von RAID 5 für schnelle E / A.

Steve Amerige
quelle
4
RAID 5 ist das, was Sie nicht verwenden möchten, wenn Sie Leistung wünschen ... seine Schreibgeschwindigkeiten können schrecklich sein.
Nathan C
1
Können Sie einen Kontext zur Lese- / Schreibarbeitslast und zur Anwendung für diese Speicherlösung bereitstellen?
ewwhite
1
Wenn Sie Leistung wünschen, verwenden Sie überhaupt keine Festplatten. Mit einem guten SSD-Speichersystem oder sogar PCIe-Speicherlösungen können Sie höchstwahrscheinlich mehr Leistung erzielen. Wenn Sie sich nicht darum kümmern, ob Daten verloren gehen, entscheiden Sie sich für SSDs oder sogar PCIe-Speicherlösungen.
Dennis Nolte
2
@Tonny Ich habe das überprüft. Maximal 16 Festplatten für diesen Controller.
ewwhite
7
Jeder, bitte denken Sie daran, dass Sie keine geborenen Experten waren, jeder lernt irgendwann. Bitte seien Sie nett zu denen, die weniger wissen als Sie.
Chris S

Antworten:

12

Bitte verwenden Sie RAID 1 + 0 mit Ihrem Controller- und Laufwerks-Setup. Wenn Sie mehr Kapazität benötigen, ein verschachteltes RAID - Level wie RAID 50/60 könnten funktionieren . Sie können mit RAID 5 auf einer kleinen Anzahl von SAS-Unternehmensfestplatten (8 Laufwerke oder weniger) davonkommen, da die Wiederherstellungszeiten nicht schlecht sind. 24 Laufwerke sind jedoch ein schrecklicher Fehler. (Oh, und deaktivieren Sie die Funktion zum Zwischenspeichern einzelner Datenträger ... gefährlich)

Die E / A- und lokale Speicherleistung hat viele Facetten. Es gibt E / A-Operationen / Sekunde, es gibt Durchsatz, es gibt Speicherlatenz. RAID 1 + 0 ist eine gute Balance zwischen diesen. Positive Aspekte hierbei sind, dass Sie Unternehmensfestplatten, einen leistungsfähigen Hardware-Controller und eine gute Anzahl von Festplatten verwenden. Wie viel Kapazität benötigen Sie?

Möglicherweise ist die Anzahl der Laufwerke, die Sie innerhalb einer virtuellen Festplattengruppe verwenden können, begrenzt. PERC / LSI-Controller beschränkten dies traditionell auf 16 Laufwerke für einzelne RAID-Level und RAID 1 + 0. Das Benutzerhandbuch bestätigt dies . Sie könnten nicht alle 24 Festplatten in einem einzelnen RAID 5 oder einer einzelnen RAID 1 + 0-Gruppe verwenden.

Ein weiterer Aspekt, der je nach Arbeitslast berücksichtigt werden muss, ist, dass Sie das SSD-Caching mithilfe der LSI-Cachecade- Funktionalität auf bestimmten PERC-Controllern nutzen können. Möglicherweise ist es dafür nicht verfügbar, aber das Verständnis Ihrer E / A-Muster hilft dabei, die Speicherlösung anzupassen.


Bei den Optionen zur Erstellung von ext4-Dateisystemen wird ein Großteil davon von Ihrem Hardware-RAID-Controller abstrahiert. Sie sollten hier in der Lage sein, ein Dateisystem ohne spezielle Optionen zu erstellen. Die Parameter, auf die Sie sich beziehen, wirken sich eher auf eine Software-RAID-Lösung aus.

ewwhite
quelle
Einige sehr nützliche Informationen hier. Wir suchen zuerst die Leistung, dann den gesamten Speicherplatz. Wir ziehen RAID 10 also nicht in Betracht, da wir die Hälfte unseres verfügbaren Speicherplatzes von 24 TB verlieren würden. Unsere Anforderungen sind sehr datenintensiv und wir verarbeiten TB-Daten recht einfach. Da die Konsequenz eines Serverausfalls für uns eine niedrige Priorität hat (weil wir den Server nach dem Beheben fehlerhafter Hardware einfach von Grund auf neu erstellen können - das heißt, Datensicherheit ist NICHT unsere wichtigste Überlegung), möchten wir die Festplatten-E / A maximieren ( sowohl lokale als auch NFS / eine andere Geschichte) und die allgemeine Verarbeitungsgeschwindigkeit.
Steve Amerige
@SteveAmerige Wie viel Speicherplatz benötigen Sie? Sie können nicht 24 Festplatten in einer RAID-Gruppe verwenden, daher gibt es einige zusätzliche Entwurfsüberlegungen für Ihre Umgebung. Können Sie uns sagen, was dieses System zu tun hat, um welche Art von Daten es sich handelt und welche tatsächlichen Leistungsanforderungen bestehen?
ewwhite
1
@SteveAmerige Mehr Details! Das RAID 5 ist kein Starter. Sie sollten es 2014 einfach NICHT verwenden. Um welche Art von Daten handelt es sich? Was wäre die Virtualisierungstechnologie? KVM? VMware? Ich denke, das Design hier muss wirklich verfeinert werden, insbesondere bevor in so viel Hardware investiert wird ... Wissen Sie, wie groß der "Arbeitssatz" von Daten pro VM sein wird? In Fällen, in denen dieser Wert bekannt ist, können Sie ihn zwischenspeichern und optimieren. Tiered Storage. SSDs. Ist die Arbeitslast durch Lesen oder Schreiben vorgespannt?
ewwhite
1
RAID 5 would give us some data safety at the expense of effectively 1 hard drive per group, right? Nein, nicht richtig. Mit Laufwerken dieser Größe und so vielen Festplatten in einer Gruppe bietet RAID 5 effektiv 0 Datensicherheit. Sie können die Festplatten auch einfach in zwei RAID 0-Arrays mit 12 Festplatten werfen.
HopelessN00b
1
Am Ende habe ich die folgende Konfiguration der 24 physischen Laufwerke vorgenommen: Festplattengruppe 0, RAID 10 (4 Laufwerke): VD 0: BOOT 100 GB; VD 1: ROOT 2134,5 GB. Festplattengruppe 1, RAID 0 (10 Laufwerke): VD 2: DATA1, 11172,5 GB. Festplattengruppe 2, RAID 0 (10 Laufwerke): VD 3: DATA2, 11172,5 GB. Es ist möglich, dass ich keine separaten virtuellen VD 0 BOOT- und VD 1 ROOT-Festplatten benötigt habe. Ich habe es getan, um sicherzustellen, dass die Bootdiskette einen Standardstart (ohne UEFI) ausführen kann. Ich habe später LVM verwendet, so dass ich / das ausschließlich VD 0 und VD 1 verwendet habe; und / oder Daten, die VD 2 und VD 3 verwendet haben. Vielen Dank für alle Kommentare!
Steve Amerige
5

Verwenden Sie KEIN einzelnes RAID 5-Array auf 24 1-TB-Festplatten! Es ist mir egal, auf was Sie die Antworten lieber beschränken, es ist eine schlechte Idee und Sie sollten sich andere Optionen ansehen.

Die Wahrscheinlichkeit, dass eine Festplatte ausfällt, steigt mit jeder Festplatte. So auch die Zeit, die für den Wiederaufbau benötigt wird. Wenn ein Laufwerk ausfällt und Sie es ersetzen, verwendet es so viel E / A auf allen Festplatten wie möglich, um die Daten für das neue zu erstellen. Es ist sehr wahrscheinlich, dass eine Ihrer 23 verbleibenden guten Festplatten während dieses Vorgangs ausfällt und Sie gezwungen sind, den Server aus Sicherungen wiederherzustellen. Was Sie sagen, dass Sie sich nicht darum kümmern ... aber sind Sie bereit, dies einmal im Monat zu akzeptieren? Wöchentlich? Wenn die Festplatten älter werden, kann es sehr gut so schlimm werden.

Außerdem führt RAID5 Sie in die falsche Richtung, wenn Sie Leistung wünschen. In vielen Fällen weist RAID5 eine schlechtere Leistung als andere Optionen auf, da die Parität für jeden Schreibvorgang berechnet und dann auch auf ein Laufwerk geschrieben werden muss. RAID5 war nicht auf Leistung ausgelegt.

Wenn Sie sich WIRKLICH nicht um Ihre Daten kümmern, wählen Sie RAID 0. Aber selbst dann erstellen Sie ein paar separate Arrays, nicht ein einziges riesiges RAID 0 mit 24 Festplatten.

Wenn Sie Leistung und Integrität wünschen, verwenden Sie RAID10. Sie verlieren etwas Speicherplatz, erhalten aber einen deutlichen Leistungsschub.

Oder Sie können sich Dinge wie ZFS ansehen, die von Grund auf so konzipiert sind, dass sie mit riesigen Datenmengen auf Festplatten arbeiten.

Gewähren
quelle
1
Zu Ihrer Information, ich bin ein Softwareentwickler, der die Server unserer Abteilung als Nebenjob verwaltet. Das heißt, ich habe viele Wissenslücken. Aber ich mache das jetzt seit ein paar Jahren ziemlich erfolgreich. Dies ist das erste Mal, dass ich einen so großen Server baue. Ihr Feedback wird daher sehr geschätzt. Ich freue mich sehr über Ihren Kommentar zu den RAID 5-Einschränkungen. Was wir wollen, ist die Leistung und der insgesamt verfügbare Speicherplatz, aber wir sind bereit, einige Überlegungen zu RAID-Konfigurationen anzustellen, die uns eine gewisse Datensicherheit bieten (unsere letzte Priorität).
Steve Amerige
1

Deine Optionen:

  • RAID 0 : Dadurch werden alle Ihre Festplatten zu einer einzigen Einheit ohne Redundanz. Dies hat die höchste Lese- und Schreibleistung und den am besten nutzbaren Speicherplatz aller Optionen. Der Verlust einer einzelnen Festplatte bedeutet jedoch den Verlust aller Daten.

  • RAID 1 + 0 : Dadurch werden alle Ihre Festplatten zu einer Einheit, wobei alle Daten auf zwei Festplatten vorhanden sind. Die Lesegeschwindigkeit entspricht in etwa RAID 0, die Schreibgeschwindigkeit halbiert sich (da Sie jedes Datenelement zweimal schreiben müssen) und Sie haben nur halb so viel Speicherplatz zur Verfügung. Der Verlust einer einzelnen Festplatte hat keine Auswirkungen auf die Datenverfügbarkeit und nur minimale Auswirkungen auf die Lese- / Schreibgeschwindigkeit.

  • RAID 5 : Dadurch werden alle Ihre Festplatten zu einer Einheit mit einem Paritätswert auf einer Festplatte. Die Lesegeschwindigkeit ist geringfügig niedriger als RAID 0, die Schreibgeschwindigkeit ist viel langsamer, möglicherweise langsamer als die Schreibgeschwindigkeit einer einzelnen Nicht-RAID-Festplatte (für jeden Schreibvorgang ist ein Lese-, Änderungs- und Schreibzyklus auf mindestens zwei Festplatten erforderlich) Verlieren Sie den Speicherplatz einer Festplatte für Paritätsinformationen. Der Verlust einer einzelnen Festplatte kann zu einer erheblichen Verringerung der Lesegeschwindigkeit führen (die Rekonstruktion der darauf gespeicherten Daten erfordert das Lesen von Daten von allen anderen Festplatten), hat jedoch keine Auswirkungen auf die Datenverfügbarkeit.

  • RAID 6 : Dies hat im Wesentlichen alle Vor- und Nachteile von RAID 5, außer dass es neben einer Paritätsberechnung eine schickere Prüfsumme speichert und den Verlust von zwei Festplatten ohne Datenverlust bewältigen kann.

Wenn die Datensicherheit wirklich irrelevant ist (dies schließt die Zeit ein, die für die Wiederherstellung der Daten aus der ursprünglichen Quelle aufgewendet wurde, was Tage dauern kann, und die Zeit, die beim erneuten Ausführen unterbrochener Berechnungen verloren geht), empfehle ich RAID 0. Andernfalls, wenn Sie eine fast Workload haben Ich empfehle RAID 6 (beachten Sie jedoch, dass die Leistung bei der Wiederherstellung von einer ausgefallenen Festplatte beeinträchtigt wird). Wenn Sie eine Lese- / Schreib-Workload haben, empfehle ich RAID 1 + 0.

Abhängig von der genauen Art Ihrer Arbeitslast (dh wenn eine bestimmte Aufgabe auf eine genau definierte Teilmenge Ihres Speicherplatzes zugreift) können Sie möglicherweise mehrere unabhängige RAID-Arrays einrichten, sodass sich der Ausfall eines Arrays nicht auf die anderen auswirkt .

RAID 5 bietet in Ihrer Situation keine Vorteile. Es hat eine Leistungsminderung (insbesondere beim Schreiben) im Vergleich zu RAID 0, und bei der Anzahl der Festplatten ist es praktisch sicher, dass eine zweite Festplatte während der Wiederherstellung ausfällt, was keinen Vorteil für die Datensicherheit bietet.

Kennzeichen
quelle
1

Okay, nur zu einer klaren Frage - Streifengröße. Die größere Stripe-Größe ist besser, es sei denn, Ihr RAID ist dumm, immer den gesamten Datenstreifen als minimalen E / A-Block zu lesen / schreiben.

Warum? - Eine kleine Streifengröße bedeutet, dass mehrere Festplatten in längere E / A-Vorgänge einbezogen werden. Je geringer die Wahrscheinlichkeit ist, dass mehrere Festplatten mit einer logischen E / A geladen werden. Ein großer Streifen bedeutet mehr Chancen, dass nur eine Festplatte (oder einige wenige) in die E / A einbezogen wird. Dies mag als Mangel erscheinen, da es im Vergleich zu mehreren Festplatten keinen Boost gibt, aber dann springt Ihre fast zufällige Last ein und Sie stellen fest, dass die Last mehr oder weniger gleichmäßig auf alle Festplatten verteilt wird.

Weitere Theorie dahinter finden Sie hier: http://www.vinumvm.org/vinum/Performance-issues.html

poige
quelle