Autofs è un'utilità di montaggio automatico che consente di montare automaticamente la condivisione NFS quando viene richiesto un file o una directory sul punto di montaggio NFS. I montaggi automatici vengono montati solo quando si accede e vengono smontati dopo un periodo di inattività.
Nell'ultimo tutorial abbiamo usato /etc/fstab per montare un filesystem automaticamente durante il riavvio del sistema, ma qui useremo autofs per montare la stessa condivisione NFS.
AutoFS molto utile nel caso in cui la macchina client debba montare più mount contemporaneamente, il tempo di avvio complessivo verrà aumentato; con gli autofs possiamo velocizzare il tempo di avvio.
Quando viene utilizzato il montaggio statico (/etc/fstab), indipendentemente dalla frequenza con cui un utente accede al file system montato NFS, il sistema deve dedicare risorse per mantenere il file system montato in posizione. Autofs risolve il problema di mantenere montato il filesystem a cui gli utenti non accedono frequentemente smontandolo dopo un periodo di inattività. Per questo motivo, il montaggio automatico delle condivisioni NFS/Samba conserva la larghezza di banda e offre prestazioni complessive migliori rispetto ai montaggi statici tramite fstab.
Autofs può essere utilizzato anche per montare altri file system inclusi AFS, SMBFS, CIFS e file system locali.
Questa guida ti aiuta a installare e configurare Autofs su CentOS 7 / Fedora 27 / Ubuntu 16.04 / Debian 9 . Gli stessi passaggi si applicheranno alle versioni precedenti di CentOS , Fedora , Ubuntu e Debian .
Ambiente
Ecco i dettagli dei miei nodi demo, ho sia NFS che client server nella stessa distribuzione.
Nome host del server NFS:server.itzgeek.local (CentOS 7 / Fedora 27 / Ubuntu 16.04)
Indirizzo IP del server NFS:192.168.12.5/24
Percorso di condivisione:/nfsfileshare
Nome host client NFS:client.itzgeek.local (CentOS 7 / Fedora 27 / Ubuntu 16.04)
Indirizzo IP client NFS:192.168.12.7/24
Percorso di montaggio di Autofs:/autofs/nfsfileshare
Prerequisiti
Devi avere un server NFS funzionante.
LEGGI :Come configurare il server NFS su CentOS 7 / RHEL 7 / Fedora 27
LEGGI :Come configurare il server NFS su Debian 9 / Ubuntu 16.04
Installa Autofs
Installiamo il pacchetto autofs disponibile dal repository di base. Installalo usando il seguente comando sul terminale.
### CentOS 7 / RHEL 7 & Fedora 27/26 ### # yum -y install autofs ### Debain 9 / Ubuntu 16.04 / 14.04 ### $ sudo apt-get install autofs
Configura Autofs
Il file di configurazione principale per Autofs è /etc/auto.master file, denominato mappa principale. Il file della mappa principale contiene un elenco di cavalcature e la posizione della relativa mappa.
Esempio di output di /etc/auto.master , puoi vedere la cavalcatura e la sua mappa mostrate in "Verde “.
# # Sample auto.master file # This is a 'master' automounter map and it has the following format: # mount-point [map-type[,format]:]map [options] # For details of the format look at auto.master(5). # /misc /etc/auto.misc # # NOTE: mounts done from a hosts map will be mounted with the # "nosuid" and "nodev" options unless the "suid" and "dev" # options are explicitly given. # /net -hosts # # Include /etc/auto.master.d/*.autofs # The included files must conform to the format of this file. # +dir:/etc/auto.master.d # # Include central master map if it can be found using # nsswitch sources. # # Note that if there are entries for /net or /misc (as # above) in the included master map any keys that are the # same will not be seen as the first read key seen takes # precedence. # +auto.master
Modifica /etc/auto.master
Secondo il nostro scenario, monteremo la condivisione NFS su /autofs/nfsfileshare usando Autofs. Il passaggio seguente crea un punto di montaggio in /autofs e lo configura in base alle impostazioni specificate in /etc/auto.nfs (che creeremo nel passaggio successivo).
### CentOS 7 / RHEL 7 & Fedora 27/26 ### # vi /etc/auto.master ### Debian 9 / Ubuntu 16.04 / 14.04 ### $ sudo nano /etc/auto.master
Aggiungi la seguente riga alla fine di /etc/auto.master file. Il timeout predefinito per autofs è di 300 secondi (5 minuti) . Dopo cinque minuti di inattività, un filesystem montato verrà automaticamente smontato.
Nota: È facoltativo definire il timeout nel file /etc/auto.master.
/autofs /etc/auto.nfs --timeout=60
Crea /etc/auto.nfs
Ora creeremo il file che contiene la nostra mappa di automounter.
### CentOS 7 / CentOS 7 & Fedora 27/26 ### # vi /etc/auto.nfs ### Debian 9 / Ubuntu 16.04 / 14.04 ## $ sudo nano /etc/auto.nfs
Questo file dovrebbe contenere una riga separata per ogni condivisione NFS. Il formato di una linea è {mount point} [{mount options}] {location} . I punti di montaggio specificati qui saranno relativi al punto di montaggio fornito in /etc/auto.master.
nfsfileshare -fstype=nfs4,rw,soft,intr 192.168.12.5:/nfsfileshare
Dove,
nfsfileshare :Punto di montaggio
-fstype=nfs4,rw,soft,intr :Opzioni di montaggio
192.168.12.5:/nfsfileshare :Condividi posizione
Questo crea un nuovo punto di montaggio in /autofs/nfsfileshare/ e monta l'NFS “/nfsfileshare " directory esportata da "192.168.12.5 ”
Riavvia il servizio autofs e abilitalo all'avvio all'avvio del sistema.
### CentOS 7 / RHEL 7 & Fedora 27/26 ### # systemctl restart autofs # systemctl enable autofs ### Debian 9 / Ubuntu 16.04 / 14.04 ## $ sudo service autofs restart $ sudo update-rc.d autofs defaults
Testa AutoFS
Ora prova ad accedere a “/autofs/nfsfileshare ” directory.
Nota :Assicurati di smontare i mount statici e rimuovere la voce dal file /etc/fstab.
$ ll /autofs/nfsfileshare total 0 drwxrwxrwx 4 root root 33 Sep 17 17:47 ./ drwxr-xr-x 3 root root 0 Sep 19 01:23 ../ drwxr-xr-x 2 root root 6 Sep 17 17:39 1/ drwxrwxr-x 2 raj raj 6 Sep 17 17:45 2/ -rw-rw-r-- 1 raj raj 0 Sep 17 17:47 test
Vedresti il contenuto della directory condivisa NFS. Inoltre, usa "df ” per vedere i file system montati, potresti vedere la condivisione NFS che viene montata automaticamente.
Nota: Di seguito è riportato un esempio di "df comando ” (Ubuntu 16.04).
$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 98G 3.7G 89G 4% / none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup udev devtmpfs 478M 4.0K 478M 1% /dev tmpfs tmpfs 98M 1.5M 97M 2% /run none tmpfs 5.0M 0 5.0M 0% /run/lock none tmpfs 489M 144K 489M 1% /run/shm none tmpfs 100M 32K 100M 1% /run/user 192.168.12.5:/nfsfileshare nfs4 50G 858M 50G 2% /autofs/nfsfileshare
Per testare lo smontaggio, non eseguire alcuna azione sul file system montato per 5 minuti (Nel mio caso 1 minuto come ho impostato –timeout=60 ). Gli autofs smontano automaticamente il filesystem una volta trascorso il tempo di inattività.
Nota:non provare nemmeno a utilizzare "df ” per controllare i filesystem montati come “df Il comando ” può accedere ai filesystem montati che causeranno un ritardo nello smontaggio.
Debug e risoluzione dei problemi di AutoFS
CentOS 7 / Fedora 27
Nota :Assicurati di avere LOGGING="debug" in “/etc/sysconfig/autofs ”
# cat /var/log/messages Sep 19 13:14:20 client automount[1891]: expire_proc_indirect: expire /autofs/nfsfileshare Sep 19 13:14:20 client automount[1891]: handle_packet: type = 4 Sep 19 13:14:20 client automount[1891]: handle_packet_expire_indirect: token 4, name nfsfileshare Sep 19 13:14:20 client automount[1891]: expiring path /autofs/nfsfileshare Sep 19 13:14:20 client automount[1891]: umount_multi: path /autofs/nfsfileshare incl 1 Sep 19 13:14:20 client automount[1891]: umount_subtree_mounts: unmounting dir = /autofs/nfsfileshare
Se vedi l'output contrassegnato in "Verde ", autofs ha smontato la condivisione NFS dopo il timeout.
Ubuntu 16.04 / 14.04 / Debian
$ sudo service autofs stop $ sudo automount -f -v
Prova ad accedere alla condivisione in un altro terminale e passa attraverso l'output del comando sopra sul primo terminale.
Starting automounter version 5.0.7, master map /etc/auto.master using kernel protocol version 5.02 lookup(dir): dir map /etc/auto.master.d missing or not readable lookup(file): failed to read included master map dir:/etc/auto.master.d lookup(file): failed to read included master map auto.master mounted indirect on /autofs with timeout 60, freq 15 seconds attempting to mount entry /autofs/nfsfileshare mounted /autofs/nfsfileshare 1 remaining in /autofs 1 remaining in /autofs 1 remaining in /autofs 1 remaining in /autofs expiring path /autofs/nfsfileshare expired /autofs/nfsfileshare
Se vedi l'output contrassegnato in "Verde “, autofs ha montato automaticamente il filesystem al tuo accesso e lo ha smontato dopo il timeout.
È tutto. Hai montato correttamente i punti di montaggio NFS tramite autofs.