Network File System: Difference between revisions

Content deleted Content added
No edit summary
Better summarized the available platform. Eliminated ad nauseam mentions of CIFS. Fine trivia of other subjects belong in their own articles.
Line 31:
 
===NFSv4===
Version&nbsp;4 (RFC 3010, December 2000; revised in RFC 3530, April 2003 and again in RFC 7530, March 2015), influenced by [[Andrew File System]] (AFS) and [[Server Message Block]] (SMB, also termed CIFS), includes performance improvements, mandates strong security, and introduces a [[State (computer science)|stateful]] protocol.<ref>{{cite web|url=http://www.usenix.org/events/usenix05/tech/italks.html#nFSv4|title=NFS Version 4|date=2005-04-14|publisher=[[USENIX]]}}</ref><ref name="sane2000">{{cite web |url= http://www.sane.nl/events/sane2000/papers/pawlowski.pdf |title=The NFS Version&nbsp;4 Protocol |year=2000 |publisher=[[System Administration and Network Engineering|SANE]] |author1=Brian Pawlowski |author2=Spencer Shepler |author3=Carl Beame |author4=Brent Callaghan |author5=Michael Eisler |author6=David Noveck |author7=David Robinson |author8=Robert Thurlow }}</ref> Version 4 became the first version developed with the [[Internet Engineering Task Force]] (IETF) after [[Sun Microsystems]] handed over the development of the NFS protocols.
 
NFS version&nbsp;4.1 (RFC 5661, January 2010; revised in RFC 8881, August 2020) aims to provide protocol support to take advantage of clustered server deployments including the ability to provide scalable parallel access to files distributed among multiple servers (pNFS extension). Version&nbsp;4.1 includes Session trunking mechanism (Also known as NFS Multipathing) and is available in some enterprise solutions as [[VMware ESXi]].
Line 74:
== Platforms ==
 
NFS is available on:
NFS is often used with [[Unix]] operating systems (such as [[Solaris (operating system)|Solaris]], [[AIX]], [[HP-UX]]), Apple's [[macOS]], and [[Unix-like]] operating systems (such as [[Linux]] and [[FreeBSD]]). It is also available to operating systems such as Acorn [[RISC OS]],<ref name="Sunfish/Moonfish by Alex Waugh">{{Cite web|url=http://www.cp15.org/networking/|title = Networking related programs|website=cp15.org}}</ref> [[AmigaOS]], the [[classic Mac OS]], [[OpenVMS]],<ref name="NFSforVMS">{{cite web|title=HP TCP/IP Services for OpenVMS Management|url=http://h41379.www4.hpe.com/doc/83final/6526/6526pro_052.html|website=h41379.www4.hpe.com|publisher=HP|access-date=24 September 2016|archive-url=https://web.archive.org/web/20160924192510/http://h41379.www4.hpe.com/doc/83final/6526/6526pro_052.html|archive-date=2016-09-24}}</ref> [[MS-DOS]],<ref name="PCNFS">{{cite web|title=Other Software by SUN Microsystems|url=http://www.computinghistory.org.uk/det/12549/PC-NFS%20version%205.0/|website=www.computinghistory.org.uk|publisher=The Centre for Computing History|access-date=24 September 2016}}</ref> [[Microsoft Windows]],<ref name="SFU">{{cite web|title=Introduction to Microsoft Windows Services for UNIX 3.5|url=https://technet.microsoft.com/en-us/library/bb463212.aspx|website=technet.microsoft.com|date=5 December 2007 |publisher=Microsoft|access-date=24 September 2016}}</ref> [[OS/2]],<ref>{{cite web|url=https://ecsoft2.org/network-file-system-nfs-plugin-netdrive|access-date=2020-09-22|website=ecsoft2.org|title=NTFS plugin for NetDrive}}</ref> [[ArcaOS]],<ref>{{cite web|url=https://www.arcanoae.com/shop/netdrive-for-os2/|title=NetDrive for OS/2|access-date=2020-09-22|website=arcanoae.com}}</ref> [[Novell NetWare]],<ref name="NFSforNetWare">{{cite web|title=NFS Gateway for NetWare 6.5|url=https://www.novell.com/products/openenterpriseserver/features/nfs-gateway-for-netware65.html|website=www.novell.com|publisher=Novell|access-date=24 September 2016}}</ref> and [[IBM i]].<ref name="OS/400-NFS">{{cite web|title=OS/400 Network File System Support|url=https://public.dhe.ibm.com/systems/power/docs/systemi/v5r4/en_US/sc415714.pdf|publisher=IBM|access-date=23 May 2024}}</ref> Alternative remote file access protocols include the [[Server Message Block]] (SMB, also termed CIFS), [[Apple Filing Protocol]] (AFP), [[NetWare Core Protocol]] (NCP), and OS/400 File Server file system (QFileSvr.400).
 
* [[Unix-like]] operating systems ([[Solaris (operating system)|Solaris]], [[AIX]], [[HP-UX]], [[FreeBSD]], and [[Linux distros]])
SMB and [[NetWare Core Protocol]] (NCP) occur more often than NFS on systems running Microsoft Windows; AFP occurs more often than NFS in Apple [[Macintosh]] systems; and QFileSvr.400 occurs more often in IBM i systems. [[Haiku (operating system)|Haiku]] in 2012 added NFSv4 support as part of a Google Summer of Code project.
* [[macOS]], although the default networking protocol is [[Apple Filing Protocol]] (AFP)
* Acorn [[RISC OS]]<ref name="Sunfish/Moonfish by Alex Waugh">{{Cite web|url=http://www.cp15.org/networking/|title = Networking related programs|website=cp15.org}}</ref>
* [[AmigaOS]]
* [[OpenVMS]]<ref name="NFSforVMS">{{cite web|title=HP TCP/IP Services for OpenVMS Management|url=http://h41379.www4.hpe.com/doc/83final/6526/6526pro_052.html|website=h41379.www4.hpe.com|publisher=HP|access-date=24 September 2016|archive-url=https://web.archive.org/web/20160924192510/http://h41379.www4.hpe.com/doc/83final/6526/6526pro_052.html|archive-date=2016-09-24}}</ref>
* [[MS-DOS]]<ref name="PCNFS">{{cite web|title=Other Software by SUN Microsystems|url=http://www.computinghistory.org.uk/det/12549/PC-NFS%20version%205.0/|website=www.computinghistory.org.uk|publisher=The Centre for Computing History|access-date=24 September 2016}}</ref>
* [[Microsoft Windows]],<ref name="SFU">{{cite web|title=Introduction to Microsoft Windows Services for UNIX 3.5|url=https://technet.microsoft.com/en-us/library/bb463212.aspx|website=technet.microsoft.com|date=5 December 2007 |publisher=Microsoft|access-date=24 September 2016}}</ref> although the default networking protocol is [[Server Message Block]] (SMB)
* [[OS/2]]<ref>{{cite web|url=https://ecsoft2.org/network-file-system-nfs-plugin-netdrive|access-date=2020-09-22|website=ecsoft2.org|title=NTFS plugin for NetDrive}}</ref>
* [[ArcaOS]]<ref>{{cite web|url=https://www.arcanoae.com/shop/netdrive-for-os2/|title=NetDrive for OS/2|access-date=2020-09-22|website=arcanoae.com}}</ref>
* [[Novell NetWare]],<ref name="NFSforNetWare">{{cite web|title=NFS Gateway for NetWare 6.5|url=https://www.novell.com/products/openenterpriseserver/features/nfs-gateway-for-netware65.html|website=www.novell.com|publisher=Novell|access-date=24 September 2016}}</ref> although the defult networking protocol is [[NetWare Core Protocol]] (NCP)
* [[IBM i]],<ref name="OS/400-NFS">{{cite web|title=OS/400 Network File System Support|url=https://public.dhe.ibm.com/systems/power/docs/systemi/v5r4/en_US/sc415714.pdf|publisher=IBM|access-date=23 May 2024}}</ref> although the default networking protocol is OS/400 File Server (QFileSvr.400)
 
[[Haiku (operating system)|Haiku]] in 2012 added NFSv4 support as part of a Google Summer of Code project.
 
[[File:NfsPerformanceGraph.png|thumb|600px|center|NFS SPECsfs2008 performance comparison, as of 22 November 2013]]
Line 92 ⟶ 104:
# If all goes well, users on the client machine can then view and interact with mounted [[filesystem]]s on the server within the parameters permitted.
 
Note that automationAutomation of the NFS mounting process may take place — perhaps using <code>/etc/fstab</code> and/or [[Berkeley Automounter|automounting]] facilities.
 
== Protocol development ==
Line 114 ⟶ 126:
 
=== {{anchor|PNFS}}2000s ===
By the 21st century, neither DFS nor AFS had achieved any major commercial success as compared to SMB-CIFS or NFS. IBM, which had formerly acquired the primary commercial vendor of DFS and AFS, [[Transarc]], donated most of the AFS source code to the [[free software community]] in 2000. The [[OpenAFS]] project lives on. In early 2005, IBM announced end of sales for AFS and DFS.
 
In January, 2010, [[Panasas]] proposed an NFSv4.1 based on their ''Parallel NFS'' (pNFS) technology claiming to improve data-access parallelism<ref>{{Cite web |title= pNFS |publisher= [[Panasas]] |url= http://www.pnfs.com |access-date= August 4, 2013 }}</ref> capability. The NFSv4.1 protocol defines a method of separating the [[metadata#File system metadata|filesystem meta-data]] from file data ___location; it goes beyond the simple name/data separation by striping the data amongst a set of data servers. This differs from the traditional NFS server which holds the names of files and their data under the single umbrella of the server. Some products are multi-node NFS servers, but the participation of the client in separation of meta-data and data is limited.