[linux-l] Neues Root-Dateisystem

Volker Grabsch vog at notjusthosting.com
Di Jul 4 21:41:17 CEST 2006


On Mon, Jul 03, 2006 at 04:52:24PM +0200, Christoph Biedl wrote:
> Und um gleich mal auf das gern geschätzte xfs draufzuhauen: Das
> vernichtet bei der Recovery oft und gerne Dateien, die beim Crash zum
> _Lesen_ geöffnet waren, sie enthalten anschließend nur noch Nullbytes.
> Für mich ein KO-Argument, willst Du gerne noch ein debsums über /usr
> machen?

Kann ich nur bestätigen. Zwar habe ich noch keinen kritischen Datenverlust
erlebt, dafür aber irgendeinen nervigen Bug in der XFS-Implementierung,
der die größte Partition auf dem Server (/home) unbrauchbar machte. Nach
größeren Schreibzugriffen (komischerweise nur bei "rsync", nicht bei "cp")
hat die Parition ihren Dienst verweigert. Ein read-only-Remount war noch
möglich, ansonsten gab es nur noch den Reboot, nach welchem ein paar
Stunden/Tage das selbe Problem wieder auftrat, immer mit den selben
Meldungen im Logfile.

Aus Zeitgründen habe ich keinen Bugreport ausgefüllt, zumal kurze
Recherchen in Google darauf hinwiesen, dass ein ähnliches Problem mit
XFS schon vor ein paar Jahren bestand und *eigentlich* gefixt sein
müsste. Und das System, auf dem der Bug auftauchte, musste möglichst
bald produktiv werden, also nix mit Testen oder liefern von Debug-
Ausgaben mitsamt Warten auf erneutes Auftreten des Bugs.

Wie auch immer, das war für mich natürlich das absolute K.O.-Kriterium,
sowas hat einfach nicht zu passieren. Auf dem Server hab ich die Daten
in anderen Partitionen verteilt (ging gerade so noch), ein neues Ext3
raufgehauen, Daten zurückgeschoben, und seitdem Ruhe.

Meine erste Erfahrung mit Journalling-Dateisystemen machte ich übrigens
mit Ext3, weil ich damals von einer Ext2- Partition aus startete. Der
Umstieg zu Ext3 war trivial:

    1. Partition konvertieren:
        tune2fs -j /dev/...

    2. In /etc/fstab auf ext3 umstellen

Zu der Zeit gab es viele Berichte von Problemen mit ReiserFS, die
mittlerweile alle behoben sein sollen. Wie auch immer, ich hab's nicht
ausprobiert, kann also nichts dazu sagen. Aber zu Ext3 und XFS kann ich
sagen, dass ich mit Ext3 (damals noch ein Außenseiter) überraschend
gute Erfahrungen gemacht hatte, es läuft einfach stabil, und dass ich
mit XFS eine herbe Enttäuschung hinter mir habe.

Im Gegensatz zu XFS und ReiserFS scheint Ext3 keine Kinderkrankheiten
gehabt zu haben. Das zeugt IMHO von einer hohen Qualität, und dass die
Entwickler ihre Erfahrungen aus Ext2-Entwicklung dort offenbar gut mit
einbringen konnten.

Vor kurzem habe ich einen neuen Root-Server eingerichtet. Dort wurde
defaultmäßig alles als XFS angelegt. Darüber hinaus gab es für /var,
/usr, ... extra Paritionen. Meine erste Aktion war eine Repartitionierung,
dann alles auf Ext3 eingestellt, dann mit Debootstrap selbst das Debian
hochgezogen. Alles in allem war dies dank eines guten Recovery-Systems
eine sehr einfache Aktion, die mich in Zukunft hoffentlich vor
unangenehmen Überraschungen mit Paritions-Größen und XFS-Bugs bewahrt.

> > Was nehmt ihr? Gibts bessere Vorschläge?
> 
> Ein root-Dateisystem muß in allen Lagen hochkommen. ext3 hat auch hier
> den Vorteil, daß es gut getestet und auf jedem rescue-System vorhanden
> ist.

Dem kann ich nur zustimmen.

> Du kannst übrigens die Verzeichnisse /home, /usr und /var in eigene
> Partitionen mit anderen Dateisystem-Typen verschieben; für das
> verbleibende / brauchst Du in aller Regel keine 100MB mehr; und
> irgendwann kommt mal der Tag, wo man das im Regelfall nur noch read-only
> mounten muß. Dann ist die Performance-Frage auch nicht mehr wichtig.

Ich persönlich habe mit separaten /usr und /var Paritionen nur Ärger
gehabt. Man legt sich Grenzen auf, die man später vielleicht mühsam
durchbrechen muss. Steht von Anfang an fest, wie groß diese Bereiche
des Systems werden, dann mag das ein vernünftiger Ansatz sein. Bei mir
war das jedoch nie der Fall, und wenn ich eine Applikation mitsamt
Datenbank in /home packen muss, weil woanders kein Platz ist, und das
nur wegen einer weltfremden Default-Partitionierung beim RootServer-
Provider, dann habe ich dafür kein Verständnis mehr.

Deine Idee finde ich interessant, aber mir ist nicht klar, wie es jemals
dazu kommen sollte, dass man alles außer /var, /usr und /home nur noch
Read-Only braucht. Was ist mit Konfigurations-Dateien (/etc)? Was ist mit
Upgrades?

Falls für Security-Upgrades einfach die Partition wieder read-write
gemountet wird (geht ja im laufenden Betrieb): Wieso dann nicht auch
gleich /usr nur-lese-mounten? Das eigentlich Interessante spielt sich
doch (per Definition) eh nur in /home und /var ab, oder?


Viele Grüße,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l