RAID-Konfiguration für große NAS

13

Ich überlege, eine NAS-Box mit 24 1 TB zu bauen, bin mir aber nicht sicher, welche Laufwerkskonfiguration die beste ist. Ich möchte den areca ARC-1280ML-2G-Controller verwenden und alle 24 Laufwerke daran aufhängen.

Ich möchte, dass alles als ein Volume gemountet wird, aufgrund der Art der Daten, die wir darauf speichern. Eine verrückte Idee, die wir hatten, war, 6 RAID 5-Volumes mit 4 Festplatten zu konfigurieren und dann Software-RAID 5 über diese 6 Volumes durchzuführen. Das würde bedeuten, dass ein Volume für uns sterben könnte und wir trotzdem keine Daten verlieren würden.

Ich sollte beachten, dass dies ein F & E-Projekt ist. Wir haben eine bevorstehende Anwendung, bei der wir Dutzende Terabyte Speicher benötigen, um schnell und hochverfügbar zu sein. Für die erste F & E-Phase können wir jedoch ein gewisses Risiko eingehen.

Was ist die beste Lösung für diese Art von Konfiguration? Bei Festplatten mit 24 1 TB fällt wahrscheinlich mehr als eine Festplatte gleichzeitig aus (oder innerhalb der Zeit, die erforderlich ist, um das Volume nach einem ersten Ausfall wiederherzustellen), sodass ich Probleme habe, eine gute Lösung zu finden.

kevin42
quelle

Antworten:

10

Es gibt bereits einen RAID-Level für das, was Sie möchten. Es heißt RAID 10.

Die MTBF für Antriebe auf Professional- und Consumer-Ebene hat in den letzten Jahren um eine Größenordnung zugenommen, die nicht korrigierbare Fehlerrate ist relativ konstant geblieben. Diese Rate wird auf 10 ^ 14 Bit geschätzt, dh ein Bit pro 12 Terabyte, die für Consumer-SATA-Laufwerke als Quelle verwendet werden .

Bei jedem Scan Ihrer Durchläufe Ihres 24-TB-Laufwerks treten statistisch gesehen mindestens zwei Einzelbitfehler auf. Jeder dieser Fehler löst eine RAID5-Neuerstellung aus. Schlimmer noch, während der Neuerstellung führt ein zweiter Fehler zu einem doppelten Fehler.

Dave Cheney
quelle
Hervorragende Punkte in Bezug auf die nicht korrigierbare Fehlerquote, aber im dritten Absatz sollten Sie hinzufügen, dass "statistisch gesehen ..." auftreten wird, da wir alle wissen, dass Lesefehler (oder deren Fehlen) nicht sicher sind
Matt Simmons
Wird es nicht versucht, es vor dem Wiederaufbau noch einmal zu lesen?
Antoine Benkemoun
Antoine: Sicher, aber wenn es wirklich nicht gelesen werden kann, muss es neu erstellt werden, um die Daten von der Parität IIRC zu erhalten.
Matt Simmons
@Antonie, dies sind nicht korrigierbare Lesefehler, d. H. Fehler, die von der ECC-Logik des Laufwerks nicht korrigiert werden können (dies korrigiert Fehler mit einer Rate, die deutlich über 1: 10 ^ 14 liegt)
Dave Cheney,
Das sind also Fehler, die durch Schreibfehler verursacht werden? Was hält eine zweite Lesung davon ab, erfolgreich zu sein?
Antoine Benkemoun
11

Genau das ist meine tägliche Arbeit ... den Bau von Linux-Speicherservern.

  • Die Areca-Karte ist in Ordnung. Sie können es in RAID-6 verwenden, es wird angemessene Sicherheit bieten. Kaufen Sie auch die optionale Batterie-Backup-Einheit .
  • Verwenden Sie Festplatten der Enterprise-Klasse , keine Desktop-Laufwerke. Sie werden 400 Dollar mehr auf Ihrem Server ausgeben, aber es ist es wert. Kaufen Sie zwei Ersatzlaufwerke. Leg dich nicht damit herum, sondern verwende Festplatten desselben Modells.
  • Verwenden Sie für das Dateisystem XFS . Keine Scherze, ext3 und Freunde sind für 16 TB + Dateisysteme einfach nicht gewappnet. Selbst im Falle eines schwerwiegenden Absturzes ist xfs_repair auf einem 20-TB-Volume recht schnell (15 Minuten, nicht mehr).
  • Verwenden Sie vorzugsweise LVM2 , um die Speicherverwaltung zu vereinfachen, auch wenn Sie nicht viel daran ändern möchten .
  • Installieren Sie das Areca-Management-Tool und schreiben Sie einen Cron-Job, um Ihnen eine tägliche E-Mail mit einem Gesundheitscheck zu senden.
  • Backup nicht vergessen . RAID ist kein Backup. Wenn jemand einfach eine wichtige Datei löscht, ist eine Wiederherstellung ohne eine ordnungsgemäße Sicherung nicht möglich. Ich persönlich verwende rdiff-backup , um alle wichtigen Daten auf einem dedizierten Server mit einem Monatsverlauf zu speichern. Sie können auch zwei RAID-Volumes auf Ihrem Dateiserver erstellen und eines auf dem anderen sichern.
Wazoox
quelle
6

wow, RAID5 über RAID5? Möchten Sie über Leistungsprobleme sprechen? Sie werden Tonnen haben . Der Host, an den Sie diese hängen, hat Kätzchen, die die Parität berechnen, diese Parität auf 3 Laufwerke schreiben und dann die Parität DIESER Parität berechnen und auf das 4. Laufwerk dieses Satzes schreiben. BEEINDRUCKEND!

Sprechen wir über RAID10. Es ist im Wesentlichen RAID 1, aber Sie teilen Ihre Laufwerke in zwei Hälften und spiegeln dies wider. Es ist fehlertolerant, da Sie 2 Laufwerke verlieren können und trotzdem in Ordnung sind. Außerdem ist die Leistung hervorragend.

Wenn Sie nicht allzu viel Speicherplatz benötigen, aber ein 24-TB-Array zur Verfügung steht, das nichts Besseres zu tun hat, das aber unbedingt verfügbar sein muss, sollten Sie RAID60 in Betracht ziehen. Es handelt sich im Wesentlichen um RAID6 mit gespiegelten Laufwerksgruppen. Sie werden ungefähr die Hälfte Ihrer Laufwerke verlieren und die Leistung wird schlecht sein, aber Sie werden fast garantiert, dass die Daten dort sein werden.

Wirklich, ich würde mit RAID10 gehen. Es funktioniert gut und funktioniert gut. Ich bin der Meinung von Evan, dass Sie wahrscheinlich keine riesigen RAID-Sets aus so vielen Festplatten erstellen sollten, denn wie er sagt, werden Dinge wie fsck und chkdsk ewig dauern, und was für mich noch wichtiger ist, die statistische Wahrscheinlichkeit eines Lesefehlers steigt mit der Größe der einzelnen Festplatten. Ich würde 7-10 Festplatten pro Satz empfehlen. Mit dieser Anzahl von Spindeln können Sie 3 RAID-Volumes mit sehr angemessener Größe erstellen.

Denken Sie bei jeder Auswahl daran, ein paar Festplatten als Ersatzlaufwerke zu belassen, damit Sie sofort mit dem Wiederherstellen beginnen können, anstatt das Array darauf warten zu lassen, dass Sie sie ersetzen. Sobald eine Diskette stirbt, beginnt die Uhr zu ticken, damit eine andere läuft.

Matt Simmons
quelle
@Matt: Ich spreche nicht über die Größe der RAID-Sets. Ich spreche über die Größe des Dateisystems. Wenn Sie ein einzelnes Dateisystem verwenden, das unabhängig von der Art des Dateisystems so groß ist, ist eine enorme Ausfallzeit erforderlich, wenn Sie eine Dateisystemprüfung durchführen müssen, da das Host-Betriebssystem das Dateisystem usw. "beschädigt" hat.
Evan Anderson,
@Evan - Entschuldigung, meine schlechte. Aber das ist auch ein anderes Argument dagegen.
Matt Simmons
@Matt: Ein Argument gegen was? Das Layout der RAID-Container und die Anzahl der Dateisysteme in diesen RAID-Containern sind rechtwinklig. Sie müssen nicht haben , um ein einzelnes Dateisystem in einem einzigen RAID - Container haben, und ein Dateisystem kann in den meisten Betriebssystemen mehrere RAID - Container umfassen.
Evan Anderson
Sie sind auf beiden richtig. Wir sind uns einig. Sie sollten keine extrem großen Dateisysteme erstellen, da die Überprüfungszeit schlecht ist. Sie sollten auch keine extrem großen Raid-Volumes erstellen, da die statistische Wahrscheinlichkeit eines Lesefehlers zunimmt.
Matt Simmons
2

Warum nicht RAID 1 + 0? Es wird alles auf der Controller-Ebene gehandhabt ...

Matt Rogish
quelle
1

Ich weiß, dass Sie "F & E" gesagt haben, aber Sie haben auch "Hochverfügbarkeit" gesagt. Ich würde die "Einsparungen" einer DIY-Lösung im Vergleich zum Kauf von Standard-SAN-Geräten in Frage stellen, um dies zu tun. Wenn mit Ihrer Heimwerker-Lösung etwas schief geht, sind Sie in der beneidenswerten Lage, niemanden zu haben, an den Sie sich wenden können, um Hilfe zu erhalten. Was kosten Sie Ausfallzeiten pro Stunde? Sie können die Kosten für mittelgroße SAN-Geräte relativ schnell in Form von Ausfallkosten aufbrauchen, ohne die Kosten zu berücksichtigen, die mit einem unkorrekten Datenverlust verbunden sind.

Unabhängig davon, was Sie mit der zugrunde liegenden Festplatte tun, würde ich kein einziges so großes Dateisystem erstellen.

Eine Beschädigung des Dateisystems ist eine echte Möglichkeit (RAID-Controller-Problem, Betriebssystemfehler usw.). Bei einem so großen Volume wird eine Dateisystemprüfung für immer dauern. Ich würde dringend empfehlen, mehrere Volumes zu verwenden, die logisch kombiniert werden können, um als ein einziges Dateisystem zu erscheinen (auf verschiedene Weise - Sie haben das Betriebssystem nicht erwähnt, daher kann ich Ihnen keine konkreten Ideen geben). Wenn Sie einige Dateisystembeschädigungen haben, verlieren Sie einen Teil des logischen Volumes, sind aber immer noch "up".

Als Beispiel: In einer Windows - Welt, das Ausführen von CHKDSK auf einem Volume 20 TB NTFS mit Dateien gefüllt sein wird , SLOW . In einer solchen Umgebung würde ich mehrere kleinere NTFS-Volumes erstellen und diese mit DFS logisch in einem einzigen Namespace kombinieren.

Evan Anderson
quelle
1

Wazoox, die Antworten sind gut. Ich habe nicht den Repräsentanten, der ihm mehr Pluspunkte gibt, aber ich würde Folgendes hinzufügen.

RAID 6 oder mindestens 2 Live-Parity-Disks pro 10 Disks, maximal 16, wenn Sie einen Tag in Anspruch nehmen können, an dem die Leistung durch die Wiederherstellung Ihres Raids beeinträchtigt wird. Wenn Sie mit der Verschlechterung nicht leben können, dann müssen es gespiegelte Streifen sein.

Wenn Sie den Linux-Weg gehen, würde ich entweder eine Hardware-RAID-Karte (mit Batterie-Backup) oder einen RAID-Controller im Disc-Gehäuse haben. Ich stimme zu, dass xfs das Dateisystem der Wahl unter Linux ist. Beachten Sie jedoch, dass Dateisysteme mit ca. 50 TB auf xfs mehr als 16 GB RAM benötigen, wenn Sie xfs_check ausführen müssen.

Ich würde eine gute NAS-Box wie eine NetApp ernsthaft in Betracht ziehen, da sie auf lange Sicht viel weniger Arbeit bedeutet. Dies hängt davon ab, wie viel Zeit Ihr / der Speicheradministrator dem Unternehmen wert ist.

Nfs / samba zu einer guten Leistung zu bringen, ist ein bisschen düster. Wirst du 10 GB Ether oder nur Aggregationen von 1 GB / s verwenden? (Erwerben Sie keine Broadcomm-Karten, insbesondere keine mit 10 GB).

LVM2 ist ein Kinderspiel, aber verwenden Sie das Schnappschuss nicht, da es nicht schnell ist.

Denken Sie daran, dass die Sicherung einige Zeit in Anspruch nehmen wird.

Testen Sie, wie das System ausfallen kann, bevor es in Produktion geht, und lassen Sie es aufschreiben, damit Sie und Ihre Kollegen die Dokumente finden, wenn alles schief geht.

James
quelle
1

Dies hängt von Ihrem Lese- / Schreibverhältnis ab. Wir verwenden viele externe HP MSA70-SAS-Laufwerkgehäuse mit 25 Festplatten und erstellen sie immer als einzelnes RAID6-Array, da unser Lese- / Schreibverhältnis 99%: 1% beträgt. immer noch ziemlich schnell, nur nicht so gut im Vergleich zu anderen). Auf diese Weise verfügen wir über 23 Datenträger im Wert von Daten, haben sehr gute, wie bei SEHR guten, zufälligen Lesevorgängen und der gesamten Lesebandbreite Vorteile und können zwei Datenträgerausfälle überstehen.

Als grobe Richtlinie sollte ein RAID5-Array nicht mehr als 14 Festplatten in einem Array haben, während ein RAID6 mit bis zu 54 Festplatten in Ordnung sein sollte. Je größer das Array, desto größer ist natürlich die Kluft zwischen Lese- und Schreibleistung und Langsamere Neuerstellungen werden dauern, aber es KANN ein guter Kompromiss sein.

Chopper3
quelle
0

Ich würde zunächst zwei Standby-Festplatten hinzufügen.

RAID 5 oder 6 ist für zufällige Lesevorgänge oder große sequenzielle Lese- und Schreibvorgänge geeignet. Wenn Sie viele kleine Schreibvorgänge durchführen möchten, wählen Sie RAID 10, da RAID 5+ bei kleinen Schreibvorgängen einen 4-fachen Treffer erzielt.

Wenn Sie den Schreibcache einschalten, denken Sie daran, ihn mit einer Batterie zu sichern.

Hans Malherbe
quelle