Le condivisioni NFS vengono montate da parte del client usando il comando mount. Il formato del comando è il seguente:
mount -o <options> <host>:</remote/export> </local/directory> |
Sostituire <options> con un elenco delle opzioni separato da una virgola per il file system NFS (consultate la Sezione 9.4.3 per maggiori informazioni). Sostituire <host> con l'host remoto, </remote/export> con la directory remota montata, e sostituire </local/directory> con la directory locale dove il file system remoto deve essere montato.
Consultare la pagina man mount per maggiori informazioni.
Se si accede ad una condivisione NFS emettendo manualmente il comando mount, il file system deve essere rimontato manualmente dopo il riavvio del sistema. Red Hat Enterprise Linux offre due modi per il montaggio automatico dei file system remoti al momento dell'avvio: il file /etc/fstab o il servizio autofs.
Il servizio netfs al momento dell'avvio, fa riferimento al file /etc/fstab, in questo modo le righe che si riferiscono alle condivisioni NFS, hanno lo stesso effetto come se si digitasse manualmente il comando mount durante il processo di avvio.
Un esempio di linea /etc/fstab per montare una esportazione NFS, ha il seguente aspetto:
<server>:</remote/export> </local/directory> nfs <options> 0 0 |
Sostituire <server> con l'hostname, l'indirizzo IP o con il nome del dominio completamente qualificato del server che esporta il file system.
Sostituire </remote/export> con il percorso per la directory esportata.
Sostituire </local/directory;> con il file system locale sul quale è montata 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.
Sostituire <options> con un elenco, separato da una virgola, delle opzioni per il file system NFS (consultare la Sezione 9.4.3 per maggiori informazioni). Consultare la pagina man fstab per informazioni aggiuntive.
Uno degli effetti collaterali nell'utilizzo del file /etc/fstab è rappresentato dal fatto che, a prescindere da quanto utilizziate ill file system NFS montato, il vostro sistema deve comunque dedicare parte delle sue risorse per mantenerlo in funzione. Se sul sistema sono montati solo un paio di file system, il problema non è così grave; se però il sistema deve mantenere contemporaneamente in funzione decine di file system, 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.
Il servizio autofs viene utilizzato per controllare il comando automount attraverso il file di configurazione primario /etc/auto.master. Mentre automount può essere specificato sulla linea di comando, è più opportuno specificare i mount point, l'hostname, la directory esportata e le opzioni all'interno di un gruppo di file, invece di digitare il tutto manualmente.
I file di configurazione di autofs sono organizzati secondo un rapporto genitore-figlio. Un file di configurazione principale (/etc/auto.master) elenca i mount point sul 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 la posizione sulla quale eseguire il montaggio sul file system locale. Il <map-type> si riferisce al modo in cui verrà montato il mount point. Il metodo più comune per il montaggio automatico delle esportazioni 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:
</local/directory> -<options> <server>:</remote/export> |
Sostituire </local/directory;> con il file system locale sul quale è montata la directory esportata. Questo mount point deve esistere già prima che il file mappa venga letto, altrimenti l'operazione di montaggio non riesce.
Sostituire <options> con un elenco, separato da una virgola, di opzioni per il file system NFS (consultare la Sezione 9.4.3 per maggiori informazioni). Assicurarsi di includere il carattere trattino (-) immediatamente prima dell'elenco delle opzioni.
Sostituire <server> con l'hostname, l'indirizzo IP o con il nome del dominio completamente qualificato del server che esporta il file system.
Sostituire </remote/export> con il percorso per la directory esportata.
Sostituire <options> con un elenco, separato da una virgola, di opzioni per il file system NFS (consultare la Sezione 9.4.3 per maggiori informazioni).
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 organizzazioni salvano la directory /home di un utente su di un server centrale tramite una condivisione NFS, successivamente, 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 tramite 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,tcp server.example.com:/home |
Secondo questa linea, qualsiasi directory alla quale 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 sul mount point di /home. Le opzioni di montaggio specificano che ogni 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.4.3.
Per maggiori informazioni sui file di configurazione autofs, consultare le pagine man auto.master.
Oltre al montaggio di un filesystem tramite NFS su di 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 /etc/fstab e autofs.
Le opzioni che seguono sono le più diffuse per i montaggi NFS:
hard o soft — Specificano se il programma che utilizza un file tramite il collegamento NFS deve arrestarsi e attendere (hard) che il server torni in linea nel caso in cui l'host che sta servendo il file system 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 un arresto del server o nel caso non fosse possibile raggiungerlo.
nfsvers=2 o nfsvers=3 — Specificano quale versione del protocollo NFS utilizzare.
nolock — A volte è richiesto nei collegamenti con il server NFS di vecchia generazione. Disabilita il blocco del file.
noexec — Non permette l'esecuzione di binari sui file system montati. È utile se il vostro sistema sta montando tramite NFS un file system non Linux contenente binari incompatibili.
nosuid — Disabilita l'identificatore impostato dall'utente o i bit dell'identificatore impostato dal gruppo. Questo evita agli utenti remoti di ottenere privilegi più elevati, eseguendo un programma setuid.
rsize=8192 e wsize=8192 — Queste impostazioni aumentano la velocita di comunicazione NFS per operazioni di lettura (rsize) e scrittura (wsize) impostando una dimensione maggiore per i blocchi di dati, in 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.
tcp — Specifica al montaggio NFS di usare il protocollo TCP invece di UDP.
Nella pagina man di mount sono elencate molte altre opzioni, tra cui quelle relative al montaggio di filesystem non NFS.