Tutte le condivisioni NFS rese disponibili da un server possono essere montate mediante vari metodi, tra cui naturalmente quello manuale, tramite il comando mount. Questo, però obbliga l'utente root a digitare il comando mount a ogni riavvio del sistema. Due metodi di configurazione dei mount NFS sono la modifica di /etc/fstab o l'utilizzo del servizio autofs.
Inserendo una linea formattata correttamente nel file /etc/fstab si ottiene lo stesso risultato prodotto dal montaggio manuale del filesystem esportato. Il file /etc/fstab viene letto dallo script /etc/rc.d/init.d/netfs all'avvio del sistema e ogni condivisione NFS elencata, sará montata.
Un esempio di linea /etc/fstab per montare un export di NFS ha il seguente aspetto:
<server>:</path/of/dir> </local/mnt/point> nfs <options> 0 0 |
La parte <server-host> si riferisce all'hostname, indirizzo IP o al nome di dominio completamente qualificato del server che sta esportando il filesystem.
La </path/of/directory> é la path per la directory esportata.
La parte </local/mount/point> specifica in quale punto del filesystem locale montare la directory esportata. Questo mount point deve esistere già prima che il file /etc/fstab venga letto, altrimenti l'operazione di montaggio non riesce
L'opzione nfs specifica il tipo di filesystem che viene montato.
L'area <options> (area delle opzioni) determina il modo in cui va montato il filesystem. Per esempio, se nell'area delle opzioni è specificato il parametro rw,suid per un particolare montaggio, il filesystem esportato sarà montato in modalità lettura/scrittura e verranno utilizzate le ID utente e di gruppo impostate dal server. Si noti che qui non vanno utilizzate le parentesi. Per conoscere altre opzioni relative al montaggio, consultate la Sezione 9.3.3.
Uno degli effetti "collaterali" nell'utilizzo del file /etc/fstab è rappresentato dal fatto che, a prescindere da quanto utilizziate quel filesystem montato, il vostro sistema deve comunque dedicare parte delle sue risorse per mantenerlo in funzione. Se sul sistema sono montati solo un paio di filesystem, il problema non è così grave; se però il sistema deve mantenere contemporaneamente in funzione decine di filesystem montati, le prestazioni generali possono risentirne. In alternativa al file /etc/fstab potete usare automount, una utility basata su kernel che monta e smonta automaticamente i filesystem NFS, riducendo il consumo di risorse.
Lo script autofs, contenuto in /etc/rc.d/init.d, viene utilizzato per controllare automount attraverso il file di configurazione contenuto in /etc/auto.master. Mentre automount può essere specificato sulla linea di comando, è più opportuno specificare mount point, hostname, directory esportata e opzioni all'interno di un gruppo di file, invece di digitare il tutto manualmente. Eseguendo autofs come un servizio che si avvia e si arresta su runlevel specificati, si possono implementare automaticamente i parametri di configurazione contenuti nei vari file.
I file di configurazione di autofs sono organizzati secondo rapporti genitore-figlio. Un file di configurazione principale (/etc/auto.master) riferisce ai mount point sul vostro sistema che sono collegati a un particolare tipo di mappa, che assume la forma di altri file di configurazione, programmi, mappe NIS e altri metodi di montaggio meno comuni. Il file auto.master contiene delle linee che si rivolgono a ciascuno di questi mount point, organizzate come segue:
<mount-point> <map-type> |
La parte <mount-point> indica il punto del vostro filesystem locale in cui montare il dispositivo o il filesystem esportato. La parte relativa al tipo di mappa (<map-type>) si riferisce al modo in cui verrà montato il mount point. Il metodo più comune per il montaggio automatico di export di NFS è quello di usare un file come tipo di mappa per un particolare mount point. Il file mappa, di solito chiamato auto.<mount-point>, dove per <mount-point> si intende il mount point designato in auto.master, contiene linee simili a questa:
<directory> <mount-options> <host>:<exported-file-system> |
La parte <directory> si riferisce alla directory contenuta nel mount point in cui il filesystem esportato dovrebbe essere montato. Proprio come un comando mount standard, l'host che esporta il filesystem e lo stesso filesystem esportato sono richiesti nella sezione <host>: <exported-filesystem>. Per specificare opzioni particolari da utilizzare nel montaggio di un filesystem esportato, inseritele nella sezione <mount-options>, separate da virgole. Per i montaggi di NFS che utilizzano autofs, dovete assolutamente inserire -fstype=nfs nella sezione <mount-options>.
I file di configurazione di autofs, che possono essere utilizzati per svariati montaggi su molti tipi di dispositivi e filesystem, sono particolarmente utili nella creazione di montaggi NFS. Per esempio, alcune aziende salvano la directory /home di un utente su un server centrale tramite una condivisione di NFS. Poi, configurano il file auto.master su ciascuna delle workstation in modo che si rivolgano a un file auto.home contenente le specifiche su come montare la directory /home via NFS. In questo modo, l'utente ha accesso ai dati personali e ai file di configurazione contenuti nella directory /home collegandosi da un punto qualsiasi della rete interna. In un caso come questo, il file auto.master ha il seguente aspetto:
/home /etc/auto.home |
In questo modo, il mount point di /home sul sistema locale è impostato per essere configurato dal file /etc/auto.home, che ha un aspetto simile al seguente:
* -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid server.example.com:/home |
Secondo questa linea, qualsiasi directory cui un utente cerchi di accedere sotto la directory /home locale (per via dell'asterisco) dovrebbe risultare in un montaggio NFS sul sistema server.example.com all'interno del suo filesystem /home esportato. Le opzioni di montaggio specificano che ogni montaggio NFS nella directory /home deve servirsi di una particolare serie di impostazioni. Per maggiori informazioni sulle opzioni di montaggio, tra cui quelle incluse in questo esempio, consultate la Sezione 9.3.3.
Oltre al montaggio di un filesystem via NFS su un host remoto, si possono specificare numerose altre opzioni al momento del montaggio, che possono facilitare tale operazione. Queste opzioni possono essere utilizzate con comandi manuali mount, impostazioni di /etc/fstab, autofs e altri metodi di montaggio.
Le opzioni che seguono sono le più diffuse per i montaggi via NFS:
hard o soft — specificano se il programma che utilizza un file via connessione NFS deve arrestarsi e attendere (hard) che il server torni in linea nel caso in cui l'host che sta servendo il filesystem esportato non sia disponibile o se deve invece inviare un report di errore (soft).
Se specificate hard, non sarete in grado di terminare il processo in attesa che la comunicazione NFS riprenda, a meno che non specifichiate anche l'opzione intr.
Se indicate l'opzione soft, potete impostare un'opzione aggiuntiva del tipo timeo=<valore> per specificare (nella sezione <value>) il numero di secondi che devono trascorrere prima che venga effettuato il reporto dell'errore.
intr — fa sì che le richieste NFS vengano interrotte qualora si verifichi una caduta del server o nel caso non fosse possibile raggiungerlo.
nolock — a volte è richiesto nelle connessioni con server NFS di vecchia generazione. Per richiedere il blocco, usate l'opzione lock.
noexec — non permette l'esecuzione di binari sul filesystem montato. È utile se il vostro sistema sta montando via NFS un filesystem non Linux contenente binari incompatibili.
nosuid — rende ineffettivi bit SUID (Set User Identifier) o SGID (Set Group Identifier).
rsize=8192 e wsize=8192 — possono aumentare la velocita di comunicazione NFS per operazioni di lettura (rsize) e scrittura (wsize) impostando una dimensione maggiore per i blocchi di dati (in termini di byte), da trasferire in una volta. Fate attenzione quando modificate questi valori; alcuni kernel di Linux e schede di rete di vecchia generazione non funzionano molto bene con blocchi di dimensioni maggiori.
nfsvers=2 o nfsvers=3 — specificano quale versione del protocollo NFS utilizzare.
Nella pagina man di mount sono elencate molte altre opzioni, tra cui quelle relative al montaggio di filesystem non NFS.