Kako instalirati NFS server i klijent na RHEL distribucijama


U Linuxu postoji nekoliko protokola za dijeljenje datoteka koji se koriste za dijeljenje prostora za pohranu i datoteke preko mreže. Najviše se koriste Samba i NFS.

Samba je popularan open-source paket aplikacija koji radi u arhitekturi klijent-server. Nudi međuplatformsku kompatibilnost koja omogućava besprijekorno dijeljenje datoteka na Linux, Windows i macOS operativnim sistemima. Dijelu datoteka hostovanom na Linux sistemu može se pristupiti sa različitih platformi, čime se podstiče saradnja.

Još jedan široko korišten protokol za dijeljenje datoteka je NFS, skraćenica od Network File Share. Baš kao i Samba, radi na klijent-server modelu i omogućava korisniku da dijeli direktorije i datoteke preko mreže sa više udaljenih korisnika klijenta.

U ovom vodiču ćemo provjeriti kako instalirati NFS server i klijent na RHEL-bazirane distribucije kao što su Fedora, CentOS Stream, Rocky Linux i AlmaLinux.

NFS usluge

Trenutno postoje 3 verzije NFS-a, a najnovija je NFSv4 koja uključuje funkcije kao što je mogućnost rada preko interneta i preko firewall-a. Osim toga, postoje NFSv3 i NFSv2 koji je najstariji protokol.

NFS servis se sastoji od NFS servera i klijenta. NFS server se sastoji od sljedećih ključnih fajlova:

  • nfs-server – Ovo omogućava klijentskim sistemima da pristupe NFS-dijeljenim datotekama.
  • rpcbind – pretvara RPC programe u univerzalne adrese.
  • nfs-idmap – Izvodi prevođenje ID-ova korisnika i grupa u imena i imena korisnika i grupa u ID-ove.
  • portmap – Ovo je server koji pretvara brojeve RPC programa u brojeve IP portova.
  • nfslock – U slučaju pada NFS servera, nfslock pokreće potrebne RPC procese.

NFS Configuration Services

Evo nekih od ključnih konfiguracijskih fajlova za NFS:

  • /etc/exports – Glavna konfiguraciona datoteka, koja određuje sisteme datoteka ili direktorijume za izvoz i pristup udaljenim korisnicima.
  • /etc/fstab – Ovo je datoteka koja sadrži unose montiranih particija. U NFS-u, datoteka sadrži unose NFS dijeljenih direktorija ili sistema datoteka koji su trajno montirani i mogu trajati nakon ponovnog pokretanja.
  • /etc/sysconfig/nfs – Definiše portove potrebne tokom rada RPC usluga.

Podešavanje NFS servera i klijenta

Za postavljanje NFS dijeljenja, trebat će nam najmanje dvije Linux/Unix mašine. Ovdje u ovom vodiču koristiću dva servera.

  • NFS serverRHEL 9 sa IP-om 10.128.15.213
  • NFS klijentRHEL 9 sa IP-om 10.128.15.214

Instalirajte NFS na serveru i klijentu

Za početak, morate se prijaviti na oba čvora (NFS server i klijent) i instalirati NFS usluge. Prvo, ažurirajte informacije o paketu kao što je prikazano. Sljedeća dnf naredba će također nadograditi sve uzbudljive pakete na njihove najnovije verzije.

sudo dnf update 

Kada se ažuriranje završi, nastavite i instalirajte potrebne NFS usluge.

sudo dnf install rpcbind nfs-utils -y

Sljedeći korak je da omogućite NFS usluge kao što je prikazano.

sudo systemctl enable nfs-server
sudo systemctl enable rpcbind

Obavezno pokrenite NFS usluge.

sudo systemctl enable nfs-server
sudo systemctl enable rpcbind

Ključno je provjeriti da li su sve NFS usluge pokrenute.

sudo systemctl status nfs-server
sudo systemctl status rpcbind

Obavezno također konfigurirajte zaštitni zid kako biste omogućili ulazne NFS usluge na sljedeći način.

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

Kreirajte NFS Share Directory

Sa svim NFS uslugama koje su instalirane i rade prema očekivanjima, vrijeme je da kreirate NFS dijeljeni direktorij, koji će sadržavati datoteke kojima će pristupati NFS klijenti na mreži.

U ovom slučaju, kreirat ćemo NFS dijeljeni direktorij pod nazivom my_nfsshare u našem početnom direktoriju.

mkdir -p /home/tecmint/my_nfsshare

Zatim dodijelite dozvole direktorija. U svrhu demonstracije, dodijelit ćemo globalne dozvole koje će NFS klijentima dati dozvole za čitanje, pisanje i izvršavanje.

sudo chmod 777 -R /home/tecmint/my_nfsshare

Izvezite NFS Share Directory

Sljedeći korak je izvoz NFS dijeljenog direktorija. Da bismo to postigli, moramo unijeti unos u datoteku /etc/exports. Stoga pristupite datoteci koristeći željeni uređivač teksta. U ovom slučaju koristićemo Vim editor.

sudo vim /etc/exports

Dodajte sljedeći unos. Obavezno zamijenite server-ip IP adresom vašeg NFS servera.

/home/tecmint/my_nfsshare server-ip/24(rw,no_root_squash)

Konačno izvezite NFS dijeljeni direktorij ili sistem datoteka.

sudo exportfs -rv

Pokrenite sljedeću naredbu da vidite NFS dijeljenja.

showmount -e localhost

Konfigurišite NFS klijenta

Preostala faza ove vježbe je konfiguracija NFS klijenta kako bi pristupio dijeljenom direktoriju. Prvo, potvrdite da možete vidjeti izvoznu listu ili NFS dijeljenja na NFS serveru.

showmount -e 10.128.15.213

Sljedeći korak je montiranje NFS dijeljenja sa servera na klijenta. Da bismo to učinili, prvo moramo kreirati direktorij za montiranje. U ovom slučaju, kreirat ćemo direktorij pod nazivom nfs_backup.

mkdir nfs_backup

Nakon toga ćemo montirati NFS udio u direktorij za montiranje koji smo upravo kreirali u korijenskom početnom direktoriju

mount -t nfs 10.128.15.213:/home/tecmint/my_nfsshare  ~/nfs_backup 

Da zadržite NFS dijeljenje, uredite datoteku /etc/fstab.

vim /etc/fstab

Zatim dodajte sljedeći unos.

10.128.15.213:/home/tecmint/my_nfsshare    /root/nfs_backup  nfs     defaults 0 0

Sačuvajte i izađite iz konfiguracione datoteke.

Testiranje NFS podešavanja

Poslednji korak je da proverite da li NFS podešavanje radi kako se očekuje. Napravit ćemo nekoliko datoteka na serveru i provjeriti njihovu dostupnost na strani NFS klijenta.

Na strani servera, kreiraćemo datoteke u NFS direktorijumu za deljenje.

sudo touch my_nfsshare/file{1..4}.txt

Da bismo potvrdili da su fajlovi kreirani, izvršićemo naredbu ls:

ls -l my_nfsshare/

Vratite se na stranu klijenta, provjerite jesu li datoteke dostupne u direktoriju montiranja bez ikakvog osvježavanja usluge ili ponovnog pokretanja bilo koje usluge kao što se vidi u sljedećem izlazu.

ls -l nfs_backup/

Uklanjanje NFS nosača

Ako vam više nije potreban montirani direktorij na vašem sistemu, možete ga demontirati sa strane klijenta koristeći sljedeću naredbu umount:

umount ~/nfs_backup

NFS Share Commands

Neke važnije komande za NFS.

  • showmount -e – Pokazuje dostupne dijeljenja na vašem lokalnom računaru
  • showmount -e ip-address – Navodi dostupne dijelove na udaljenom serveru
  • showmount -d – Navodi sve poddirektorije
  • exportfs -v – Prikazuje listu dijeljenih fajlova i opcija na serveru
  • exportfs -a – Izvozi sve dionice navedene u /etc/exports, ili dato ime
  • exportfs -u – Poništava izvoz svih dionica navedenih u /etc/exports, ili dato ime
  • exportfs -r – Osvježite listu servera nakon izmjene /etc/exports
Zaključak

Ovo završava naš vodič o tome kako instalirati NFS server i klijent na distribucijama baziranim na RedHat-u. Instalirali smo NFS usluge na serveru, kreirali NFS dijeljeni direktorij i konačno montirali dijeljeni direktorij na klijentu. Na kraju, verifikovali smo NFS postavku tako što smo pristupili datoteci kreiranoj na serveru sa strane klijenta.