La mayoría de los sistemas de archivos de Linux se montan en el arranque y permanecen montados mientras el sistema se está ejecutando. Esto también se aplica a cualquier sistema de archivos remoto que se haya configurado en fstab
expediente. Sin embargo, puede haber ocasiones en las que prefiera montar un sistema de archivos remoto solo bajo demanda, por ejemplo, para aumentar el rendimiento al reducir el uso del ancho de banda de la red, o para ocultar u ofuscar ciertos directorios por motivos de seguridad. El paquete autofs proporciona esta característica. En este artículo, describiré cómo poner en marcha una configuración básica de montaje automático.
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Primero, algunas suposiciones:suponga que el servidor NFS se llama tree.mydatacenter.net
está en funcionamiento. También asuma un directorio de datos llamado ourfiles
y dos directorios de usuarios, para Carl y Sarah, están siendo compartidos por este servidor.
Algunas mejores prácticas harán que las cosas funcionen un poco mejor:es una buena idea usar la misma ID de usuario para sus usuarios en el servidor y cualquier estación de trabajo cliente donde tengan una cuenta. Además, sus estaciones de trabajo y su servidor deben tener el mismo nombre de dominio. Verificar los archivos de configuración relevantes debería confirmar.
alan@workstation1:~$ sudo getent passwd carl sarah
[sudo] password for alan:
carl:x:1020:1020:Carl,,,:/home/carl:/bin/bash
sarah:x:1021:1021:Sarah,,,:/home/sarah:/bin/bash
alan@workstation1:~$ sudo getent hosts
127.0.0.1 localhost
127.0.1.1 workstation1.mydatacenter.net workstation1
10.10.1.5 tree.mydatacenter.net tree
Como puede ver, tanto la estación de trabajo del cliente como el servidor NFS están configurados en los hosts
expediente. Asumo una red doméstica básica o incluso una pequeña oficina que podría carecer de un servicio de nombre de dominio interno adecuado (es decir, DNS).
Instalar los paquetes
Solo necesita instalar dos paquetes:nfs-common
para funciones de cliente NFS y autofs
para proporcionar la función de montaje automático.
alan@workstation1:~$ sudo apt-get install nfs-common autofs
Puede verificar que los archivos autofs se hayan colocado en el etc
directorio:
alan@workstation1:~$ cd /etc; ll auto*
-rw-r--r-- 1 root root 12596 Nov 19 2015 autofs.conf
-rw-r--r-- 1 root root 857 Mar 10 2017 auto.master
-rw-r--r-- 1 root root 708 Jul 6 2017 auto.misc
-rwxr-xr-x 1 root root 1039 Nov 19 2015 auto.net*
-rwxr-xr-x 1 root root 2191 Nov 19 2015 auto.smb*
alan@workstation1:/etc$
Configurar autofs
Ahora necesita editar varios de estos archivos y agregar el archivo auto.home
. Primero, agregue las siguientes dos líneas al archivo auto.master
:
/mnt/tree /etc/auto.misc
/home/tree /etc/auto.home
Cada línea comienza con el directorio donde se montarán los recursos compartidos de NFS. Continúe y cree esos directorios:
alan@workstation1:/etc$ sudo mkdir /mnt/tree /home/tree
En segundo lugar, agregue la siguiente línea al archivo auto.misc
:
ourfiles -fstype=nfs tree:/share/ourfiles
Esta línea le indica a autofs que monte ourfiles
compartir en la ubicación que coincida en el auto.master
archivo para auto.misc
. Como se muestra arriba, estos archivos estarán disponibles en el directorio /mnt/tree/ourfiles
.
Tercero, crea el archivo auto.home
con la siguiente línea:
* -fstype=nfs tree:/home/&
Esta línea le indica a autofs que monte el recurso compartido de los usuarios en la ubicación que coincida con el auto.master
archivo para auto.home
. En este caso, los archivos de Carl y Sarah estarán disponibles en los directorios /home/tree/carl
o /home/tree/sarah
, respectivamente. El asterisco (conocido como comodín) hace posible que el recurso compartido de cada usuario se monte automáticamente cuando inician sesión. El ampersand también funciona como un comodín que representa el directorio del usuario en el lado del servidor. Su directorio de inicio debe asignarse en consecuencia en el passwd
expediente. Esto no tiene que hacerse si prefiere un directorio de inicio local; en cambio, el usuario podría usar esto como un almacenamiento remoto simple para archivos específicos.
Finalmente, reinicie autofs
daemon para que reconozca y cargue estos cambios en el archivo de configuración.
alan@workstation1:/etc$ sudo service autofs restart
Probando autofs
Si cambia a uno de los directorios enumerados en el archivo auto.master
y ejecuta el ls
comando, no verá nada inmediatamente. Por ejemplo, cambie el directorio (cd)
a /mnt/tree
. Al principio, la salida de ls
no mostrará nada, pero después de ejecutar cd ourfiles
, los ourfiles
El directorio compartido se montará automáticamente. El cd
El comando también se ejecutará y se le colocará en el directorio recién montado.
carl@workstation1:~$ cd /mnt/tree
carl@workstation1:/mnt/tree$ ls
carl@workstation1:/mnt/tree$ cd ourfiles
carl@workstation1:/mnt/tree/ourfiles$
Para confirmar aún más que las cosas funcionan, el mount
El comando mostrará los detalles del recurso compartido montado.
carl@workstation1:~$ mount
tree:/mnt/share/ourfiles on /mnt/tree/ourfiles type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.1.22,local_lock=none,addr=10.10.1.5)
El /home/tree
directorio funcionará de la misma manera para Carl y Sarah.
Encuentro útil marcar estos directorios en mi administrador de archivos para un acceso más rápido.