Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 738

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>NFS HOWTO: Configurazione di un client NFS</TITLE>
 <LINK HREF="NFS-HOWTO-5.html" REL=next>
 <LINK HREF="NFS-HOWTO-3.html" REL=previous>
 <LINK HREF="NFS-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="NFS-HOWTO-5.html">Avanti</A>
<A HREF="NFS-HOWTO-3.html">Indietro</A>
<A HREF="NFS-HOWTO.html#toc4">Indice</A>
<HR>
<H2><A NAME="nfs-client"></A> <A NAME="s4">4. Configurazione di un client NFS</A></H2>

<P>Prima di tutto avete bisogno di un kernel che abbia il supporto
per NFS compilato staticamente oppure come modulo. Questo lo si configura
prima di iniziare la compilazione. Se non avete mai compilato un kernel
prima, leggete il Kernel HOWTO. Se state usando una buona distribuzione
(come Red Hat [meglio Debian N.d.T]) e non avete mai
messo mano al kernel o ai moduli (rovinandolo ;)), allora nfs dovrebbe
essere gi&agrave; disponibile.
<P>
<P>Ora, dal prompt di root, potete lanciare il comando appropriato e
vedere il file system apparire. Continuando l'esempio della sezione
precedente, vogliamo montare la partizione in <CODE>/mn/eris/local</CODE>
da eris. Ci&ograve; &egrave; fatto con il comando:
<P>
<HR>
<PRE>
mount -o rsize=1024,wsize=1024 eris:/mn/eris/local /mnt
</PRE>
<HR>
<P>
<P>(Torneremo successivamente sulle opzioni rsize e wsize). Il file
system &egrave; ora disponibile sotto <CODE>/mnt</CODE>, potete fare <CODE>cd</CODE> in esso
e con un <CODE>ls</CODE> vedere tutti i file che vi sono presenti. Noterete
che non &egrave; cos&igrave; veloce come su un file system locale, ma molto pi&ugrave;
conveniente che usare ftp. Se, invece di montare il file system, il
comando mount produce un errore come <CODE>mount: eris:/mn/eris/local
failed, reason given by server: Permission denied</CODE>, significa che il file
exports &egrave; errato oppure avete dimenticato di lanciare il comando exportfs
dopo averlo modificato. Se invece dice <CODE>mount clntudp_create: RPC:
Program not registered</CODE> significa che nfsd o mountd non sta
girando sul server oppure c'&egrave; un problema nel file <CODE>hosts.{allow,deny}</CODE>
di cui abbiamo parlato precedentemente.
<P>
<P>Per rimuovere il filesystem, usare il comando:
<P>
<HR>
<PRE>
umount /mnt
</PRE>
<HR>
<P>
<P>Per fare in modo che il sistema monti un file system al boot,
occorre modificare il file <CODE>/etc/fstab</CODE>. Per il nostro esempio
aggiungere la seguente riga:
<P>
<HR>
<PRE>
# device      mountpoint     fs-type     options              dump fsckorder
...
eris:/mn/eris/local  /mnt    nfs        rsize=1024,wsize=1024 0    0
...
</PRE>
<HR>
<P>
<P>Questo &egrave; tutto, pi&ugrave; o meno.
<P>
<H2><A NAME="ss4.1">4.1 Opzioni del comando mount</A>
</H2>

<P>Ci sono alcune opzioni che dovreste considerare almeno una volta.
Controllano il modo in cui i client NFS gestiscono i crash della rete
o del server. Uno dei fattori positivi di NFS &egrave; che questi problemi
vengono gestiti molto bene... se configurate i client in modo corretto.
Ci sono due tipi di problemi:
<P>
<DL>
<DT><B>soft</B><DD><P>I client NFS sono responsabili di riportare l'errore al processo
che sta accedendo a un file su un file system montato. Alcuni
programmi gestiscono la segnalazione, altri no. Non raccomando
l'uso di questo parametro,
poich&eacute; &egrave; rivolto ai file corrotti e ai dati persi. &Egrave; meglio non
utilizzarlo in particolare per i dischi di posta --- se ci tenete
alla vostra posta.
<P>
<DT><B>hard</B><DD><P>Il programma che cerca di accedere a un file su un file system NFS
si bloccher&agrave; quando il server ha un crash. Il processo non
potr&agrave; essere interrotto a meno che non si specifichi
il parametro <CODE>intr</CODE>. Quando il server NFS torna in linea, il
programma riprender&agrave; a funzionare correttamente. Questo &egrave;
probabilmente il funzionamento che si vorrebbe. Raccomando di usare
<CODE>hard,intr</CODE> su tutti i file system montati via NFS.
<P>
</DL>
<P>
<P>Riprendendo l'esempio precedente, modifichiamo la linea dell'fstab:
<P>
<HR>
<PRE>
# device         mountpoint fs-type    options                   dump fsckorder
...
eris:/mn/eris/local  /mnt     nfs   rsize=1024,wsize=1024,hard,intr 0 0
...
</PRE>
<HR>
<P>
<P>
<H2><A NAME="optimizing"></A> <A NAME="ss4.2">4.2 Ottimizzare NFS</A>
</H2>

<P>Normalmente, se non vengono usate le opzioni rsize e wsize, NFS
legger&agrave; e scriver&agrave; blocchi di 4096 o 8192 byte. Alcune combinazioni
di kernel di Linux e schede di rete possono non essere in grado di
gestire blocchi cos&igrave; grandi o potrebbero non esserlo comunque in maniera
ottimale. Quindi dobbiamo
provare a sperimentare varie dimensioni per determinare quali siano
i parametri che funzionano e garantiscono le migliori prestazioni.
Si pu&ograve; provare l'influenza delle opzioni sulla velocit&agrave; con alcuni
semplici comandi. Se avete montato la partizione come visto precedentemente e avete
i diritti di scrittura, potete provare con il seguente test di scrittura
sequenziale:
<P>
<HR>
<PRE>
time dd if=/dev/zero of=/mnt/testfile bs=16k count=4096
</PRE>
<HR>
<P>
<P>In questo modo si crea un file di 64 MB di zeri (grande abbastanza per fare
in modo che l'uso della cache non sia significativo sulle prestazioni;
usate una dimensione maggiore se avete molta memoria disponibile).
Lanciatelo alcune volte (5-10?) e calcolate il tempo medio. Il tempo
da tenere maggiormente in considerazione &egrave; quello indicato
con 'elapsed' oppure 'wall clock'. Potete quindi verificare le prestazioni in
lettura:
<P>
<HR>
<PRE>
time dd if=/mnt/testfile of=/dev/null bs=16k
</PRE>
<HR>
<P>Fatelo alcune volte e calcolate la media dei tempi. Quindi smontate e rimontate
la partizione nuovamente ma con rsize e wsize maggiori. Dovrebbero
essere sempre multipli di 1024 e non essere pi&ugrave; grandi di 16384, che
&egrave; la dimensione massima ammessa da NFS versione 2. Dopo averla
montata nuovamente, fate un cd nel file system montato e provate qualche
semplice comando tipo ls, esplorate il file system per verificare
se tutto funziona correttamente. I sintomi di rsize/wsize
troppo grandi, sono <EM>molto</EM> strani e per nulla ovvi. Un sintomo
tipico &egrave; un elenco incompleto di file quando viene fatto un 'ls', senza
alcun messaggio di errore. Oppure la lettura dei file fallisce miseramente
senza messaggi di errore. Dopo avere stabilito che le dimensioni di
rsize e wsize funzionano, potete provare di nuovo a effettuare i controlli.
Server diversi hanno dimensioni ottimali diverse. SunOS e Solaris
hanno la reputazione di andare molto pi&ugrave; veloci con blocchi di 4096 byte.
<P>
<P>I kernel di Linux pi&ugrave; recenti (dal 1.3), eseguono un read-ahead
per rsize di dimensioni maggiori o uguali alla dimensione della pagina
della macchina. Sui processori Intel, la dimensione della pagina &egrave; di
4096 byte. Poich&eacute; l'uso del read-ahead aumenta <EM>significativamente</EM>
le prestazioni in lettura di NFS, raccomando di impostare a 4096 le dimensioni
di rsize.
<P>
<P>Ricordatevi di modificare <CODE>/etc/fstab</CODE> per riflettere le dimensioni
di rsize/wsize che avete trovato essere le migliori.
<P>
<P>Un trucco per accelerare le prestazioni in scrittura di NFS &egrave;
quello di disabilitare la scrittura in sincronia sul server. Le
specifiche di NFS controllano che le richieste di scrittura sul server
non siano considerate terminate finch&eacute; i dati non siano memorizzati su
un supporto non volatile (il disco). Questo limita le prestazioni
in scrittura, per cui disabilitando questa caratteristica si otterr&agrave;
un incremento delle prestazioni. Il nfsd di Linux non ha pi&ugrave; fatto
scritture sincrone da quando non lo fa nemmeno il file system stesso.
Su macchine non Linux, &egrave; possibile migliorare le prestazioni modificando
in questo modo il file /etc/exports:
<P>
<HR>
<PRE>
/dir    -async,access=linuxbox
</PRE>
<HR>
<P>
<P>o in modo simile. Fate riferimento alla pagina man relativa
al file exports della macchina in questione. Da notare che ci&ograve;
aumenta la possibilit&agrave; di perdita di dati.
<P>
<HR>
<A HREF="NFS-HOWTO-5.html">Avanti</A>
<A HREF="NFS-HOWTO-3.html">Indietro</A>
<A HREF="NFS-HOWTO.html#toc4">Indice</A>
</BODY>
</HTML>