6 999
contributi
Wtf (discussione | contributi) |
S3v (discussione | contributi) mNessun oggetto della modifica |
||
(25 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{NFS}} | {{NFS}} | ||
= | = Installazione = | ||
Controllare che sia presente il pacchetto <code>nfs-common</code>, in caso contrario installarlo: | Controllare che sia presente il pacchetto <code>nfs-common</code>, in caso contrario installarlo: | ||
<pre># apt-get install nfs-common</pre> | <pre># apt-get install nfs-common</pre> | ||
= Configurazione e connessione risorse = | |||
Una volta definite le risorse da condividere è possibile caricarle su un altro PC in modo permanente (statico) o su richiesta (dinamico). Il primo approccio è caratterizzato da un consumo di banda prolungato nel tempo, in quanto client e server devono costantemente scambiare informazioni (anche se non si utilizzano direttamente le risorse condivise), nel secondo invece il consumo di banda avviene solo quando si ha un effettivo accesso alle risorse. | Una volta definite le risorse da condividere è possibile caricarle su un altro PC in modo permanente (statico) o su richiesta (dinamico). Il primo approccio è caratterizzato da un consumo di banda prolungato nel tempo, in quanto client e server devono costantemente scambiare informazioni (anche se non si utilizzano direttamente le risorse condivise), nel secondo invece il consumo di banda avviene solo quando si ha un effettivo accesso alle risorse. | ||
Riga 18: | Riga 11: | ||
In generale se l'accesso alle risorse remote non è frequente è più logico utilizzare l'approccio dinamico. | In generale se l'accesso alle risorse remote non è frequente è più logico utilizzare l'approccio dinamico. | ||
== | == Comune == | ||
=== nfs-common === | |||
Sia che si voglia caricare le risorse remote in modo statico che dinamico, la prima cosa da fare è editare il file <code>/etc/default/nfs-common</code> ed assicurarsi che la riga contente la variabile <code>NEED_IDMAPD=</code> appaia così: | |||
< | |||
<pre>NEED_IDMAPD=yes</pre> | |||
<pre> | |||
=== | ==== idmapd.conf ==== | ||
Si veda l'omonima sezione nella [[Nfs-kernel-server: configurazione lato server#idmapd.conf | pagina]] dedicata alla configurazione del server. | |||
=== Prima di proseguire === | |||
Fatto ciò l'utente deve decidere se montare le risorse in modo statico o dinamico, NON È POSSIBILE adottare entrambe le soluzioni contemporaneamente. | Fatto ciò l'utente deve decidere se montare le risorse in modo statico o dinamico, NON È POSSIBILE adottare entrambe le soluzioni contemporaneamente. | ||
{{Box|Nota| Si fa presente che se sul PC cliente si decide di montare le risorse remote sotto la cartella <code>/home/nome_utente</code> allora tutte le cartelle compariranno anche sul desktop, proprio come se fosse stato collegato un disco esterno o una chiavetta USB. È possibile aggirare il problema creando la cartella in un'altra posizione e poi creando un collegamento simbolico alla stessa nella cartella utente.}} | |||
== METODO STATICO == | |||
Per montare staticamente una risorsa il comando da usare è il solito <code>mount</code>, infatti questo comando supporta una | Per montare staticamente una risorsa il comando da usare è il solito <code>mount</code>, infatti questo comando supporta una valanga di protocolli e filesystem, tra cui appunto NFS. Prima di montare le risorse remote è necessario creare il punto di mount locale, si supponga per esempio di voler montare le suddette risorse in <code>/home/nfs</code> (si sconsiglia di montare le risorse direttamente in cartelle già esistenti che contengono già altri file/cartelle, come <code>/home</code> o peggio <code>/</code>), ergo restando all'esempio: | ||
<pre># mkdir /home/nfs</pre> | <pre># mkdir /home/nfs</pre> | ||
Riga 64: | Riga 39: | ||
<pre># mount -t nfs4 -o _netdev,hard,intr indirizzo_server:/ /home/nfs</pre> | <pre># mount -t nfs4 -o _netdev,hard,intr indirizzo_server:/ /home/nfs</pre> | ||
Dove | Dove con <code>indirizzo_server</code> si identifica il server con le risorse condivise; può essere nella forma di un IP (es.: 192.168.5.92) oppure di un alias (es.: <code>mioserver</code>, in tal caso come sempre si presuppone che il computer client sia in grado di risolvere correttamente l'alias). Si noti che si è scritto <code>indirizzo_server:/</code> e non <code>indirizzo_server:/home</code> poiché nel file <code>/etc/exports</code> del server la cartella <code>/home</code> è stata definita come radice (si ricorda che saranno esportate automaticamente anche tutte le sotto cartelle della cartella indicata col comando <code>mount</code>). A questo punto sarà sufficiente esplorare la cartella <code>/home/nfs</code> per vedere le risorse esportate.<br/> | ||
Se invece di montare tutte le cartelle esportate se nevolesse montare solo una in particolare sarebbe sufficiente, ad esempio, cambiare il precedente comando in: | |||
<pre># mount -t nfs4 -o _netdev,hard,intr indirizzo_server:/cartella_voluta /home/nfs</pre> | |||
ove sul server fosse <code>/export/cartella_voluta</code>, ricordando che nell'esempio di questa guida si è definita come radice la cartella <code>/export</code> del server.<br/> | |||
Per smontare le risorse remote è sufficiente digitare: | Per smontare le risorse remote è sufficiente digitare: | ||
Riga 103: | Riga 81: | ||
</pre> | </pre> | ||
== METODO DINAMICO == | |||
''NOTA BENE'': qualora si decida di abbandonare il metodo statico per quello dinamico è evidente che prima cosa è necessario smontare tutte le risorse montate staticamente che si intende gestire dinamicamente, e poi eliminare (o commentare) la riga eventualmente aggiunta al file <code>/etc/fstab</code>. | ''NOTA BENE'': qualora si decida di abbandonare il metodo statico per quello dinamico è evidente che per prima cosa è necessario smontare tutte le risorse montate staticamente che si intende gestire dinamicamente, e poi eliminare (o commentare) la riga eventualmente aggiunta al file <code>/etc/fstab</code>. | ||
Per usare questo metodo è necessario il pacchetto autofs, pertanto se non installato procedere alla sua installazione: | Per usare questo metodo è necessario il pacchetto autofs, pertanto se non installato procedere alla sua installazione: | ||
Riga 111: | Riga 89: | ||
<pre>apt-get install autofs5</pre> | <pre>apt-get install autofs5</pre> | ||
Se l'utente desidera cambiare le impostazioni di base, come il tempo trascorso il quale il sistema smonta automaticamente le risorse, può farlo editando il file | Se l'utente desidera cambiare le impostazioni di base, come il tempo trascorso il quale il sistema smonta automaticamente le risorse, può farlo editando il file <code>/etc/default/autofs</code>. | ||
<code>/etc/default/autofs</code>. | |||
A questo punto è necessario modificare con un editor il file <code>auto.master</code> | A questo punto è necessario modificare con un editor il file <code>auto.master</code> | ||
<pre># | <pre># nano /etc/auto.master</pre> | ||
aggiungendo in coda una riga del tipo <code>/home/nfs /etc/auto.nfs</code>. Questa riga dice che le risorse remote specificate nel file <code>/etc/auto.nfs</code> (naturalmente l'utente è liberissimo di scegliere un altro nome al posto di ''auto.nfs'', basta essere coerenti nel seguito) andranno montante all'interno della cartella <code>/home/nfs</code> (che deve esistere! Autofs non crea il punto di mount). Come già scritto nel caso statico si sconsiglia di montare le risorse direttamente in cartelle già esistenti che contengono già altri file/cartelle, come <code>/home</code> o peggio <code>/</code>. È possibile definire più tipi di risorse remote inserendo più righe, il punto è che per ognuna è necessario indicare il punto di mount e il file contenente le relative istruzioni. | aggiungendo in coda una riga del tipo <code>/home/nfs /etc/auto.nfs</code>. Questa riga dice che le risorse remote specificate nel file <code>/etc/auto.nfs</code> (naturalmente l'utente è liberissimo di scegliere un altro nome al posto di ''auto.nfs'', basta essere coerenti nel seguito) andranno montante all'interno della cartella <code>/home/nfs</code> (che deve esistere! Autofs non crea il punto di mount). Come già scritto nel caso statico si sconsiglia di montare le risorse direttamente in cartelle già esistenti che contengono già altri file/cartelle, come <code>/home</code> o peggio <code>/</code>. È possibile definire più tipi di risorse remote inserendo più righe, il punto è che per ognuna è necessario indicare il punto di mount e il file contenente le relative istruzioni.<br/> | ||
A questo punto per quanto detto l'utente deve creare il suo file <code>auto.nfs</code> (o come è stato chiamato) usando il suo editor di testo preferito, ad esempio: | A questo punto per quanto detto l'utente deve creare il suo file <code>auto.nfs</code> (o come è stato chiamato) usando il suo editor di testo preferito, ad esempio: | ||
<pre># | <pre># nano /etc/auto.nfs</pre> | ||
che ovviamente apparirà vuoto essendo appena stato creato dall'utente. | che ovviamente apparirà vuoto essendo appena stato creato dall'utente. | ||
{{Warningbox|Il file ''auto.nfs'', ma più in generale tutti file di mappatura risorse creati dall'utente (e solo questi), '''NON''' devono avere permessi di esecuzione, in caso contrario risulterà impossibile montare le risorse specificate in essi. Questa condizione è evidenziata dalla presenza nel file ''/var/log/syslog'' dell'errore ''automount [ ]: syntax error in nsswitch config near [ syntax error]''.}} | |||
Se si desidera montare tutte le cartelle esportate sul server inserire la seguente riga: | |||
<pre>nome_arbitrario -fstype=nfs4,hard,intr indirizzo_server:/</pre> | <pre>nome_arbitrario -fstype=nfs4,hard,intr indirizzo_server:/</pre> | ||
Quanto appena scritto viene definito in gergo ''indirect map''. Osservando | Se invece si vogliono montare indipendentemente le cartelle esportate sul server inserire una riga per cartella: | ||
<pre> | |||
nome_arbitrario1 -fstype=nfs4,hard,intr indirizzo_server:/cartella1 | |||
nome_arbitrario2 -fstype=nfs4,hard,intr indirizzo_server:/cartella2 | |||
nome_arbitrario3 -fstype=nfs4,hard,intr indirizzo_server:/cartella3 | |||
ecc. | |||
</pre> | |||
Quanto appena scritto viene definito in gergo ''indirect map''. Osservando ogni riga si notano subito tre parti: | |||
# ''Key'': in questo esempio è <code>nome_arbitrario</code>, a sottolineare che trattasi di una parola qualsiasi a scelta dell'utente. È il nome della sottocartella di <code>/home/nfs/</code> in cui compariranno le risorse remote. Si badi bene che diversamente da quanto fatto in precedenza, la suddetta cartella viene creata al momento da autofs, quindi l'utente '''NON''' deve creare tale sottocartella in anticipo. | # ''Key'': in questo esempio è <code>nome_arbitrario</code>, a sottolineare che trattasi di una parola qualsiasi a scelta dell'utente. È il nome della sottocartella di <code>/home/nfs/</code> in cui compariranno le risorse remote. Si badi bene che diversamente da quanto fatto in precedenza, la suddetta cartella viene creata al momento da autofs, quindi l'utente '''NON''' deve creare tale sottocartella in anticipo. | ||
# ''Options'': banalmente la sezione delle opzioni, in questo caso sono tre cioè <code>-fstype=nfs4</code>, <code>hard</code> e <code>intr</code>. È naturalmente possibile specificare ulteriori opzioni (si veda il manuale di [http://manpages.debian.net/cgi-bin/man.cgi?query=mount&sektion=8&apropos=0&manpath=Debian+6.0+squeeze&locale= mount]), basta separarle con una virgola. | # ''Options'': banalmente la sezione delle opzioni, in questo caso sono tre cioè <code>-fstype=nfs4</code>, <code>hard</code> e <code>intr</code>. È naturalmente possibile specificare ulteriori opzioni (si veda il manuale di [http://manpages.debian.net/cgi-bin/man.cgi?query=mount&sektion=8&apropos=0&manpath=Debian+6.0+squeeze&locale= mount]), basta separarle con una virgola. | ||
# ''Location'': definisce il percorso per caricare le risorse remote. In quest'esempio è <code>indirizzo_server:/</code> (si ricordi che <code>/</code> non indica la radice del filesystem del | # ''Location'': definisce il percorso per caricare le risorse remote. In quest'esempio è <code>indirizzo_server:/</code> (si ricordi che <code>/</code> non indica la radice del filesystem del server, ma la cartella definita come radice in <code>/etc/exports</code> sul server, cioè <code>/home</code> o <code>/export</code> restando all'esempio), che come già ripetuto può essere sia un IP che un alias. | ||
Prima di rendere operativo automount assicurarsi di aver smontato eventuali risorse statiche relative al server per cui abbiamo configurato ''auto.nfs''. Fatto ciò digitare: | Prima di rendere operativo automount assicurarsi di aver smontato eventuali risorse statiche relative al server per cui abbiamo configurato ''auto.nfs''. Fatto ciò digitare: | ||
<pre># | <pre># service autofs restart</pre> | ||
Un modo per testare se le risorse remote vengono montate correttamente è digitare da terminale: | Un modo per testare se le risorse remote vengono montate correttamente è digitare da terminale: | ||
Riga 154: | Riga 144: | ||
</pre> | </pre> | ||
[[Categoria:Condivisione_risorse]] | |||
[[Categoria:NFS]] | |||
contributi