¿Cómo puedo resolver un controlador nfs obsoleto?


8

Una vez que apagué el servidor de mi casa mientras mi escritorio estaba conectado a través de NFS, noté que recibía una "advertencia de control de NFS obsoleto" al ingresar a mi directorio de inicio, esto causó problemas con algunos programas que se veían en esas carpetas.

¿Cómo resuelvo este problema sin reiniciar mi máquina?

Debian Squeeze / Wheezy


¿Qué sistema operativo y / o distribución está ejecutando?
— Jodie C

Estoy usando Debian Squeeze
— yakamok

Respuestas:


4

En Debian Squeeze / Wheezy:

Forzar el desmontaje del montaje local

umount -f /mnt/dir

Luego reinicie nfs

/etc/init.d/nfs-common restart

Me sorprendería si puede forzar el desmontaje de un sistema de archivos, por lo que dudo que lo anterior funcione.
— David Goodwin

umount -f no funcionó para mí, pero umount -lf sí.
— FreeSoftwareServers

2

Prueba este script de shell. Funciona bien para mi:

#!/bin/bash
# Purpose:
# Detect Stale File handle and remove it
# Script created: July 29, 2015 by Birgit Ducarroz
# Last modification: --
#

# Detect Stale file handle and write output into a variable and then into a file
mounts=`df 2>&1 | grep 'Stale file handle' |awk '{print ""$2"" }' > NFS_stales.txt`
# Remove : ‘ and ’ characters from the output
sed -r -i 's/://' NFS_stales.txt && sed -r -i 's/‘//' NFS_stales.txt && sed -r -i 's/’//' NFS_stales.txt

# Not used: replace space by a new line
# stales=`cat NFS_stales.txt && sed -r -i ':a;N;$!ba;s/ /\n /g' NFS_stales.txt`

# read NFS_stales.txt output file line by line then unmount stale by stale.
#    IFS='' (or IFS=) prevents leading/trailing whitespace from being trimmed.
#    -r prevents backslash escapes from being interpreted.
#    || [[ -n $line ]] prevents the last line from being ignored if it doesn't end with a \n (since read returns a non-zero exit code when it encounters EOF).

while IFS='' read -r line || [[ -n "$line" ]]; do
    echo "Unmounting due to NFS Stale file handle: $line"
    umount -fl $line
done < "NFS_stales.txt"
#EOF

Según mi experiencia, parece ser un cambio 50:50 para que esto no sea suficiente, y se necesita reiniciar la máquina. Tengo muchas ganas de ver un script mejor, tal vez uno para poner en el crontab. Nos encontramos con este tipo de problema muy a menudo, con más de una máquina por día.
— sorin

0

Por lo general, emitiría esos comandos (como root):

service nis restart
service autofs restart
service nfs restart
service portmap restart

Es posible que no necesite todos esos, dependiendo de cómo funcione su sistema.


¿Para qué distro es esto?
— yakamok
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.