Kako postaviti NFS (mrežni datotečni sustav) na RHEL/CentOS/Fedora i Debian/Ubuntu


NFS (mrežni datotečni sustav) je u osnovi razvio Sun Microsystems za dijeljenje datoteka i mapa između Linux/Unix sustava 1980. Omogućuje vam montiranje lokalnih datotečnih sustava preko mreže i udaljenih hostova za interakciju s njima dok su lokalno montirani na istom sustavu. Uz pomoć NFS-a možemo postaviti dijeljenje datoteka između Unixa na Linux sustav i Linuxa na Unix sustav.

  1. NFS omogućuje lokalni pristup udaljenim datotekama.
  2. Koristi standardnu arhitekturu klijent/poslužitelj za dijeljenje datoteka između svih * nix računala.
  3. S NFS-om nije neophodno da oba stroja rade na istom OS-u.
  4. Uz pomoć NFS-a možemo konfigurirati centralizirana rješenja za pohranu.
  5. Korisnici dobivaju svoje podatke bez obzira na fizičku lokaciju.
  6. Nije potrebno ručno osvježavanje za nove datoteke.
  7. Novija verzija NFS-a također podržava acl, pseudo root mount-ove.
  8. Može se osigurati vatrozidima i Kerberosima.

Njegova je usluga pokrenuta sustavom V. Paket NFS poslužitelja uključuje tri objekta, uključena u pakete portmap i nfs-utils.

  1. portmap: mapira pozive upućene s drugih strojeva na ispravnu RPC uslugu (nije potrebno s NFSv4).
  2. nfs: Prevodi zahtjeve za udaljeno dijeljenje datoteka u zahtjeve na lokalnom datotečnom sustavu.
  3. rpc.mountd: Ova je usluga odgovorna za montiranje i demontiranje datotečnih sustava.

  1. /etc/export: Njegova je glavna konfiguracijska datoteka NFS-a, sve izvezene datoteke i direktoriji definirani su u ovoj datoteci na kraju NFS poslužitelja.
  2. /etc/fstab: Za montiranje NFS direktorija u vaš sustav tijekom ponovnog pokretanja, moramo izvršiti unos u/etc/fstab.
  3. /etc/sysconfig/nfs: Datoteka konfiguracije NFS-a za kontrolu na kojem portu rpc i ostale usluge slušaju.

Postavljanje i konfiguriranje NFS nosača na Linux poslužitelju

Za postavljanje NFS nosača trebat će nam najmanje dva Linux/Unix stroja. Ovdje u ovom vodiču koristit ću dva poslužitelja.

  1. NFS poslužitelj: nfsserver.example.com s IP-192.168.0.100
  2. NFS klijent: nfsclient.example.com s IP-192.168.0.101

Moramo instalirati NFS pakete na naš NFS poslužitelj kao i na NFS klijentski stroj. Možemo ga instalirati putem instalatora paketa “yum” (Red Hat Linux) i “apt-get” (Debian i Ubuntu).

 yum install nfs-utils nfs-utils-lib
 yum install portmap (not required with NFSv4)
 apt-get install nfs-utils nfs-utils-lib

Sada pokrenite usluge na oba stroja.

 /etc/init.d/portmap start
 /etc/init.d/nfs start
 chkconfig --level 35 portmap on
 chkconfig --level 35 nfs on

Nakon instaliranja paketa i pokretanja usluga na oba stroja, moramo konfigurirati oba stroja za dijeljenje datoteka.

Postavljanje NFS poslužitelja

Prvo ćemo konfigurirati NFS poslužitelj.

Za dijeljenje direktorija s NFS-om moramo unijeti unos u konfiguracijsku datoteku “/ etc/export”. Ovdje ću stvoriti novi direktorij pod nazivom "nfsshare" na particiji "/" za dijeljenje s klijentskim poslužiteljem, a također možete podijeliti već postojeći direktorij s NFS-om.

 mkdir /nfsshare

Sada moramo unijeti unos u „/ etc/export“ i ponovo pokrenuti usluge kako bismo naš direktorij učinili dijeljivim u mreži.

 vi /etc/exports

/nfsshare 192.168.0.101(rw,sync,no_root_squash)

U gornjem primjeru postoji direktorij u/particiji pod nazivom “nfsshare” koji se dijeli s IP-om klijenta “192.168.0.101” s privilegijom čitanja i pisanja (rw), a možete i koristiti naziv hosta klijenta umjesto IP-a u gornji primjer.

Neke druge opcije koje možemo koristiti u datoteci “/ etc/export” za dijeljenje datoteka su kako slijedi.

  1. ro: Uz pomoć ove opcije možemo pružiti pristup samo za čitanje zajedničkim datotekama, tj. klijent će moći samo čitati.
  2. rw: Ova opcija omogućuje klijentskom poslužitelju pristup za čitanje i pisanje unutar zajedničkog direktorija.
  3. sinkronizacija: sinkronizacija potvrđuje zahtjeve u dijeljeni direktorij tek nakon što su promjene izvršene.
  4. no_subtree_check: Ova opcija sprječava provjeru podstabla. Kada je dijeljeni direktorij poddirektorij većeg datotečnog sustava, nfs vrši skeniranje svakog direktorija iznad njega, kako bi provjerio njegova dopuštenja i detalje. Onemogućivanje provjere podstabla može povećati pouzdanost NFS-a, ali smanjiti sigurnost.
  5. no_root_squash: Ova fraza omogućuje root-u da se poveže s određenim direktorijom.

Za više opcija s „/ etc/export“, preporučuje vam se da pročitate upute za izvoz.

Postavljanje NFS klijenta

Nakon konfiguriranja NFS poslužitelja, trebamo montirati taj dijeljeni direktorij ili particiju na klijentski poslužitelj.

Sada na kraju NFS klijenta moramo taj direktorij montirati na naš poslužitelj da bismo mu pristupili lokalno. Da bismo to učinili, prvo moramo saznati jesu li dionice dostupne na udaljenom poslužitelju ili NFS poslužitelju.

 showmount -e 192.168.0.100

Export list for 192.168.0.100:
/nfsshare 192.168.0.101

Iznad naredba pokazuje da je direktorij nazvan "nfsshare" dostupan na "192.168.0.100" za dijeljenje s vašim poslužiteljem.

Za montiranje tog zajedničkog NFS direktorija možemo koristiti sljedeću naredbu za montiranje.

 mount -t nfs 192.168.0.100:/nfsshare /mnt/nfsshare

Gornja naredba će taj zajednički direktorij montirati u “/ mnt/nfsshare” na klijentskom poslužitelju. Možete to provjeriti slijedeći naredbu.

 mount | grep nfs

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.0.100:/nfsshare on /mnt type nfs (rw,addr=192.168.0.100)

Gornja naredba za montiranje privremeno je montirala zajednički direktorij nfs na klijent nfs, da bi trajno montirali NFS direktorij na vaš sistem tijekom ponovnog pokretanja, moramo izvršiti unos u “/ etc/fstab“.

 vi /etc/fstab

Dodajte sljedeći novi redak kao što je prikazano u nastavku.

192.168.0.100:/nfsshare /mnt  nfs defaults 0 0

Testirajte rad NFS postava

Postavke NFS poslužitelja možemo testirati izradom test datoteke na kraju poslužitelja i provjeriti njegovu dostupnost na nfs strani klijenta ili obrnuto.

Stvorio sam novu tekstualnu datoteku pod nazivom "nfstest.txt" u tom zajedničkom direktoriju.

 cat > /nfsshare/nfstest.txt

This is a test file to test the working of NFS server setup.

Idite na taj dijeljeni direktorij na klijentskom poslužitelju i pronaći ćete tu dijeljenu datoteku bez ručnog osvježavanja ili ponovnog pokretanja usluge.

 ll /mnt/nfsshare
total 4
-rw-r--r-- 1 root root 61 Sep 21 21:44 nfstest.txt
[email  ~]# cat /mnt/nfsshare/nfstest.txt
This is a test file to test the working of NFS server setup.

Uklanjanje NFS nosača

Ako želite demontirati taj dijeljeni direktorij sa poslužitelja nakon što završite s dijeljenjem datoteka, možete jednostavno demontirati taj direktorij naredbom “umount”. Pogledajte ovaj primjer u nastavku.

[email  ~]# umount /mnt/nfsshare

Možete vidjeti da su montiranja uklonjena ponovnim pregledom datotečnog sustava.

 df -h -F nfs

Vidjet ćete da ti dijeljeni direktoriji više nisu dostupni.

Neke važnije naredbe za NFS.

  1. showmount -e: prikazuje dostupne dionice na vašem lokalnom računalu
  2. showmount -e : navodi dostupne dionice na udaljenom poslužitelju
  3. showmount -d: Navodi sve poddirektoriju
  4. exportfs -v: prikazuje popis datoteka i opcija za dijeljenje na poslužitelju
  5. exportfs -a: Izvozi sve dionice navedene u/etc/export ili pod imenom
  6. exportfs -u: Deeksportira sve dionice navedene u/etc/export ili pod imenom
  7. exportfs -r: Osvježite popis poslužitelja nakon izmjene/etc/export

Za sada je to to s NFS nosačima, ovo je bio samo početak, u sljedećim ću člancima doći do dodatnih mogućnosti i značajki NFS-a. Do tada ostanite povezani s linux-console.net za još uzbudljivijih i zanimljivijih vodiča u budućnosti. Ostavite svoje komentare i prijedloge ispod u okviru za komentare.