Domande? Problemi?

Iscriviti al Google group:

NFS

Lato Server

Il protocollo NFS consente di condividere il contenuto di intere directory tra macchine Linux/Unix. Tali risorse condivise, potranno essere esportate dalla macchina server e montate dai client desiderati.

Come si può immaginare, l’utilizzo di NFS, è fondamentale in un contesto come quello di ReteISI, dove si vuole che i file degli utenti restino ospitati dal server di dominio. Ciò verrà garantito imponendo che la /home dei singoli client coincida con la /home esportata dal server.

Installazione dei pacchetti necessari:

apt-get install nfs-common nfs-kernel-server

Alla domanda “Should portmap be bound to the loopback address?” Scegliere No (default) a meno che non vi siano particolari esigenze.

Le singole macchine, od i network, a cui verrà esportato il fileserver andranno inserite in /etc/exports. Modificare dunque tale file aggiungendo una linea come la seguente:

/home   192.168.1.0/255.255.255.0(rw,no_root_squash)

Nota: 192.168.1.0 è il network in cui risulterà visibile la risorsa /home esportata.

Sarà possibile elencare le esportazioni attive grazie al comando showmount

srv-isi:~# showmount --all
All mount points on srv-isi:
192.168.1.0/255.255.255.0:/home
192.168.1.230:192.168.1.0/255.255.255.0

Lato Client

Montare una directory esportata via nfs in una directory locale non-vuota impedirà l’accesso al contenuto locale preesistente. Tale contenuto tornerà accessibile una volta smontata la risorsa.

utenti solo locali

Qualora si desideri mantenere la possibilità di loggarsi anche con utenti locali, sarà quindi necessario rinominare la /home locale in /home_local e si creerà una nuova /home locale, vuota, in cui montare la /home remota. Ovviamente saranno anche da aggiornare in /etc/passwd i percorsi delle home-utente, portandoli da /home a /home_local:

root@ubuntu-desktop:~# mv /home/ /home_local
root@ubuntu-desktop:~# mkdir /home
root@ubuntu-desktop:~# sed -i 's/home\//home_local\//g' /etc/passwd

/home

Si potrà ora procedere con l’installazione del client nfs:

root@ubuntu-desktop:~# sudo apt-get install nfs-common

e la modifica di /etc/fstab, al quale andrà aggiunta la seguente direttiva

srv-isi:/home   /home nfs defaults,soft,rw,auto 0 2
Dove:
“srv-isi” è l’hostname (ci si assicuri che tale nome sia presente in /etc/hosts) della macchina che esporta risorse nfs. “/home” che segue i due punti la da essa risorsa esportata. il secondo “/home” è il punto locale in cui verrà montata la risorsa remota.

Nota: Ci si assicuri che il file /etc/fstab sia terminato con un “a capo”.

NFS con automount

NFS può essere associato ad autofs per ottenere il mount al volo della cartella esportata a seconda dell’utente che effettua il login

Lato server

Non c’è differenza rispetto a quanto detto in precedenza, viene però mostrato il contenuto di /etc/exports nel caso della struttura di cartelle ReteIsi e in modo che le stesse possano essere raggiunte da più sottoreti (si osservino ip e ipmask):

/home/users/admins      192.168.0.0/255.255.0.0(rw,sync)
/home/users/alunni      192.168.0.0/255.255.0.0(rw,sync)
/home/users/ata         192.168.0.0/255.255.0.0(rw,sync)
/home/users/docenti     192.168.0.0/255.255.0.0(rw,sync)
/home/users/esterni     192.168.0.0/255.255.0.0(rw,sync)
/home/shares/classi     192.168.0.0/255.255.0.0(rw,sync)

Lato client

Installazione dei pacchetti necessari:

apt-get install portmap nfs-common autofs

Verranno generati in /etc due file di configurazione il cui contenuto potrà essere il seguente (nel caso si vogliano esportare solo le radici delle home di ciascun gruppo principale):

/etc/auto.master

/home/users/alunni      /etc/auto.home_alunni
/home/users/admins      /etc/auto.home_admins
/home/users/ata         /etc/auto.home_ata
/home/users/docenti     /etc/auto.home_docenti
/home/users/esterni     /etc/auto.home_esterni
/home/shares/classi     /etc/auto.classi

/etc/auto.misc

lasciare invariato

occorrerà poi creare i seguenti altri file di configurazione, uno per ogni cartella esportata (SERVER è l’ip o il namehost della macchina che esporta)

/etc/auto.classi

*  -fstype=nfs,soft,intr,rsize=32768,wsize=32768  SERVER:/home/shares/classi/&

/etc/auto.home_admins

*  -fstype=nfs,soft,intr,rsize=32768,wsize=32768   SERVER:/home/users/admins/&

/etc/auto.home_alunni

*   -fstype=nfs,soft,intr,rsize=32768,wsize=32768   SERVER:/home/users/alunni/&

/etc/auto.home_ata

*-fstype=nfs,soft,intr,rsize=32768,wsize=32768   SERVER:/home/users/alunni/&

/etc/auto.home_docenti

*  -fstype=nfs,soft,intr,rsize=32768,wsize=32768   SERVER:/home/users/docenti/&

/etc/auto.home_esterni

*-fstype=nfs,soft,intr,rsize=32768,wsize=32768   SERVER:/home/users/esterni/&

Per far funzionare il tutto basterà a questo punto fa ripartire il servizio autofs

/etc/init.d/autofs restart