Jörn Geschrieben 12. Dezember 2006 Teilen Geschrieben 12. Dezember 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 12. Dezember 2006 Teilen Geschrieben 12. Dezember 2006 Ich kann leider nicht antworten, mich wuerde aber interessieren mit welchem Hintergrund du das erfahren willst. Sollte es dabei einen praktischen Nutzen geben, der mir bisher nicht bekannt ist? Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jörn Geschrieben 12. Dezember 2006 Autor Teilen Geschrieben 12. Dezember 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 12. Dezember 2006 Teilen Geschrieben 12. Dezember 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
alpha-centauri Geschrieben 12. Dezember 2006 Teilen Geschrieben 12. Dezember 2006 Exakt. Kann mir jemand mal plausibel erklären, welcher Zweck batterie-gepufferte Caches haben sollen, wenn der Server an ner USV hängt? Ich versteh es immer noch nicht und hab mir damals, als wir so ne sündteure Raid-Karte mit n-MByte Cash eingebaut haben schon dne Kopf zerbrochen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 12. Dezember 2006 Teilen Geschrieben 12. Dezember 2006 Exakt. Kann mir jemand mal plausibel erklären, welcher Zweck batterie-gepufferte Caches haben sollen, wenn der Server an ner USV hängt? Weil Netzteile ausfallen koennen und der Cache dann nicht mehr auf Platte geschriebern werden kann. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jörn Geschrieben 12. Dezember 2006 Autor Teilen Geschrieben 12. Dezember 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 12. Dezember 2006 Teilen Geschrieben 12. Dezember 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
alpha-centauri Geschrieben 12. Dezember 2006 Teilen Geschrieben 12. Dezember 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Banane2k4 Geschrieben 12. Dezember 2006 Teilen Geschrieben 12. Dezember 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
alpha-centauri Geschrieben 12. Dezember 2006 Teilen Geschrieben 12. Dezember 2006 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jörn Geschrieben 13. Dezember 2006 Autor Teilen Geschrieben 13. Dezember 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.