Što je NFS? Mrežni datotečni sustav. Protokol za pristup mrežnim datotekama

27. 2. 2019.

Kada je riječ o računalnim mrežama, često možete čuti spominjanje NFS-a. Što znači ova kratica?

Nfs je ono što jest

Ovo je protokol distribuirani sustav datoteka, izvorno razvijen od strane Sun Microsystems 1984., koji korisniku na klijentskom računalu omogućuje pristup datotekama putem mreže, slično pristupu lokalnoj pohrani. NFS se, kao i mnogi drugi protokoli, temelji na sustavu daljinskog poziva u proceduri otvorenog mrežnog računalstva (ONC RPC).

Drugim riječima, što je NFS? To je otvoreni standard, definiran u zahtjevu za komentare (RFC), koji dopušta svakome da implementira protokol.

Verzije i varijacije

Izumitelj je koristio samo prvu verziju za vlastite eksperimentalne svrhe. Kada je razvojni tim dodao značajne izmjene izvornom NFS-u i objavio ga izvan Sunovog autorstva, novu su verziju označili kao v2 tako da možete testirati interakciju između distribucija i stvoriti sigurnosnu verziju.

datotečni sustav

NFS v2

Verzija 2 je u početku radila samo na protokolu korisničkih datagrama (UDP). Njegovi programeri željeli su zadržati stranu poslužitelja bez blokiranja, implementirani izvan glavnog protokola.

Sučelje virtualnog datotečnog sustava omogućuje izvođenje modularne implementacije, što se odražava u jednostavnom protokolu. Do veljače 1986., demonstrirana su rješenja za operativne sustave kao što su System V release 2, DOS i VAX / VMS koristeći Eunice. NFS v2 dopušteno je samo čitati prva 2 GB datoteke zbog 32-bitnih ograničenja.

mrežni datotečni sustav

NFS v3

Prvi prijedlog za razvoj NFS verzije 3 u Sun Microsystems najavljen je ubrzo nakon objavljivanja druge distribucije. Glavni motiv bio je pokušaj ublažavanja problema sinkronog snimanja. Do srpnja 1992., praktična poboljšanja omogućila su rješavanje mnogih nedostataka NFS verzije 2, ostavljajući samo nedovoljnu podršku za datoteke (64-bitne veličine datoteka i izmjene datoteka).

Verzija 3 dodala je sljedeće:

  • podrška za 64-bitne veličine datoteka i odstupanja za obradu podataka većih od 2 gigabajta (GB);
  • podrška za asinkrono pisanje na poslužitelj radi poboljšanja performansi;
  • dodatne atribute datoteka u mnogim odgovorima kako bi se izbjegla potreba za ponovnim izdvajanjem;
  • READDIRPLUS operacija za dohvaćanje podataka i atributa zajedno s nazivima datoteka prilikom skeniranja direktorija;
  • mnoga druga poboljšanja.

Tijekom uvođenja verzije 3, TCP podrška za protokol transportnog sloja počela je rasti. Korištenje TCP-a kao sredstva prijenos podataka izvršena pomoću NFS-a preko WAN-a, postalo je moguće prenijeti velike veličine datoteka za gledanje i snimanje. Zahvaljujući tome, programeri su uspjeli prevladati ograničenja od 8 KB ograničenja nametnutih protokolom korisničkih datagrama (UDP).

Što je NFS v4?

Verzija 4, razvijena pod utjecajem Endrese File System (AFS) i Server Message Block (SMB, također nazvanog CIFS), uključuje poboljšane performanse, osigurava bolju sigurnost i uvodi protokol u skladu s utvrđenim uvjetima.

protokol pristupa datotečnom sustavu

Verzija 4 bila je prva distribucija koju je razvila Internet Engineering Task Force (IETF) nakon što je Sun Microsystems prenio razvoj protokola stručnjacima trećih strana.

NFS verzija 4.1 je dizajnirana za pružanje podrške protokola za implementaciju klaster poslužitelja, uključujući mogućnost pružanja skalabilnog paralelnog pristupa datotekama raspoređenim na više poslužitelja (pNFS proširenje).

Najnoviji protokol datotečnog sustava, NFS 4.2 (RFC 7862), službeno je objavljen u studenom 2016. godine.

Ostala proširenja

S razvojem standarda pojavili su se odgovarajući alati za rad s njim. Na primjer, WebNFS, proširenje za verzije 2 i 3, omogućuje protokol mrežnog pristupa datotečnim sustavima da se lakše integriraju u web preglednike i aktiviraju rad kroz vatrozide.

nfs poslužitelj

Različiti protokoli skupina trećih strana također su postali povezani s NFS-om. Od njih su najpoznatiji:

  • Network Lock Manager (NLM) s podrškom za bajt protokol (dodan za podršku zaključavanja API-ja UNIX sustava V datoteka);
  • daljinska kvota (RQUOTAD), koja korisnicima NFS-a omogućuje pregled kvota za pohranu podataka na NFS poslužiteljima;
  • NFS preko RDMA je NFS prilagodba koja koristi daljinski izravni pristup memoriji (RDMA) kao prijenosni medij;
  • NFS-Ganesha je NFS poslužitelj koji radi u korisničkom prostoru i podržava CephFS FSAL (sloj apstrakcije datotečnog sustava) koristeći libcephfs.

platforma

Mrežni datotečni sustav često se koristi s Unix operativnim sustavima (kao što su Solaris, AIX, HP-UX), Appleovim MacOS i Unix-sličnim operativnim sustavima (kao što su Linux i FreeBSD).

Također je dostupan za platforme kao što su Acorn RISC OS, OpenVMS, MS-DOS, Microsoft Windows, Novell NetWare i IBM AS / 400.

nfs zahtjevi

Ostali slični standardi

Alternativni protokoli za udaljeni pristup datotekama uključuju blok poslužiteljske poruke (SMB, također nazvan CIFS), Apple prijenosni protokol (AFP), NetWare Base Protocol (NCP) i datotečni sustav poslužitelja OS / 400 (QFileSvr.400).

To je zbog zahtjeva NFS-a, koji su uglavnom usmjereni na Unix-like "školjke".

U ovom slučaju, SMB i NetWare (NCP) protokoli koriste se češće od NFS-a u sustavima koji koriste Microsoft Windows. AFP se najčešće koristi na Apple Macintosh platformama, a QFileSvr.400 se najčešće nalazi na OS / 400.

Tipična implementacija

Pretpostavljajući tipičnu Unix-skriptu, u kojoj jednom računalu (klijentu) treba pristup podacima pohranjenim na drugom (NFS poslužitelju):

  • Poslužitelj implementira procese mrežnog datotečnog sustava, koji se pokreću prema zadanim postavkama kao nfsd, da bi njihovi podaci javno dostupni klijentima. Administrator poslužitelja definira kako izvesti imena i parametre direktorija, obično koristeći konfiguracijsku datoteku / etc / exports i naredbu exportfs.
  • Upravljanje sigurnošću poslužitelja osigurava da može prepoznati i provjeriti pouzdanog klijenta. Njegova mrežna konfiguracija osigurava da relevantni klijenti mogu s njom pregovarati kroz bilo koji vatrozidni sustav.
  • Klijentski stroj zahtijeva pristup izvezenim podacima, obično izdavanjem odgovarajuće naredbe. On zahtijeva poslužitelj (rpcbind) koji koristi NFS port, a zatim se povezuje s njim.
  • Ako se sve dogodi bez pogreške, korisnici na klijentskom računalu moći će pregledavati i komunicirati s instaliranim sustavima datoteka na poslužitelju unutar dopuštenih parametara.

Pozornost treba posvetiti i činjenici da se automatizacija procesa mrežnog datotečnog sustava može odvijati - možda korištenjem etc / fstab i / ili drugih sličnih sredstava.

Razvoj do danas

Do 21. stoljeća, konkurentski protokoli DFS i AFS nisu postigli nikakav veći komercijalni uspjeh u usporedbi s mrežnim datotečnim sustavom. IBM, koji je prethodno stekao sva komercijalna prava na gore navedene tehnologije, donirao je većinu izvornog koda AFS-a zajednici slobodnog softvera u 2000. godini. Projekt Otvoreni AFS postoji u današnje vrijeme. Početkom 2005. IBM je objavio završetak prodaje AFS-a i DFS-a.

S druge strane, Panasas je u siječnju 2010. predložio NFS v 4.1 temeljen na tehnologiji koja omogućuje poboljšane mogućnosti pristupa podacima. Protokol mrežnog datotečnog sustava v 4.1 definira metodu za odvajanje metapodataka datotečnog sustava od mjesta određenih datoteka. Prema tome, on nadilazi jednostavno razdvajanje imena / podataka.

Što je NFS ove verzije u praksi? Gornja značajka razlikuje je od tradicionalnog protokola, koji sadrži nazive datoteka i njihovih podataka pod jednim povezivanjem s poslužiteljem. Prilikom implementacije Network File System v 4.1, neke datoteke mogu biti distribuirane između poslužitelja s više mjesta, ali je sudjelovanje klijenta u razdvajanju metapodataka i podataka ograničeno.

Prilikom implementacije četvrte distribucije protokola, NFS poslužitelj je skup poslužiteljskih resursa ili komponenti; pretpostavlja se da ih kontrolira poslužitelj metapodataka.

Klijent i dalje pristupa istom poslužitelju metapodataka za indeksiranje ili interakciju s prostorom imena. Kada premjesti datoteke na i sa poslužitelja, može izravno stupiti u interakciju s skupom podataka koji pripada skupini NFS.