projects techreports press lab location staff
citi top.2 top.3
citi mid.3
bot.1 bot.2 bot.3
star

Projects: NFS Version 4 Open Source Reference Implementation

For more information, or if you have comments or suggestions, send e-mail to: nfsv4-wg@citi.umich.edu

Linux 2.4 NFSv4 (unmaintained)

NOTE: This release is now obsolete--we cannot answer questions about it; if you would like to test NFSv4, see our current nfsv4/linux code instead.

This document serves as official Release Notes for the first release of a stable Linux 2.4 NFSv4 implementation. This release is a client-only release; support for an NFSv4 server is expected in Release Two.

Download and Installation Instructions

Feature Roadmap

Reporting Bugs

Audience

This release is intended for early adopters of NFSv4 who want to help beta test commercial NFSv4 servers and/or the Linux NFSv4 implementation. It is not intended for use in a production environment. It requires that Red Hat Professional 7.3 already be installed on your systems.

Goals and Priorities

A few months ago, we decided to make a stable Linux NFSv4 release available for beta NFSv4 customers. This NFSv4 release would have several main features:

  • ease of installation
  • reliability
  • enough new features (security, ACLs, locking, delegation) that customers require
  • compatibility with existing Linux distributions

Because the 2.5 code has already been reviewed and accepted by the NFS client and server maintainers and by Linus himself, it is more or less the final version of the implementation. We started with that code base rather than the original 2.4 NFSv4 prototype developed by CITI.

The 2.5 kernel is a development platform, thus it is not suitable for the real workloads and stresses that are required of a stable kernel release. Therefore, we chose to backport the 2.5 NFSv4 implementation to a release of the Red Hat kernel, 2.4.18-18, to allow Red Hat users to install the NFSv4-capable kernel in their own systems with little loss of stability or functionality.

Features of Release One include:

  • Easy RPM-based installation
  • Performance equivalent to NFSv3
  • Client concurrently mounts all versions of NFS (2, 3, and 4)
  • Support for RPCSEC Kerberos 5 mutual authentication with NFSv4
  • Compound RPC
  • Runs on SMP hardware

Features of Release One do not include:

  • NFS server for any version of NFS built-in to the kernel
  • Atomic lookup and open in the VFS layer
  • RPCSEC Kerberos 5 integrity and privacy
  • Advanced forms of security such as SPKM3 and AES
  • ACLs
  • Automatic detection of server pseudofs
  • Shared state between client and server
  • NFSv4 file locking
  • File delegation
  • Migration and Replication (fs_locations)
  • Named attributes
  • Support for building RPC and NFS as a module
  • Support for using RPCSEC of any kind with NFSv3
  • GSSD support for Heimdal Kerberos 5

While this release is feature-limited, it demonstrates several significant things:

Distribution
Using Red Hat's package manager, we created a simple and easy installation method for beta testers, and prepared the way for providing a stable release of NFSv4 suitable for integration into commercial 2.4-based Linux distributions.

Wide testing
A 2.4-based NFSv4 implementation is more easy to test because 2.4 itself is stable and is deployed nearly everywhere, so it is easy to identify beta testers. The stability of the kernel environment means we identify and fix problems in the NFSv4 implementation rather than in the kernel. This release is also stable enough for stress-testing in a laboratory environment, unlike the 2.5-based implementation.

Proof-of-concept
A backport of the 2.5 NFSv4 work produces a stable, performant, and feature-full implementation that can be tested in realistic environments. What we created is not just another prototype.

Future growth
We have shown we can create a 2.4 platform to which we can apply 2.5 patches with little or no modification. This makes it easy to back port new features as they are added to 2.5.

Future Releases

Future releases will include better testing and quality assurance and support for many of the features not supported in Release One, and better use of tools and features available within the RPM framework. We will build on top of the latest Red Hat kernels available in errata form.

Continued progress depends on which features become available in 2.5. However, we expect the second release to contain most of the following new features:

  • Support for a built-in NFSv2/3 server
  • RPCSEC Kerberos 5 integrity and privacy
  • RPCSEC SPKM3
  • Shared state between client and server
  • NFSv4 file locking
  • File delegation
  • Building RPC and NFS as a module
  • Support for using RPCSEC (supported mechanisms only) with NFSv3

This release should be available within four to six months after Release One. Left to implement in a later release will be:

  • Support for a built-in NFSv4 server
  • Atomic lookup and open in the VFS layer
  • Automatic mount capability (client-side pseudofs)
  • Migration and Replication (fs_locations)
  • NFSv4 ACLs
  • Named attributes
  • GSSD support for Heimdal Kerberos 5

Support of Advanced Server 2.1 is not possible because features required for the NFSv4 implementation are not available in the 2.4.9-e kernel. Support for hardware architectures other than ia32 is not planned at this time, but may be implemented in the future. Support for Red Hat Professional 8.0 or SuSE kernels may be implemented in the future.

Download

Disclaimer: No warranty (expressed or implied) is made regarding this software. Use this software at your own risk. The creators of this distribution retain the right to fix bugs and add new features at their own discretion. The act of downloading these packages means you accept these terms.

Release One is designed to install on top of Red Hat 7.3 . An unmodified copy of the latest Red Haq 7.3 modutils RPM is made available here because it is required to install our kernel RPM. Install the modutils RPM only if you have never upgraded your system to use the latest errata RPMs available from Red Hat.

The kernel, mount, and user-level daemon RPMs are all required to support NFSv4. The init script RPM modifies the "halt" script to unmount RPC pipe file systems during system shutdown. ACL RPMs are included here for completeness, but are not necessary for Release One, which does not support ACLs in NFSv4.

Install only the binary packages for NFSv4 support. The source packages are posted here for your edification, but are not required.

Installation and Configuration Instructions

Linux 2.4 NFSv4 Installation and Configuration

modutils RPM
binary package:
modutils-2.4.18-3.7x.i386.rpm

Kernel RPMs
source packages:
kernel-2.4.18-18.nfsv4.src.rpm

binary packages (i386):
kernel-2.4.18-18.nfsv4.i386.rpm

binary packages (i586):
kernel-2.4.18-18.nfsv4.i586.rpm
kernel-smp-2.4.18-18.nfsv4.i586.rpm

binary packages (i686):
kernel-2.4.18-18.nfsv4.i686.rpm
kernel-smp-2.4.18-18.nfsv4.i686.rpm
kernel-bigmem-2.4.18-18.nfsv4.i686.rpm
kernel-debug-2.4.18-18.nfsv4.i686.rpm

binary packages (athlon):
kernel-2.4.18-18.nfsv4.athlon.rpm
kernel-smp-2.4.18-18.nfsv4.athlon.rpm

Mount command RPM
source packages:
util-linux-2.11n-12.nfsv4.src.rpm

binary packages:
mount-2.11n-12.nfsv4.i386.rpm

Init script RPM
source packages:
initscripts-6.67-1.nfsv4.src.rpm

binary packages:
initscripts-6.67-1.nfsv4.i386.rpm

User-level daemons
source packages:
nfsv4-daemons-0.9-1.src.rpm

binary packages:
nfsv4-daemons-0.9-1.i386.rpm

ACL utilities
binary packages:
libattr-2.2.0-0.i386.rpm
attr-2.2.0-0.i386.rpm
libacl-2.2.3-0.i386.rpm
acl-2.2.3-0.i386.rpm

Reporting Bugs

Before sending a bug report, please review our bug database. Send bug reports to nfsv4-wg@citi.umich.edu. When reporting a bug with this release, please include the following information:
  1. The release number (this is release 1) and when you downloaded the RPMs.
  2. A clear description of the symptoms
  3. A clear description of your system's hardware and your network
  4. Which server you use
  5. Mount options in effect at the time of the problem
  6. Any kernel log messages that occurred at the time of the problem
  7. If you have a workaround, please describe it

Last Modified: Tue Mar 18 16:42:09 EST 2003

blank.space
b.star projects | techreports | press | lab | location | staff Email address
or call +1 734 763 2929
Copyright © 1996-2013
The Regents of the University of Michigan
bottom.line
citi