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 server – RHEL 9 sa IP-om 10.128.15.213
- NFS klijent – RHEL 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.