Mentre scrivo questo HOWTO, Linux 2.2.12 è la versione del kernel corrente
e utilizzare NFS può rivelarsi un po' complesso.
Cosa accade se lo stato di NFS in Linux 2.4 è i unknown.
La nuova caratteristica importante di Linux 2.2 è il supporto per un
demon del server nfs in-kernel, noto come knfsd in 2.2. Questo modo di
implementare nfsd ha alcuni vantaggi, quello principale è la velocità.
Una macchina Linux 2.2 con knfsd è un server nfs rispettabile. Si può
continuare a utilizzare l'nfsd precedente con Linux 2.2. Questo
comporta alcuni vantaggi, principalmente in fatto di semplicità.
Se utilizzate un kernel sorgente o un pacchetto binario creato da
RedHat (6.0 o successiva), SuSE (6.1 o successiva) o altri
integratori di sistemi professionali, hanno probabilmente integrato
tutte le funzionalità di ``knfsd'' nel relativo kernel e non è necessario
preoccuparsi di nulla, poiché funzionerà certamente nella maggior parte dei casi.
Fino al momento in cui non compilate un vostro kernel. Se usate un kernel
di stock Linux 2.2 (almeno fino a 2.2.12) knfsd verrà interrotto.
Per utilizzare questo kernel è necessario disporre del pacchetto
knfsd di H.J. Lus. Si tratta di una raccolta di patch e delle utility
necessarie per la versione 2.2 che Lu sta gestendo a tempo perso.
Potete disporne dal mirror del kernel locale, il sito principale è
ftp.kernel.org:/pub/linux/devel/gcc/. Non è indicato per
uso generale. Se trovate che questo pacchetto può creare dubbi
non fatelo da soli. Attendete un pacchetto del kernel dell'integratore del sistema preferito
(ad esempio, Red Hat, SuSE o ...).
Inoltre, non inviatemi domande relative a questo argomento, non sono in grado di aiutarvi.
Non dispongo di alcun server knfsd. Se trovate errori o omissioni
in questa documentazione, scrivetemi e rivedrò questo HOWTO
e ne distribuirò una nuova versione.
State ancora leggendo? Ok. H.J.Lu pubblica argomenti relativi alle
nuove versioni di questo pacchetto sulla mailing list del kernel Linux.
Altri problemi relativi a NFS nella versione 2.2 vengono pubblicati in
questa mailing list. Leggeteli.
È importante notare una cosa in relazione al pacchetto knfsd.
Annuncia che supporta la versione 3 di NFS. Tuttavia, non la supporta.
Esiste un'opzione che si può utilizzare per evitare la presenza dell'annuncio
di NFS3, oppure si può specificare "vers=2" nell'elenco
di opzioni di mount sui client.
Il client è alquanto semplice. Per bloccarlo è necessario
avere statd (del pacchetto knfsd) compilato, installato e
avviato dagli script di boot. Fatelo. Statd ha bisogno di una directory
/var/lib/nfs per funzionare, altrimenti verrà terminato
senza messaggi di errore. La directory deve essere creata prima di
eseguirlo.
Dopo l'esecuzione di statd si può usare il programma testlk in
tools/locktest per verificare se il blocco di un file in un
filesystem NFS funziona. Dovrebbe essere così. Se viene visualizzato
No locks available, statd non funziona.
In realtà, si può anche evitare il blocco completo (non sto
consigliando di farlo), immettendo ``nolock'' nell'elenco di opzioni
di mount.
Per quanto ne so, questo è ciò che è necessario per far funzionare
il client.
Se avete un server Sparc o Alpha NFS scoprirete che il client NFS
in Linux 2.2 avrà prestazioni peggiori. Le velocità di trasferimento
da e verso il server sono così tragiche che ... non potete nemmeno immaginarle.
È molto peggio che in Linux 2.0. Esiste tuttavia una soluzione.
La serie di kernel 2.2 di Alan Cox (che è leggermente più sperimentale
dei normali kernel 2.2 di Linus) include una patch per fare in modo che
Linux 2.2 funzioni quando usato con i server Alpha e Sparc. Se volete
usare i kernel 2.2 di Alan Cox dovreste leggere la mailing list
relativa ai kernel Linux e potrete scoprire dove si trova la patch.
La home page di questa patch è http://www.uio.no/ trondmy/src/, nel caso vogliate provare ad
applicarla a un kernel 2.2 di produzione. Questa patch non sarà
probabilmente disponibile in Linux 2.4, perché richiede troppe
modifiche nel kernel per essere accettata nel ciclo di sviluppo
corrente. Aspettate Linux 2.5.
Anche trondmy dispone di patch per fare in modo che Linux usi
la versione 3 di NFS, elementi che consentiranno inoltre di usare il
protocollo tcp come meccanismo di trasporto invece di UDP. NFSv3 è
ottimo per reti long-haul e altre reti in cui la perdita dei
pacchetti non è uguale a zero o la latenza è elevata.
Il motivo per cui dovreste leggere la mailing list relativa ai
kernel Linux per usare queste patch consiste nel fatto che talvolta si
sono verificati grossi errori.
Bug che si nutrono dei vostri file. Quindi fate attenzione.
Il demon del server nfs in Linux 2.2 e nelle versioni successive
è noto come ``knfsd''. È insidioso da installare. Dovete arrangiarvi
da soli o fare riferimento ai pacchetti di kernel 2.2 rilasciati da SuSE, Red
Hat e altri. Spiacente. Potete ancora usare il vecchio nsfd anche in
Linux 2.2. È lento ma semplice da installare.