Kako postaviti NFS poslužitelj i klijent na CentOS 8


Mrežni datotečni sustav (NFS) poznat i kao datotečni sustav klijent/poslužitelj popularan je protokol za više platformi i distribuirani datotečni sustav koji se koristi za izvoz lokalnih datotečnih sustava preko mreže, tako da da klijenti mogu dijeliti direktorije i datoteke s drugima preko mreže i komunicirati s njima kao da su montirani lokalno.

U CentOS/RHEL 8, podržane NFS verzije su NFSv3 i NFSv4, a zadana NFS verzija je 4.2 koja ima podršku za popise kontrole pristupa ( ACL-ovi), kopija na strani poslužitelja, rijetke datoteke, rezervacija prostora, označeni NFS, poboljšanja izgleda i još mnogo toga.

U ovom ćete članku naučiti kako instalirati i konfigurirati NFS poslužitelj i NFS klijent na CentOS/RHEL 8 distribucijama Linuxa.

Preduvjeti:

  1. Vodič za instalaciju CentOS 8
  2. RHEL 8 Minimalna instalacija
  3. Omogućite RHEL pretplatu u RHEL 8
  4. Postavite statičku IP adresu u CentOS/RHEL 8

Naše okruženje za testiranje:

NFS Server IP:	10.20.20.8
NFS Client IP:	10.20.20.9	

Postavljanje NFS poslužitelja na CentOS 8

1. Prvo počnite s instaliranjem potrebnih paketa na NFS poslužitelju. Paketi su nfs-utils koji osigurava demon za kernel NFS poslužitelj i povezane alate kao što je sadrži program showmount.

Pokrenite sljedeću naredbu da instalirate paket na NFS poslužitelj (koristite sudo ako administrirate sustav kao nekorijenski korisnik).

dnf install nfs-utils

2. Kada instalacija završi, pokrenite uslugu nfs-server, omogućite joj da se automatski pokrene prilikom pokretanja sustava, a zatim provjerite njen status pomoću naredbi systemctl.

systemctl start nfs-server.service
systemctl enable nfs-server.service
systemctl status nfs-server.service

Imajte na umu da ostale usluge koje su potrebne za pokretanje NFS poslužitelja ili montiranje NFS dijeljenja kao što su nfsd, nfs-idmapd, rpcbind, rpc.mountd, lockd, rpc.statd, rpc.rquotad i rpc.idmapd automatski će se pokrenuti.

Konfiguracijske datoteke za NFS poslužitelj su:

  • /etc/nfs.conf – glavna konfiguracijska datoteka za NFS demone i alate.
  • /etc/nfsmount.conf – konfiguracijska datoteka NFS montiranja.

3. Zatim kreirajte datotečne sustave za izvoz ili dijeljenje na NFS poslužitelju. Za ovaj vodič stvorit ćemo četiri sustava datoteka, od kojih tri koriste zaposlenici iz tri odjela: odjela za ljudske resurse, financije i marketing za dijeljenje datoteka, a jedan je za sigurnosne kopije root korisnika.

mkdir -p  /mnt/nfs_shares/{Human_Resource,Finance,Marketing}
mkdir  -p /mnt/backups
ls -l /mnt/nfs_shares/

4. Zatim izvezite gornje datotečne sustave u konfiguracijsku datoteku NFS poslužitelja /etc/exports kako biste odredili lokalne fizičke datotečne sustave koji su dostupni NFS klijentima.

/mnt/nfs_shares/Human_Resource  	10.20.20.0/24(rw,sync)
/mnt/nfs_shares/Finance			10.20.10.0/24(rw,sync)
/mnt/nfs_shares/Marketing		10.20.30.0/24(rw,sync)
/mnt/backups				10.20.20.9/24(rw,sync,no_all_squash,root_squash)

Ovdje su neke od opcija izvoza (pročitajte man izvoz za više informacija i opcije izvoza):

  • rw – omogućuje i pristup čitanju i pisanju na datotečnom sustavu.
  • sinkronizacija – govori NFS poslužitelju da zapisuje operacije (zapisuje informacije na disk) kada se to zatraži (primjenjuje se prema zadanim postavkama).
  • all_squash – preslikava sve UID-ove i GID-ove iz zahtjeva klijenta na anonimnog korisnika.
  • no_all_squash – koristi se za mapiranje svih UID-ova i GID-ova iz zahtjeva klijenta u identične UID-ove i GID-ove na NFS poslužitelju.
  • root_squash – preslikava zahtjeve root korisnika ili UID/GID 0 od klijenta na anonimni UID/GID.

5. Za izvoz gornjeg datotečnog sustava, pokrenite naredbu exportfs s oznakom -a koja znači izvoz ili poništavanje izvoza svih direktorija, - r znači ponovni izvoz svih direktorija, sinkronizaciju /var/lib/nfs/etab s /etc/exports i datotekama pod /etc/exports.d , a -v omogućuje verbose ispis.

exportfs -arv

6. Za prikaz trenutnog popisa izvoza, pokrenite sljedeću naredbu. Imajte na umu da tablica izvoza također primjenjuje neke od zadanih opcija izvoza koje nisu izričito definirane kao što je prikazano na sljedećoj snimci zaslona.

exportfs  -s

7. Zatim, ako imate pokrenutu uslugu firewalld, morate dopustiti promet potrebnim NFS uslugama (mountd, nfs , rpc-bind) putem vatrozida, a zatim ponovno učitajte pravila vatrozida za primjenu promjena, kako slijedi.

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

Postavljanje NFS klijenta na klijentskim sustavima

8. Sada na klijentskim čvorovima instalirajte potrebne pakete za pristup dijeljenjima NFS na klijentskim sustavima. Pokrenite odgovarajuću naredbu za svoju distribuciju:

dnf install nfs-utils nfs4-acl-tools         [On CentOS/RHEL]
sudo apt install nfs-common nfs4-acl-tools   [On Debian/Ubuntu]

9. Zatim pokrenite naredbu showmount za prikaz informacija o montiranju za NFS poslužitelj. Naredba bi trebala ispisati izvezeni datotečni sustav na klijentu kao što je prikazano na snimci zaslona.

showmount -e 10.20.20.8

9. Zatim stvorite lokalni datotečni sustav/direktorij za montiranje udaljenog NFS datotečnog sustava i montirajte ga kao ntf datotečni sustav.

mkdir -p /mnt/backups
mount -t nfs  10.20.20.8:/mnt/backups /mnt/backups

10. Zatim potvrdite da je udaljeni datotečni sustav montiran pokretanjem naredbe mount i filtrirajte montiranja nfs.

mount | grep nfs

11. Da biste omogućili trajno postavljanje čak i nakon ponovnog pokretanja sustava, pokrenite sljedeću naredbu za unos odgovarajućeg unosa u /etc/fstab.

echo "10.20.20.8:/mnt/backups     /mnt/backups  nfs     defaults 0 0">>/etc/fstab
cat /etc/fstab

12. Na kraju, provjerite funkcionira li NFS postava tako da napravite datoteku na poslužitelju i provjerite može li se datoteka vidjeti u klijentu.

touch /mnt/backups/file_created_on_server.text     [On NFS Server]
ls -l /mnt/backups/file_created_on_server.text     [On NFS client]

Zatim učinite obrnuto.

touch /mnt/backups/file_created_on_client.text     [On NFS Client]
ls -l /mnt/backups/file_created_on_client.text     [On NFS Server]

13. Za demontažu udaljenog datotečnog sustava na strani klijenta.

umount /mnt/backups

Imajte na umu da ne možete isključiti udaljeni datotečni sustav ako radite unutar njega kao što je prikazano na sljedećoj snimci zaslona.

To je to! U ovom smo vodiču pokazali kako instalirati i konfigurirati NFS poslužitelj i klijent u CentOS/RHEL 8. Ako imate bilo kakva razmišljanja ili pitanja, upotrijebite obrazac za komentare ispod da nam se javite.