Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Network File System

From Wikipedia, the free encyclopedia
Distributed file system protocol
Not to be confused withNTFS.
This article is about a specific protocol. For the general concept, seedistributed file system.
Internet protocol suite
Application layer
Transport layer
Internet layer
Link layer

Network File System (NFS) is adistributed file system protocol originally developed bySun Microsystems (Sun) in 1984,[1] allowing a user on a clientcomputer to access files over acomputer network much like local storage is accessed. NFS, like many other protocols, builds on theOpen Network Computing Remote Procedure Call (ONC RPC) system. NFS is an open IETF standard defined in aRequest for Comments (RFC), allowing anyone to implement the protocol.

Versions and variations

[edit]

Sun used version 1 only for in-house experimental purposes. When the development team added substantial changes to NFS version 1 and released it outside of Sun, they decided to release the new version as v2, so that version interoperation and RPC version fallback could be tested.[2][3]

NFSv2

[edit]

Version 2 of the protocol (defined in RFC 1094, March 1989) originally operated only overUser Datagram Protocol (UDP). Its designers meant to keep the server sidestateless, withlocking (for example) implemented outside of the core protocol. People involved in the creation of NFS version 2 includeRussel Sandberg,Bob Lyon,Bill Joy,Steve Kleiman, and others.[1][4]

TheVirtual File System interface allows a modular implementation, reflected in a simple protocol. By February 1986, implementations were demonstrated for operating systems such asSystem V release 2,DOS, and VAX/VMS usingEunice.[4]NFSv2 only allows the first 2 GB of a file to be read due to32-bit limitations.

NFSv3

[edit]

Version 3 (RFC 1813, June 1995) added:

  • support for 64-bit file sizes and offsets, to handle files larger than 2 gigabytes (GB);
  • support for asynchronous writes on the server, to improve write performance;
  • additional file attributes in many replies, to avoid the need to re-fetch them;
  • a READDIRPLUS operation, to get file handles[5] and attributes along with file names when scanning a directory;
  • assorted other improvements.

The first NFS Version 3 proposal within Sun Microsystems was created not long after the release of NFS Version 2. The principal motivation was an attempt to mitigate the performance issue of the synchronous write operation in NFS Version 2.[6] By July 1992, implementation practice had solved many shortcomings of NFS Version 2, leaving only lack of large file support (64-bit file sizes and offsets) a pressing issue. At the time of introduction of Version 3, vendor support forTCP as atransport-layer protocol began increasing. While several vendors had already added support for NFS Version 2 with TCP as a transport, Sun Microsystems added support for TCP as a transport for NFS at the same time it added support for Version 3. Using TCP as a transport made using NFS over aWAN more feasible, and allowed the use of larger read and write transfer sizes beyond the 8 KB limit imposed byUser Datagram Protocol.

YANFS/WebNFS

[edit]

Main article:WebNFS

YANFS (Yet Another NFS), formerlyWebNFS, is an extension to NFSv2 and NFSv3 allowing it to function behind restrictive firewalls without the complexity of Portmap and MOUNT protocols. YANFS/WebNFS has a fixedTCP/UDP port number (2049), and instead of requiring the client to contact the MOUNT RPC service to determine the initial filehandle of every filesystem, it introduced the concept of apublic filehandle (null for NFSv2, zero-length for NFSv3) which could be used as the starting point. Both of those changes were later incorporated into NFSv4. YANFS's post-WebNFS development has also included server-side integration.

NFSv4

[edit]

Version 4 (RFC 3010, December 2000; revised inRFC 3530, April 2003 and again inRFC 7530, March 2015), influenced byAndrew File System (AFS) andServer Message Block (SMB), includes performance improvements, mandates strong security, and introduces astateful protocol.[7][8] Version 4 became the first version developed with theInternet Engineering Task Force (IETF) afterSun Microsystems handed over the development of the NFS protocols.

NFS version 4.1 (RFC 5661, January 2010; revised inRFC 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 4.1 includes Session trunking mechanism (Also known as NFS Multipathing) and is available in some enterprise solutions asVMware ESXi.

NFS version 4.2 (RFC 7862) was published in November 2016 with new features including: server-side clone and copy, application I/O advise, sparse files, space reservation, application data block (ADB), labeled NFS with sec_label that accommodates any MAC security system, and two new operations for pNFS (LAYOUTERROR and LAYOUTSTATS).

One big advantage of NFSv4 over its predecessors is that only one UDP or TCP port, 2049, is used to run the service, which simplifies using the protocol across firewalls.[9]

Other extensions

[edit]

WebNFS, an extension to Version 2 and Version 3, allows NFS to integrate more easily into Web-browsers and to enable operation through firewalls. In 2007 Sun Microsystems open-sourced their client-side WebNFS implementation.[10]

Various side-band protocols have become associated with NFS. Note:

  • the byte-range advisory Network Lock Manager (NLM) protocol (added to supportUNIX System Vfile locking APIs)
  • the remote quota-reporting (RQUOTAD) protocol, which allows NFS users to view their data-storage quotas on NFS servers
  • NFS over RDMA, an adaptation of NFS that usesremote direct memory access (RDMA) as a transport[11][12]
  • NFS-Ganesha, an NFS server, running in user-space and supporting various file systems likeGPFS/Spectrum Scale, CephFS via respective FSAL (File System Abstraction Layer) modules. TheCephFS FSAL is supported using libcephfs[13]
  • Trusted NFS (TNFS)[14]

Platforms

[edit]

NFS is available on:

NFS SPECsfs2008 performance comparison, as of 22 November 2013

Protocol development

[edit]

During the development of the ONC protocol (calledSunRPC at the time), only Apollo'sNetwork Computing System (NCS) offered comparable functionality. Two competing groups developed over fundamental differences in the two remote procedure call systems. Arguments focused on the method for data-encoding — ONC'sExternal Data Representation (XDR) always rendered integers inbig-endian order, even if both peers of the connection hadlittle-endian machine-architectures, whereas NCS's method attempted to avoid byte-swap whenever two peers shared a commonendianness in their machine-architectures. An industry-group called theNetwork Computing Forum formed (March 1987) in an (ultimately unsuccessful) attempt to reconcile the two network-computing environments.

In 1987, Sun and AT&T announced they would jointly develop AT&T's UNIX System V Release 4.[23] This caused many of AT&T's other licensees of UNIX System to become concerned that this would put Sun in an advantaged position, and ultimately led to Digital Equipment, HP, IBM, and others forming theOpen Software Foundation (OSF) in 1988. Ironically, Sun and AT&T had formerly competed over Sun's NFS versus AT&T'sRemote File System (RFS), and the quick adoption of NFS over RFS by Digital Equipment, HP, IBM, and many other computer vendors tipped the majority of users in favor of NFS.NFSinteroperability was aided by events called "Connectathons" starting in 1986 that allowed vendor-neutral testing of implementations with each other.[24] OSF adopted theDistributed Computing Environment (DCE) and theDCE Distributed File System (DFS) over Sun/ONC RPC and NFS. DFS used DCE as the RPC, and DFS derived from theAndrew File System (AFS); DCE itself derived from a suite of technologies, including Apollo's NCS andKerberos.[citation needed]

1990s

[edit]

Sun Microsystems and theInternet Society (ISOC) reached an agreement to cede "change control" of ONC RPC so that the ISOC's engineering-standards body, theInternet Engineering Task Force (IETF), could publish standards documents (RFCs) related to ONC RPC protocols and could extend ONC RPC. OSF attempted to make DCE RPC an IETF standard, but ultimately proved unwilling to give up change control. Later, the IETF chose to extend ONC RPC by adding a new authentication flavor based onGeneric Security Services Application Program Interface (GSSAPI),RPCSEC GSS, to meet IETF requirements that protocol standards have adequate security.

Later, Sun and ISOC reached a similar agreement to give ISOC change control over NFS, although writing the contract carefully to exclude NFS version 2 and version 3. Instead, ISOC gained the right to add new versions to the NFS protocol, which resulted in IETF specifying NFS version 4 in 2003.

2000s

[edit]

By the 21st century, neither DFS nor AFS had achieved any major commercial success as compared to SMB or NFS. IBM, which had formerly acquired the primary commercial vendor of DFS and AFS,Transarc, donated most of the AFS source code to thefree software community in 2000. TheOpenAFS 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 theirParallel NFS (pNFS) technology claiming to improve data-access parallelism[25] capability. The NFSv4.1 protocol defines a method of separating thefilesystem 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.

The NFSv4.1 pNFS server is a set of server resources or components; these are assumed to be controlled by the meta-data server.

The pNFS client still accesses one meta-data server for traversal or interaction with the namespace; when the client moves data to and from the server it may directly interact with the set of data servers belonging to the pNFS server collection. The NFSv4.1 client can be enabled to be a direct participant in the exact location of file data and to avoid solitary interaction with one NFS server when moving data.

In addition to pNFS, NFSv4.1 provides:

See also

[edit]

References

[edit]
  1. ^abRussel Sandberg; David Goldberg; Steve Kleiman; Dan Walsh; Bob Lyon (June 11–14, 1985).Design and Implementation of the Sun Network Filesystem(PDF). Usenix Association Summer Conference. Portland, Oregon USA.CiteSeerX 10.1.1.14.473.
  2. ^NFS Illustrated (2000) by Brent Callaghan –ISBN 0-201-32570-5
  3. ^ab"HP TCP/IP Services for OpenVMS Management".h41379.www4.hpe.com. HP. Archived fromthe original on 2016-09-24. Retrieved24 September 2016.
  4. ^abRussel Sandberg."The Sun Network Filesystem: Design, Implementation and Experience"(PDF).Technical Report. Sun Microsystems.Archived(PDF) from the original on 2013-11-26. Retrieved2013-08-04.
  5. ^Arpaci-Dusseau, Remzi; Arpaci-Dusseau, Andrea (March 2015).Operating Systems: Three Easy Pieces(PDF) (.9 ed.). Arpaci-Dusseau Books. p. 5.Archived(PDF) from the original on 3 April 2019. Retrieved8 November 2017.
  6. ^Brian Pawlowski; Chet Juszczak; Peter Staubach; Carl Smith; Diane Lebel; David Hitz (1994)."NFS Version 3 Design and Implementation".USENIX.Archived from the original on 2015-11-24. Retrieved2015-11-23.
  7. ^"NFS Version 4".USENIX. 2005-04-14.Archived from the original on 2011-07-28. Retrieved2008-12-19.
  8. ^Brian Pawlowski; Spencer Shepler; Carl Beame; Brent Callaghan; Michael Eisler; David Noveck; David Robinson; Robert Thurlow (2000)."The NFS Version 4 Protocol"(PDF).SANE.
  9. ^Justin Parisi; Elliott Ecton (June 2023).NFS in NetApp ONTAP, Best practice and implementation guide(PDF) (Technical report). NetApp.
  10. ^"yanfs".Github.com.
  11. ^Tom Talpey (February 28, 2006)."NFS/RDMA Implementation(s) Update"(PDF). Network Appliance, Inc. Archived fromthe original(PDF) on May 12, 2011.
  12. ^Brent Callaghan (January 28, 2002)."NFS over RDMA"(PDF). Sun Microsystems.Archived(PDF) from the original on May 12, 2011. RetrievedSeptember 6, 2010.
  13. ^Singh, Karan (2016). "4: Working with the Ceph Filesystem".Ceph Cookbook. Birmingham: Packt Publishing Ltd. p. 110.ISBN 978-1-78439-736-4. Retrieved2017-03-21.NFS-Ganesha is an NFS server that runs in user space and supports the CephFS FSAL (File System Abstraction Layer) using libcephfs.
  14. ^Glover, Fred (28 May 1994)."A Specification of Trusted NFS (TNFS) Protocol Extensions".datatracker.ietf.org.
  15. ^"NetDrive for OS/2".arcanoae.com.Archived from the original on 2015-11-03. Retrieved2020-09-22.
  16. ^Dziepak, Paweł (2013-03-15)."NFSv4 client finally merged".Paweł Dziepak's blog. Haiku, Inc.
  17. ^"OS/400 Network File System Support"(PDF). IBM. Retrieved23 May 2024.
  18. ^"Introduction to Microsoft Windows Services for UNIX 3.5".technet.microsoft.com. Microsoft. 5 December 2007.Archived from the original on 18 June 2018. Retrieved24 September 2016.
  19. ^"Other Software by SUN Microsystems".www.computinghistory.org.uk. The Centre for Computing History. Retrieved24 September 2016.
  20. ^"NFS Gateway for NetWare 6.5".www.novell.com. Novell. Retrieved24 September 2016.
  21. ^"NTFS plugin for NetDrive".ecsoft2.org.Archived from the original on 2016-02-22. Retrieved2020-09-22.
  22. ^"Networking related programs".cp15.org.
  23. ^Carole Patton (1987-10-26)."AT&T to License Sun Microsystems' SPARC Chip".InfoWorld. p. 37. Retrieved2019-07-16.
  24. ^"What is Connectathon?".Original Connectathon.Org web site. Archived fromthe original on January 28, 1999.
  25. ^"pNFS".Panasas.Archived from the original on August 7, 2013. RetrievedAugust 4, 2013.

External links

[edit]
Official
Unofficial
Hardware
Systems
Processors
Sun Microsystems logo
Software
Storage
Performance
Research
Education
Acquisitions
Slogans
Community
People
Disk and
non-rotating
Optical disc
Flash memory andSSD
host-sidewear leveling
Distributed parallel
NAS
Specialized
Pseudo
Encrypted
Types
Features
Access control
Interfaces
Lists
Layouts
National
Other
Retrieved from "https://en.wikipedia.org/w/index.php?title=Network_File_System&oldid=1299823012"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp