Come impostare il server NFS su CentOS 7 / RHEL 7

NFS sta per Network File System, aiuta a condividere file e cartelle tra sistemi Linux / Unix, sviluppato da SUN Microsystems nel 1990. NFS consente di montare una condivisione remota localmente.

Questa guida consente di configurare il server NFS su CentOS 7 / RHEL 7.

Vantaggi di NFS

  • Condivisione di file / cartelle tra sistemi *nix
  • Consente di montare file system remoti localmente
  • Può essere utilizzato come sistema di storage centralizzato
  • Può essere utilizzato come dominio di storage ( Datastore) per VMware e altre piattaforme di virtualizzazione.
  • Consente alle applicazioni di condividere file di configurazione e dati con più nodi.
  • Consente di aggiornare i file nella condivisione.

Servizi importanti

Di seguito sono riportati gli importanti servizi NFS, inclusi nei pacchetti nfs-utils.

rpcbind: Il server rpcbind converte i numeri di programma RPC in indirizzi universali.

nfs-server: consente ai client di accedere alle condivisioni NFS.

nfs-lock / rpc-statd: blocco file NFS. Implementare il ripristino del blocco file quando un server NFS si blocca e si riavvia.

nfs-idmap: traduce gli ID utente e gruppo in nomi e per tradurre i nomi utente e gruppo
in ID

File di configurazione importanti

Si lavorerebbe principalmente sui file di configurazione sottostanti per configurare il server e i client NFS.

/etc/esportazioni: È il file di configurazione principale, controlla quali file system vengono esportati in host remoti e specifica le opzioni.

/etc/fstab: Questo file viene utilizzato per controllare quali file system incluse le directory NFS sono montati all’avvio del sistema.

/etc/sysconfig / nfs: Questo file viene utilizzato per controllare su quali porte vengono eseguiti i servizi RPC richiesti.

/etc / hosts.consenti e/etc / hosts.nega: Questi file sono chiamati wrapper TCP, controlla l’accesso al server NFS. Viene utilizzato da NFS per decidere se accettare o meno una connessione proveniente da un altro indirizzo IP.

Ambiente

Qui, userò CentOS 7 minimal per questa demo. Questa guida dovrebbe funzionare anche su sistemi Oracle Linux e Fedora.

Server NFS

Nome host: server.itzgeek.indirizzo IP locale (CentOS 7)
: 192.168.1.10/24

Client NFS

Nome host: client.itzgeek.indirizzo IP locale (CentOS 7)
: 192.168.1.20/24

Configurare NFS Server

Installare NFS Server

Installare il seguente pacchetto per NFS server utilizzando il comando yum.

yum install -y nfs-utils

Una volta installati i pacchetti, abilitare e avviare i servizi NFS.

systemctl start nfs-server rpcbindsystemctl enable nfs-server rpcbind

Crea condivisione NFS

Ora, creiamo una directory da condividere con il client NFS. Qui creerò una nuova directory denominata nfsfileshare nella partizione/.

È anche possibile condividere la directory esistente con NFS.

mkdir /nfsfileshare

Consente al client NFS di leggere e scrivere nella directory creata.

chmod 777 /nfsfileshare/

Dobbiamo modificare il file /etc/exports per fare una voce della directory /nfsfileshare che vuoi condividere.

vi /etc/exports

Crea una condivisione NFS come di seguito.

/nfsfileshare 192.168.1.20(rw,sync,no_root_squash)

/nfsfileshare: directory condivisa

192.168.1.20: Indirizzo IP della macchina client. Possiamo anche usare il nome host invece di un indirizzo IP. È anche possibile definire l’intervallo di client con subnet come 192.168.1.0 / 24.

rw: Autorizzazione scrivibile alla cartella condivisa

sincronizzazione: Tutte le modifiche al filesystem corrispondente vengono immediatamente scaricate su disco; le rispettive operazioni di scrittura vengono attese.

no_root_squash: Per impostazione predefinita, qualsiasi richiesta di file fatta dall’utente root sul computer client viene trattata come dall’utente nessuno sul server. (Esattamente l’UID a cui è mappata la richiesta dipende dall’UID dell’utente “nessuno” sul server, non dal client.) Se è selezionato no_root_squash, root sul computer client avrà lo stesso livello di accesso ai file sul sistema come root sul server.

Puoi conoscere tutte le opzioni nella pagina man man exports o qui.

Esportare le directory condivise utilizzando il seguente comando.

exportfs -r

Extra:

exportfs-v: Visualizza un elenco di file condivisioni e opzioni di esportazione su un server.
exportfs-a: Esporta tutte le directory elencate in / etc / exports.
exportfs-u: UnExport una o più directory.
exportfs-r: riesporta tutte le directory dopo aver modificato /etc / exports.

Dopo aver configurato il server NFS, è necessario montare la directory condivisa nel client NFS.

Configura firewall

È necessario configurare il firewall sul server NFS per consentire al client NFS di accedere alla condivisione NFS. Per fare ciò, eseguire i seguenti comandi sul server NFS.

firewall-cmd --permanent --add-service mountdfirewall-cmd --permanent --add-service rpc-bindfirewall-cmd --permanent --add-service nfsfirewall-cmd --reload

Configura il client NFS

Installa il client NFS

È necessario installare i pacchetti NFS sul client NFS per montare una condivisione NFS remota. Installa i pacchetti NFS usando il comando sotto.

yum install -y nfs-utils

Verifica condivisione NFS

Prima di montare la condivisione NFS, ti chiedo di controllare le condivisioni NFS disponibili sul server NFS eseguendo il seguente comando sul client NFS.

Sostituire l’indirizzo IP con l’indirizzo IP o il nome host del server NFS.
showmount -e 192.168.1.10

Uscita:

Export list for 192.168.1.10:/nfsfileshare 192.168.1.20

Come per l’output, /nfsfileshare è disponibile sul server NFS (192.168.1.10) per il client NFS (192.168.1.20).

Extra:

showmount -e: Mostra le condivisioni disponibili sul computer locale (server NFS).
showmount-e < server-ip o hostname>: Elenca le condivisioni disponibili sul server remoto

Monta NFS Share

Ora, crea una directory sul client NFS per montare NFS share /nfsfileshare che abbiamo creato nel server NFS.

mkdir /mnt/nfsfileshare

Utilizzare il comando sottostante per montare una condivisione NFS /nfsfileshare dal server NFS 192.168.1.10 in /mnt/nfsfileshare sul client NFS.

mount 192.168.1.10:/nfsfileshare /mnt/nfsfileshare

Verificare la condivisione montata sul client NFS utilizzando il comando mount.

mount | grep nfs

Uscita:

ssunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)nfsd on /proc/fs/nfsd type nfsd (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)

Inoltre, è possibile utilizzare il comando df-hT per controllare la condivisione NFS montata.

df -hT

Uscita:

Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/centos-root xfs 50G 1.2G 49G 3% /devtmpfs devtmpfs 485M 0 485M 0% /devtmpfs tmpfs 496M 0 496M 0% /dev/shmtmpfs tmpfs 496M 6.7M 490M 2% /runtmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup/dev/mapper/centos-home xfs 47G 33M 47G 1% /home/dev/sda1 xfs 1014M 154M 861M 16% /boottmpfs tmpfs 100M 0 100M 0% /run/user/0192.168.1.10:/nfsfileshare nfs4 50G 1.2G 49G 3% /mnt/nfsfileshare

Creare un file nella directory montata per verificare l’accesso in lettura e scrittura su NFS share.

touch /mnt/nfsfileshare/test

Se il comando precedente non restituisce alcun errore, è stata eseguita la configurazione NFS.

Automount NFS Shares

Per montare automaticamente le condivisioni ad ogni riavvio, è necessario modificare il file /etc/fstab del client NFS.

vi /etc/fstab

Aggiungi una voce come sotto.

## /etc/fstab# Created by anaconda on Wed Jan 17 12:04:02 2018## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#/dev/mapper/centos-root / xfs defaults 0 0UUID=60a496d0-69f4-4355-aef0-c31d688dda1b /boot xfs defaults 0 0/dev/mapper/centos-home /home xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0192.168.1.10:/nfsfileshare /mnt/nfsfileshare nfs nosuid,rw,sync,hard,intr 0 0

Salva e chiudi il file.

Riavviare il computer client e verificare se la condivisione è montata automaticamente o meno.

reboot

Verificare la condivisione montata sul client NFS utilizzando il comando mount.

mount | grep nfs

Uscita:

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,nosuid,relatime,sync,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)

Se si desidera smontare quella directory condivisa dal client NFS dopo aver terminato la condivisione dei file, è possibile smontare quella particolare directory utilizzando il comando umount.

umount /mnt/nfsfileshare

Conclusione

È stato configurato correttamente il server NFS e il client NFS su CentOS 7 / RHEL 7. Se non si desidera utilizzare supporti statici, è possibile configurare AutoFS su CentOS 7 per montare NFS share solo quando un utente vi accede.

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.