Documentación de Ubuntu

Introducción

autofs es un programa para montar automáticamente los directorios según sea necesario. Los montajes automáticos se montan sólo cuando se accede a ellos, y se desmontan después de un período de inactividad. Debido a esto, el montaje automático de recursos compartidos NFS/Samba conserva el ancho de banda y ofrece un mejor rendimiento general en comparación con los montajes estáticos a través de fstab.

1.1. Nota rápida sobre los términos

Para evitar confusiones, se utilizarán las siguientes terminologías:

  • automount es el programa utilizado para configurar un punto de montaje para autofs. Cuando se inicia autofs, se genera un demonio de automount para cada mapa.

  • Auto-mount o auto-montaje se refiere al proceso de montar automáticamente los sistemas de archivos.

  • autofs es el programa que controla el funcionamiento de los demonios de automontaje.

Instalación

Instala el paquete autofs pulsando aquí o introduciendo lo siguiente en una ventana de terminal:

  • $ sudo apt-get install autofs

Configuración

autofs se puede configurar editando los archivos de configuración. Hay otras formas de configurar autofs en una red (véase AutofsLDAP), pero los archivos de configuración proporcionan la configuración más sencilla.

3.1. El archivo de mapa maestro

El archivo de configuración maestro para autofs es /etc/auto.master por defecto. A menos que tenga una buena razón para cambiar esto, déjelo por defecto.

Aquí está el archivo de ejemplo proporcionado por Ubuntu:

## $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $## Sample auto.master file# This is an automounter map and it has the following format# key location# For details of the format look at autofs(5).#/misc /etc/auto.misc --timeout=60#/smb /etc/auto.smb#/misc /etc/auto.misc#/net /etc/auto.net
  • Por defecto, todas las líneas se comentan utilizando el carácter #.

Cada una de las líneas de auto.master describe un montaje y la ubicación de su mapa. Estas líneas tienen el siguiente formato:

  • mount-point :] map 

3.1.1. Mapas directos e indirectos

Los mapas automáticos pueden ser directos o indirectos. Los mapas indirectos, como los del archivo auto.master mostrado anteriormente, crean puntos de montaje como subdirectorios dentro del punto de montaje principal. Por ejemplo, considere la siguiente entrada del mapa maestro:

  • /smb /etc/auto.smb

Esta entrada en auto.master le dice a autofs que busque en /etc/auto.smb y cree puntos de montaje en el directorio /smb.

Los mapas directos crean un punto de montaje en la ruta especificada en el archivo de mapa correspondiente. La entrada del punto de montaje en auto.master es siempre /-. Por ejemplo, la siguiente línea indica a autofs que cree un punto de montaje en el lugar especificado en auto.data:

  • /- /etc/auto.data
  • Si el archivo de mapa no se especifica utilizando una ruta local o de red completa, se utilizará la configuración del conmutador de servicio de nombres para localizar el mapa, por ejemplo
    /- auto.data

3.2. Archivos de mapa

Como se indicó anteriormente, cada montaje autofs tiene su propio archivo de mapa. Estos archivos suelen nombrarse utilizando la convención auto.<X>, donde <X> puede ser cualquier cosa siempre que coincida con una entrada en auto.master y sea válida para un nombre de archivo.

Los archivos de mapa tienen el siguiente formato:

  • key location

EJEMPLO: Montaje automático de un recurso compartido NFS

En este howto, configuraremos autofs para montar automáticamente un recurso compartido NFS, utilizando un conjunto de archivos de configuración. Este howto asume que usted ya está familiarizado con las exportaciones NFS, y que ya tiene un recurso compartido NFS que funciona correctamente en su red. Vaya a la página de configuración de NFS para aprender a configurar dicho servidor.

4.1. Editar /etc/auto.master

El siguiente paso crea un punto de montaje en /nfs y lo configura según los ajustes especificados en /etc/auto.nfs (que crearemos en el siguiente paso).

  1. Escribe lo siguiente en un terminal:
    $ sudo nano /etc/auto.master
  2. Agrega la siguiente línea al final de /etc/auto.master:

    /nfs /etc/auto.nfs

4.2. Crear /etc/auto.nfs

Ahora crearemos el archivo que contiene nuestro mapa de contadores automáticos:

  • $ sudo nano /etc/auto.nfs

Este fichero debe contener una línea distinta para cada recurso compartido NFS. El formato de una línea es {punto de montaje} {ubicación}. Si ha configurado previamente montajes estáticos en /etc/fstab, puede ser útil referirse a ellos. Recuerde que los puntos de montaje especificados aquí serán relativos al punto de montaje dado en /etc/auto.master.

La siguiente línea es para los recursos compartidos que utilizan versiones antiguas de NFS (anteriores a la versión 4):

  • server server:/

Esto crea un nuevo punto de montaje en /nfs/servidor/ y monta el directorio raíz NFS exportado por la máquina cuyo nombre de host es servidor.

4.2.1. NFSv4

Si sus recursos compartidos NFS utilizan NFSv4, debe informar a autofs al respecto. En tal caso, la línea anterior aparecería de la siguiente manera:

  • server -fstype=nfs4 server:/

El cliente necesita los mismos cambios en /etc/default/nfs-common para conectarse a un servidor NFSv4.

  • En /etc/default/nfs-common establecemos:

    NEED_IDMAPD=yesNEED_GSSD=no # no is default

4.3. Desmontar los montajes estáticos y editar /etc/fstab

Si has configurado previamente los recursos compartidos NFS como montajes estáticos, ahora es el momento de desmontarlos.

  • $ sudo umount /server

Luego, elimine (o comente) sus respectivas entradas en /etc/fstab.

  • #server:/ /server/ nfs defaults 0 0

4.4. Recargue /etc/init.d/autofs

Después de introducir sus cambios, ejecute el siguiente comando para recargar autofs:

  • $ sudo service autofs reload

Si trabaja en una versión de ubuntu más antigua, y eso no funciona pruebe:

  • $ sudo /etc/init.d/autofs reload

Si trabaja en Natty, y eso no funciona pruebe:

  • $ sudo /etc/init.d/autofs restart

4.5. Asegúrese de que funciona

Para acceder al recurso compartido y verificar que funciona correctamente, introduzca lo siguiente en un shell:

  • $ ls /nfs/server

Si ve su recurso compartido NFS en la lista, ¡felicidades! ¡Tienes un montaje NFS que funciona a través de autofs! Si quieres aprender algo más de información avanzada, sigue leyendo.

Información avanzada

Siguiendo el ejemplo de la estructura de directorios anterior, si introdujera ls /nfs en un intérprete de comandos, podría sorprenderse de no ver nada en la lista. Pero recuerde que necesita acceder a un directorio antes de que se monte automáticamente. Para acceder al recurso compartido, introduzca ls /nfs/servidor. Una vez que se haya accedido a él, el recurso compartido aparecerá en la lista sólo hasta que se agote el tiempo de espera. Es bueno tener esto en cuenta, ya que podría ahorrarte tiempo diagnosticando un problema de autofs que no existe realmente.

5.1. Nota sobre /net y /smb

Estas dos configuraciones por defecto pueden ser útiles para su configuración. Si tiene muchos recursos compartidos NFS o Samba, es posible que desee descomentar estas líneas. /net permite el montaje automático de los sistemas de archivos en otros lugares de la red que son exportados por NFS. Por ejemplo, si tienes un servidor llamado fileserver con un directorio de exportación NFS llamado /export, puedes montarlo escribiendo en una línea de comando del shell cd /net/fileserver/export. En un entorno con servidores de archivos NFS, esta configuración puede ser útil. /smb funciona de la misma manera pero es para sistemas de archivos Samba. Sin embargo, si necesita autenticarse antes de acceder al recurso compartido Samba, el automontaje no funcionará.

5.2. Caracteres comodín

Digamos que tienes un directorio con varios subdirectorios que quieres que se automonten individualmente. Un ejemplo de esto es el directorio /home, en cuyo caso /etc/auto.master podría contener la siguiente línea:

  • /home /etc/auto.home

Si el usuario1 está conectado, querrá auto-montar su directorio home. Sin embargo, si creas un punto de montaje para todo el directorio /home, también montarás los directorios personales de todos los demás usuarios al mismo tiempo, desperdiciando así el ancho de banda. Una solución a esto sería crear entradas separadas para cada directorio, de la siguiente manera

  • # /etc/auto.homeuser1 server:/home/user1user2 server:/home/user2user3 server:/home/user3

Esto funciona, pero es engorroso. En su lugar, puede utilizar caracteres comodín, de la siguiente manera:

  • * server:/home/&

El asterisco (*) se utiliza en lugar del punto de montaje y el ampersand (&) en lugar del directorio a montar. Para más detalles sobre el uso de los comodines ver Uso de caracteres comodín como atajos en los mapas de AutoFS.

También se pueden utilizar variables (véase la página man de autofs(5)) para sustituir a los usuarios y otros parámetros para poder crear archivos genéricos para múltiples usuarios. El ejemplo de abajo es un mapa smb que mapea basado en el usuario que pide el recurso compartido usando la variable $USER.

* -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users,file_mode=0700,dir_mode=0700 ://server/$USERshare1 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share1share2 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share2

Montaje de otros tipos de sistemas de ficheros

6.1. CIFS

Cuando especifique un recurso compartido CIFS en un archivo de mapa, especifique -fstype=cifs y preceda la ubicación del recurso compartido con dos puntos (:).

Ejemplo:

mntpoint -fstype=cifs ://example.com/shrname

Ejemplo: Montar en lectura-escritura, especificando un usuario y un grupo como propietarios de los archivos:

mntpoint -fstype=cifs,rw,uid=myuserid,gid=mygrpid ://example.com/shrname

Ejemplo: Montar en lectura-escritura, especificando un nombre de usuario y una contraseña para conectarse al recurso compartido:

mntpoint -fstype=cifs,rw,username=myuser,password=mypass ://example.com/shrname

6.2. Sistemas de archivos basados en FUSE

Los sistemas de archivos basados en FUSE se montan especificando -fstype=fuse. La ubicación del sistema de archivos especifica el binario del espacio de usuario utilizado para montar el sistema de archivos, seguido de un hash (#), seguido de la ubicación.

Cuando se especifica la ubicación de un sistema de archivos FUSE en el archivo map, ciertos caracteres, especialmente el hash (#) y los dos puntos (:), deben ser escapados por una barra invertida (\). La ubicación completa debe ir precedida de dos puntos (:).

Dado que automount realiza el montaje como root, normalmente es necesario especificar allow_other en las opciones de montaje para permitir que su usuario no root acceda al recurso compartido.

6.2.1. Sistema de archivos SSHFS

SSHFS es un sistema de archivos basado en FUSE. En un montaje autofs, los dos puntos (:) que siguen al nombre del servidor deben ser escapados por una barra invertida (\).

Ya debería haber configurado la autenticación sin contraseña a través del cifrado de clave pública. Asegúrese de que entiende las implicaciones de seguridad de esto antes de proceder.

Recuerda que automount montará tu sistema de archivos SSHFS como root, así que necesitas:

  1. Copiar su clave privada al directorio /root/.ssh. Asegúrese de que entiende las implicaciones de seguridad de esto antes de proceder.

  2. Agrega las claves de host necesarias a /root/.ssh/known_hosts.

  3. Especificar el nombre de usuario utilizado para conectarse

Para probar el montaje de su sistema de archivos SSHFS como root emitió lo siguiente:

sudo sshfs [email protected]:/ mountpoint

Si el montaje tiene éxito sin pedirle una contraseña, usted está listo para montar el sistema de archivos a través de autofs

Ejemplo:

mntpoint -fstype=fuse,allow_other :sshfs\#[email protected]\:/path/to/mount

Ejemplo: Montar en lectura-escritura, especificando un usuario y un grupo como propietarios de los archivos:

mntpoint -fstype=fuse,rw,uid=1000,gid=1000,allow_other :sshfs\#[email protected]\:/path/to/mount

Nota que para los montajes FUSE, uid y gid deben ser ids numéricos.

Debiendo problemas de montaje automático

Si tiene problemas con el montaje automático de sus sistemas de archivos, puede ser útil ejecutar automount en primer plano.

  1. Detenga el demonio autofs

    sudo service autofs stop
  2. Ejecute automount en primer plano con información verbosa

    sudo automount -f -v
  3. Desde otra terminal, intente montar sus sistemas de archivos cambiando los directorios en el punto de montaje.
  4. Compruebe la salida de la primera terminal para obtener pistas sobre por qué el montaje falló o no se intentó.

Vea también

  • Mount – Información sobre el proceso de montaje y su configuración en Ubuntu.

  • La página man de mount – alojada en el sitio web oficial de Ubuntu.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.