Network File System

L' NFS, il Network File System, è il più importante servizio di rete che utilizzi RPC.
Consente di accedere ai file sugli host remoti esattamente nello stesso modo in cui si accede ai file sulla macchina locale. Questo è reso possibile, dalla parte del client, dalla funzionalità del kernel e, dalla parte del server, dalla presenza del servizio NFS.
Le funzionalità più utili offerte da NFS sono:

Modalità di funzionamento

In pratica un client cerca di caricare una directory da un host remoto in una directory locale, come se stesse lavorando in locale.
Ad esempio, per caricare dal server NFS "minosse" la directory /home sulla directory /users della macchina locale nove, l' amministratore deve lanciare da nove il comando:

mount -t nfs minosse:/home /users

mount cercherà di contattare, via RPC, il demone mountd di minosse. Il server controlla se nove è autorizzato a caricare la directory e in caso affermativo ritorna un elemento di collegamento che verrà utilizzato in tutte le successive richieste di file appartenenti a /users

Quando qualcuno accede ad un file via NFS, il kernel effettua una chiamata RPC a nfsd ( il demone NFS ) sulla macchina server; la chiamata assume come parametri:

Questi parametri sono determinanti per stabilire i diritti di accesso al file specificato; per impedire la lettura o la modifica di file da parte di utenti non autorizzati, gli identificativi di utente e di gruppo devono essere gli stessi su entrambi gli host.

Verifica dell' esistenza del supporto per l' NFS nel kernel

Prima di utilizzare NFS è necessario verificare che il kernel del proprio sistema supporti l' NFS.
I kernel più recenti dispongono a questo scopo di una semplice interfaccia nel file /proc/filesystems, che può essere visionato con il comando:


cat /proc/filesystems

Nel caso in cui nfs non compaia nell' elenco ritornato dal comando, è necessario compilare il proprio kernel abilitando l' NFS.

Caricamento di un volume NFS

Per caricare un volume NFS è necessario richiamare il comando mount con la seguente sintassi:

mount -t nfs nfs_volume local_dir options,

in cui nfs_volume deve essere specificato nella forma remote_host:remote_dir
Esistono altre opzioni del comando mount, che possono essere specificate sia sulla riga di comando che nel campo opzioni della riga dedicata ad ogni singolo volume del file /etc/fstab.
Ad esempio, una riga del file /etc/fstab potrebbe avere la forma :

#volumemount pointtypeoptions
news:/usr/spool/news/usr/spool/newsnfstimeo=14,intr

Questo volume può essere caricato usando il comando:

mount -t nfs news:/usr/spool/news

L' elenco di tutte le opzioni valide si trova nelle pagine del manuale nfs (5) che arrivano con lo strumento mount; quelle più utili sono:


Bottoni