Ahorrar recursos en el servidor NFS con autofs | Algo de Linux

viernes, 13 de febrero de 2009

Ahorrar recursos en el servidor NFS con autofs

Un buen cambio que se ha hecho en nuestros centros, entre otras muchas cosas, ha sido montar autofs en los clientes NFS, con lo que se va a reducir de una manera importante la carga de trabajo del servidor.

Si tenemos un servidor NFS y montamos el home de los usuarios en el archivo fstab, estaremos estableciendo una conexión por máquina con el servidor, cada vez que la máquina cliente arranque. Si tenemos pocos usuarios en el sistema no hay problemas, pero si tenemos muchos, el servidor nfs tendrá una carga mayor de trabajo cuanto mayor sea el número de máquinas encendidas.

Para mejorar el rendimiento de nuestro sistema y hacer que las conexiones nfs de los clientes se establezcan tan sólo cuando un usuario las necesite, podemos contar con una utilidad llamada automount que se encargará de montar y desmontar sistemas de archivos nfs automáticamente, ahorrando recursos.

Podemos ejecutar el comando automount para especificar los montajes. No obstante, es más recomendable especificar los montajes que deben hacerse en una serie de ficheros que usa autofs.

Para instalar autofs no tenemos más que hacer un:
# apt-get install autofs

Al instalarlo, se crearán los siguientes archivos de configuración:
  • /etc/auto.master
  • /etc/auto.misc
  • /etc/auto.net
  • /etc/auto.smb
  • /etc/default/autofs
Se arrancará automounter, cargando asó el módulo del kernel que se encargará de los montajes: autofs4

El archivo /etc/auto.master es el principal fichero de automount. Contiene una serie de líneas que se refieren a cada punto de montaje, con una estructura como la siguiente:

Si nos fijamos en el fichero auto.master nada más instalar autofs, veremos que aparecen unas líneas comentadas. Por ejemplo:
/misc /etc/auto.misc --timeout=60

La línea anterior no se va a ejecutar puesto que está comentada, pero quiere decir: Todo lo que está en auto.misc hay que montarlo en /misc y desmontarlo si no se usa cuando lleve sin usarse 60 segundos.

Otro ejemplo típico e interesante: Podemos querer que el directorio home se automonte para los usuarios. Entonces, añadiremos una línea como la siguiente al fichero /etc/auto.master:
/home /etc/auto.home

Luego, crearemos el fichero /etc/auto.home con la cadena de montaje. Por ejemplo:

* -fstype=nfs4,intr,rsize=0192,wsize=8192 servidor:/home

Esta línea hace que si cualquier usuario intenta acceder bajo el directorio local /home se produzca un montaje del servidor servidor:/home en /home.

Por cierto, se me olvidaba: Como autofs se instala como demonio, podemos iniciarlo, pararlo, reiniciarlo... con:
# /etc/init.d/autofs {start|stop|restart|reload|status|getmounts|active}