Ich habe ein etwas interessantes Setup: Ein Server mit mehreren entfernten NFS-Servern, die in einem Ordner gemountet sind, wobei dieser Ordner dann über Samba erneut exportiert wird. Stellen Sie sich das als einen Freigabe-Proxy vor, der alle freigegebenen Ordner an einem Ort aufbewahrt.
Mein Problem ist jedoch, dass jedes Mal, wenn einer der Mount-Blöcke ausfällt (Server neu gestartet, Dienst neu gestartet, externe Festplatte, die der Server exportiert hat, entfernt usw.), jeder Versuch, die Mount-Blöcke für immer zu lesen. Dies bedeutet auch, dass das Ausführen ls
in diesem Verzeichnis einfriert und Benutzer, die über Samba eine Verbindung herstellen, ebenfalls einfrieren. Dies hat auch dazu geführt, dass einer meiner Cron-Jobs einige Male blockiert hat, wodurch der Server fast abgestürzt wäre, weil er Hunderte blockierter Prozesse hatte. Dies wird sehr ärgerlich, da ich normalerweise ein Terminal aufrufen muss , das nicht darauf wartet ls
, beendet zu werden (es kann nicht for i in *; do sudo umount -l -f $i; done;
abgebrochen werden ), laufe , hoffe, dass es funktioniert, behebe das Problem und mounte dann alles neu.
Gibt es eine Möglichkeit, eine NFS-Freigabe zu mounten, wenn die Verbindung aus irgendeinem Grund fehlschlägt (vorzugsweise mit einer Wiederholungsperiode), dann wird das Mounten selbst abgebrochen oder zumindest nicht blockiert?
/etc/fstab
?Antworten:
Normalerweise ist es beim Mounten von NFS ratsam, Flags wie folgt zu setzen:
Sie können zusätzlich einstellen:
Dies sollte dem NFS-Mount eine Zeitüberschreitung ermöglichen und den Zugriff auf das Verzeichnis unmöglich machen, wenn der NFS-Server die Verbindung beendet, anstatt erneut zu warten.
Weitere Informationen zu den NFS-Mount-Optionen finden Sie unter diesem Link
quelle