Mir wurde kürzlich über einige Probleme bei Parity-RAIDs ohne nichtflüchtigen Cache berichtet. Teurere HW-Controller verfügen über batteriebetriebene Caches, um Schreibvorgänge bei Stromausfall abzuschließen. Einige Leute sagen, dass ein solcher Fehler, möglicherweise in Kombination mit einem verschlechterten Array, Ihr gesamtes Dateisystem zerstören kann. Andere behaupten, dass diese Probleme veraltet und / oder falsch sind .
Leider gibt niemand harte Referenzen und weder eine Suche nach md RAID und nichtflüchtigem Cache noch nach Bitmap-Caching gibt verlässliche Antworten darauf, ob md-RAID5 ratsam ist oder nicht.
Irgendwelche Informationen dazu?
Antworten:
Ich gehe davon aus, dass das Software-RAID von Linux genauso zuverlässig ist wie eine Hardware-RAID-Karte ohne BBU und mit aktiviertem Write-Back-Caching. Schließlich befinden sich nicht festgeschriebene Daten in einem Software-RAID-System im Puffer-Cache des Kernels, bei dem es sich um eine Form des Rückschreib-Cachings ohne Batterie-Backup handelt.
Da Sie mit jeder Hardware-RAID-5-Karte, die ich jemals verwendet habe, das Caching beim Zurückschreiben ohne BBU aktivieren können, kann Software-RAID-5 für Personen mit einer bestimmten Risikotoleranz problemlos funktionieren.
ObWarStory:
Trotzdem habe ich persönlich einen ernsthaften Datenverlust erlebt, weil keine BBU auf einer RAID-5-Karte installiert war, obwohl das Rückschreib-Caching aktiviert war. (Auch keine USV. Schrei mich nicht an, nicht meinen Anruf.)
Mein Chef rief mich in Panik an, während ich im Urlaub war, weil eines unserer Produktionssysteme nach einem Stromausfall nicht wieder hochfuhr. Er hatte keine Dinge mehr, um es zu versuchen. Ich musste an den Straßenrand fahren, den Laptop herausziehen, das WLAN-Tethering auf meinem Telefon
ssh
in das betroffene System einschalten und es reparieren, während meine Familie mit mir am Straßenrand saß, bis ich fertig war Wiederherstellen einer roached Datenbanktabelle aus der Sicherung. (Wir waren damals ungefähr eine Meile davon entfernt, den Empfang von Zellen zu verlieren.)Sagen Sie mir also: Wie viel würden Sie jetzt für eine RAID-Karte + BBU bezahlen ?
quelle
Nur ein Warnhinweis: RAID-5/6-Schreibvorgänge benötigen eine erhebliche CPU-Zeit, während Ihr Array beeinträchtigt wird. Wenn Ihr Server bereits vollständig ausgelastet ist, wenn eine Festplatte ausfällt, kann dies zu einem Abgrund der Reaktionslosigkeit führen. Ein solches Problem tritt bei einem Hardware-RAID-Controller nicht auf. Ich würde daher dringend davon abraten, Software RAID-5/6 auf einem Produktionsserver zu verwenden. Für eine Workstation oder einen leicht ausgelasteten Server ist dies jedoch in Ordnung.
quelle
SW RAID hat einen Fehlermodus. Wenn der Server nach der Hälfte des Schreibvorgangs ausfällt, kann ein beschädigter Streifen angezeigt werden. Ein HW-RAID-Controller mit einer BBU ist nicht allzu teuer und behält schmutzige Blöcke bei, bis Sie die Festplatten neu starten können.
Die BBU im Cache garantiert keine Schreibvorgänge bei einem Stromausfall (dh sie versorgt die Festplatten nicht mit Strom). Der Cache wird einige Tage lang mit Strom versorgt, bis Sie die Festplatten neu starten können. Dann spült der Controller alle verschmutzten Puffer auf die Festplatte.
Einige Hinweise zu SW vs. HW RAID-5
Schreibvorgänge auf einem SW RAID-5-Volume können langsam sein, wenn das Durchschreib-Caching mit blockierenden E / A verwendet wird, da der Aufruf erst zurückkehrt, wenn alle E / A abgeschlossen sind. Ein HW-RAID-Controller mit BBWC kann dies erheblich optimieren, sodass Sie eine wesentlich bessere Leistung erzielen.
Als ich das letzte Mal nachgesehen habe, konnten Sie keine direkten E / A-Vorgänge (dh DMA ohne Kopie) auf einem SW-RAID-Volume ausführen. Dies hat sich möglicherweise geändert und ist nur für Anwendungen wie Datenbankmanager relevant, die unformatierte Partitionen verwenden.
Ein moderner SAS-RAID-Controller kann Daten mit 1 GB / s oder mehr von einem Festplattenarray abrufen oder übertragen, insbesondere wenn er mit einer großen Streifengröße (z. B. 256 KB) formatiert ist. Ich habe sogar einen älteren Adaptec ASR-2200 mit Geschwindigkeiten verglichen , die darauf hinwiesen , dass beide SCSI-Kanäle mit 600 MB / s + insgesamt (10 x 15 KB Festplatten) bei sehr geringer CPU-Auslastung des Host-Computers ziemlich gesättigt waren. Ich bin mir nicht sicher, ob Sie das aus Software-RAID-5 ohne viel CPU-Auslastung herausholen können, wenn überhaupt, selbst auf einem modernen Computer. Vielleicht könntest du das schnell lesen.
Die Konfiguration zum Starten eines HW-RAID-Volumes ist einfach - das RAID-Volume ist für das Betriebssystem transparent.
Ein Low-End-RAID-Controller eines Tier-1-Anbieters wie adaptec ist zu Einzelhandelspreisen nicht so teuer und kann für Erdnüsse bei ebay gekauft werden. Denken Sie jedoch daran, dass Sie sich beim Kauf aus zweiter Hand an Tier-1-Anbieter halten und sicherstellen müssen, dass Sie das Modell kennen und die Verfügbarkeit von Treibern auf deren Website überprüfen.
Bearbeiten: Stellen Sie anhand des Kommentars von @ psusi sicher, dass Sie keinen fakeraid-Controller (transparentes SW-RAID im Treiber versteckt) erhalten, aber die meisten Angebote der größeren Namen (Adaptec, 3Ware oder LSI) sind keine fakeraid-Einheiten. Alles, was eine BBU aufnehmen kann, wird nicht gefälscht.
quelle
Wenn Sie Daten im Cache, aber noch nicht auf der Festplatte haben und die Stromversorgung ausfällt, verschwinden die Daten und Ihre Festplatte befindet sich höchstwahrscheinlich in einem inkonsistenten Zustand. Die Wahrscheinlichkeit dafür ist nicht sehr hoch, es sei denn, Sie haben ein System, das ständig schreibt, aber ich möchte meine Daten trotzdem nicht auf Wahrscheinlichkeitsspiele setzen.
Eine interessante Wendung wäre, ein Hauptdateisystem auf RAID5 / 6 zu erstellen, aber ein Journal auf einem regulären Laufwerk abzulegen, sodass die Daten zuerst auf dem regulären Laufwerk gespeichert werden. Die Leistung würde wahrscheinlich an den Crapper gehen, da Sie auf die Schreibgeschwindigkeit eines einzelnen Laufwerks beschränkt wären, aber die Zuverlässigkeit würde steigen. Ich denke also, in einer Situation, in der Ihre Schreibleistung nicht wichtig ist, aber Ihre Leseleistung, könnte das gut funktionieren.
Oder Sie könnten einfach weitere 100 $ ausgeben und die Karte mit BBU oder einer kleinen USV erhalten und all diese Komplikationen insgesamt vermeiden;)
quelle
Linux mdadm Software Raid ist genauso zuverlässig wie ein Hardware Raid mit batteriegepuffertem Cache. Es gibt keine Probleme mit plötzlichem Stromausfall, außer denen, die auch für plötzlichen Stromausfall auf einer einzelnen Festplatte gelten.
Wenn das System nach einem Stromausfall wieder hochfährt, wird das Array neu synchronisiert. Dies bedeutet im Grunde, dass die Parität neu berechnet wird, um mit den Daten übereinzustimmen, die vor dem Stromausfall geschrieben wurden. Es dauert einige Zeit, aber wirklich keine große Sache. Die Resynchronisationszeit kann durch Aktivieren der Bitmap mit Schreibabsicht erheblich reduziert werden.
quelle
In diesem Blog wird das Problem mit RAID5 und die Lösung durch ZFS RAIDZ erläutert .
Die wichtigsten Punkte sind:
und
quelle