NFS Howto Intro
From Linux NFS
(→Knowledge Pre-Requisites) |
(→Knowledge Pre-Requisites) |
||
Line 15: | Line 15: | ||
==== Knowledge Pre-Requisites ==== | ==== Knowledge Pre-Requisites ==== | ||
- | You should know some basic things about TCP/IP networking before reading this HOWTO; if you are in doubt, read the [[http://www.linuxdoc.org/HOWTO/Networking-Overview-HOWTO.html | + | You should know some basic things about TCP/IP networking before reading this HOWTO; if you are in doubt, read the [[http://www.linuxdoc.org/HOWTO/Networking-Overview-HOWTO.html Networking-Overview-Howto]]. |
==== Translation ==== | ==== Translation ==== |
Revision as of 16:39, 5 April 2006
Contents |
What is NFS?
The Network File System (NFS) was developed to allow machines to mount a disk partition on a remote machine as if it were on a local hard drive. This allows for fast, seamless sharing of files across a network.
It also gives the potential for unwanted people to access your hard drive over the network (and thereby possibly read your email and delete all your files as well as break into your system) if you set it up incorrectly. So please read the Security section of this document carefully if you intend to implement an NFS setup.
There are other systems that provide similar functionality to NFS. Samba (http://www.samba.org) provides file services to Windows clients. The Andrew File System from IBM (http://www.transarc.com/Product/EFS/AFS/index.html), recently open-sourced, provides a file sharing mechanism with some additional security and performance features. The Coda File System (http://www.coda.cs.cmu.edu/) is still in development as of this writing but is designed to work well with disconnected clients. Many of the features of the Andrew and Coda file systems are slated for inclusion in the next version of NFS (Version 4) (http://www.nfsv4.org). The advantage of NFS today is that it is mature, standard, well understood, and supported robustly across a variety of platforms.
What is this Howto, and what is it not?
This HOWTO is intended as a complete, step-by-step guide to setting up NFS correctly and effectively. Setting up NFS involves two steps, namely configuring the server and then configuring the client. Each of these steps is dealt with in order. The document then offers some tips for people with particular needs and hardware setups, as well as security and troubleshooting advice.
This HOWTO is not a description of the guts and underlying structure of NFS. For that you may wish to read Linux NFS and Automounter Administration by Erez Zadok (Sybex, 2001). The classic NFS book, updated and still quite useful, is Managing NFS and NIS by Hal Stern, published by O'Reilly & Associates, Inc. A much more advanced technical description of NFS is available in NFS Illustrated by Brent Callaghan.
This document is also not intended as a complete reference manual, and does not contain an exhaustive list of the features of Linux NFS. For that, you can look at the man pages for nfs(5), exports(5), mount(8), fstab(5), nfsd(8), lockd(8), statd(8), rquotad(8), and mountd(8).
It will also not cover PC-NFS, which is considered obsolete (users are encouraged to use Samba to share files with Windows machines) or NFS Version 4, which is still in development.
Knowledge Pre-Requisites
You should know some basic things about TCP/IP networking before reading this HOWTO; if you are in doubt, read the [Networking-Overview-Howto].
Translation
If you are able to translate this document into another language, we would be grateful and we will also do our best to assist you. Please notify the maintainers.
Dedication
NFS on Linux was made possible by a collaborative effort of many people, but a few stand out for special recognition. The original version was developed by Olaf Kirch and Alan Cox. The version 3 server code was solidified by Neil Brown, based on work from Saadia Khan, James Yarbrough, Allen Morris, H.J. Lu, and others (including himself). The client code was written by Olaf Kirch and updated by Trond Myklebust. The version 4 lock manager was developed by Saadia Khan. Dave Higgen and H.J. Lu both have undertaken the thankless job of extensive maintenance and bug fixes to get the code to actually work the way it was supposed to. H.J. has also done extensive development of the nfs-utils package. Of course this dedication is leaving many people out.
The original version of this document was developed by Nicolai Langfeldt. It was heavily rewritten in 2000 by Tavis Barr and Seth Vidal to reflect substantial changes in the workings of NFS for Linux developed between the 2.0 and 2.4 kernels. It was edited again in February 2002, when Tom McNeal made substantial additions to the performance section. Thomas Emmel, Neil Brown, Trond Myklebust, Erez Zadok, and Ion Badulescu also provided valuable comments and contributions.