Dokumentacija NFS

Izvor: HrOpenWiki
Inačica od 17:52, 24. ožujka 2011. koju je unio/unijela Shrike (razgovor | doprinosi)

(razl) ←Starija inačica | vidi trenutačnu inačicu (razl) | Novija inačica→ (razl)
Skoči na: orijentacija, traži

Network File System (NFS) je mrežni datotečni protokol originalno razvijen od Sun Microsystema 1984, koji dozvoljava korisniku na klijentskom računalu da preko mreže pristupi datotekama na udaljenom računalu, slično kao što bi pristupio i bilo kojoj lokalnoj datoteci. Ideja i potreba za ovakvim načinom pristupanja podatcima izvire iz doba kada su čvrsti diskovi bili malog kapaciteta, a lokalna (klijent računala) su imala tipično minimum diskovnog prostora. Većina prostora i kapaciteta se nalazilo na serverima, mainframe računalima i sličnim skupim sustavima. Prirodno, bilo bi jako zgodno kada bi se tim podatcima moglo pristupiti i manipulirati na transparentan način identičan načinu na koji tretiramo klasične foldere i datoteke. NFS nudi upravo ovu funkciju, tj mehanizam u kojem se može montirati udaljeni folder, lokacija ili particija u proizvoljni folder i onda im pristupati kao da su lokalni. Nema nikakave razlike između pristupanju NFS montiranog foldera u recimo, /home/user1 i pristupanju lokalne particije montirane na /home/user2. NFS je poput drugih protokola razvijen na Open Network Computing Remote Procedure Call (ONC RPC) sustavu. Network File System je otvoreni standard definiran RFC i svatko može implementirati ovaj protokol u svojoj varijanti.

Verzije i varijante

Originalna NFS verzija

Implementacijski detalji su definirani u RFC 1094. Sun je koristio verziju 1 samo unutar firme za eksperimentalne svrhe. Tek kada je razvojni tim dodao bitne promjene NFSv1 i izdao ih van Sun-a, odlučeno je da će se i službeno izdati verzija v.2, kako bi se mogle testirati interoperacije verzija.

NFSv2

Verzija 2 protokola (definirana RFC 1094, ožujak 1989) je originalno operirala kompletno unutar UDP-a. Dizajneri su kanili da protokol bude "stateless", sa zaključavanjem implementiranim izvan osnovnog (core) protokola. NFSv.2 je dozvoljavao čitanje samo prvih 2 GB jedne datoteke.

NFSv3

Verzija 3 (RFC 1813, lipanj 1995) između ostalog dodaje:

  1. Podrška za 64-bitne veličine datoteka, sposobnost obrade datoteka većih od 2 GB
  2. Podrška asinhronom zapisivanju na server radi poboljšanja performansi
  3. dodatni atributi na razne odgovore/komunikaciju kako bi se izbjegle višestruko dohvaćanje iste datoteke
  4. READDIRPLUS operacija koja obrađuje datotečne atribute tijekom skeniranja direktorija

NFSv4

Verzija 4 (RFC 3010, prosinac 2000; revidiran u RFC 3530, travanj 2003), pod utjecajem AFS i CIFS poboljšavaju se performanse, zahtijeva jaka sigurnost i uvodi "stateful" protokol. Verzija 4 je postala prva verzija razvijena od Internet Engineering Task Force (IETF) nakon što je Sun Microsystems njima predao razvoj NFS protokola. NFS v4.1 je odobrena od IESG i dobila RFC broj od siječnja 2010. NFSv4.1 specifikacija cilja: dati podršku putem protokola koji smjera na cluster servere uključujući sposobnost paralelnog pristupa datotekama distribuiranih na više servera (jedna datoteka koja se nalazi na više servera).

Druge ekstenzije

WebNFS, ekstenzija u v2 i v3, dozvoljava NFS-u lakšu integraciju u web preglednike i lakše operacije kroz vatrozide (firewall). 2007 Sun Microsystems je otvorio njihovu implementaciju klijentskog WebNFS-a. Različiti drugi protokoli su postali povezani sa NFS-om, uključujući: Byte-range advisory Network Lock Manager (NLM) protokol (dodan da podržava UNIX system V API za zaključavanje datoteka). Udaljeno izvještavanje o kvotama (quota) (RQUOTAD) (dozvoljava NFS korisnicima da vide kolika im je dozvoljena kvota na serveru)

Platforme

NFS se najčešće koristi na UNIX operacijskim sustavima poput Solarisa, AIX, HP-UX, FreeBSD ili UNIX-like operacijskim sustavima poput Linuxa. Dostupan je i na operacijskim sustavima poput Mac OS-a, OpenVMS, Microsoft Windows, Novell NetWare i IBM AS/400. Alternativni protokoli za udaljeni datotečni pristup su Server Message Block SMB, CIFS, AFP, NetWare Core Protocol (NCP), i OS/400 File Server. SMB i NCP se češće koriste na MS Windowsu.

Tipične implementacije

Pretpostavimo UNIX-oidni scenarij gdje je jedna mašina klijent i zahtijeva pristup podatcima sačuvanim na drugoj mašini (NFS serveru):

  1. Server implementira NFS daemon proces (po defaultu nfsd) kako bi datoteke generički učinio dostupnim klijentima.
  2. Administrator servera odlučuje što će učiniti dostupnim, eksportirajući imena i paramtre direktorija (tipično koristeći /etc/exports kao datoteku u kojoj će se definirati ove postavke)
  3. Serverova sigurnosna administrcija provjerava mogućnost prepoznavanja i validiranja klijenata.
  4. Konfiguracija servera osigurava da se komunikacija može održati kroz firewall i da su sve odgovarajuće postavke na mjestu.
  5. Klijent zahtijeva pristup podatcima, tipično preko `mount' naredbe. Klijent pita serverov rpcbind koji port koristi NFS server, zatim se klijent spoji na NFS server nakon čega se proslijedi zahtijev `mountd'.
  6. Ukolik oje sve prošl odobro, korisnici na klijent mašini mogu gledati i modficirati mountane datotečne sustave na serveru unutar dozvoljenih parametara.

Kako pokrenuti NFS na Linuxu?

Postoji napisani how-to o dijeljenju mapa kroz GUI: http://wiki.open.hr/wiki/Dijeljenje_mapa

Izvor