160 likes | 297 Views
NFS. Network File System. Pregled. Povijest i ideja Protokoli Arhitektura. NFS ideja. Dijeljenje datotečnih sustava Transparentnost Heterogena podrška sustava Brz oporavak. NFS ideja. Tradicionalno Vs NFS. Sve pristupe vrši klijent. Klijent. Klijent.
E N D
NFS Network File System
Pregled • Povijest i ideja • Protokoli • Arhitektura
NFS ideja • Dijeljenje datotečnih sustava • Transparentnost • Heterogena podrška sustava • Brz oporavak
NFSideja Tradicionalno Vs NFS Sve pristupe vrši klijent Klijent Klijent Stara datoteka Nova datoteka Poslužitelj Poslužitelj UobičajeniKlijent/PoslužiteljPristup Korištenje NFS-a
NFS primjena • Pružanje diskovnog prostora terminalima • Izbjegavanje dupliciranja • Pružanje centralno temeljenih programa i podataka • Dijeljenje podataka među korisnicima • Jednostavnija središnja potpora zadacima • Backup • Nadzor korištenja prostora
Inačice NFS protokola • NFS je osmislio Sun Microsystems 1985 za svoje terminale • Prva javna inačica NFS-a: NFSv2, 1989 (RFC 1094) • UDP • Stateless poslužitelji • Inačica 3, 1995 (RFC 1813) • Poboljšane performanse • Bolja potpora za velike datoteke • UDP/TCP • Inačica 4, 2000 (RFC 3010) • Nema pomoćnih protokola – integrirano montiranje • Compoundprocedure – skup više RPC operacijau jednoj izmjeni • Statefull poslužitelji • Zahtijeva korištenje transportnih protokola koji omogućuju kontrolu zagušenja - NFSv4 ne podržava UDP prijenos
NFS komponente Položaj NFS, XDR i RPC protokola u odnosu na OSI i TCP/IP model
Shema NFS arhitekture Klijent Poslužitelj Sučelje sistemskih poziva Virtual File System Virtual File System Klijent NFS Poslužitelj NFS Lokalni Dat. sustav Unix, Dos Lokalni Dat. sustav Unix, Dos RPC/XDR RPC/XDR Disk Disk
NFS Protokoli • Koristi Sun-ov RPC mehanizami eXternal Data Representation (XDR) standard • NFS protokoljestateless • Svaki poziv procedure neovisan, mora sadržavati puni skup argumenata za izvršenje procedure • Poslužitelj ne čuva informacije između dva zahtjeva, informacije o stanju na strani klijenta • Brz oporavak od pada sustava • Jednostavniji protokol • Klijent pohranjuje informacije o položaju datoteka
eXternal Data Representation (XDR) • RFC 1832 • Sloj između RPC i NFS protokola • Prezentacijski sloj OSI modela • Kodiranje podataka unutar RPC poruke • Osigurava kompatibilnost podataka među sustavima
Remote Procedure Call (RPC) • RFC 1057 • Izmjenjivač poruka među aplikacijama baziranim na NFS-u • Set procedura koje omogućavaju mrežno izvođenje aplikacija više razine • Slanje RPC poruka: TCP ili UDP • Port Mapper mrežni servis • Pridjeljivanje brojeva portova pojedinim RPC servisima (tablica portova i RPC programa) • Port 111 • Koristi XDR za argumente i vraćanje rezultata
NFS Protokol • Port 2049 (default) • Skup RPC procedura • Procedure podržavaju sljedeće operacije: • Traženje datoteke unutar direktorija • Čitanje skupa zapisa u direktoriju • Manipulacija vezama i direktorijima • Pristup atributima datoteke • Čitanje i pisanje datoteka
Mount Protokol • Stvaranje početne logičke veze između klijenta i poslužitelja • Operacije mountanja uključuju ime udaljenog direktorija koji se treba mountati te ime poslužiteljskog stroja na kojem se nalazi • Mount zahtjev mapiran je na odgovarajući RPC poziv i prosljeđuje se mount poslužitelju koji se vrti na poslužiteljskom stroju • Eksport lista – mountanje, zajedno sa imenima strojeva koji imaju dozvole za njihovo montiranje. • Na temelju mount zatijeva poslužitelj vraća file handle, kjuč za daljnji pristup • Operacije mountanja mijenjaju samo korisnikovo viđenje, ne utječu na poslužiteljsku stranu
File Handle • Referenca na datoteku ili direktorij unutar datotečnog sustava • Određuje jedinstvenu lokaciju datoteke • Neovisan o imenu datoteke na koju pokazuje • Jedinstven s obzirom na sve datotečne sustave sa kojima poslužitelj radi • Klijent ne zna ništa o sadržaju file handle-a • Filesystem id, I-node number, Generation number
Compound procedure • Čitanje podataka iz datoteke u NFSv3 - Iterativno • Čitanje podataka korištenjem compound procedure u NFSv4 - Rekurzivno
Caching (Poslužitelj) • Klijent • Izbjegavanje dodatnih RPC poziva • Položaj datoteka • Poslužitelj • Nedavno korištene operacije • Prefetching (prediktivni caching) • Write-through caching (sinkrono) • Podaci se zapisuju u poslužiteljski cache i disk prije slanja odgovora klijentu • Commit(asinkrono) • Podaci su pohranjeni u poslužiteljskom cache-u dok klijent ne izda nalog