Tutoriel Linux

Autofs en Linux: montar un recurso NFS a demanda

Débutant5 min de lecture

Un servidor Debian que espera una exportación NFS no disponible puede arrancar con un directorio vacío, un montaje fallido o un retraso innecesario. Para un recurso utilizado de forma intermitente, como un archivo de proyecto o un repositorio, Autofs monta la ruta en el primer acceso y la libera después de un período de inactividad.

El siguiente procedimiento está dirigido a un servidor Debian o Ubuntu con una exportación NFS ya disponible. Comienza con un montaje manual, y luego configure un punto indirecto /srv/nfs/proyectos. Mantenga /etc/fstab para un volumen que un servicio necesite desde el arranque.

Pingüino Tux abriendo una carpeta de red conectada a un servidor NFS
Autofs monta el recurso cuando el directorio se abre realmente.

Probar la exportación NFS antes de modificar Autofs

Autofs oculta la operación de montaje detrás del acceso a un directorio. No corrige una exportación NFS ausente, un DNS roto, ni permisos denegados por el servidor. Instale primero el cliente NFS en Debian o Ubuntu, y luego pruebe la ruta con mount en un directorio temporal.

sudo apt update
sudo apt install nfs-common
sudo mkdir -p /mnt/nfs-manual-test
sudo mount -t nfs4 nfs.ejemplo.lan:/srv/nfs/proyectos /mnt/nfs-manual-test
findmnt -T /mnt/nfs-manual-test
ls -la /mnt/nfs-manual-test
sudo umount /mnt/nfs-manual-test
sudo rmdir /mnt/nfs-manual-test

Reemplace el servidor y la ruta con la exportación proporcionada por su equipo. findmnt debe mostrar una fuente NFS y el directorio debe ser legible con los permisos esperados. Si esta prueba falla, deténgase aquí. Configurar Autofs antes de tener un montaje NFS funcional complica el diagnóstico.

showmount -e nfs.ejemplo.lan puede ayudar en servidores que aún publican el protocolo MOUNT. No lo use como prueba obligatoria: un servidor NFSv4 puede no exponer nada a través de este comando mientras acepta el montaje documentado.

Declarar un punto de montaje indirecto

En Debian y Ubuntu, instale autofs después de la prueba NFS. El archivo /etc/auto.master asocia un directorio raíz con un mapa. El mapa contiene luego los subdirectorios que desencadenan los montajes. El formato de un mapa indirecto está detallado en el manual autofs.

sudo apt install autofs
sudoedit /etc/auto.master

Agregue esta línea en /etc/auto.master:

/srv/nfs /etc/auto.nfs --timeout=120

/srv/nfs es el punto de Autofs. La carpeta proyectos se creará bajo esta raíz en el primer acceso. El tiempo --timeout=120 solicita un desmontaje después de dos minutos de inactividad. No ponga 0 aquí: el desmontaje automático estaría desactivado.

Luego, cree el mapa referenciado y manténgalo en formato de texto. Un mapa de tipo program puede ejecutar un programa para generar una entrada. Este mecanismo tiene su lugar en una administración controlada, no en esta configuración inicial.

sudo install -m 644 /dev/null /etc/auto.nfs
sudoedit /etc/auto.nfs

Agregue una entrada por recurso:

proyectos -fstype=nfs4,rw nfs.ejemplo.lan:/srv/nfs/proyectos

La palabra proyectos forma la ruta local /srv/nfs/proyectos. La parte después de las opciones es la exportación NFS validada anteriormente. Evite las barras dobles en las rutas del mapa. El manual auto.master indica que estas rutas pueden causar fallos difíciles de depurar.

Reservaría este montaje indirecto para directorios abiertos de vez en cuando. Para un volumen que contiene una base de datos, un contenedor, o los archivos imprescindibles para un servicio systemd, mantendría un montaje explícito con sus dependencias de red. Autofs crea el montaje en el momento en que se accede a la ruta, por lo que el primer acceso puede esperar la red o fallar.

Reiniciar Autofs y provocar el montaje

Reinicie el servicio para que reconozca el mapa maestro, luego muestre los mapas leídos por el demonio. automount -m muestra su configuración. Este comando no necesariamente contacta la exportación NFS y aún no prueba que el montaje funcione. El manual automount describe este modo de visualización.

En un servidor que ya utiliza Autofs, realice este reinicio mientras ningún proceso utilice las rutas implicadas.

sudo systemctl restart autofs
sudo automount -m
systemctl --no-pager --full status autofs
sudo journalctl -u autofs -n 50 --no-pager

El servicio debe estar activo. Un error de sintaxis, un archivo de mapa ausente o una ruta inaccesible aparecen en el registro. Corrija este punto antes de probar el recurso.

El siguiente acceso desencadena el montaje:

ls -la /srv/nfs/proyectos
findmnt -T /srv/nfs/proyectos
mountpoint /srv/nfs/proyectos

Después de ls, findmnt debe mostrar el servidor NFS y mountpoint debe devolver un estado de éxito. Espere más de dos minutos sin abrir el directorio, y luego vuelva a ejecutar findmnt -T /srv/nfs/proyectos. Según el sistema, el mapa de Autofs permanece visible bajo /srv/nfs, mientras que el montaje NFS de proyectos desaparece hasta el próximo acceso.

Mantener Autofs fuera de rutas críticas

Autofs es adecuado para un directorio de proyectos, un archivo o un recurso consultado por un administrador. Un servicio que arranca antes de la red, un proceso que no tolera retrasos o un camino utilizado para escribir datos de negocio requiere un montaje permanente y dependencias systemd explícitas.

La guía NFS en Linux cubre el montaje de red mantenido en el tiempo. Aquí, el objetivo es diferente: evitar que un recurso raramente utilizado afecte el arranque, mientras se mantiene un comando y un registro para probar por qué el montaje aparece o desaparece.