
Tengo un caso en el que tengo una máquina que tiene numerosos soportes NFS. De vez en cuando, uno de los servidores NFS pierde sus dispositivos debido a un problema de hardware que requiere un reinicio para solucionarlo.
Luego, los usuarios llegan a través de algo como ftp, hacen un ls en un directorio y se cuelga. Luego, normalmente se frustran y vuelven a intentarlo. Esto termina bloqueando la máquina cliente al consumir todas las sesiones ftp.
¿Hay alguna manera de hacer que NFS simplemente suelte el montaje, de modo que cuando hagan un ls simplemente obtengan un directorio vacío? ¿O hay alguna forma de detectar cuando un host NFS no responde correctamente y eliminarlo? ... ¿O puedo hacer esto desde el lado del servidor de alguna manera cuando ya no hay unidades?
Respuesta1
Primero debe cambiar sus monturas nfs por las opciones interrumpibles (intr en la mayoría de las versiones). Esto le permitirá presionar Ctl-C para eliminar aplicaciones que normalmente se bloquearían esperando un retorno del kernel que nunca sucederá.
Respuesta2
Será útil utilizar autofs, un montaje suave y un valor de tiempo corto en el cliente.
Respuesta3
Las respuestas anteriores son excelentes desde el punto de vista del cliente, pero también debes pensar en el lado del servidor.
En nuestro entorno, utilizamos un servidor nfs para compartir contenido web entre varias máquinas. Las máquinas también utilizan pacemaker/openais para determinar quién debe tener el proceso del servidor NFS en ejecución, el volumen del canal de fibra montado y la dirección IP del servidor nfs.
Cuando necesitamos reiniciar una máquina, marcapasos lo detecta y mueve el servidor NFS activo a otro nodo para que los servicios no se interrumpan.