Questa guida spiegherà come installare NFS server su RHEL 8 / CentOS 8 Linux server. NFS sta per Network File System. Consente ai sistemi client di accedere ai file memorizzati su un server condiviso remoto su una rete e di utilizzare tali file system come se fossero montati localmente. NFS è un file system client e server (FS).
Utilizzando NFS shared storage, gli amministratori di sistema possono consolidare le risorse su server centralizzati sulla rete. I file sono facilmente condivisi tra più sistemi sulla stessa rete. Un sistema client può accedere alla condivisione remota con privilegi (lettura, scrittura) e non avere accesso allo storage di blocco sottostante.
Per Ubuntu/Debian, controllare: Installare e configurare il server NFS su Ubuntu& Debian Linux
Versioni NFS supportate
Di seguito sono riportate le versioni di NFS supportate da RHEL 8.
NFS versione 3 (NFSv3)
- Supporta scritture asincrone sicure ed è più robusto nella gestione degli errori rispetto al precedente NFSv2
- Supporta dimensioni e offset di file a 64 bit, consentendo ai client di accedere a più di 2 GB di dati di file.
NFS versione 4 (NFSv4)
- Funziona tramite firewall e su Internet
- Non richiede più il servizio rpcbind
- Supporta gli elenchi di controllo degli accessi (ACL)
- Utilizza operazioni stateful.
In questa guida, configureremo NFSv4.2 sul nostro sistema RHEL/CentOS. Ecco il mio design di installazione.
Server Type | OS | IP | Hostname |
NFS Server | RHEL/CentOS 8 | 172.16.54.136 | server.example.com |
NFS Client 1 | RHEL/CentOS 8 | 172.16.54.136 | client1.example.com |
NFS Client 2 | RHEL/CentOS 8 | 172.16.54.131 | client2.example.com |
Ma si noti che la configurazione del client NFS sarà trattata in una guida separata. Seguire i passaggi riportati di seguito per installare NFS Server sul sistema Linux CentOS 8 / RHEL 8.
Passo 1: Aggiorna il server e imposta il nome host
Il tuo server dovrebbe avere un indirizzo IP statico e un nome host statico che persiste per il riavvio. Controlla le nostre guide su come impostare IP statico su RHEL / CentOS 8.
sudo yum -y updatesudo hostnamectl set-hostname server.example.com --static
Passo 2: Installare il server NFS su CentOS 8 / RHEL 8
La prossima è l’installazione dei pacchetti del server NFS sul sistema RHEL / CentOS 8.
sudo yum -y install nfs-utils
Dopo l’installazione, avviare e abilitare il servizio nfs-server.
sudo systemctl enable --now nfs-server rpcbind
Lo stato dovrebbe mostrare “running”.
Passo 3: Esportazione di condivisioni NFS su RHEL 8/CentOS 8
Esistono due modi per configurare le esportazioni su un server NFS.
- Modifica manuale del
/etc/exports
file di configurazione - Utilizzando l’utilità
exportfs
sulla riga di comando
Il file/etc/exports
controlla quali file system vengono esportati in host remoti e specifica le opzioni. Segue le seguenti regole di sintassi:
- Le righe vuote vengono ignorate.
- Per aggiungere un commento, avviare una riga con il segno di hash (#).
- Puoi avvolgere linee lunghe con una barra rovesciata (\).
- Ogni file system esportato dovrebbe essere sulla propria riga individuale.
- Tutti gli elenchi di host autorizzati inseriti dopo un file system esportato devono essere separati da caratteri di spazio.
- Le opzioni per ciascuno degli host devono essere posizionate tra parentesi direttamente dopo l’identificatore dell’host, senza spazi che separino l’host e la prima parentesi.
Per questa configurazione, ho aggiunto un disco secondario al mio server con una capacità di 20 GB. Partizioneremo questo disco e creeremo il file system su di esso per l’uso come condivisione NFS.
$ lsblk | grep sdbsdb 8:16 0 20G 0 disk # Create partition and file systemsudo parted -s -a optimal -- /dev/sdb mklabel gptsudo parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%sudo parted -s -- /dev/sdb align-check optimal 1sudo mkfs.xfs /dev/sdb1
Lo monteremo nella directory / data.
sudo mkdir /dataecho "/dev/sdb1 /data xfs defaults 0 0" | sudo tee -a /etc/fstabsudo mount -a
Controlliamo le impostazioni per confermare.
$ df -hT | grep /data/dev/sdb1 xfs 20G 176M 20G 1% /data
Creerò la directory su/data / nfshare che verrà esportata nei client NFS.
sudo mkdir /data/nfshare
Ora dobbiamo modificare/etc / exports per configurare la condivisione NFS. La struttura è:
export host(options)
È anche possibile specificare più host, insieme a opzioni specifiche per ciascun host, come di seguito.
export host1(options1) host2(options2) host3(options3)
Dove:
- export è la directory esportata
- host è l’host o la rete a cui è stata condivisa l’esportazione
- opzioni Elenco di opzioni che possono essere utilizzate per l’host
Nel mio setup, Darò il file system esportato è leggere & autorizzazioni di scrittura per consentire host remoti di apportare modifiche ai dati condivisi sul file system. Il mio host sarà una rete 172.16.54.0 / 24.
Quindi la mia linea sul file /etc/exports sarà.
/data/nfshare 172.16.54.0/24(rw,no_root_squash)
L’opzione no_root_squash disabilita lo squash di root – consente all’utente root remoto di avere i privilegi di root. Questo è solitamente richiesto per le installazioni di VM su NFS share.
Per ulteriori informazioni sulle opzioni disponibili, utilizzare:
$ man exports
Una volta terminate le impostazioni, utilizzare l’utilità exportfs per esportare selettivamente le directory senza riavviare il servizio NFS.
$ sudo exportfs -ravexporting 172.16.54.0/24:/data/nfshare
- r – fa sì che tutte le directory elencate in /etc/exports essere esportate mediante la creazione di un nuovo elenco di esportazione in /etc/lib/nfs/xtab
- un – Tutte le directory sono esportati o esportati, a seconda di quanto le altre opzioni sono passato a exportfs
- v – Verbose operazione – Mostra cosa sta succedendo
Se Firewalld è in esecuzione, consentire il servizio NFS.
sudo firewall-cmd --add-service=nfs --permanentsudo firewall-cmd --add-service={nfs3,mountd,rpc-bind} --permanent sudo firewall-cmd --reload
Potrebbe essere necessario abilitare SELinux boolean.
sudo setsebool -P nfs_export_all_rw 1
Passaggio 4: Montaggio di condivisioni NFS su macchine client
Ora che abbiamo finito con le configurazioni del server NFS, la parte rimanente sta montando condivisioni NFS su un sistema client. Un client può essere un sistema remoto, una macchina virtuale sullo stesso server o il server stesso.
Consultare la nostra prossima guida: Come Configurare il Client NFS su CentOS / RHEL 8
Più spazio di archiviazione guide correlate:
Come Configurare Iniziatore iSCSI su CentOS 8/RHEL 8
Come Configurare la Destinazione iSCSI Initiator su CentOS 8 / RHEL 8