Nfs-kernel-server: configurazione lato server: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
 
(4 versioni intermedie di 2 utenti non mostrate)
Riga 10: Riga 10:
=== nfs-common ===
=== nfs-common ===


Editare il file <code>/etc/default/nfs-common</code> ed assicurarsi che le righe contenti le variabili  <code>NEED_IDMAPD=</code> e  <code>NEED_GSSD=</code> appaiano così:
Editare il file <code>/etc/default/nfs-common</code> ed assicurarsi che le righe contenenti le variabili  <code>NEED_IDMAPD=</code> e  <code>NEED_GSSD=</code> appaiano così:


<pre>
<pre>
Riga 19: Riga 19:
=== nfs-kernel-server ===
=== nfs-kernel-server ===


Editare  il file <code>/etc/default/nfs-kernel-server</code> ed assicurarsi che la riga contente la variabile  <code>NEED_SVCGSSD=</code> appaia così:
Editare  il file <code>/etc/default/nfs-kernel-server</code> ed assicurarsi che la riga contenente la variabile  <code>NEED_SVCGSSD=</code> appaia così:


<pre>NEED_SVCGSSD=no</pre>
<pre>NEED_SVCGSSD="no"</pre>
Questa è comunque l'opzione di default se non viene specificato nulla.


Da notare che attraverso questo file di configurazione è possibile definire tutte le opzioni di <code>rpc.mountd</code> attraverso il parametro <code>RPCMOUNTDOPTS</code>, come ad esempio restringere il numero delle versioni di protocollo utilizzabili.
Da notare che attraverso questo file di configurazione è possibile definire tutte le opzioni di <code>rpc.mountd</code> attraverso il parametro <code>RPCMOUNTDOPTS</code>, come ad esempio restringere il numero delle versioni di protocollo utilizzabili.
Riga 27: Riga 28:
=== idmapd.conf ===
=== idmapd.conf ===


Editare il file <code>/etc/idmapd.conf</code>, che di default dovrebbe apparire così:
Editare il file <code>/etc/idmapd.conf</code>, che di default dovrebbe apparire così:
<pre>
<pre>
[General]
[General]


Verbosity = 0
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Pipefs-Directory = /run/nfs/rpc_pipefs
# set your own domain here, if id differs from FQDN minus hostname
# set your own domain here, if id differs from FQDN minus hostname
#Domain = localdomain
#Domain = localdomain
Riga 42: Riga 43:
</pre>
</pre>


Il parametro da controllare è ''Domain'', che in maniera automatica debian si ricava come FQDN meno nome host. Se quindi non avete configurato un dominio di rete è assai probabile che ''rpc.idmapd'' sbagli ad associare proprietà e regole ACL dei file, ma non i permessi unix che vengono gestiti tramite gli UID ([http://blather.michaelwlucas.com/archives/796 citazione]). Per la maggiorparte degli utenti ''home'' e ''soho'' questo non sarà un grosso problema, visto che l'unico effetto visibile sarà un'errata visualizzazione dei proprietari dei file lato client (tutti associati a ''nobody:nogroup'').<br/>
Il parametro da controllare è ''Domain'', che in maniera automatica debian si ricava come FQDN meno nome host. Se quindi non avete configurato un dominio di rete è assai probabile che ''rpc.idmapd'' sbagli ad associare proprietà e regole ACL dei file, ma non i permessi unix che vengono gestiti tramite gli [[UID]] ([http://blather.michaelwlucas.com/archives/796 citazione]). Per la maggior parte degli utenti ''home'' e ''soho'' questo non sarà un grosso problema, visto che l'unico effetto visibile sarà un'errata visualizzazione dei proprietari dei file lato client (tutti associati a ''nobody:nogroup'').<br/>
Premesso questo è necessario valutare come avviene la risoluzione dei nomi all'interno della propria LAN. Se non si è configurato ne un servizio DNS per la propria LAN ne si sono editati i file <code>/etc/hosts</code> dei vari PC specificando un dominio fittizio, allora è possibile che valga la pena di lasciare semplicemente commentato il parametro <code>Domain</code>; in caso contrario vale assolutamente la pena di indicare correttamente il dominio (anche solo fittizio) della lan, per esempio <code>small.lan</code> (evidentemente fittizio):
Premesso questo è necessario valutare come avviene la risoluzione dei nomi all'interno della propria LAN. Se non si è configurato ne un servizio DNS per la propria LAN ne si sono editati i file <code>/etc/hosts</code> dei vari PC specificando un dominio fittizio, allora è possibile che valga la pena di lasciare semplicemente commentato il parametro <code>Domain</code>; in caso contrario vale assolutamente la pena di indicare correttamente il dominio (anche solo fittizio) della LAN, per esempio <code>small.lan</code> (evidentemente fittizio):
<pre>
<pre>
[General]
[General]
Riga 59: Riga 60:


Una volta salvate le modifiche riavviare <code>nfs-common</code>:
Una volta salvate le modifiche riavviare <code>nfs-common</code>:
<pre># /etc/init.d/nfs-common-restart</pre>
<pre># service nfs-common restart</pre>
{{Box|Nota|In generale ricordare che nel caso del server è necessario riavviare anche ''nfs-kernel-server'' dopo aver riavviato ''nfs-common''}}
{{Box|Nota|In generale ricordare che nel caso del server è necessario riavviare anche ''nfs-kernel-server'' dopo aver riavviato ''nfs-common''}}


Riga 71: Riga 72:
</pre>
</pre>


Si condivide la cartella <code>/home</code> e la sua  sottocartella <code>/home</code>. La dicitura 192.168.1.0/24 serve a restringere l'accesso alla risorsa  <code>/home</code> alle sole richieste provenienti dagli indirizzi IP che vanno da 192.168.1.1 a 192.168.1.254. Una richiesta che  per esempio dovesse provenire da 192.168.2.15 sarebbe rifiutata. Tra ( )  si indicano le opzioni:
Si condivide la cartella <code>/home</code> e la sua  sottocartella <code>/home/altro</code>. La dicitura 192.168.1.0/24 serve a restringere l'accesso alla risorsa  <code>/home</code> alle sole richieste provenienti dagli indirizzi IP che vanno da 192.168.1.1 a 192.168.1.254. Una richiesta che  per esempio dovesse provenire da 192.168.2.15 sarebbe rifiutata. Tra ( )  si indicano le opzioni:


* <code>rw</code>:  abilità la cartella in lettura e scrittura, ammesso comunque che l'utente abbia il permesso di scrivere su quella cartella; indicando ro si limita la possibilità di scrivere anche per quegli utenti che se non  accedessero da remoto avrebbero di norma il permesso di scrivere.
* <code>rw</code>:  abilita la cartella in lettura e scrittura, ammesso comunque che l'utente abbia il permesso di scrivere su quella cartella; indicando "ro" si limita la possibilità di scrivere anche per quegli utenti che, se non  accedessero da remoto, avrebbero di norma il permesso di scrivere.
* <code>fsid=0</code>: identifica la cartella come radice per il filesystem da esportare. Una sola cartella può avere valore di fsid pari a 0.
* <code>fsid=0</code>: identifica la cartella come radice per il filesystem da esportare. Una sola cartella può avere valore di fsid pari a 0.
* <code>no_subtree_check</code>: velocizza l'accesso alle risorse a scapito di un minimo aumento del rischio sicurezza.
* <code>no_subtree_check</code>: velocizza l'accesso alle risorse a scapito di un minimo aumento del rischio sicurezza.
* <code>sync</code>: impone sincronia tra client e server. L'alternativa è async, ma è meglio evitarla poiché in caso di crash o eventi imprevisti aumenta la probabilità di causare danni al filesystem.
* <code>sync</code>: impone sincronia tra client e server. L'alternativa è async, ma è meglio evitarla poiché in caso di crash o eventi imprevisti aumenta la probabilità di causare danni al filesystem.
* <code>crossmnt</code>: questa opzione serve in teoria solo se si sono rimontate delle directory (si veda la successiva sottosezione dedicata al rimontaggio delle cartelle), tuttavia è possibile che omettendola si noti un crollo della velocità  di trasferimento (per esempio fino a 150-200 kB/s) nel trasferire grossi file da un client al server.
* <code>crossmnt</code>: questa opzione serve in teoria solo se si sono rimontate delle directory (si veda la successiva sottosezione dedicata al rimontaggio delle cartelle), tuttavia è possibile che omettendola si noti un crollo della velocità  di trasferimento (per esempio fino a 150-200 kB/s) nel trasferire grossi file da un client al server.


{{ Warningbox | Se si usa la versione 4 di NFS (quella di default) tutte le risorse da esportare devono essere contenute dentro una medesima directory cui dovrà essere attribuito fsid&#61;0, in caso contrario è necessario rimontarle tutte prima in un'altra cartella e poi esportare questa, si veda più avanti. }}
{{ Warningbox | Se si usa la versione 4 di NFS (quella di default) tutte le risorse da esportare devono essere contenute dentro una medesima directory cui dovrà essere attribuito fsid&#61;0, in caso contrario è necessario rimontarle tutte prima in un'altra cartella e poi esportare questa, si veda più avanti. }}


Per rendere operative le modifiche ai file di configurazione eseguire:
Per rendere operative le modifiche ai file di configurazione eseguire:


<pre># /etc/init.d/nfs-kernel-server restart</pre>
<pre># service nfs-kernel-server restart</pre>


In caso di ulteriori problemi a visualizzare il contenuto delle cartelle provare a riavviare server e client.
In caso di ulteriori problemi a visualizzare il contenuto delle cartelle provare a riavviare server e client.
Riga 96: Riga 97:
</pre>
</pre>


Supponendo di voler rimontare le cartelle <code>/home/utente</code> e  <code>/altro</code> rispettivamente in <code>/export/utente</code> e <code>/export/altro</code>:
Supponendo di voler rimontare le cartelle <code>/home/utente</code> e  <code>/altro</code> rispettivamente in <code>/export/utente</code> e <code>/export/altro</code>:


<pre>
<pre>
Riga 103: Riga 104:
</pre>
</pre>


Per evitare di dover ridigitare ad ogni riavvio i precedenti comandi basta aggiungere le seguenti due righe al file  <code>/etc/fstab</code>:
Per evitare di dover ridigitare ad ogni riavvio i precedenti comandi basta aggiungere le seguenti due righe al file  <code>/etc/fstab</code>:


<pre>
<pre>
Riga 118: Riga 119:
</pre>
</pre>


Da notare l'aggiunta dell'opzione <code>crossmnt</code>, che non deve essere omessa pena l'impossibilità di vedere il contenuto delle  sottocartelle di ''export'' sulle macchine client. Quest'opzione DEVE ESSERE assegnata solo alla cartella cui viene attribuito  fsid=0.<BR>
Da notare l'aggiunta dell'opzione <code>crossmnt</code>, che non deve essere omessa pena l'impossibilità di vedere il contenuto delle  sottocartelle di ''export'' sulle macchine client. Quest'opzione DEVE ESSERE assegnata solo alla cartella cui viene attribuito  fsid=0.<BR>
Stando al manuale l'opzione  <code>nohide</code> ha un effetto molto simile a quello di <code>crossmnt</code>, con la differenza che quest'opzione  NON DEVE ESSERE assegnata alla cartella cui viene attribuito fsid=0, ma solo alle sotto directory (in caso contrario l'export delle risorse fallisce), ovvero restando al soprastante esempio:
Stando al manuale l'opzione  <code>nohide</code> ha un effetto molto simile a quello di <code>crossmnt</code>, con la differenza che quest'opzione  NON DEVE ESSERE assegnata alla cartella cui viene attribuito fsid=0, ma solo alle sotto directory (in caso contrario l'export delle risorse fallisce), ovvero restando al soprastante esempio:


<pre>
<pre>
Riga 127: Riga 128:
</pre>
</pre>


'''Sottolineo'''  che per quanto riguarda la mia personale esperienza questo secondo metodo è risultato inadeguato, poiché nel caso di trasferimento di grossi file (>1GB) da client a server ho notato un sistematico crollo della velocità di trasferimento (170 kB/s circa, tipicamente dopo aver superato la soglia di 1,1-2,5 GB trasferiti). Nel trasferimento da server a client le due soluzioni mi risultano invece equivalenti.
'''Sottolineo'''  che per quanto riguarda la mia personale esperienza questo secondo metodo è risultato inadeguato, poiché nel caso di trasferimento di grossi file (>1GB) da client a server ho notato un sistematico crollo della velocità di trasferimento (170 kB/s circa, tipicamente dopo aver superato la soglia di 1,1-2,5 GB trasferiti). Nel trasferimento da server a client le due soluzioni mi risultano invece equivalenti.
 
[[Categoria:Condivisione_risorse]]
[[Categoria:NFS]]
6 999

contributi