Tanto si es un administrador de sistemas con experiencia como si es un usuario habitual, probablemente ya haya montado unidades en Linux.
Las unidades pueden ser locales para su máquina o se puede acceder a ellas a través de la red utilizando el protocolo NFS, por ejemplo.
Si eligió montar las unidades de forma permanente, probablemente las haya agregado a su archivo fstab.
Afortunadamente para usted, existe una forma mejor y más rentable de montar unidades:utilizando la utilidad AutoFS.
AutoFS es una utilidad que monta unidades locales o remotas solo cuando se accede a ellas :si no los usa, se desmontarán automáticamente.
En este tutorial, aprenderá cómo puede instalar y configurar AutoFS en sistemas Linux.
Requisitos
Antes de empezar, es importante para ti para tener privilegios sudo en su host.
Para verificarlo, simplemente ejecute el comando "sudo" con la opción "-v":si no ve ninguna opción, puede continuar.
$ sudo -v
Si no tiene privilegios de sudo, puede seguir este tutorial para hosts basados en Debian o este tutorial para sistemas basados en CentOS.
Instalación de AutoFS en Linux
Antes de instalar la utilidad AutoFS, debe asegurarse de que sus paquetes estén actualizados con los repositorios.
$ sudo apt-get update
Ahora que su sistema está actualizado, puede instalar AutoFS ejecutando el comando "apt-get install" con el argumento "autofs".
$ sudo apt-get install autofs
Al instalar el paquete AutoFS, el proceso de instalación:
- Crea múltiples archivos de configuración en el directorio /etc como : auto.master, auto.net, auto.misc y así sucesivamente;
- Creará el servicio AutoFS en systemd;
- Agregue el "montaje automático ” a su archivo “nsswitch.conf” y vincúlelo a los “archivos ” fuente
Inmediatamente después de la instalación, asegúrese de que el servicio AutoFS se esté ejecutando con el comando "systemctl status"
$ sudo systemctl status autofs
También puede habilitar el servicio AutoFS para que se ejecute al inicio
$ sudo systemctl enable autofs
Ahora que AutoFS está correctamente instalado en su sistema, veamos cómo puede comenzar a crear su primer mapa.
Cómo funciona AutoFS en Linux
“Mapas ” son un concepto clave cuando se trata de AutoFS.
En AutoFS, está mapeando puntos de montaje con archivos (que se denomina mapa indirecto) o un punto de montaje con una ubicación o un dispositivo.
En su configuración predeterminada, AutoFS comenzará leyendo mapas definidos en el archivo autofs.master en el directorio /etc.
A partir de ahí, iniciará un hilo para todos los puntos de montaje definidos en los archivos de mapa definidos en el archivo maestro.
Iniciar un subproceso no significa que el punto de montaje esté montado cuando inicie AutoFS por primera vez:solo se montará cuando se acceda a él.
De forma predeterminada, después de cinco minutos de inactividad, AutoFS desmontará (o desmontará) los puntos de montaje que ya no se utilicen.
Nota :los parámetros de configuración para AutoFS están disponibles en /etc/autofs.conf
Crear su primer archivo de mapa automático
Ahora que tiene una idea de cómo funciona AutoFS, es hora de que comience a crear su primer mapa de AutoFS. .
En el directorio /etc, cree un nuevo archivo de mapa llamado “auto.example “.
$ sudo touch /etc/auto.example
El objetivo de este archivo de mapa será montar un recurso compartido NFS ubicado en una computadora en la red.
El recurso compartido NFS se encuentra en la IP 192.168.178.29/24 en la red local y exporta una unidad ubicada en /var/share.
Antes de intentar montar automáticamente el recurso compartido NFS, es una buena práctica intentar montarlo manualmente y verificar que puede comunicarse con el servidor remoto.
$ ping 192.168.178.29
Crear un mapa directo
El mapeo más fácil que puede crear usando AutoFS se llama mapa directo o mapeo directo .
Un mapa directo asocia directamente un punto de montaje con una ubicación (por ejemplo, una ubicación NFS)
Como ejemplo, supongamos que desea montar un recurso compartido NFS en el momento del arranque en el directorio /tmp.
Para crear un mapa directo, edite su "auto.example ” y agregue el siguiente contenido en él:
# Creating a direct map with AutoFS
# <mountpoint> <options> <remote_ip>:<location>
/tmp -fstype=nfs 192.168.178.29:/var/share
Ahora, deberá agregar el mapa directo a su "auto.master ” archivo.
Para especificar que está haciendo referencia a un mapa directo, debe usar la notación "-"
# Content of the auto.master file
/- auto.example
Ahora que su archivo maestro está modificado, puede reiniciar el servicio AutoFS para que los cambios sean efectivos.
$ sudo systemctl restart autofs
$ cd /tmp
Felicitaciones, ahora debería poder acceder a sus archivos a través de NFS a través de mapeo directo.
Crear un mapeo indirecto
Ahora que ha descubierto las asignaciones directas, veamos cómo puede usar asignaciones indirectas para montar una ubicación remota en su sistema de archivos.
Las asignaciones indirectas usan la misma sintaxis que las asignaciones directas con una pequeña diferencia:en lugar de montar ubicaciones directamente en el punto de montaje, lo está montando en una ubicación en este punto de montaje.
Para entenderlo, cree un archivo llamado “auto.nfs ” y pegue el siguiente contenido en él
nfs -fstype=nfs 192.168.178.29:/var/share
Como puede ver, la primera columna cambió:en un mapa directo, está utilizando la ruta al punto de montaje (por ejemplo, /tmp), pero con un mapa indirecto está especificando la clave .
La clave representará el nombre del directorio ubicado en el directorio del punto de montaje.
Edite su archivo "auto.master" y agregue el siguiente contenido
/tmp /etc/auto.nfs
Reinicie su servicio AutoFS y diríjase al directorio "tmp"
$ sudo systemctl restart autofs
$ cd /tmp
De forma predeterminada, no se mostrará nada si enumera el contenido de este directorio:recuerde, AutoFS solo montará los directorios cuando se acceda a ellos.
Para que AutoFS monte el directorio, navegue hasta el directorio con el nombre de la clave que especificó en el archivo "auto.nfs" (llamado "nfs" en este caso)
$ cd nfs
¡Impresionante!
Su punto de montaje ahora está activo y puede comenzar a explorar su directorio.
Mapeo de directorios de inicio distantes
Ahora que comprende un poco más acerca de las asignaciones directas e indirectas, es posible que se haga una pregunta:¿cuál es el punto de tener una asignación indirecta cuando simplemente puede asignar ubicaciones directamente?
Para que sean útiles, los mapas indirectos están pensados para usarse con caracteres comodín.
Uno de los principales casos de uso de la utilidad AutoFS es poder montar directorios de inicio de forma remota.
Sin embargo, como los nombres de usuario cambian de un usuario a otro, no podrá tener un archivo de mapa limpio y atractivo, tendrá que mapear a cada usuario de una manera muy redundante.
# Without wildcards, you have very redundant map files
/home/antoine <ip>:/home/antoine
/home/schkn <ip>:/home/schkn
/home/devconnected <ip>:/home/devconnected
Afortunadamente para usted, hay una sintaxis que le permite crear directorios dinámicamente según lo que esté disponible en el servidor.
Para ilustrar esto, cree un nuevo archivo llamado “auto.home ” en su /etc directorio y comience a editarlo.
# Content of auto.home
* <ip>:/home/&
En este caso, hay dos comodines y simplemente significa que se asignarán todos los directorios que se encuentran en el directorio /home del servidor a un directorio del mismo nombre en el cliente.
Para ilustrar esto, supongamos que tenemos un servidor NFS ejecutándose en la dirección IP 192.168.178.29 y que contiene todos los directorios de inicio de nuestros usuarios.
# Content of auto.home
* 192.168.178.29:/home/&
Guarde su archivo y comience a editar su archivo auto.master para crear su mapeo indirecto
$ sudo nano /etc/auto.master
# Content of auto.master
/home /etc/auto.home
Guarde su archivo maestro y reinicie su servicio AutoFS para que se apliquen los cambios.
$ sudo systemctl restart autofs
Ahora, puede dirigirse al directorio /home y debería poder ver los directorios montados correctamente para los usuarios.
Nota:si no ve nada en el directorio, recuerde que es posible que deba acceder al directorio una vez para que AutoFS lo monte
Mapeo y detección de hosts en su red
Si prestó atención al archivo auto.master, probablemente notó que hay una entrada para /net directorio con un valor “-hosts “.
El parámetro "-hosts" pretende representar todas las entradas definidas en el archivo /etc/hosts.
Como recordatorio, el archivo "hosts" puede verse como un solucionador de DNS simple y local que asocia un conjunto de direcciones IP con nombres de host.
Como ejemplo, definamos una entrada para el servidor NFS en el archivo /etc/hosts completando la IP y el nombre de host de la máquina.
En primer lugar, asegúrese de exportar algunos directorios en el servidor ejecutando el comando "showmount" en el cliente.
$ sudo showmount -e <server>
Ahora que se aseguró de exportar algunos directorios, diríjase a su archivo "auto.master" en /etc y agregue la siguiente línea.
# Content of auto.master
/net -hosts
Guarde su archivo y reinicie su servicio AutoFS para que se apliquen los cambios.
$ sudo systemctl restart autofs
¡Eso es todo!
Ahora debería poder acceder a su recurso compartido de NFS en el directorio /net en un directorio con el nombre de host de su servidor.
$ cd /net/<server_name>
$ cd /net/<server_ip>
Nota :recuerda que necesitarás navegar directamente en el directorio para que se monte. No lo verá simplemente enumerando el directorio /net en el primer montaje.
Resolución de problemas
En algunos casos, puede tener algunos problemas al configurar AutoFS:cuando un dispositivo está ocupado o cuando no puede comunicarse con un host remoto, por ejemplo.
- mount/umount:el objetivo está ocupado
Como Linux es un sistema multiusuario, es posible que algunos usuarios naveguen por algunas ubicaciones que está intentando montar o desmontar (usando AutoFS o no)
Si desea saber quién está navegando por la carpeta o quién está usando un archivo, debe usar el comando "lsof".
$ lsof +D <directory>
$ lsof <file>
Nota:la opción "+D" se utiliza para enumerar quién está utilizando el recurso de forma recursiva.
- showmount se bloquea al configurar la detección de host
Si intentó configurar el descubrimiento de host mediante el parámetro "-hosts", es posible que haya verificado que se puede acceder a sus hosts remotos mediante el comando "showmount".
Sin embargo, en algunos casos, el comando "showmount" simplemente se bloquea porque no puede comunicarse con el servidor remoto.
La mayoría de las veces, el firewall del servidor bloquea las solicitudes realizadas por el cliente.
Si tiene acceso al servidor, intente inspeccionar los registros para ver si el firewall (por ejemplo, UFW) está bloqueando las solicitudes o no.
- Depuración con la utilidad de montaje automático
En distribuciones recientes, la utilidad autofs se instala como un servicio systemd.
Como consecuencia, puede inspeccionar los registros de autofs usando el comando "journalctl".
$ sudo journalctl -u autofs.service
También puede usar la utilidad "automount" para depurar los montajes automáticos realizados por el servicio.
$ sudo systemctl stop autofs
$ sudo automount -f -v
Conclusión
En este tutorial, aprendió sobre la utilidad AutoFS:cómo funciona y las diferencias entre los mapas directos e indirectos.
También aprendió que se puede configurar para configurar el descubrimiento de host:listo para usar, puede conectarse a todos los recursos compartidos NFS de su red local, lo cual es una herramienta muy poderosa.
Finalmente, ha visto cómo puede crear mapas indirectos para crear automáticamente directorios de inicio sobre la marcha.
Si está interesado en la administración del sistema Linux, tenemos una sección completa dedicada a ella, ¡así que asegúrese de echarle un vistazo!