Nfs-kernel-server: condividere risorse tra macchine GNU/Linux: differenze tra le versioni

m
Riga 250: Riga 250:
Potrebbe capitare che trasferendo grossi file il server si congeli obbligando ad un riavvio forzato, in tal caso potrebbe essere utile specificare sulla macchina client le opzioni ''rsize'' e ''wsize'' indicando valori non troppo grandi, per esempio:
Potrebbe capitare che trasferendo grossi file il server si congeli obbligando ad un riavvio forzato, in tal caso potrebbe essere utile specificare sulla macchina client le opzioni ''rsize'' e ''wsize'' indicando valori non troppo grandi, per esempio:


* Caso statico: <code>mount -t nfs4 -o rsize=8192,wsize=8192 indirizzo_server:/ /home/NFS</code>
* Caso statico: <code>mount -t nfs4 -o _netdev,rsize=4096,wsize=4096,hard,intr indirizzo_server:/ /home/NFS</code>


* Caso statico, file <code>/etc/fstab</code> aggiungere (o modificare quella già esistente): <code>indirizzo_server:/ /home/NFS nfs4 _netdev,auto,rsize=8192,wsize=8192 0 0</code>
* Caso statico, file <code>/etc/fstab</code> aggiungere (o modificare quella già esistente): <code>indirizzo_server:/ /home/NFS nfs4 _netdev,auto,rsize=4096,wsize=4096,hard,intr 0 0</code>


* Caso dinamico, file <code>/etc/auto.nfs</code> aggiungere (o modificare quella già esistente) <code>nome_arbitrario -fstype=nfs4,rsize=8192,wsize=8192 indirizzo_server:/</code>
* Caso dinamico, file <code>/etc/auto.nfs</code> aggiungere (o modificare quella già esistente) <code>nome_arbitrario -fstype=nfs4,_netdev,rsize=4096,wsize=4096,hard,intr indirizzo_server:/</code>


A tal proposito potrebbe essere utile leggere [http://nfs.sourceforge.net/nfs-howto/ar01s07.html#cpu_cycles_nfs questo].
A tal proposito potrebbe essere utile leggere [http://nfs.sourceforge.net/nfs-howto/ar01s07.html#cpu_cycles_nfs questo].
Nel caso di ''autofs'' se il server è spento e sulla macchina client è presente un collegamento simbolico alle risorse esterne, creato per esempio con un comando del tipo:
Nel caso il server sia spento e sulla macchina client sia presente un collegamento simbolico alle risorse esterne, creato per esempio con un comando del tipo:


<pre># ln -s /home/nfs/nome_arbitrario /home/nome_utente/nome_arbitrario</pre>
<pre># ln -s /home/nfs/nome_arbitrario /home/nome_utente/nome_arbitrario</pre>


è probabile che si noti un ritardo di circa 3 minuti all'avvio di gnome ed ogni volta che si lancia nautilus per visualizzare una qualche cartella. La semplice presenza del collegamento simbolico è infatti sufficiente ad innescare una richiesta di caricamento per le risorse remote, con la conseguenza che essendo il server spento queste falliscano inevitabilmente. Di base autofs è impostato per ripetere la richiesta di caricamento risorse dopo 60s per un massimo di 3 volte, ecco dunque da dove nascerebbero i 3 minuti di ritardo sistematico. In tal caso la soluzione più semplice è rinunciare ai collegamenti simbolici verso le risorse remote caricate tramite nfs, altrimenti è possibile ridurre i valori delle variabili <code>timeo</code> e <code>retrans</code> specificandoli nel file <code>/etc/auto.nfs</code> (o come è stato chiamato):
è probabile che si noti un ritardo di circa 2 minuti all'avvio di gnome (nel caso di caricamento automatico all'avvio) ed ogni volta che si lancia nautilus per visualizzare una qualche cartella. La semplice presenza del collegamento simbolico è infatti sufficiente ad innescare una richiesta di caricamento per le risorse remote, con la conseguenza che essendo il server spento queste falliscano inevitabilmente. Di base nfs è impostato per ripetere la richiesta di caricamento risorse dopo 2 minuti, ecco dunque da dove nascerebbero il ritardo sistematico. In tal caso la soluzione più semplice è rinunciare ai collegamenti simbolici verso le risorse remote caricate tramite nfs, altrimenti è possibile ridurre tale ritardo specificando nelle opzioni di mount (o di fstab o di auto.nfs, ecc.) <code>retry=X</code>, dove X è il nuovo numero di minuti (si noti che l'opzione <code>retrans</code> è utile solo nel caso si usi l'opzione soft e non hard).
 
Può anche capitare che uno o più processi legati a nfs rimangano in sospeso nonostante il server sia normalmente funzionante; in tal caso se si sono specificate le opzioni <code>hard,intr</code> dovrebbe essere possibile uccidere i relativi processi con <code>kill -9 pid</code>, in caso contrario è probabile che non ci sia altra soluzione che riavviare brutalmente la macchina client.
<pre>nome_arbitrario -fstype=nfs4,timeo=150,retrans=2 indirizzo_server:/</pre>
 
In questo esempio il tempo di timeout viene ridotto a 150 decimi di secondo (15s) ed il numero di tentativi ridotto a 2, così che ogni volta il ritardo sia di "soli" 15x2=30s.
Altre problematiche sono descritte al punto 7 di [http://nfs.sourceforge.net/nfs-howto/ questa pagina].
Altre problematiche sono descritte al punto 7 di [http://nfs.sourceforge.net/nfs-howto/ questa pagina].


2 906

contributi