NFS (Network File System) è fondamentalmente sviluppato per la condivisione di file e cartelle tra sistemi Linux/Unix da Sun Microsystems nel 1980. Esso consente di montare i file system locali su una rete e host remoti di interagire con loro come sono montati localmente sullo stesso sistema. Con l’aiuto di NFS, possiamo impostare la condivisione di file tra sistema Unix a Linux e sistema Linux a Unix.,
Vantaggi di NFS
- NFS consente l’accesso locale ai file remoti.
- Utilizza l’architettura client / server standard per la condivisione di file tra tutte le macchine basate su *nix.
- Con NFS non è necessario che entrambe le macchine vengano eseguite sullo stesso sistema operativo.
- Con l’aiuto di NFS possiamo configurare soluzioni di storage centralizzate.
- Gli utenti ottengono i loro dati indipendentemente dalla posizione fisica.
- Nessun aggiornamento manuale necessario per i nuovi file.,
- La versione più recente di NFS supporta anche acl, supporti pseudo root.
- Può essere protetto con firewall e Kerberos.
NFS Services
È un servizio lanciato da System V. Il pacchetto NFS server include tre servizi, inclusi nei pacchetti portmap e nfs-utils.
- portmap : associa le chiamate effettuate da altre macchine al servizio RPC corretto (non richiesto con NFSv4).
- nfs: traduce le richieste di condivisione di file remoti in richieste sul file system locale.
- rpc.mountd: Questo servizio è responsabile del montaggio e smontaggio dei file system.,
File importanti per la configurazione NFS
- /etc / exports : è un file di configurazione principale di NFS, tutti i file e le directory esportati sono definiti in questo file alla fine del server NFS.
- /etc/fstab : Per montare una directory NFS sul sistema durante i riavvii, dobbiamo fare una voce in /etc/fstab.
- / etc/sysconfig / nfs : File di configurazione di NFS per controllare su quale porta rpc e altri servizi sono in ascolto.
Imposta e configura i supporti NFS sul server Linux
Per configurare i supporti NFS, avremo bisogno di almeno due macchine Linux / Unix., Qui in questo tutorial, userò due server.
- Server NFS: nfsserver.example.com con IP-192.168.0.100
- Client NFS : nfsclient.example.com con IP-192.168.0.101
Installare NFS Server e NFS Client
Abbiamo bisogno di installare i pacchetti NFS sul nostro Server NFS così come sulla macchina Client NFS. Possiamo installarlo tramite i programmi di installazione dei pacchetti” yum “(Red Hat Linux) e” apt-get ” (Debian e Ubuntu).
# yum install nfs-utils nfs-utils-lib# yum install portmap (not required with NFSv4)
# apt-get install nfs-utils nfs-utils-lib
Ora avvia i servizi su entrambe le macchine.,
Dopo aver installato i pacchetti e avviato i servizi su entrambe le macchine, dobbiamo configurare entrambe le macchine per la condivisione di file.
Configurazione del server NFS
Per prima cosa configureremo il server NFS.
Configura directory di esportazione
Per condividere una directory con NFS, dobbiamo fare una voce nel file di configurazione “/etc / exports”. Qui creerò una nuova directory denominata “nfsshare” nella partizione ” ” ” da condividere con il server client, puoi anche condividere una directory già esistente con NFS.,
# mkdir /nfsshare
Ora dobbiamo fare una voce in “/etc / exports” e riavviare i servizi per rendere la nostra directory condivisibile nella rete.
# vi /etc/exports/nfsshare 192.168.0.101(rw,sync,no_root_squash)
Nell’esempio precedente, c’è una directory in / partizione denominata “nfsshare” viene condivisa con il client IP “192.168.0.101” con privilegi di lettura e scrittura (rw), è anche possibile utilizzare il nome host del client al posto di IP nell’esempio precedente.
Opzioni NFS
Alcune altre opzioni che possiamo usare nel file “/etc / exports” per la condivisione di file sono le seguenti.,
- ro: Con l’aiuto di questa opzione possiamo fornire accesso in sola lettura ai file condivisi, ovvero il client sarà solo in grado di leggere.
- rw: Questa opzione consente al server client di accedere sia in lettura che in scrittura all’interno della directory condivisa.
- sync: Sync conferma le richieste alla directory condivisa solo dopo il commit delle modifiche.
- no_subtree_check: Questa opzione impedisce il controllo della sottostruttura. Quando una directory condivisa è la sottodirectory di un file system più grande, nfs esegue scansioni di ogni directory sopra di essa, al fine di verificarne i permessi e i dettagli., Disabilitare il controllo sottoalbero può aumentare l’affidabilità di NFS, ma ridurre la sicurezza.
- no_root_squash: Questa frase consente a root di connettersi alla directory designata.
Per ulteriori opzioni con “/etc/exports”, si consiglia di leggere le pagine man per l’esportazione.
Impostazione del client NFS
Dopo aver configurato il server NFS, è necessario montare la directory o la partizione condivisa nel server client.
Monta directory condivise sul client NFS
Ora alla fine del client NFS, dobbiamo montare quella directory nel nostro server per accedervi localmente., Per fare ciò, in primo luogo abbiamo bisogno di scoprire che le azioni disponibili sul server remoto o Server NFS.
# showmount -e 192.168.0.100Export list for 192.168.0.100:/nfsshare 192.168.0.101
Il comando precedente mostra che una directory denominata “nfsshare” è disponibile su “192.168.0.100” da condividere con il server.
Monta directory NFS condivisa
Per montare quella directory NFS condivisa possiamo usare il seguente comando mount.
# mount -t nfs 192.168.0.100:/nfsshare /mnt/nfsshare
Il comando precedente monterà quella directory condivisa in “/mnt / nfsshare” sul server client. Puoi verificarlo seguendo il comando.,
Il comando mount precedente ha montato temporaneamente la directory condivisa nfs sul client nfs, per montare una directory NFS in modo permanente sul sistema durante i riavvii, dobbiamo fare una voce in “/etc/fstab”.
# vi /etc/fstab
Aggiungi la seguente nuova riga come mostrato di seguito.
192.168.0.100:/nfsshare /mnt nfs defaults 0 0
Testare il funzionamento di NFS Setup
Possiamo testare la nostra configurazione del server NFS creando un file di test sul lato server e verificarne la disponibilità sul lato client nfs o viceversa.
Alla fine di nfsserver
Ho creato un nuovo file di testo chiamato “nfstest.,txt ‘ in quella directory condivisa.
# cat > /nfsshare/nfstest.txtThis is a test file to test the working of NFS server setup.
Alla fine di nfsclient
Vai a quella directory condivisa nel server client e troverai quel file condiviso senza alcun aggiornamento manuale o riavvio del servizio.
Rimozione del montaggio NFS
Se si desidera smontare quella directory condivisa dal server dopo aver terminato la condivisione dei file, è sufficiente smontare quella particolare directory con il comando “umount”. Vedi questo esempio qui sotto.
root@nfsclient ~]# umount /mnt/nfsshare
Puoi vedere che i monti sono stati rimossi guardando di nuovo il filesystem.,
# df -h -F nfs
Vedrai che quelle directory condivise non sono più disponibili.
Comandi importanti per NFS
Alcuni comandi più importanti per NFS.,owmount -e : Mostra le condivisioni disponibili sul computer locale