Wozu dient eine (Raid-Controller-) BBU?

Wozu dient eine (Raid-Controller-) BBU?

Ich frage mich, was der Zweck einer BBU ist. Mein erstes Verständnis war, dass sie es dem Cache ermöglicht, die Daten während eines Stromausfalls auf die Festplatte zu schreiben. Einige Spezifikationen besagen jedoch, dass eine BBU ihre Daten bis zu 72 Stunden lang speichern kann. Ich würde erwarten, dass die Daten innerhalb von Millisekunden auf die Festplatte geschrieben werden (vorausgesetzt, die Festplatte hat auch noch Strom).

Sollte eine BBU also nicht nur den Cache, sondern auch die ganze Festplatte für einige Sekunden schützen? Wäre das nicht sogar noch sicherer, weil die Cache-Daten auf die Festplatte geschrieben werden, anstatt im Cache herumzuliegen und auf erneute Stromversorgung zu warten? Nach ungefähr einer Sekunde könnte die Festplatte abgeschaltet werden.

Antwort1

Die Festplatten werden nicht mit Strom versorgt, sondern die Daten bleiben (in diesem Fall) bis zu 72 Stunden lang im Cache, bis Sie die Maschine wieder online bringen. Wenn Sie die Maschine wieder einschalten, schreibt sie den Inhalt des Caches wieder auf die Festplatten.

Es dient lediglich als Schutz vor Stromausfällen. Wenn (aus irgendeinem Grund) die Stromversorgung des Computers unterbrochen wird, ohne dass die Daten sauber auf die Festplatte übertragen wurden, hält die Batterie den Cache-Inhalt aufrecht, bis Sie den Computer neu starten können.

Es handelt sich nicht um eine USV für Festplatten, da sich die Festplatten in einem externen Festplatten-Array oder sogar in einem anderen Stromkreis befinden könnten. Sogar eine USV könnte ausfallen.

Antwort2

Es funktioniert so:

Die meisten Betriebssysteme verfügen über einen Systemaufruf, der ein sogenanntes „synchrones Schreiben“ ermöglicht. Dies bedeutet, dass während eines Schreibvorgangs, wenn ein Schreibvorgang abgeschlossen ist, garantiert ist, dass er auf die Festplatte übertragen wurde.

Synchrones Schreiben wird daher nicht zwischengespeichert. Es blockiert die Anwendung, bis es abgeschlossen ist. Diese Art von Vorgang ist offensichtlich langsamer als zwischengespeichertes Schreiben, bei dem die Daten im Betriebssystemspeicher verbleiben, bis die Festplatte ausreichend inaktiv ist, und dann die Daten geschrieben werden.

Einige kritische Softwareprogramme, wie etwa Datenbanksoftware, führen synchrone Schreibvorgänge für kritische Daten durch, da ein halb geschriebenes Update im Falle eines Stromausfalls die Datenbankintegrität beeinträchtigen kann.

RAID-Controller sind bei RAID-5-Schreibvorgängen notorisch langsam. Dies wird zu einem Problem, wenn Ihre Anwendungssoftware viele synchrone Schreibvorgänge verwendet. Aus diesem Grund sind RAID-5-Controller mit eigenen Caches ausgestattet.

Der RAID-Controller schreibt die Daten stattdessen in seinen Cache und lügt das Betriebssystem an, indem er ihm vorgibt, die Daten auf die Festplatte übertragen zu haben, während sich die Daten tatsächlich noch im RAID-Cache befinden.

Was aber, wenn die Stromversorgung unterbrochen wird, während sich die Daten noch im Puffer des RAID-Controllers befinden? Auf Ihren Festplatten wären nur halb geschriebene und wahrscheinlich inkonsistente Daten vorhanden.

Sie können sagen, dass dieses Verhalten den Zweck eines synchronen Schreibvorgangs zunichte macht. Wenn ein zwischengespeicherter Schreibvorgang in Ordnung wäre, würde die App-Software erst gar nicht nach einem synchronen Schreibvorgang fragen.

Der Kompromiss besteht darin, dass der RAID-Controller dem Betriebssystem zwar weiterhin mitteilt, dass er die Daten auf die Festplatte geschrieben hat, aber um diese wichtigen Daten bei einem Stromausfall zu schützen, verfügt der RAID-Controller über eine Batterie, die den Cache für einige Zeit am Leben hält, bis die Stromversorgung wiederhergestellt werden kann.

Wenn also die Stromversorgung wiederhergestellt ist und die Festplatten hochfahren und initialisieren, verfügt der Controller dank der Batterie immer noch über diese Daten in seinem Cache und kann das Schreiben Ihrer Transaktion auf die Festplatte abschließen.

Alle sind glücklich.

Aus diesem Grund können Sie den Schreibcache bei RAID-Controllern normalerweise nur aktivieren, wenn Sie über eine funktionsfähige und aufgeladene Batterie verfügen.

Antwort3

Es ist erwähnenswert, dass einige neuere Festplattencontroller jetzt mit einem Hochgeschwindigkeits-Flash-Cache ausgestattet sind, der die Daten weitaus länger als die üblichen 72 Stunden speichert und oft auch viel größer ist (~1 GB). Wenn Sie Teiledetails benötigen, lassen Sie es mich wissen.

Antwort4

Besonders bei einem DB-Server ist die Anschaffung einer 100-Dollar-Batterie ein Muss, auch wenn Stromausfälle selten sind.Auch wenn Sie Transaktionen aktiviert haben, und Ihr Server verliert die Stromversorgung, bevor die Änderungen den Cache verlassen und auf der Festplatte gespeichert wurden, bleibt Ihnen eine unvollständige Abfrage oder beschädigte Daten.

verwandte Informationen