Wenn der NFS-Server ausfällt, frieren Ihre Mounts ein. Wenn Sie einen Soft-Mount ausführen, wird dies nicht blockiert, sodass das "Einfrieren" selbst vermieden werden kann. Dadurch wird jedoch das Problem von Basisverzeichnissen wie ohne Basis nicht behoben Verzeichnis ist der Benutzer trotzdem angeschraubt.
Selbst wenn der NFS-Server wiederhergestellt wird, bleibt das Problem des Einfrierens bestehen, sofern Sie nichts dagegen unternehmen. Sie müssen den Prozess auf dem Bereitstellungscomputer abbrechen und erneut bereitstellen. Der Grund dafür ist, dass der NFS-Server, wenn er wieder hochfährt, eine andere Zuordnung fsid
hat. Sie können dieses Problem also zumindest beheben, indem Sie die fsid
s auf dem NFS-Server fest codieren , z. B. ...
#. Home Directories
/usr/users \
192.168.16.0/22(rw,sync,no_root_squash,fsid=1) \
192.168.80.0/22(rw,sync,no_root_squash,fsid=1)
#. Scratch Space
/var/ftp/scratch \
192.168.16.0/22(rw,async,no_root_squash,fsid=3) \
192.168.80.0/22(rw,async,no_root_squash,fsid=3) \
172.28.24.151(rw,async,root_squash,fsid=3)
In der exports(5)
Manpage heißt es ...
fsid=num
This option forces the filesystem identification portion of the file handle
and file attributes used on the wire to be num instead of a number derived
from the major and minor number of the block device on which the filesystem
is mounted. Any 32 bit number can be used, but it must be unique amongst
all the exported filesystems.
This can be useful for NFS failover, to ensure that both servers of the
failover pair use the same NFS file handles for the shared filesystem thus
avoiding stale file handles after failover.
... Während dies darauf hinweist, dass sich die Haupt- / Nebenzahlen nicht ändern (was normalerweise nicht der Fall ist, außer wenn Sie SAN- / Multipfad-Volumes exportieren, bei denen sich die möglicherweise ändern), habe ich festgestellt, dass dies der Fall ist habe das problem komplett beseitigt - dh wenn der nfs server zurückkommt - die verbindung wurde schnell wiederhergestellt - ich weiß immer noch nicht wirklich, warum dies einen unterschied für geräte wie /dev/sdaX
zum beispiel gemacht hat.
Ich sollte jetzt darauf hinweisen, dass mein Argument größtenteils anekdotisch ist - es macht eigentlich keinen Sinn, warum es das Problem behoben hat, aber es scheint es irgendwie behoben zu haben - es gibt wahrscheinlich andere Variablen, die hier im Spiel sind, die ich habe noch nicht entdeckt. =)