GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar el demonio autofs en CentOS 7/Rhel 7

Objetivo

Aprenda a aprovechar el daemon autofs para montar automáticamente dispositivos y recursos compartidos remotos.

Requisitos

  • Privilegios de raíz para instalar el paquete autofs y editar archivos de configuración

Dificultad

FÁCIL

Introducción

Montaje y desmontaje manual de dispositivos, como unidades USB externas o NFS remotos o Samba los recursos compartidos pueden ser tareas tediosas de realizar cuando se administra una máquina. Los autofs daemon puede ayudarnos a montar automáticamente un sistema de archivos cuando sea necesario y desmontarlo después de un período de tiempo específico. En este tutorial veremos el concepto básico relacionado con el montador automático y cómo configurarlo.

Instalación de Autofs

Lo primero que debe hacer es instalar el autofs paquete. Está disponible en los repositorios oficiales de CentOS7 y Rhel7, por lo que solo debemos usar el yum administrador de paquetes para obtenerlo:

$ sudo yum install autofs

El siguiente paso es iniciar autofs daemon, y habilitarlo en el arranque:

$ sudo systemctl enable --now autofs

La configuración del demonio autofs

El demonio autofs se configura mediante la manipulación de algunos archivos, cada uno con su propio propósito específico. Básicamente, lo que tenemos que hacer es proporcionar algunas instrucciones al daemon, para que sepa cómo debe administrar los puntos de montaje y los dispositivos (esto es lo que llamamos un map ) y, opcionalmente, un conjunto de opciones que se pueden usar para modificar su comportamiento. Veamos qué son esos archivos de configuración y cuál es su función.

El archivo /etc/sysconfig/autofs

El /etc/sysconfig/autofs es el archivo de configuración principal para autofs daemon y contiene su configuración global. Este es el contenido del archivo en una instalación predeterminada de CentOS 7.5:

#
# Init syatem options
#
# If the kernel supports using the autofs miscellanous device
# and you wish to use it you must set this configuration option
# to "yes" otherwise it will not be used.
#
USE_MISC_DEVICE="yes"
#
# Use OPTIONS to add automount(8) command line options that
# will be used when the daemon is started.
#
#OPTIONS=""
#

Podemos modificar el comportamiento del demonio eliminando el comentario en la línea 13 y pasando los argumentos de la línea de comando en forma de cadena, como el valor de OPTIONS variables.

Hagamos un ejemplo:supongamos que queremos cambiar el intervalo de tiempo predeterminado después del cual el demonio debería desmontar automáticamente un sistema de archivos:el valor predeterminado es 300 segundos o 5 minutos. Leyendo el manual de autofs (automount(8) ), podemos ver que para cambiar este parámetro debemos usar el --timeout opción, que toma como parámetro, el intervalo de tiempo expresado en seconds :

 -t , --timeout 
        Set the global minimum timeout, in  seconds,  until  directories
        are unmounted. The default is 10 minutes. Setting the timeout to
        zero disables umounts completely.  The internal program  default
        is 10 minutes, but the default installed configuration overrides
        this and sets the timeout to 5 minutes  to  be  consistent  with
        earlier autofs releases.

Digamos, por ejemplo, que queremos cambiar el tiempo de espera de desmontaje predeterminado a 10 minutos, así es como deberíamos cambiar /etc/sysconfig/autofs archivo:

OPTIONS="--timeout=600"

Luego de guardar los cambios debemos reiniciar el daemon para que la nueva configuración surta efecto. Podemos ver cómo se ha adoptado la nueva opción de tiempo de espera comprobando el estado del daemon con systemctl :

$ systemctl status autofs
autofs.service - Automounts filesystems on demand
   [...]
   CGroup: /system.slice/autofs.service
           └─6452 /usr/sbin/automount --timeout=600 --foreground --dont-check-daemon
   [...]

El archivo /etc/auto.master

El auto.master El archivo es muy importante, ya que contiene el automontador master map . Cada mapa asocia un punto de montaje con un archivo de configuración donde se describen los sistemas de archivos a montar, por lo que básicamente describe otro mapa. Un mapa se crea usando la siguiente sintaxis:

<mountpoint> <configuration file> <options>

La configuración le dice al daemon que el mountpoint dado es administrado por mapas establecidos en el configuration file dado , aplicando las opciones proporcionadas, que pueden anular las globales (esto puede ser útil, por ejemplo, para proporcionar un tiempo de espera de desmontaje específico para cada punto de montaje). Veamos un ejemplo concreto:si echamos un vistazo a la Línea 7 del archivo, podemos ver el siguiente mapa:

/misc   /etc/auto.misc

Esta configuración especifica que /misc mountpoint está interesado en las asignaciones descritas en /etc/auto.misc expediente. Veamos cómo se configuran esos mapas echándole un vistazo.

El archivo /etc/auto.misc

Como vimos en el /etc/auto.master archivo, el /misc el punto de montaje está asociado con /etc/auto.misc archivo de configuración. Ahora vamos a examinarlo para entender cómo se define un mapa para un dispositivo. Este es el contenido predeterminado del archivo:

#
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

cd		-fstype=iso9660,ro,nosuid,nodev	:/dev/cdrom

[...]

La sintaxis utilizada para la configuración es la siguiente:

<key> <mount options> <filesystem>

Lo primero que tenemos que especificar es la key . El valor de este parámetro, se utilizará, en el caso de indirect maps (haremos diferentes tipos de mapas en un minuto) como el nombre del subdirectorio que se creará si no existe, bajo el punto de montaje principal, que en este caso es /misc . El /dev/cdrom dispositivo, por lo tanto, se montará automáticamente en el /misc/cd directorio.

El segundo elemento a proporcionar es la lista de opciones de montaje que deben aplicarse:en este ejemplo, el -fstype se ha utilizado para especificar el tipo de sistema de archivos, junto con el ro , nosuid y nodev .

Finalmente debemos especificar la ubicación del sistema de archivos. En este caso, dado que es una ruta local, debe tener un prefijo : (dos puntos).

En el caso de un NFS remoto share, tendríamos que escribir 192.168.1.39:/srv/nfs_share en su lugar, donde 192.168.1.39 es la dirección de la máquina remota (también se puede usar el nombre de host) y /srv/nfs_share es la ruta del directorio compartido en él.

Cuando nos referimos a un recurso compartido de samba, deberíamos haber proporcionado -fstype=cifs como opción, especificando la ip de la máquina remota y la ruta del directorio compartido en el siguiente formato:

://192.168.1.39/srv/samba_share

Mapas indirectos, directos y hosts

Mencionamos un indirect map antes, veamos ahora en detalle, los diferentes tipos de mapas. Hay tres tipos de mapas que podemos usar:direct , indirect y hosts maps:un ejemplo de indirect map es lo que acabamos de ver en el archivo /etc/auto.master, para el /misc punto de montaje.

Un mapa se llama indirecto, porque la key parámetro especificado en el archivo de configuración (/etc/auto.misc en este caso) asociado con el punto de montaje (/etc/misc ), se usará como el nombre del directorio relativo a ese punto de montaje donde se encuentra el sistema de archivos (:/dev/cdrom en nuestro ejemplo) se montará.

Un direct map , siempre se especifica con la siguiente sintaxis en el archivo auto.master:

/- /etc/auto.misc

Cuando /- se usa como un punto de montaje en un mapa, eso significa que estamos usando un mapa directo. En este caso, la key elemento de la sintaxis utilizada en el archivo de configuración asociado con el punto de montaje, debe ser una ruta absoluta. Por lo tanto, en el ejemplo anterior, tendríamos que escribir:

/cd -fstype=iso9660,ro,nosuid,nodev	:/dev/cdrom

Finalmente podemos encontrar un host map ejemplo en el archivo /etc/auto.master, en la línea 13:

/net	-hosts

Tal mapa está definido por defecto; ¿como funciona? Cuando se especifica un mapa de hosts, el montador automático crea un subdirectorio bajo el punto de montaje especificado (/net en este caso) para cada máquina listada en /etc/hosts que exporta un NFS Cuota. Esto es posible gracias al /etc/auto.net script, que ahora examinaremos. Cada uno de los directorios compartidos se montará por defecto con el nosuid y nodev opciones.

Las secuencias de comandos /etc/auto.net y /etc/auto.smb

Hay dos scripts muy útiles incluidos en autofs instalación:/etc/auto.net y /etc/auto.smb . Esos scripts son básicamente envoltorios, respectivamente, del showmount y smbclient programas, utilizados para descubrir recursos compartidos NFS y samba disponibles. Producirán resultados en un formato que puede ser utilizado por el montador automático.

El /etc/auto.net script se puede utilizar para tener una visión general y para leer los recursos compartidos de NFS. Podemos invocar el script especificando el nombre de host o la dirección IP del servidor que queremos buscar como argumento:

$ sudo /etc/auto.net 192.168.1.39

Ahora, imagine que se encuentra una acción. El comando devolverá una salida similar a esta:

/shared 192.168.1.39:/shared

Esto significaría que en la máquina con ip 192.168.1.39, /shared El directorio se comparte a través de NFS. Basado en hosts map que encontramos en el archivo /etc/auto.master podremos acceder al recurso compartido en /net/192.168.1.39/shared . Esto se debe a que, como dijimos antes, al usar un mapa de hosts, para cada máquina en el archivo /etc/hosts que exporta un recurso compartido NFS, se crea un subdirectorio en /net.

El /etc/auto.smb funciona de manera similar. Si queremos que los recursos compartidos de samba en nuestra red sean montados automáticamente por el montador automático, al igual que sucede con los recursos compartidos de NFS, lo primero que tenemos que hacer es agregar este mapa en el /etc/auto.master archivo:

/cifs /etc/auto.smb

Después de agregar el mapa, debemos reiniciar el demonio:

sudo systemctl restart autofs

En este punto, gracias al /etc/auto.smb secuencia de comandos, para cada máquina que exporte uno o más recursos compartidos smb en nuestra red, se creará un directorio en /cifs . Por ejemplo, imagina que en una máquina con ip 192.168.122.32 tenemos un /srv/samba directorio compartido a través de samba. Si queremos verificarlo, podemos ejecutar el /etc/auto.smb script contra la ip de esa máquina. Aquí está la salida:

$ /etc/auto.smb 192.168.122.32
-fstype=cifs,guest \
	 "/sambadir" "://192.168.122.32/sambadir"

Como se dijo antes, el script es un contenedor alrededor de smbclient y produce una salida que puede ser utilizada por el montador automático. El directorio compartido estará disponible, en nuestro sistema de archivos local, dentro del /cifs/192.168.122.32/ creado automáticamente directorio:

$ ls /cifs/192.168.122.32
sambadir

Lazy montar y desmontar

Para optimizar el número de puntos de montaje creados, el montador automático utiliza una técnica que se llama lazy mounting . En lugar de montar un dispositivo tan pronto como esté disponible o descubierto, esperará hasta que un usuario intente acceder al sistema de archivos:solo entonces se realiza la operación de montaje. Lo mismo ocurre con el proceso de desmontaje:un dispositivo se desmonta automáticamente después de un tiempo de espera especificado.


Cent OS
  1. Cómo actualizar CentOS 7.0/7.1/7.2/7.3/7.4/7.5/7.6 a CentOS 7.7

  2. Cómo instalar y configurar HAProxy en CentOS/RHEL 7/6

  3. CentOS/RHEL 7:Cómo configurar un servidor de nombres de solo caché

  4. CentOS / RHEL 6,7:Cómo configurar páginas gigantes

  5. Cómo configurar el inicio de sesión de firewalld en CentOS/RHEL 8

Cómo configurar la dirección IP estática en CentOS 7 / RHEL 7

Cómo configurar la dirección IP estática en CentOS 8 / RHEL 8

Cómo instalar y configurar Ansible en CentOS 8 / RHEL 8

Cómo configurar la dirección IP estática de la red en RHEL/CentOS 8/7

Cómo instalar y configurar GlusterFS en CentOS 7/CentOS 8

Cómo configurar el servidor VNC en CentOS/RHEL 6