[linux-l] Dateien mit '/' im Dateinamen
Jan Krueger
jk at microgalaxy.net
Mo Aug 18 06:20:10 CEST 2003
On Monday 18 August 2003 05:04, Peter Ross wrote:
> Hi Steffen,
>
> On Fri, 15 Aug 2003, Steffen Dettmer wrote:
> > Übrigens gibt es da noch etwas, und zwar LVM Snapshooting.
> > Hiermit kann man sowas erreichen: Vor dem Erzeugen der Datei
> > zieht man sich einen Snapshoot. Dann legt man die Datei an. Auf
> > dem snap passiert nichts. Am Ende schmeißt man den snap weg und
> > holt sich einen neuen. Die Datei ist "ruckartig" da und war nie
> > halb zu sehen. Es gibt also selbst diese Möglichkeit. Das ist
> > prima für Backups. Beim Verify wird es immer noch stimmen. Man
> > muß die Prozesse nur ganz kurz runterfahren, um den Snat zu
> > ziehen. Während der (langen) Backupdauer kann man ganz normal
> > weiterarbeiten. Ist schon schick.
>
> Das Runterfahren der Prozesse wird ein notwendiges Zugestaendnis daran
> sein, dass eigentlich LVM die falsche Schicht ist.
>
> Wenn Du ein staendig konsistentes Filesystem hasst, ('tschuldigung, hast,
> der Verschreiber ist aber zu schoen;-) dann brauchst Du auch das nicht (da
> die LVM aber nur eine Sammlung von Bytebloecken ist, kann sie nicht
> wissen, ob der Snapshot jederzeit konsistent ist).
>
> Im allgemeinen findett ein Copy-On-Write statt, d.h., wenn ein Bereich
> ueberschrieben wird, wird jetzt der alte stehengelassen und ein neuer
> geschrieben.
>
> Natuerlich muss der Snapshot die alten Daten wiederfinden. Je groesser die
> Aenderungen sind, um so groesser der Overhead fuer die nun doppelte
> Datenhaltung (zum Anfang kostet das annehernd nichts).
>
> Deswegen sollte man auch Snapshots in endlicher Zeit wegschreiben und dann
> wegwerfen - als Zweitkopie (wenn eins schiefgeht, nehme ich halt den
> Snashot von gestern) taugt es nur bedingt.
>
> Wegen o.g. Konsistenzbedingungen ziehe ich einen Snapshot auf
> Filesystem-Ebene vor.
Hallo Peter,
Das würde mit ext3,jfs,reiserfs,xfs nicht viel ändern.
Was würde passieren mit fürs Schreiben geöffneten Dateien während des
Filesystem Snapshots?
Sie währen aus Sicht der Anwendung genau so "vollständig" wie beim LVM
Snapshot. Bei ext3 werden Daten zwar geloggt, aber eben nur quasi zum
selbstzweck, von der anwendung nicht kontrollierbar. Der Snapshot kann also
nach wie vor unvollständig (aus sicht der anwendung) geschriebene Daten
enthalten.
erst reiser4 bringt das dafür notwenige verhalten, sprich alles kann atomar
sein, transaktionen, mit. Wenn dies konsequent im Filesystem selbst genutzt
würde, könnte das Filesystem immer auf zeitlich leicht ältere aber gültige
Daten zurückgreifen, mit dem overhead den unterschied zwischen alt und neu zu
loggen bis neu einen konsistenten (aus sicht der anwendung) Zustand erreicht
hat. Es könnte sich also immer einen gültigen Snapshot zusammenbasteln oder
sich vom LVM auffordern lassen einen zu basteln.
Dies Verhalten müßte natürlich von der anwendung zu steuern sein, also ein
entprechendes api muß existieren, damit die anwendung dem Filesystem
mitteilen kann: Diese 4 GB sind ein atom. dann kann LVM das Filesystem auch
fragen: auf welchen Dateien läuft was ab und von diesen gib mir einen
gültigen (voherigen) Stand und kann somit einen auch für die anwendung
gültigen snapshot machen.
Die alternative wäre, daß man alles unterhalb VFS als atomar betrachtet, was
aber ein vom heutigen dasein sehr stark abweichendes verhalten wäre und damit
vieles zum bersten bringen würde.
Die Frage wäre: Wo soll das atomare Verhalten, Transaktionen implementiert
werden? Im Filesystem oder im VFS?
Ich bin der Ansicht im VFS. filesysteme sollten diesbezüglich dumm sein und
lieber die Daten g'scheit organisieren. atomares verhalten und transaktionen
kann man auch generisch darüber machen und per api dem userspace verfügbar
machen und dann, ja dann, könnten das sogar Datenbanken zu ihrem vorteil
nutzen :)
Insofern vertrete ich auch die ansicht, daß Transaktionen in reiser4 nix zu
suchen haben :)
Und richtig, die verschiedenen journalling-techniken sollten, je nach bedarf,
modular ins/ans VFS zu hängen sein, ebenso wie die transaktionsfähigkeit usw.
Ein Filesystem sollte lediglich das layout der Daten auf der Platte bestimmen
und verwalten, mehr nicht.
Dennoch empfinde ich reiser4 als schmuckes stück software welches die
notwendigkeit für derartige dinge zeigt und den weg zum ziel verkürzt.
Noch idealer wäre es, da auch Filesystemtransaktionen lange dauern können,
nehmen wir als Beispiel mal 24 Stunden aber alle 12 Stunden soll ein
konsistentes Backup mittels Snapshot gemacht werden, wenn das Filesystem
zurück-callen oder -signalisieren könnte um der Anwendung zu sagen:
Snapshot-Time, Deine Transaktion läuft zwar noch, aber ich geb dir jetzt die
Chance mir umgehend etwas für dich konsistentes zu liefern sonst nehme ich
die Daten von vor 24 Stunden.
> Ich habe mal eben gegooglet, leider erfolglos.. Kann
> das eines der Linux-FS?
Vielleicht ein kommerzielles, die von linus-kernel können es nicht.
Welches Filesystem kann das?
Gruß
Jan
>
> Gruss
> Peter
>
> _______________________________________________
> linux-l mailing list
> linux-l at mlists.in-berlin.de
> https://mlists.in-berlin.de/mailman/listinfo/linux-l
Mehr Informationen über die Mailingliste linux-l