[linux-l] samba und grosse dateien unter ext3, datenverlust

Jan-Benedict Glaw jbglaw at lug-owl.de
Sa Apr 3 09:42:08 CEST 2004


On Fri, 2004-04-02 22:56:46 +0200, olafBuddenhagen at web.de <olafBuddenhagen at web.de>
wrote in message <20040402205646.GD1445 at sky.local>:
> On Fri, Apr 02, 2004 at 08:46:28PM +0200, Jan-Benedict Glaw wrote:
> > Wenn Du den Rechner abwürgen mußtest, dann sind solche Störungen
> > "normal". Dafür hat man ja eine USV ...  Wenn Du die Daten sicherer
> > haben willst, dann solltest Du das "sync"-Flag für die entsprechenden
> > Dateisysteme (/etc/fstab) setzen.

> Hingegen darf es niemals passieren, dass eine ältere Datei kaputt geht,
> oder gar Inkonsistenzen im Dateisystem auftreten. Genau das soll das
> Journalling ja verhindern!

Genau. Man hat aber immer das Problem mit den Nutzdaten - und damit, daß
viele Applikationen nicht davon ausgehen, daß ihr write() verloren gehen
könnte (aus Nutzdatensicht).

Du hast zwei Möglichkeiten, da drumherum zu arbeiten. Entweder, Du
trimmst die Applikation darauf, sicherzustellen, daß die Daten wirklich
auf der Platte sind. Oder (wenn Du die Applikation dahingehend nicht
unter Kontrolle hast) Du setzt das FS einfach auf "sync". Dann müssen
die Daten, bevor ein write() zurückkehrt, zumindest an die Platte
geschickt sein.

Beide Verfahren haben Macken, und zwar große! Applikationen (gerade
solche, die von z.B. DOS portiert worden sind) müßten an allen möglichen
und unmöglichen Stellen nun fsync(), sync() oder fdatasync() aufrufen.
Da hast Du bei einer größeren Applikation gleich ein ganz nettes
Projekt:)

Da sieht es einfacher aus, das Dateisystem auf "sync" zu setzen. Das
klappt dann auch wirklich fast immer. "Fast?"  Genau. Selbst, wenn der
Schreib-Cache der Laufwerke via Software ausgeschaltet ist (ich denke,
es gibt nur ein OS, daß den defaultmäßig einschaltet...), nehmen sich
viele Platten das Recht, selbst auf einen (an sie durchgereichten)
Sync-Befehl _nicht_ alle Daten auf die Träger zu schreiben. Applikation
und OS denken, alles ist in Buttter, aber dernächste Stromausfall kommt
bestimmt...

Um diese Firmware-"Features" hat's erst vor zwei, drei Wochen auf der
LKML eine nette Diskussion gegeben. Fazit: Heutzutage gibt es keinen
sicheren Mechanismus mehr, um festzustellen, ob es alle Daten, die man
einer IDE-Platte schickt, in einen nichtflüchtigen Speicher geschafft
haben.

MfG, JBG

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
   ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: Digital signature
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20040403/f3ee507b/attachment.sig>


Mehr Informationen über die Mailingliste linux-l