Inhaltsverzeichnis
/etc/fstab
Beschreibung von fstab
Die Datei fstab liegt in dem Ordner /etc und enthält Informationen, welche Dateisysteme gemountet werden sollen, wohin und mit welchen Optionen. Für NFS-Mounts enthält diese Datei den Servernamen und den Namen des freigegebenen Verzeichnisses, das gemountet werden soll, das lokale Verzeichnis, wohin gemountet werden soll und die NFS spezifischen Optionen, die bestimmen, wie gemountet werden soll.
Hier ist ein Beispieleintrag einer /etc/fstab Datei, für einen NFS-Mount:
server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr
Syntax von der Datei fstab
Die fstab
(File System Table) ist eine Konfigurationsdatei in Linux, die beschreibt, welche Dateisysteme beim Systemstart eingebunden werden sollen. Jede Zeile in der fstab
enthält Informationen über ein einzelnes Dateisystem.
Der allgemeine Aufbau einer Zeile in der fstab
sieht folgendermaßen aus:
[device] [mount-point] [filesystem-type] [options] [dump] [pass]
device
: Hier wird angegeben, wo das Dateisystem zu finden ist (z.B. eine Partition, ein USB-Laufwerk usw.).mount-point
: Hier wird angegeben, wo das Dateisystem im Dateisystem des Host-Computers eingehängt werden soll (z.B. /mnt/mydrive).filesystem-type
: Hier wird das Dateisystem angegeben (z.B. ext4, ntfs, etc.).options
: Hier werden die Mount-Optionen für das Dateisystem angegeben (z.B. rw für lesen/schreiben-Zugriff).dump
: Hier wird angegeben, ob das Dateisystem gesichert werden soll (0 = nein, 1 = ja).pass
: Hier wird angegeben, in welcher Reihenfolge das Dateisystem geprüft werden soll (0 = keine Überprüfung, 1 = Überprüfung beim Systemstart, 2 = Überprüfung beim Systemstart, aber erst nach allen anderen Dateisystemen).
Zum Beispiel, um eine externe Festplatte mit dem Namen /dev/sdc1
als /mnt/external
einzubinden:
/dev/sdc1 /mnt/external ext4 defaults 0 0
Hinweis: Es ist wichtig, die fstab
mit Vorsicht zu bearbeiten, da Fehler beim Einbinden von Dateisystemen zu Datenverlust führen können.
Optionen von fstab
Die folgenden Optionen sind relevant für NFS-Mounts. Sie können entweder in der fstab Datei angegeben werden (wie in obigem Beispiel) oder dem mount-Programm über die Option -o angegeben werden.
nobootwait
Diese Option gibt an, dass das System den Bootprozess fortsetzt, auch wenn das Dateisystem nicht vorhanden ist. Dadurch wird verhindert, dass die Boot-Sequenz beim Start „hängen bleibt“, wenn ein Dateisystem ( Lokal, NFS, … ) nicht verfügbar ist. Altenative gibt es die Optoin NoFail
rsize=n
Die Anzahl von Bytes, die NFS benutzt, wenn von einem NFS-Server gelesen wird. Der vor eingestellte Wert hängt vom verwendeten Kernel ab, meist sind es 1024 Byte. Der Durchsatz wird aber erheblich verbessert, wenn der Wert auf 8192 gesetzt wird.
wsize=n
Die Anzahl von Bytes, die NFS benutzt, wenn auf einen NFS-Server geschrieben wird. Der voreingestellte Wert hängt vom verwendeten Kernel ab, meist sind es 1024 Byte. Der Durchsatz wird aber erheblich verbessert, wenn der Wert auf 8192 gesetzt wird.
timeorsize=n
Der Wert in Zehntelsekunden bevor die erste Retransmission nach einem RPC-Timeout gesendet werden soll. Der voreingestellte Wert ist 7. Nach einem Timeout wird der Timeout-Wert verdoppelt, solange bis ein Wert von 60 Sekunden erreicht ist, oder genug Retransmissionen stattgefunden haben, um einen Major-Timeout zu bewirken. Wenn das Dateisystem hard gemountet ist, wird anschließend der Vorgang mit einem doppelten Timeout-Wert wiederholt. Der maximale Timeout-Wert liegt wiederum bei 60 Sekunden. Wenn auf einem stark belastetem Netz gearbeitet wird, oder ein langsamer Server angesprochen werden soll, bietet es sich an, den Wert etwas zu erhöhen.
retans=n
Die Anzahl von Minor Timeouts und Retransmissionen, die vergehen müssen, bis ein Major Timeout angenommen wird. Der voreingestellte Wert ist 3. Wenn ein Major Timeout vorkommt, wird die Operation abgebrochen und eine „server not responding“ Meldung ausgegeben.
acregminr=n
Die minimale Zeitspanne in Sekunden, während der Attribute einer regulären Datei zwischengespeichert werden sollen, bevor aktuellere Informationen vom Server angefordert werden sollen. Voreingestellt sind 3 Sekunden.
acregmax=n
Die maximale Zeitspanne in Sekunden, während der Attribute einer regulären Datei zwischengespeichert werden dürfen, bevor aktuellere Informationen vom Server angefordert werden müssen. Voreingestellt sind 60 Sekunden.
acdirmin=n
Die minimale Zeitspanne in Sekunden, während der Attribute eines Verzeichnisses zwischengespeichert werden sollen, bevor aktuellere Informationen vom Server angefordert werden sollen. Voreingestellt sind 30 Sekunden.
acdirmax=n
Die maximale Zeitspanne in Sekunden, während der Attribute eines Verzeichnisses zwischengespeichert werden dürfen, bevor aktuellere Informationen vom Server angefordert werden müssen. Voreingestellt sind 60 Sekunden.
actimeorsize=n
Der Gebrauch von actimeo setzt acregmin, acregmax, acdirmin und acdirmax auf den angegebenen Wert. Es existiert keine Voreinstellung.
retry=n
Die Anzahl der Minuten, währen der eine NFS Operation im Vorder- oder Hintergrund erneut versucht werden soll, bevor aufgegeben wird. Der vor eingestellte Wert liegt bei 10000 Minuten, was in etwa einer Woche entspricht.
namelen=n
Wenn ein NFS-Server nicht die Version 2 des NFS-Protokolls unterstützt, kann diese Option dazu benutzt werden, die maximale Länge eines Dateinamens zu spezifizieren, die auf dem Clientsystem erlaubt ist. Der vor eingestellte Wert liegt bei 255 Zeichen.
port=n
Der numerische Wert des Ports, auf dem der NFS-Server läuft. Wenn der Port auf 0 gesetzt ist, was der Voreinstellung entspricht, dann wird der Portmapper des Servers angefragt, welche Portnummer verwendet werden soll.
mountport=n
Der numerische Wert des Ports, auf dem mountd läuft.
mounthost=name
Der Name des Hosts, auf dem mountd läuft.
mountprogrsize=n
Eine alternative RPC-Programm-Nummer wird benutzt, um den mount-Daemon des Servers zu erreichen. Diese Option ist nützlich für Rechner, auf denen mehrere NFS-Server laufen. Der vor eingestellte Wert ist 100005 was der Standard-RPC Mount-Daemon Nummer entspricht.
mountvers=n
Eine alternative RPC-Versions-Nummer wird benutzt, um den mount-Daemon des Servers zu erreichen. Diese Option ist nützlich für Rechner, auf denen mehrere NFS-Server laufen. Der vor eingestellte Wert ist 1.
nfsprog=n
Eine alternative RPC-Programm-Nummer wird benutzt, um den NFS-Daemon des Servers zu erreichen. Diese Option ist nützlich für Rechner, auf denen mehrere NFS-Server laufen. Der vor eingestellte Wert ist 100003 was der Standard-RPC NFS-Daemon Nummer entspricht.
nfsvers=n
Eine alternative RPC-Versions-Nummer wird benutzt, um den NFS-Daemon des Servers zu erreichen. Diese Option ist nützlich für Rechner, auf denen mehrere NFS-Server laufen. Der vor eingestellte Wert ist 2.
nolock
NFL locking wird ausgeschaltet. Das muß bei einigen alten NFS-Servern benutzt werden, die kein Locking unterstützen.
bg
Wenn der erste Versuch über NFS zu mounten durch ein Timeout fehlschlägt, wird der nächste Versuch im Hintergrund fortgeführt. Nachdem eine Mount-Operation in den Hintergrund verschoben wurde, werden alle folgenden Versuche anderer Mounts auf den selben Server automatisch auch in den Hintergrund verschoben, ohne überhaupt zu versuchen normal zu mounten.
fg
Wenn der erste Versuch über NFS zu mounten durch ein Timeout fehlschlägt, wird der nächste Versuch auch im Vordergrund versucht. Das ist das Gegenteil der bg-Option und auch der vor eingestellte Modus.
soft
Wenn eine NFS-Dateisystemoperation einen Major-Timeout erhält, dann wird ein IO-Error an das aufrufende Programm weitergegeben. Der vor eingestellte Wert ist, unendlich oft weiter zu versuchen.
hard
Wenn eine NFS-Dateisystemoperation einen Major-Timeout erhält, dann wird eine „server not responding“ Fehlermeldung ausgegeben und unendlich oft versucht, den Server zu erreichen. Das ist die Voreinstellung.
intr
Wenn eine NFS-Dateisystemoperation einen Major-Timeout erhält und hard-gemountet ist, dann kann mit dieser Option erlaubt werden, daß Signale zur Unterbrechung interpretiert werden. Voreingestellt ist, dass sich Dateioperationen nicht unterbrechen lassen.
posix
Mountet ein Dateisystem mit den POSIX-Spezifikationen. Das erlaubt einem NFS-Dateisystem, das POSIX-pathconf Kommando zu unterstützen, indem es den NFS-Server nach der maximalen Dateinamenslänge frägt. Damit das funktioniert, muß der Server die Version 2 des RPC-Protokolls unterstützen. Viele NFS-Server unterstützen nur Version 1.
nocto
Unterdrückt die Übermittlung neuer Attribute beim Anlegen neuer Dateien.
noac
Schaltet alle Formen der Attribut-Zwischenspeicherung komplett aus.
nolock
Es wird kein locking verwendet. Der lockd wird nicht gestartet.
tcp
Das Dateisystem wird mit Hilfe des TCP-Protokolls gemountet, statt das vor eingestellte UDP-Protokoll zu benutzen. Viele Server unterstützen nur UDP.
udp
Das Dateisystem wird mit Hilfe des UDP-Protokolls gemountet. Das ist die Voreinstellung.
Für alle Optionen, die ohne =Wert aufgerufen werden, existiert eine entsprechende nooption Form, die das Gegenteil bedeutet. Zum Beispiel kann mit nointr festgelegt werden, dass Dateioperationen nicht unterbrechbar sind.
Reload – Neueinlesen von fstab ohne neustart
Damit Änderungen an der fstab ohne Neustart neu eingelesen werden, reicht folgender Befehl:
sudo mount -a
Wenn nachdem ausführen des Befehl keine Ausgabe folgt, wurde die fstab erfolgreich ohne Neustart des Systems eingelesen.
Mögliche Fehler sind:
- Mountpoint nicht vorhanden
- NFS Server nicht erreichbar bzw. wird von der Firewall blockiert.
- Falsches Dateisystem angeben
- Modul für das Dateisystem ist nicht geladen.
- Server ist nicht berechtigt das Share zu mounten.
NFS Mount ohne fstab Eintrag
In Linux kannst du ein Dateisysteme oder NFS Shares auch ohne Eintrag in der fstab
einbinden, indem du den Befehl mount verwendest. Der Befehl mount
nimmt ein Gerät und einen Mount-Punkt als Argumente und einbindet das Gerät in das Dateisystem an dem angegebenen Mount-Punkt.
Zum Beispiel, um ein externes NFS Share mit dem Namen share
unter /mnt/sharename
einzubinden gibt man folgende Befehl ein:
sudo mount -t nfs nfs-server-name:/share /mnt/sharename
Das eingebundene Gerät bleibt nur für die aktuelle Sitzung bestehen. Wenn das System neu gestartet wird, müssen die Geräte erneut eingebunden werden. Um das eingebundene Gerät dauerhaft einzubinden, musst du es in der fstab
eintragen.
Dateien
/etc/fstab
Siehe Auch
fstab(5), mount(8), umount(8), , exports(5)
Autor
Rick Sladkey <jrs@world.std.com>