SDB:Network file system
Il termine "network file system" viene anche usato spesso come termine generico per un qualsiasi file system di rete.
Indice
Installazione di NFS kernel server
Un'installazione di NFS, completamente funzionante come server, richiede di solito il pacchetto nfs-kernel-server
dai repository di openSUSE. È sufficiente installarlo con YaST, o da riga di comando, digitando (come root):
Il suddetto pacchetto verrà comunque installato automaticamente se si sceglie di usare (o di avere a disposizione) il modulo di YaST2 per la configurazione del server NFS. In tal caso sarà sufficiente installare il pacchetto yast2-nfs-server con YaST, o da riga di comando, digitando (come root):
Configurare il file /etc/exports
Modificare il file /etc/exports
è alquanto semplice. Ogni riga contiene un punto di montaggio da esportare (una directory) e un elenco di client, separati da spazi o tabulazioni, a cui è consentito effettuare il montaggio del file system da quel punto. Ogni client presente in elenco può essere immediatamente seguito da un elenco, racchiuso tra parentesi (tonde) e separato da virgole, di opzioni di esportazione per quel client. Non sono ammessi spazi o tabulazioni tra un client e l'elenco di opzioni ad esso relativo.
Esempi:
/esporta/questa/directory (ro)
Con questa riga si condivide la directory in modalità sola lettura (read-only, ro) con tutti gli host, inclusi quelli che possono raggiungere il server da Internet! Si puà anche inserire il carattere *
immediatamente prima di (ro)
.
/esporta/questa/directory 192.168.1.0/24(rw,async)
Con questa riga si condivide la directory in modalità lettura e scrittura (read-and-write, rw) con tutti gli host che appartengono alla rete 192.168.1.0, con maschera di sottorete 255.255.255.0. Utilizzando l'opzione async
di solito si migliorano le prestazioni, ma per contro un riavvio non ortodosso del server (cioè un crash di sistema) può causare la perdita o la corruzione dei dati che si stavano condividendo.
Per un elenco più ampio di opzioni si può consultare man exports
.
Versioni e variazioni
La versione 2 del protocollo originale utilizzava unicamente UDP e prevedeva che i server non dovessero conservare memoria degli accessi degli utenti. In passato quindi eventuali meccanismi di blocco delle risorse (Lock) dovevano essere implementati esternamente al protocollo.
La versione 3 introdusse il supporto all'utilizzo di TCP per il trasporto delle informazioni. Mentre alcune aziende informatiche avevano già esteso la versione 2 di NFS per supportare TCP in trasmissione, Sun Microsystems introdusse il TCP in trasmissione per NFS contemporaneamente all'introduzione della Versione 3 del protocollo. L'utilizzo di TCP come metodo di trasporto rese l'implementazione di NFS in ambito WAN più facile da realizzare.
La versione 4, influenzata da AFS e CIFS, include miglioramenti nelle prestazioni, aggiunge un supporto più robusto alla sicurezza e introduce un protocollo "a stati" (stateful, che tenga conto dello stato dei client). La versione 4 del protocollo è stata la prima versione ad essere sviluppata con l'Internet Engineering Task Force (IETF), dopo che Sun Microsystems si ritirò dallo sviluppo dei protocolli di NFS.
Sono stati aggiunti ad NFS vari protocolli side-band, tra cui:
- Il protocollo per la gestione dei lock di rete consultivi (lock advisory) a blocchi di byte (byte-range advisory Network Lock Manager -NLM-), che venne aggiunto per supportare lo standard System V UNIX delle API per il file locking.
- Il protocollo per il controllo delle quote sul file system di rete (remote quota reporting, RQUOTAD), per consentire agli utenti di NFS di tenere sotto controllo le quote disco ad essi assegnate per l'archiviazione dei dati sui server NFS.
WebNFS è un'aggiunta alle specifiche di NFS Versione 2 e Versione 3 che permette a quest'ultimo di venire integrato più facilmente in un Web browser e che consente al protocollo di funzionare correttamente attraverso i firewall. (Traduzione in parte tratta da Wikipedia, l'enciclopedia libera).
Piattaforme supportate
NFS è fortemente legato ai sistemi UNIX, ma si può utilizzare su qualsiasi piattaforma, tra cui, per esempio, i sistemi operativi Macintosh, Windows e Novell NetWare. Server Message Block (SMB, anche note come CIFS) e NetWare Core Protocol (NCP), protocolli simili ad NFS, sono implementazioni equivalenti di un file system di rete (network file system) su altri sistemi operativi. La compatibilità tra piattaforma diverse rende NFS l'implementazione ideale di un file system di rete.
Montaggio automatico di condivisioni NFS in avvio di sistema
È piuttosto diffuso riscontrare alcune difficoltà nel far sì che il sistema monti automaticamente le condivisioni NFS all'avvio. A tal fine si DEVE abilitare il demone nfs
come qui di seguito:
Qualora nel risultato del comando compaia la scritta off, sarà allora necessario dare:
Il file /etc/fstab
sulla stessa macchina che effettua il montaggio deve includere (almeno):
hostremoto:/percorso/da/esportare /locale/puntodimontaggio nfs auto 0 0
Si possono anche includere le seguenti opzioni:
auto,tcp,ro,intr
Si veda man nfs per ulteriori opzioni di mount
.
Inoltre, è opportuno verificare che il firewall del proprio sistema sia configurato correttamente, incluse tutte le porte UDP e TCP opportune. Assicurati inoltre che il tuo router/firewall esterno stia effettuando correttamente l'inoltro (forwarding) delle porte (se il server NFS in esecuzione è disponibile su Internet (WAN)).
Vedi anche
Collegamenti esterni
- The Linux Documentation Project offre numerosi articoli in stile howto su NFS, in diversi formati, anche in italiano.
- Panoramica su NFS per Linux, FAQ e documenti HOWTO
- Sito di presentazione generale su NFS Version 4
- Archivio di posta elettronica del gruppo di lavoro dell'IETF ONC RPC
- Relazione tecnica su Distributed Object Computation Testbed (DOCT)
- RFC 3530 - NFS Version 4 Protocol Specification
- RFC 2054 - WebNFS Specification
- RFC 2339 - Sun/ISOC NFS Change Control Agreement
- RFC 2203 - RPCSEC_GSS Specification
- RFC 1813 - NFS Version 3 Protocol Specification
- RFC 1790 - Sun/ISOC ONC RPC Change Control Agreement
- RFC 1094 - NFS Version 2 Protocol Specification