Wie stelle ich sicher, daß auf ein Verzeichnis garantiert immer eine ganz bestimmte Partition gehängt wird, egal, was sonst noch ausfällt?

Wozu ist das gut?

Folgendes Szenario: Du hast einen Server aufgesetzt, der riesige -- temporäre -- Datenmengen erzeugt. Deshalb hast Du das Verzeichnis `/tmp' auf eine extra Festplatte ausgelagert und die `/etc/fstab' entsprechend angepaßt. (/tmp auf eine eigene Partition zu packein ist sowieso _immer_ sinnvoll, vor allem auf einem Server). Auf einer weiteren Platte, z.B. /home, liegen aber wichtige Daten.

Es sieht jetzt also z.B. so aus:

 /dev/sda1       /       # System
 /dev/sdb1       /tmp    # Temporärer Kram
 /dev/sdc1       /home   # Benutzerdaten
 ...

Schön. Jetzt fällt /dev/sdb, also die zweite SCSI Festplatte, plötzlich aus. Der SCSI-Controller ist doof (gute Adaptecs oder 3WARE Controller kann sich nicht jeder leisten), resettet sich, und Linux erkennt nur noch zwei Platten, nennt die `sda' und `sdb', weil die Benennung nach der Reihenfolge des Erkennens beim Booten passiert, mountet `/dev/sdb1' (worin ja die Benutzerdaten liegen!) unter `/tmp' -- und eins der UNIX-typischen Start-Skripte räumt kurz danach (beim Starten ist das üblich) z.B. alle in `/tmp' liegenden Dateien älter 7 Tage auf.

Dezenter Hinweis: Backups schaden nicht ;-)

Abhilfe: Ab Kernel 2.4. ist das *Device File System* verfügbar. Dieses erstellt eine Reihe zusätzlicher Gerätedateien unter `/dev', welche nach dem Schema /dev/scsi/busN/hostN/targetN/lunN/ benannt werden. Dann gibt sich das Problem nicht mehr, daß SCSI Geräte beim Ausfall alle eins weiter 'rutschen' und man einen GAU reinigen darf.

Bessere Abhilfe:

Seit jeher gibt es die Möglichkeit, die `/etc/fstab' (File Sytem Table) anstatt so

 /dev/XXXX       /home   ext2    defaults        0       0

besser so

 LABEL=Homes     /home   ext2    defaults        0       0

oder so

 UUID=3a30d6b4-08a5-11d3-91c3-e1fc5550af17 /home ext2 defaults 0 0

zu gestalten. Das hat den immensen Vorteil, daß man

Für diese Vorgehensweise benötigt man allerdings eine aktuelle Version von `mount' (mind. Version 1.15). Diese sollten allerdings bei jeder aktuellen Distribution mittlerweile vorhanden sein.

JensBenecke