Zum Inhalt springen

HDD-Cache im RAID?


Jörn

Empfohlene Beiträge

Moin,

folgende Situation:

Ich habe einen Server mit einem Netzteil, einem Hardware-RAID5 mit 3 WD 500GB SATA2-Platten.

Der Controller hat eine Batterie für seinen Cache.

Auf dem Server läuft eine SQL-Datenbank.

Es soll der Schreib-Cache im Controller aktiviert werden.

Was passiert bei einem Ausfall des Netzteils?

Meine Erkenntnisse:

- der Inhalt des Controller-Caches wird wegen der Batterie gespeichert, bis zum nächsten Hochfahren

Nur was ist dem dem Cache der Festplatten?? Sind die Daten darin weg?

Ist der über die Batterie des Controllers auch abgesichert?

Wird der durch den Controller-Cache ersetzt?

Der Support von WDC konnte mir leider keine vernünftige Info dazu geben.

Bitte nach Möglichkeit mit Quellennachweis.

thx

Jörn

Link zu diesem Kommentar
Auf anderen Seiten teilen

Na sicher gibt es da einen logischen Hintergrund:

- transaktionsbasierte Datenbanken

Was machst du, wenn ein Teil des Logs gerade im Cache der Festplatte liegt und schlagartig der Strom weg ist?

Dann ist der Cache der Platte leer und das Transaktionslog hinüber und damit die Datenbank inkonsistent.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn es sicher sein soll, dann ist auf so einem System doch eh der Schreibcache deaktiviert.

Wa du alles wissen willst haengt meiner Meinung nach stark von verwendeten Controller ab.

Wenn dein Controller allerdings nen gepufferten Cache hat, dann solltest dir bei entsprechender Konfiguration keine Gedanken ueber den Plattencache machen muessen. Naeheres ist dem Manual deines Controllers zu entnehmen.

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich habe herausgefunden, im Selbstversuch, dass in meinem Fall das Aktivieren des Schreibcache im Controller eine Geschwindigkeitssteigerung um den Faktor 10 hat. (Rücksichern dauerte statt 20h nur knapp über 2h)

Für den Fall, dass das Netzteil des Servers kaputt geht, hilft dir die USV garnichts. In einem solchen Fall versorgt die Batterie den Cache des Controllers bis zum nächsten Hochfahren, wo der Inhalt korrekt auf die Festplatte geschrieben werden kann.

Ohne Batterie wäre der Inhalt des Caches hoffnungslos verloren.:D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich habe herausgefunden, im Selbstversuch, dass in meinem Fall das Aktivieren des Schreibcache im Controller eine Geschwindigkeitssteigerung um den Faktor 10 hat. (Rücksichern dauerte statt 20h nur knapp über 2h)

Das kannst so nicht pauschalisieren.

Beim Betrieb eines Datenbanksystems wird in aller Regel viel mehr gelesen als geschrieben. (Ruecksichern ist da eine totale Ausnahme)

Das System wird also duch deaktivierten Schreibcache nicht wesentlich langsamer, dafuer aber um einiges sicherer.

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

Weil Netzteile ausfallen koennen und der Cache dann nicht mehr auf Platte geschriebern werden kann.

Goos

[

QUOTE]

Batterie den Cache des Controllers bis zum nächsten Hochfahren, wo der Inhalt korrekt auf die Festplatte geschrieben werden kann.

Ohne Batterie wäre der Inhalt des Caches hoffnungslos verloren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

schonmal gedanken über ein zweites netzteil gemacht? ich finde einen server mit nur einem netzteil ziemlich bescheuert für eine "transaktions" basierte Datenbank... wenn dir das alles so wichtig ist, wäre in meinen augen der erste und sinnvollste schritt den server mit redundanten netzteilen auszustatten und auch so mal ein oder zwei gedanken zum thema verfügbarkeit und datensicherheit zu verschwenden:marine

Link zu diesem Kommentar
Auf anderen Seiten teilen

seh ich auch so. ich erinnere mich auch noch an meinen ausbilder, der aus prinzip nur lese cache an lies, und den schreib cache von diesen controllern deaktivierte. frag mich nur, wie man den cache von HDDs direkt deaktiviert. dafür müsste es auch ein tool geben, dass direkt im NAS/DAS auch alles deaktiviert.

dennoch zur frage: hats mal jemand getestet?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Problem hat sich nun geklärt:

Vorab: Jeder festplatte sendet ein Completion-Signal, wenn ein Datenbrocken erfolgreich auf die Platte geschrieben wurde.

Normalerweise nimmt das OS dieses Signal auf und schickt den nächsten Schreibbefehl.

Das nennt sich auch "Write-Through".

Eine andere Möglichkeit ist der "Write-Back"-Modus, den ein Controller unterstützen muss.

Dabei nimmt der Controller den Schreibbefehl an, puffert ihn in seinem Cache und schickt das Completion-Signal an das OS. Zu einem geeigneten Zeitpunkt führt der Controller den Befehl aus und löscht den Befehl erst dann aus seinem Cache, wenn er von der HDD den Completion-Befehl bekommen hat.

Durch eine Batterie muss dieser Cache geschützt werden, damit keine Daten verloren gehen. Und selbst wenn Daten im HDD-Cache weg sind, dann stehen sie immer noch im Cache des Controllers.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...