Tres maneras de sobrevivir al apocalipsis
Episodio 3
Montaje de Sistemas de Archivos NFSv4 en Linux
Una línea de fstab robusta para montar NFSv4 bajo demanda con systemd, qué hace cada opción y cómo depurar los errores típicos.
- Publicado
- Lectura
- 2 min
- Vistas
- 1
- Linux
- Networking
- NFS
- NFSv4
- systemd
- fstab
- Storage
Índice del episodio
Este artículo explica cómo montar un recurso compartido con NFSv4 (Network File System versión 4) usando /etc/fstab y el montaje bajo demanda de systemd, de forma que el sistema arranque bien aunque el servidor no esté disponible.
⚙️ Configuración Recomendada en /etc/fstab
La idea es que el recurso no se monte durante el arranque, sino la primera vez que alguien entra en la carpeta. Así, si el servidor está caído, el equipo arranca igual.
Línea de ejemplo para fstab:
[IP_SERVIDOR]:[RUTA_REMOTA] [PUNTO_DE_MONTAJE] nfs nfsvers=4.2,noauto,x-systemd.automount,_netdev,hard,timeo=14 0 0
Explicación de Opciones Clave:
[IP_SERVIDOR]:[RUTA_REMOTA]: el recurso exportado por el servidor.[PUNTO_DE_MONTAJE]: la carpeta local donde aparecerá el contenido (debe existir).nfsvers=4.2: usa NFS 4.2. Si tu servidor es más antiguo, prueba con4.1o4.noauto: no montar el recurso durante el arranque.x-systemd.automount: la opción clave. systemd vigila la carpeta y monta el recurso en el primer acceso._netdev: marca el montaje como dependiente de la red, para que systemd no lo intente antes de que haya conexión.hard: si el servidor deja de responder, las operaciones esperan y se reintentan hasta que vuelva. Es lo recomendable para escribir datos. Su alternativa,soft, devuelve un error tras varios reintentos, y eso puede dejar archivos a medio escribir. Úsala solo en recursos de solo lectura.timeo=14: tiempo de espera antes de reintentar una petición, en décimas de segundo (14 = 1,4 s). Sobre TCP, el valor por defecto es 600 (60 s); un valor bajo hace que el cliente reaccione antes cuando el servidor no contesta.
🚨 Errores Comunes y Solución de Problemas
- “an incorrect mount option was specified”: alguna opción no existe o está mal escrita. Las versiones modernas del cliente NFS (
nfs-utilsen Arch,nfs-commonen Debian/Ubuntu) rechazan el montaje en vez de ignorar la opción desconocida. Revisa la línea letra por letra. - Sintaxis en fstab: las opciones (cuarto campo) van separadas por comas, sin espacios.
showmount -eno muestra nada: es normal en servidores que solo sirven NFSv4, porqueshowmountusa el protocolo de NFSv3. Prueba directamente con un montaje manual.
🚀 Comandos Útiles para el Ciclo de Vida del Montaje
-
Ver los recursos exportados (servidores con NFSv3):
showmount -e [IP_SERVIDOR] -
Montar manualmente para probar:
sudo mount -t nfs -o nfsvers=4.2 [IP_SERVIDOR]:[RUTA_REMOTA] [PUNTO_DE_MONTAJE] -
Aplicar los cambios de fstab:
sudo systemctl daemon-reloadsudo systemctl restart $(systemd-escape -p --suffix=automount [PUNTO_DE_MONTAJE])
El nombre de la unidad se deriva de la ruta:
/mnt/naspasa a sermnt-nas.automount.systemd-escapelo calcula por ti. -
Comprobar que funciona:
ls [PUNTO_DE_MONTAJE]y, a continuación,findmnt [PUNTO_DE_MONTAJE].
Con esto, el recurso se monta solo cuando hace falta y el arranque del sistema ya no depende de que el servidor NFS esté encendido.