GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare server e client NFS su Rocky/Alma Linux 8

Rocky Linux 8 supporta NFS versione 3 (NFSv3) e 4 (NFSv4). La versione NFS predefinita è 4.2 e offre supporto per elenchi di controllo di accesso (ACL), copia lato server, file sparsi, prenotazione dello spazio, NFS etichettato, miglioramenti del layout e molto altro.

In questa guida impareremo come installare e configurare il server NFS e il client NFS su Rocky Linux 8.

Prerequisiti

  • Server Rocky Linux aggiornato da utilizzare come server e un altro per il client
  • Connettività dai server
  • Sudo accesso dai server

Indice dei contenuti

  1. Assicurati che il server sia aggiornato
  2. Installa i pacchetti NFS
  3. Avvio e abilitazione del server NFS
  4. Abilitazione del servizio NFS su Firewall
  5. Configurazione esportazioni su server NFS
  6. Configurazione di sistemi client NFS

1. Garantire che il server sia aggiornato

Prima di procedere, assicuriamoci che il server sia aggiornato. Usa questo comando per ottenere questo:

sudo dnf -y update

2. Installa i pacchetti NFS

Il pacchetto nfs-utils fornisce un demone per il server NFS del kernel e strumenti correlati come contiene il showmount programma. Usa questo comando per installare il pacchetto:

sudo dnf install -y nfs-utils

3. Avvio e abilitazione del server NFS

Una volta che i pacchetti NFS sono stati installati correttamente, possiamo avviare e abilitare il server NFS. Usa questo comando systemctl per avviare il server:

sudo systemctl start nfs-server

Conferma lo stato del servizio con questo comando:

$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: active (exited) since Thu 2022-01-13 17:54:19 UTC; 36s ago
  Process: 59320 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
  Process: 59308 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
  Process: 59305 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 59320 (code=exited, status=0/SUCCESS)

Jan 13 17:54:18 dev-rockysrv.inv.re systemd[1]: Starting NFS server and services...
Jan 13 17:54:19 dev-rockysrv.inv.re systemd[1]: Started NFS server and services.

L'output precedente mostra che il servizio è stato avviato correttamente. Per abilitare l'avvio del servizio all'avvio del sistema, utilizzare questo comando:

sudo systemctl enable nfs-server

Tieni presente che gli altri servizi necessari per eseguire un server NFS o montare condivisioni NFS come nfsdnfs-idmapd , rpcbind , rpc.mountd , lockd , rpc.statd , rpc.rquotadrpc.idmapd verrà avviato automaticamente.

4. Abilitazione del servizio NFS in Firewall

Se hai installato e abilitato firewalld, devi abilitare i servizi NFS. Devi consentire il traffico ai servizi NFS necessari (montatonfsrpc-bind ) tramite il firewall, quindi ricaricare le regole del firewall per applicare le modifiche, come segue.

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --reload

5. Configurazione delle esportazioni su server NFS

I file di configurazione per il server NFS si trovano in questi percorsi:

  • /etc/nfs.conf – questo è il file di configurazione principale per i demoni e gli strumenti NFS
  • /etc/nfsmount.conf – questo è il file di configurazione del montaggio NFS

Creiamo file system da esportare o condividere sul server NFS. Creeremo due file system da fissare, /mnt/nfs_shares/files per file condivisi e /mnt/nfs_shares/backup per i backup.

Creiamo le directory nel server

sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup

Conferma

$ sudo ls /mnt/nfs_shares
backup	files

Quindi aggiungi i filesystem di cui sopra nel file di esportazione /etc/exports nel server NFS per determinare i file system locali che vengono esportati nei client NFS.

Apri il file di esportazione con il tuo editor di testo

sudo vim /etc/exports

Quindi aggiungi questo contenuto:

/mnt/nfs_shares/files  	10.70.5.170(rw,sync)
/mnt/nfs_shares/backup  10.70.5.0/24(rw,sync,no_all_squash,root_squash)

Queste sono le opzioni di esportazione che possono essere utilizzate:

  • rw – consente sia l'accesso in lettura che in scrittura sul file system.
  • sincronizzazione – indica al server NFS di scrivere operazioni (scrittura di informazioni sul disco) quando richiesto (si applica per impostazione predefinita).
  • tutti_squash – mappa tutti gli UID e GID dalle richieste del client all'utente anonimo.
  • no_all_squash:utilizzato per mappare tutti gli UID e GID dalle richieste dei client a UID e GID identici sul server NFS.
  • root_squash – mappa le richieste dall'utente root o dall'UID/GID 0 dal client all'UID/GID anonimo.

Una volta definiti i file system nel file di esportazione, è necessario eseguire exportfs comando per esportarli. L'exportfs può essere eseguito con -a flag significa esportare o annullare l'esportazione di tutte le directory, -r significa riesportare tutte le directory, sincronizzando /var/lib/nfs/etab con /etc/exports e file in /etc/exports.d-v abilita output dettagliato.

sudo exportfs -arv

Questo è l'output sul mio server

$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup

Per visualizzare l'elenco di esportazione corrente, eseguire il comando seguente. Tieni presente che la tabella exportfs applica anche alcune opzioni predefinite che non sono definite in modo esplicito:

$ sudo exportfs  -s
/mnt/nfs_shares/files  10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup  10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

6. Configurazione di sistemi client NFS

Ora che abbiamo configurato le esportazioni sul server, possiamo accedervi dal sistema client. Accedi al sistema client e installa i pacchetti necessari per consentire l'accesso alle condivisioni NFS.

Su sistemi basati su RHEL:

sudo dnf install -y nfs-utils nfs4-acl-tools

Su distribuzioni basate su Debian/Ubuntu:

sudo apt install nfs-common nfs4-acl-tools

Possiamo quindi eseguire il comando showmount per mostrare le informazioni di montaggio per il server NFS. Il comando restituisce i filesystem esportati sul server

showmount -e 10.70.5.221

Uscita

$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files  10.70.5.170

Crea una directory del file system locale per montare i file system NFS remoti e montalo come un file system nfs

mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/files ~/nfs_files

Possiamo quindi confermare che il file system remoto è stato montato eseguendo mount comando e filtro nfs monta.

sudo mount | grep nfs

Output sulla mia macchina

$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/rocky/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/rocky/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)

Per abilitare il montaggio su persistente anche dopo un riavvio del sistema, aggiungi le voci a /etc/fstab file. Usa questi comandi (come root) per ottenere ciò:

echo "10.70.5.221:/mnt/nfs_shares/backup     /home/rocky/backups  nfs     defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files     /home/rocky/nfs_files  nfs     defaults 0 0" >> /etc/fstab

Infine, verifica se NFS l'installazione funziona correttamente creando un file sul server e verificando se il file può essere visto nel client.

Sul server:

sudo touch /mnt/nfs_shares/files/file_on_server.txt

Quindi sul computer client conferma

$ ls ~/nfs_files/
file_on_server.txt

Puoi anche fare il contrario. Sul cliente:

touch ~/nfs_files/file_on_client.txt

Quindi sul server conferma:

$ ls /mnt/nfs_shares/files/
file_on_client.txt  file_on_server.txt

Per smontare il file system remoto sul lato client.

sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup

Tieni presente che non puoi unmount il file system remoto se stai operando al suo interno.

Conclusione

In questa guida siamo riusciti a installare e configurare un server e un client NFS su Rocky Linux 8.


Linux
  1. Come configurare un supporto NFS su Rocky Linux 8

  2. Come installare il client FreeIPA su Rocky Linux/Alma Linux/CentOS 8

  3. Come installare e configurare PHP e Nginx (LEMP) su Rocky Linux/Alma Linux 8

  4. Come installare e configurare Squid Proxy su Rocky Linux/Alma Linux 8

  5. Come configurare server e client NFS su Ubuntu 20.04

Come configurare la replica FreeIPA su Rocky Linux/Alma Linux/Centos 8

Come installare Webmin in Rocky Linux/Alma Linux 8

Come impostare data e ora su desktop e server Rocky Linux 8

Come configurare server e client NFS su CentOS 8

Come installare e configurare un server NFS su un sistema Linux

Come installare e configurare un server NFS Ubuntu Linux