Verfügbarer Platz im UFS Dateisystem

Marlboro

BSD Frischling
Hallo BSD'ler,

bin ein blutiger BSD-Anfänger und bin froh über meine erste erfolgreiche Installation. Samba wurde installiert und läuft auch. Nun aber ein kleiner shock:
Ich habe zwei HW-Raids an nem Adaptec 2405. Erfolgreich(?) mit sysinstall Slices/Partitionen erstellt,, formatiert und gemounted. Das eine RAID war zu seinen Linuxzeiten zu ca. 95% belegt. Jetzt passen genau die gleichen Daten nicht mehr auf die Platten. Habe ich evtl. irgendwas beim erstellen der Dateisysteme im UFS Format nicht beachtet? Für einen "Schubs" in die richtige Richtung bin ich schonmal dankbar.
 
Unter UFS werden standardmäßig 8% des Platzes für den Superuser reserviert. Unter Linux (ext3) sind es (glaube ich) nur 5%. Die Defaulteinstellung kannst du mit tunefs(8) verändern.
 
Aha.
Danke für die schnelle Antwort. Dann werde ich mich mal mit der tunefs mp auseinander setzen. Gibt es noch irgendwas (fatales) was es zu beachten gilt?
 
In der manpage steht jedenfalls, daß man das Limit nicht unter 5% senken sollte. Erfahrungen damit hab ich aber auch nicht. ;)
 
Also, es ist ganz einfach. Wie immer im Leben. :) Die FFS-Familie (vor allem UFS und UFS2 in verschiedenen Inkarnationen) benutzt einen linearen Aufbau. Sprich die Metadaten (die Index Nodes aka inodes, welche sagen wo die zur Datei zugehörigen Daten gespeichert sind, wie Datei heißt, etc.) werden nicht wie z.B. bei XFS oder dem legendären ReiserFS in einem Baum gespeichert, auch nicht wie bei FAT oder NTFS in einer Tabelle, sondern in regelmäßigen Abständen über die Platte hinweg. Dazu kommt eine Tabelle, welche den freien Speicher markiert. Dies Prinzip hat einige schlagende Vorteile gegenüber Bäumen, hauptsächlich ist es wesentlich robuster. Wirklich kritischer Datenverlust (mehr als ein paar Dateien) kommt bei FFS-Dateisystemen praktisch nicht vor, solange sie denn sauber implementiert sind. Kaum jemand (niemand?) in diesem Forum wird aufgrund von Softwareversagen jemals nennenswerte Mengen Daten die auf UFS oder UFS2 gespeichert waren verloren haben. Doch das Ganze hat auch Nachteile. Einmal die Geschwindigkeit von Metadaten-Operationen. Das das "Fast File System" auch nach 28 jahren dennoch eines der in der Praxis schnellsten Dateisysteme ist, liegt vor allem an sehr komplexer, intelligenter Algorithmik und Softupdates. Außerdem aber die Freispeicherverwaltung, sprich welcher Speicher ist frei und wo schreiben wir die Datei hin, ohne sie viel zu fragmentieren? Dieses Problem ist nur schwer zu lösen, die jetztendlich angewandte Lösung ist ganz einfach. Man garantiert, dass eine gewisse Menge Speicher immer frei bleibt. Unter dieser Bedingung kann man einige Grundannahmen treffen, die die Speicherauswahl sehr schnell machen.

So, was macht nun die Einstellung des garantiert freien Speichers? Sie gibt an, ab welchem Punkt UFS2 von schneller Speicherzuweisung aus langsame Speicherzuweiung umschaltet. Schnelle Speicherzuweisung fragmentiert mehr, was problemlos ist, solange genügend Speicher frei ist. Die langsame Zuweisung fragmentiert weniger, kommt auch mit wenig freiem Speicher klar, ist aber langsam. Da es langsam wird, kann nur root den garantiert freien Speicher füllen, nebenbei verhindert es, dass root durch mangelnden Speicher ausgesperrt wird.

Was ist der optimale Wert? Darüber kann man lange streiten. Kirk McKusick, der das FFS und seine neueren Reinkarnationen schrieb, sagte mal etwa 12% sollten garantiert frei sein. Dies ist nun aber recht viel. 5% wiederum bietet aus Nutzersicht genügend Geschwindigkeit und blockiert nur weniger Speicher. Die in der Praxis angewandten 8%(?) sind also ein Kompromiss aus beiden Standpunkten. Wenn du den Speicher unbedingt brauchst, senke es auf 5% ab. Aber besser wäre es eine weitere Platte ins RAID zu klemmen.
 
Yamagi - AMEN!
Alle Infos super gebündelt und perfekt in "Szene" gesetzt. Die mp von tunefs hat mich mittlerweile über die "magische" 5% Hürde und den space||speed faktor aufgeklärt. Aber danke vielmals das du mir (oder uns allen) auch das "warum" und "weswegen" erklärst. Sehr gute Arbeit :-)

Ich stimme dir vollkommen zu: lieber werde ich eine weitere Festplatte "nach-klinken" als an diesem doch sehr sinnvollen Wert etwas zu ändern - schließlich bin ich bei BSD gelandet um endlich ein stabiles OS für meine diversen, kleinen Netzwerke zu haben.

Kann man diesen Thread jetzt irgendwie als solved kennzeichnen ?

Gruß,

Marlboro
 
Unter UFS werden standardmäßig 8% des Platzes für den Superuser reserviert. Unter Linux (ext3) sind es (glaube ich) nur 5%. Die Defaulteinstellung kannst du mit tunefs(8) verändern.

NEIN NEIN NEIN! Das ist keine root-reserve, sondern wie Yamagi bereits erlaeutert, eine Reserve um nicht exzessiv zu fragmentieren und bei der Allokation der Bloecke nicht ewig rumsuchen zu muessen.

Dem Superuser wird halt erlaubt, diese Reserve zu ignorieren (root weiss schliesslich, was er/sie tut).

*scnr*
 
Ich habe vor längerer Zeit mal aus eigener Dummheit als root (man weiß was man tut) eine Partition zu 108% beschrieben. Also wirklich, bis er über fehlenden Platz heulte. Das Ergebnis ist hier auf einigen Fotos wunderschön dokumentiert: http://deponie.yamagi.org/freebsd/syncer/ Das Dateisystem hat es problemlos überstanden, man brauchte nicht einmal fsck, aber denoch... :)
 
Zurück
Oben