makro-journaling - war: Re: [linux-l] lokales Netz - NFS oder Samba?

Frank Reker frank at reker.net
Di Apr 17 00:49:56 CEST 2007


Am Mon 16. Apr 2007 21:35 +1000 schrieb Peter Ross:

>Ein sync heisst nur: liebes Betriebssystem, bitte stelle sicher, dass die 
>Aenderungen _jetzt_ geschrieben werden.

eben drum - wenn eine anwendung sagt "die daten muessen jetzt 
geschrieben werden", dann auch bei transaktionsbasiertem schreiben. 
ansonsten wuerdest du ja die funktionsweise des sync aushebeln.



>Stelle Dir vor, Du hast ein Apachelog, welches einmal geoeffnet wird, und 
>dann schreibt Apache tagelang Megabyte fuer Megabyte - ohne sync (weil Du 
>nicht moechtest, dass das System nur deswegen in die Knie geht, weil die 
>Accesslogs immer sofort geschrieben werden muessen)

logfiles werden in aller regel im append-mode geoeffnet. da hierbei nichts
ueberschrieben werden kann, ergibt sich das problem nicht.
macro-journaling (nennen wir es mal so) sollte nur aktiviert werden,
wenn die datei im read-write (O_RDWR) oder write-only (O_WRONLY) mode
geoeffnet wurde, und zwar ohne die flags O_APPEND und O_SYNC. ob 
macro-journaling nur bei bereits bestehenden dateien aktiviert werden
sollte oder auch dann wenn die datei neu erzeugt wird, ist 
ansichtssache.



>Nein, so ab und an wuerde das Betriebssystem schreiben, und Journaling 
>der Daten ist extra dafuer entwickelt worden, damit das System wirklich 
>moeglichst wenig vergisst.

nein. dafuer nicht. sondern damit bei einem absturz das dateisystem
konsistent bleibt. stell dir vor, du willst ne datei anlegen. das fs
alloziiert ne inode, und bevor der dazugehoerige verzeichniseintrag
generiert werden kann sturzt dein system ab. es wuerde also eine
unverlinkte inode uebrigbleiben. aehnliche situationen koennten sogar
das ganze fs unbrauchbar machen. um das zu verhindern werden alle
dateisystemoperationen in mini-transaktionen verpackt und in ein
repository (journal) zwischen-geschrieben. dadurch wird garantiert,
dass eine operation ganz oder gar nicht ausgefuehrt wird, aber niemals
halb. des weiteren gibt es auch data-journaling - also journaling des
inhalts der datei. eine transaktion ist hierbei aber immer nur _eine_
write-instruktion. und das wuerd ich gern erweitert wissen. 



-- 
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20070417/b0e417d6/attachment.sig>


Mehr Informationen über die Mailingliste linux-l