PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Page Cache und Datensicherheit?



Poison Nuke
30.09.11, 08:47
Hio,

wie ja allgemein bekannt puffert Linux alle Dateizugriffe im RAM. Wenn Daten geschrieben werden sollen, dann gehen die zuerst in den RAM als "dirty" Pages und werden dann auf die HDD geschrieben.

Nur wie sieht es hier mit der Datensicherheit aus bezüglich Stromausfall z.B. ? Weil ich finde nichts dass man das ganze deaktivieren könnte.
Kann man also davon ausgehen, dass der Mechanismus so solide und stabil ist, dass unter JEDEN Umständen die absolute Datensicherheit gewährleistet ist?

Die Festplatten hängen an einem HwRAID Controller mit Batterie, der lokale Cache der HDDs ist deaktiviert.

derRichard
01.10.11, 22:33
Nur wie sieht es hier mit der Datensicherheit aus bezüglich Stromausfall z.B. ? Weil ich finde nichts dass man das ganze deaktivieren könnte.


siehe /proc/sys/vm/dirty_*



Kann man also davon ausgehen, dass der Mechanismus so solide und stabil ist, dass unter JEDEN Umständen die absolute Datensicherheit gewährleistet ist?


wenn du absolute datensicherheit willst, musst den den computer ausschalten... ;-)

hth,
//richard

Poison Nuke
02.10.11, 00:17
danke für den hinweis mit den Proc-Parametern.

krass, per Default fängt der pdflush erst bei 10% Speicherbelegung an, die dirty Pages zu schreiben. Bei 96GB RAM ist das durchaus nicht wenig :eek:

das ganze scheint sich aber auch nicht deaktivieren zu lassen wie es scheint. Aber ok zumindest gut zu wissen wie man es so einstellen kann, dass kaum etwas im RAM verbleibt.

derRichard
02.10.11, 00:25
danke für den hinweis mit den Proc-Parametern.

krass, per Default fängt der pdflush erst bei 10% Speicherbelegung an, die dirty Pages zu schreiben. Bei 96GB RAM ist das durchaus nicht wenig :eek:

das ganze scheint sich aber auch nicht deaktivieren zu lassen wie es scheint. Aber ok zumindest gut zu wissen wie man es so einstellen kann, dass kaum etwas im RAM verbleibt.

ich verstehe dein problem irgendwie nicht.
worum genau geht es dir?

bei einem computer kann man immer daten verlieren, wenn etwas ausfälllt...

//richard

Poison Nuke
02.10.11, 09:43
ich finde einen Datenverlust von 10 GB (in Worten: ZEHN GIGAbyte) schon ziemlich heftig. Da macht eine Batterie auf dem RAID Controller der bestenfalls 1GB im cache hat, reichlich wenig Sinn, wenn der größte Teil der Daten ungesichert im RAM verweilt.

mir geht es einfach darum das Risiko von einem massiven Datenverlust so weit wie möglich zu reduzieren, weil das Wiederherstellen von einem Backup extrem lange dauert und daher wirklich nur im Ausnahmefall ausgeführt werden sollte

ist das nicht logisch?!

derRichard
02.10.11, 10:15
ich finde einen Datenverlust von 10 GB (in Worten: ZEHN GIGAbyte) schon ziemlich heftig. Da macht eine Batterie auf dem RAID Controller der bestenfalls 1GB im cache hat, reichlich wenig Sinn, wenn der größte Teil der Daten ungesichert im RAM verweilt.


warum 10 gb datenverlust?
pagecache != datenverlust.

wenn du so ein rottiges system hast, das dir regelmäßig um die ohren fliegt, dann kauf dir ordentliche hardware.
ein betriebssysstem verlässt sich nun mal darauf, dass es nicht alle paar sekunden einfach so ausgeschaltet wird.




mir geht es einfach darum das Risiko von einem massiven Datenverlust so weit wie möglich zu reduzieren, weil das Wiederherstellen von einem Backup extrem lange dauert und daher wirklich nur im Ausnahmefall ausgeführt werden sollte

ist das nicht logisch?!

nein, ist es nicht.

du wirst auch jede art von io ungepuffert und synchron machen müssen, etc...

aber dreh nur alle caches und co. ab.
wenn du bei der leistung eines rechners von 1990 angelangt bist, gib gescheid. ;)

//richard

Poison Nuke
02.10.11, 10:47
warum 10 gb datenverlust?
pagecache != datenverlust.

was ist so schwer zu rechnen? 10% von 96GB sind wieviel? Ah vllt annährend 10GB :rolleyes:
Der Page Cache selbst belegt 100% vom RAM (Also rund 95GB). Die Default Einstellung von dirty_background_ratio, also dem Wert der angibt, wann der flush prozess aktiv werden soll, ist auf 10%.

und das "rottige" System muss du mir erstmal zeigen, in das man überhaupt so viel RAM reinbekommt... gibt es nämlich nicht. Von daher ist dieser Kommentar von dir auch ziemlich obsolet und zeigt wie du das Thema gelesen hast. Wir reden hier nicht von einem billig Desktop System, in die aktuell eh nicht mehr als 16GB RAM reingehen.


nur es gibt kein herkömmliches Serversystem das 100% Ausfallsicher ist. Ergo muss man IMMER damit rechnen dass so ein Fall eintreten könnte. Und wenn in so einem Fall kein Totalschaden vom Dateisystem/Dateien eintritt wäre es schon sehr praktisch. Immer noch nicht logisch?

derRichard
02.10.11, 10:53
nur es gibt kein herkömmliches Serversystem das 100% Ausfallsicher ist. Ergo muss man IMMER damit rechnen dass so ein Fall eintreten könnte. Und wenn in so einem Fall kein Totalschaden vom Dateisystem/Dateien eintritt wäre es schon sehr praktisch. Immer noch nicht logisch?

nein, ist es nicht.
deine rechung geht nicht auf, weil du kannst immer daten verlieren. auch wenn du deinen so gehassten pagecache deaktivierst...
und noch schlimmer es kann immer etwas kaputt gehen.

zb. was ist wenn der l2-cache plötzlich kaputte daten liefert?
am besten gleich abstellen!

und da eben nichts 100% ausfallsicher ist, braucht man ein ordentliches backup. also nicht nur alle monat mal alles 1:1 auf ein tape kopieren.
stichwort: checkpointing.

//richard

stefan.becker
02.10.11, 10:53
Nur drehst du an der falschen Schraube.

Du solltest nicht den Cache abschalten, sondern eine USV kaufen.

derRichard
02.10.11, 10:58
Nur drehst du an der falschen Schraube.

Du solltest nicht den Cache abschalten, sondern eine USV kaufen.

dein wort in gottes ohr!

//richard

Poison Nuke
02.10.11, 11:06
wollt ihr mich eigentlich alle jetzt nur total rollen oder was?

gibt es auch irgendwelche ernst-gemeinten Antworten?

ihr wisst doch gar nicht ob die Kiste an einer USV hängt oder nicht. UNd ja SIE HÄNGT AN EINER USV!!!!!!111einself



was ist so schwer auf die eigentliche Frage vom Thread zu antworten, ohne irgendwelche sinnlosen Kommentare zu bringen.



machen wir die Frage mal einfacher:
wie kann ich einstellen, dass statt 10GB RAM nur sagen wir maximal 50-100MB RAM dirty sind? Der Verlust wäre ja schonmal deutlich erträglicher

stefan.becker
02.10.11, 11:18
Blöde Frage: Aber worüber machst du dir dann Gedanken?

Wenn das Gerät an einer USV hängt, dann wird es doch bis zur Leerung des Akkus geregelt runtergefahren. Bis dahin sollte alles geschrieben sein.

Und wenn nicht, dann ist die USV zu klein und nicht der Cache zu groß.

derRichard
02.10.11, 11:22
wirf doch einfach mal einen blick in linux-2.6/Documentation/sysctl/vm.txt

wobei ich dein problem noch immer nicht verstehe, wenn das teil eh an einer usv hängt...
aber egal, es ist dein system.

//richard