Network File System (NFS) je protokol pro vzdálený přístup k souborům přes počítačovou síť. Protokol byl původně vyvinut společnostíSun Microsystems v roce1984, v současné době má jeho další vývoj na starosti organizaceInternet Engineering Task Force (IETF). Funguje především nad transportním protokolemUDP, avšak od verze 3 je možné ho provozovat také nad protokolemTCP.
V praxi si můžete prostřednictvím NFS klienta připojit disk ze vzdáleného serveru a pracovat s ním jako s lokálním. V prostředíLinuxu se jedná asi o nejpoužívanější protokol pro tyto účely.
Za kolegu NFS lze považovat protokol NIS (Network Information Service), který slouží k distribuci nejrůznějších konfiguračních dat v počítačové síti (např. uživatelé, doménová jména aj.).
NFS server se nastavuje pomocí konfiguračního souboru/etc/exports, který na jednotlivých řádcích obsahuje definice sdílených adresářů. Jako první je název adresáře a pak seznam povolených klientů (zde jsou uvedeny názvyserver,stanice aIP adresa) s přidanými volitelnými parametry:
/usr 10.1.2.3(ro) stanice(ro)/home 10.1.2.3(rw,no_root_squash) stanice(rw)
Klient připojuje adresář ze serveru do svého adresářového stromu stejným způsobem, jako jsou připojovány jednotlivé systémy souborů. V současné době je obvykle nutné na klientovi spustit téždémonaportmap:
mount -t nfs server:/home /homemount -t nfs server:/usr /mnt/usr-from-server
Od této chvíle může klient s daty v adresáři/home a/mnt/usr-from-server pracovat stejně, jako kdyby byly umístěny na lokálním počítači.
V dnešních moderních distribucích se téměř výhradně setkáme s nástupcem NFS verze 4, který se, ačkoli z uživatelského hlediska vypadá téměř totožně, přece jen od svého předchůdce hodně liší. Základní odlišnosti jsou:
Souborové systémy NFS aONC (Sun RPC) se objevovaly v síťově-výpočetních válkách meziSun Microsystems aApollo Computer a později i vUnixových válkách (1987-1996) meziAT&T Corporation a Sun na jedné straně aDigital Equipment Corporation,Hewlett-Packard aIBM na straně druhé.
Během vývoje ONC protokolu (tehdy zvaného Sun RPC) nabízel podobnou funkcionalitu pouze Apollův síťový souborový systém (NCS). Vznikly tedy dvě soupeřící strany, které se lišily základními rozdíly v těchto dvouRPC systémech (vzdálené volání procedur). Metoda ONC pro kódování dat — Externí Datová Reprezentace (XDR), vždy renderovala čísla vbig-endian pořadí a to i v případě, že oba účastníci spojení mělilittle-endian strojové architektury. Zatímco metoda od NCS se snažila vyhnout prohození bajtů kdykoli dva účastníci sdíleli stejnou architekturu. Průmyslová společnost zvanáNetwork Computing Forum byla vytvořena (Březen 1987) při pokusu o sloučení těchto dvou síťově-výpočetních prostředí.
Později Sun a AT&T prohlásili, že budou spolupracovat na vývoji Unixového systému V verze 4 od AT&T. Kvůli tomu mnoho držitelů AT&T licence Unixového systému V začalo mít obavy, že toto postaví Sun do výhodnější pozice. Ultimátně to vedlo k vytvoření Open Software Foundation (OSF) v roce 1988 (podílelo se na tom Digital Equipment, HP, IBM a ostatní). Ač Sun a AT&T předtím vedli souboj NFS vs.RFS, tak následná rychlá adopce NFS přes RFS od Digital Equipment, HP, IBM (a mnoho dalších počítačových prodejců), přetáhla většinu uživatelů k používání NFS. Popularita NFS byla navíc podpořena i událostí zvanou „Connectathons“ počínající v roce 1986, která umožnila neutrálním prodejcům testovat implementace mezi sebou.
OSF si vyžádal návrhy na různé technologie, mezi nimiž byl i systém vzdáleného volaní procedur (RPC) a protokol vzdáleného přístupu k souborům. Čímž vznikly dvě nové technologie, a to Distribuované výpočetní prostředí (DCE) a Distribuovaný souborový systém (DFS) respektive, které vyhrály nad ONC a NFS co navrhoval Sun. DCE bylo odvozeno od několika technologií, včetně NCS aKerberos a DFS použilo DCE jako RPC a bylo odvozeno z Andrewova souborového systému (AFS).
Sun Microsystems a Internet Society (ISOC) povolili ONC RPC přístup kesprávě změn tak, aby zaměstnanci inženýrských standardů od ISOC a Internet Engineering Task Force (IETF) mohli vydat dokumentace standardů (zvanéRFC), které se vztahovaly k ONC RPC protokolům a mohly tak rozšířit ONC RPC. OSF se pokusilo vytvořit DCE RPC jako IETF standard, ale nakonec nebyli ochotni vzdát se správy změn. Později se IETF rozhodla rozšířit ONC RPC přidáním nového typu autentifikace, založeného naGSSAPI aRPCSEC GSS, aby to souhlasilo s požadavky IETF na adekvátní bezpečnost protokolových standardů.
Později Sun a ISOC dosáhli podobné dohody o předání ISOC pravomocí ke správě změn u NFS, avšak smlouva byla napsaná opatrně, aby neobsahovala NFS verzi 2 a 3. Místo toho ISOC dostal pravomoci pro přidávání nových verzí do NFS protokolu, což způsobilo, že IETF bylo schopno specifikovat NFS verzi 4 v roce 2003.
Příchodem 21. století nedosáhl ani DFS ani AFS žádných hlavních komerčních úspěchů ve srovnání sCIFS nebo NFS. Firma IBM, která předtím získala hlavního komerčního prodejce technologií DFS a AFS,Transarc, otevřela v roce 2000 většinu zdrojového kódu AFS jakootevřený software (open source software), díky čemuž vznikl projektOpenAFS. A na začátku roku 2005 IBM prohlásila konec prodeje technologií AFS a DFS.
V lednu 2010Panasas nabídnul NFSv4.1, založený na jejich paralelní NFS (pNFS) technologii, o které tvrdili, že zlepší schopnost paralelního přístupu k datům. Protokol NFSv4.1 definuje metodu separace systémovýchmetadat od lokace souborových dat. Liší se od tradičního NFS serveru, který uchovává jména souborů i jejich data u sebe, tím, že jsou separované. Některé produkty jsou v podstatě více-uzlové NFS servery, ale účast klienta v separaci metadat a dat je omezena.
Server NFSv4.1 pNFS je kolekcí serverových prostředků nebo komponent, které jsou ovládány serverem metadat.
Ačkoli klient pNFS pořád přistupuje k jedinému serveru metadat při interakci s daty, může se stát, že když přesouvá data z a na server, přímo pracuje se skupinou data serverů náležícím k pNFS kolekci serverů. Klientovi FNSv4.1 může být umožněno zadávání přesné lokace souborových dat.
V tomto článku byl použitpřeklad textu z článkuNetwork File System na anglické Wikipedii.