NFSv4 Introduction
From Linux NFS
(17 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
- | = NFSv4 | + | = NFSv4 = |
+ | |||
+ | '''NFSv4''' is a new generation of network filesystems. It is designed to be run over internet, and it has these capabilities : | ||
+ | * [[#Security|Strong security]] | ||
+ | * [[#Network_optimisations|Network optimisations]] | ||
+ | * [[#Interoperability|Interoperability]] | ||
+ | |||
+ | |||
+ | = Features = | ||
+ | ==Security == | ||
+ | |||
+ | NFSv4 is can be secured via one of three types of security "flavors": | ||
+ | *[[Enduser_doc_kerberos|Kerberos]] | ||
+ | *SPKM | ||
+ | *LIPKEY | ||
+ | |||
+ | For each flavor, there may be multiple implementations. For instance, with Kerberos there are both "MIT Kerberos", and "Heimdal Kerberos". | ||
+ | |||
+ | === Kerberos and NFSv4 === | ||
+ | |||
+ | Setup instructions for kerberos/NFSv4 are [[Enduser_doc_kerberos|here]] | ||
+ | |||
+ | ==Network optimisations== | ||
+ | |||
+ | ==Interoperability== | ||
+ | |||
+ | ==IPv6 support for the client== | ||
+ | Here is a short description to explain how to have an IPv6 ready client for NFSv2,v3 and v4. | ||
+ | For further information about the IPv6 support design, please look '''[http://nfsv4.bullopensource.org/doc/nfs_ipv6.php here]''' | ||
+ | |||
+ | <h4>TI-RPC library</h4> | ||
+ | The ti-rpc library is designed to replace sunrpc library. It is necessary to do Remote Procedures Calls regardless of the transport used. | ||
+ | |||
+ | Download the tirpc tarball: '''[http://nfsv4.bullopensource.org/patches/nfs-ipv6/libtirpc-0.1.7.tar.bz2 libtirpc-0.1.7.tar.bz2]''' | ||
+ | |||
+ | Build and install: | ||
+ | |||
+ | > ./configure | ||
+ | > make | ||
+ | > make install | ||
+ | |||
+ | <h4>Kernel patches</h4> | ||
+ | Dowload the cumulative patch: '''[http://nfsv4.bullopensource.org/patches/nfs-ipv6/linux-2.6.11-ALL.patch linux-2.6.11-ALL.patch]''' | ||
+ | |||
+ | In the kernel source directory: | ||
+ | |||
+ | > patch -p1 < linux-2.6.11-NFS-IPv6-client.patch | ||
+ | |||
+ | <h4>User part patches</h4> | ||
+ | Download nfs-utils tarball with IPv6 support included: '''[http://nfsv4.bullopensource.org/patches/nfs-ipv6/util-linux-2.12-IPv6.tar.bz2 util-linux-2.12-3-IPv6.tar.bz2]''' | ||
+ | <br>or | ||
+ | |||
+ | Download the util-linux-2.12 tarball: '''[http://www.citi.umich.edu/projects/nfsv4/linux/util-linux-tarballs/util-linux-2.12.tar.gz util-linux-2.12.tar.gz]''' | ||
+ | |||
+ | Download and apply the util-linux-2.12-CITI_NFS4_ALL-3 patchset '''[http://www.citi.umich.edu/projects/nfsv4/linux/util-linux-patches/2.12-3/util-linux-2.12-CITI_NFS4_ALL-3.dif util-linux-2.12-CITI_NFS4_ALL-3.dif]''' | ||
+ | |||
+ | In util-linux-2.12 directory: | ||
+ | |||
+ | > patch -p1 < util-linux-2.12-CITI_NFS4_ALL-3.dif | ||
+ | |||
+ | Download and apply cumulative patch for util-linux-2.12 : '''[http://nfsv4.bullopensource.org/patches/nfs-ipv6/util-linux-2.12-IPv6.patch util-linux-2.12-IPv6.patch]''' | ||
+ | <br>In util-linux-2.12 directory: | ||
+ | |||
+ | > patch -p1 < util-linux-2.12-IPv6.patch | ||
+ | |||
+ | Build and install new nfs client commands: | ||
+ | |||
+ | > make | ||
+ | > make install | ||
+ | |||
+ | <h4>Related links</h4> | ||
+ | '''[http://nfsv4.bullopensource.org/doc/tirpc_rpcbind.php TI-RPC library and rpcbind support]'''<br> | ||
+ | '''[http://nfsv4.bullopensource.org/doc/nfs_ipv6.php IPv6 support in NFS (client and server general design)]'''<br> | ||
+ | '''[http://nfsv4.bullopensource.org/patches/nfs-ipv6-4/index.php Current status and download]'''<br> | ||
+ | '''[http://nfsv4.bullopensource.org/patches/nfs-ipv6-4/IPv6-test-plan.php IPv6 support testing]'''<br> | ||
+ | '''[http://www.ietf.org/rfc/rfc3493.txt Basic Socket Interface Extensions for IPv6 (RFC_3493)]'''<br> | ||
+ | |||
+ | = Linux configuration = | ||
+ | |||
+ | * [[nfsv4_configuration|English documentation]] | ||
+ | * [[nfsv4_configuration_fr|Documentation Française]] | ||
+ | |||
+ | [[Category:File sharing]] | ||
+ | [[Category:NFSv4]] |
Latest revision as of 05:33, 10 June 2010
Contents |
NFSv4
NFSv4 is a new generation of network filesystems. It is designed to be run over internet, and it has these capabilities :
Features
Security
NFSv4 is can be secured via one of three types of security "flavors":
- Kerberos
- SPKM
- LIPKEY
For each flavor, there may be multiple implementations. For instance, with Kerberos there are both "MIT Kerberos", and "Heimdal Kerberos".
Kerberos and NFSv4
Setup instructions for kerberos/NFSv4 are here
Network optimisations
Interoperability
IPv6 support for the client
Here is a short description to explain how to have an IPv6 ready client for NFSv2,v3 and v4. For further information about the IPv6 support design, please look here
TI-RPC library
The ti-rpc library is designed to replace sunrpc library. It is necessary to do Remote Procedures Calls regardless of the transport used.
Download the tirpc tarball: libtirpc-0.1.7.tar.bz2
Build and install:
> ./configure > make > make install
Kernel patches
Dowload the cumulative patch: linux-2.6.11-ALL.patch
In the kernel source directory:
> patch -p1 < linux-2.6.11-NFS-IPv6-client.patch
User part patches
Download nfs-utils tarball with IPv6 support included: util-linux-2.12-3-IPv6.tar.bz2
or
Download the util-linux-2.12 tarball: util-linux-2.12.tar.gz
Download and apply the util-linux-2.12-CITI_NFS4_ALL-3 patchset util-linux-2.12-CITI_NFS4_ALL-3.dif
In util-linux-2.12 directory:
> patch -p1 < util-linux-2.12-CITI_NFS4_ALL-3.dif
Download and apply cumulative patch for util-linux-2.12 : util-linux-2.12-IPv6.patch
In util-linux-2.12 directory:
> patch -p1 < util-linux-2.12-IPv6.patch
Build and install new nfs client commands:
> make > make install
Related links
TI-RPC library and rpcbind support
IPv6 support in NFS (client and server general design)
Current status and download
IPv6 support testing
Basic Socket Interface Extensions for IPv6 (RFC_3493)