Wie stelle ich sicher, daß auf ein Verzeichnis garantiert immer eine ganz bestimmte Partition gehängt wird, egal, was sonst noch ausfällt?
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.
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.
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.