[linux-l] lokales Netz - NFS oder Samba?

Peter Ross Peter.Ross at alumni.tu-berlin.de
Mo Apr 16 13:35:24 CEST 2007


Hi Frank,

On Mon, 16 Apr 2007, Frank Reker wrote:

> Am Mon 16. Apr 2007 08:46 +1000 schrieb Peter Ross:
> 
> >Anyway, wenn kein Close kommt, kann der NFS-Server nicht wissen, was Du 
> >lieber moechtest - eine abgeschnittene oder keine Datei. Du wirst die 
> >abgeschnittene Datei haben.
> 
> wenn die datei neu angelegt wurde, ist das ziemlich egal. wenn die datei
> aber ueberschrieben oder veraendert wurde, sollte das drin stehn, was 
> vor dem ueberschreiben/veraendern drinstand. also so, als haette die 
> halbe transaktion nie statt gefunden. es sei denn die datei wurde mit 
> O_SYNC geoeffnet, oder es erfolgen explizite sync() aufrufe. in 
> letzterem fall sollte der aufruf des letzten sync-aufrufs restored 
> werden. natuerlich kann man soetwas auch auf anwenderebene 
> nachprogrammieren. aber imho gehoert soetwas ins fs, insbesondere bei
> fsen die uebers netz gehen.

Das ist auch bei einem lokalen Filesystem nicht gegeben.

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

Ohne sync nur, dass es dem Betriebssystem obliegt, wann es denn schreibt, 
wie es am besten passt, so dass es moeglichst performant ist.

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)

Nach Deiner Logik muesste das Betriebssystem tagelang cachen (wohin?), und 
wenn dann alles abstuerzt, moechtest Du hinterher keinerlei Logeintraege 
fuer die letzten Tage haben?

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.

Bedenke immer: die Anwendung selbst hat keine Ahnung, was dadrunter 
liegt.. (ob z.B,. ein lokales Filesystem mit Datenjournaling. ohne, wie 
lange es puffert, obs uebers Netz geht...)

Deshalb gibt es sync - fuer die ganz wichtigen Faelle.

Ich tippe mal, Datenbanken wollen das, sonst sieht es um ihre Konsistenz 
wirklich bescheiden aus. Aber wie die genau arbeiten, um Datensicherheit 
und Performanz unter den Hut zu bringen, weiss ich nicht.

Es gruesst
Peter



Mehr Informationen über die Mailingliste linux-l