FedFsNfsServer0.9

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
(Created page with "== Prepare mountd to resolve junctions == * rpc.mountd updated with junction support (nfs-utils 1.2.6 or later, built with the nfs-plugin.h header present) * libnfsjunct.so inst...")
 
(16 intermediate revisions not shown)
Line 1: Line 1:
-
== Prepare mountd to resolve junctions ==
+
== Project: fedfs-utils ==  
 +
[
 +
[[FedFsUtilsProject|Project Home]] |
 +
[[FedFsUtilsNews|News]] |
 +
[[FedFsUtilsDownloads|Downloads]] |
 +
[[FedFsUtilsDocs|Docs]] |
 +
[[FedFsUtilsMailingLists|Mailing Lists]] |
 +
[[FedFsUtilsSourceControl|Source Control]] |
 +
[[FedFsUtilsIssues|Issues]]
 +
]
 +
----
-
* rpc.mountd updated with junction support (nfs-utils 1.2.6 or later, built with the nfs-plugin.h header present)
+
== Introduction ==
-
* libnfsjunct.so installed (fedfs-utils package install, or built from source)
+
-
== Install the nfsref command ==
+
A [[FedFsGlossary#Junction|junction]] is a link between two shared file systems.  Junctions tie together disparate filesystems to create a [[FedFsGlossary#FedFs_Domain|FedFS domain]].
-
* nfsref program installed (fedfs-utils package install, or built from source)
+
A junction stores a list of [[FedFsGlossary#Location|locations]].  When a client attempts to access a junction, a file server converts this list into a [[FedFsGlossary#Referral|referral]].  Converting a junction's location list to a referral is known as [[FedFsGlossary#Junction_Resolution|junction resolution]].
 +
 
 +
On Linux, a junction is denoted by a directory with special mode bits and an extended attribute that contains the junction location list.  When the Linux in-kernel NFS server encounters a junction, it resolves the junction by performing an upcall to mountd.  mountd reads the contents of the junction and converts them to information that the kernel NFS server can put on the wire as an NFSv4 referral.
 +
 
 +
This article describes how to configure a Linux NFS server to resolve junctions.  Once a file server can resolve junctions in its local file systems, it can participate in a FedFS domain.
 +
 
 +
== Build nfs-utils ==
 +
 
 +
On Fedora 19, rpc.mountd already has working junction resolution support.  On other distributions, you'll need to build a version of rpc.mountd with working junction resolution support.
 +
 
 +
First,  you'll need to install the nfs-plugin.h header.
 +
 
 +
* [[FedFsUtilsBuild0.9|Building fedfs-utils-0.9]]
 +
 
 +
The "make install" step should install the header in /usr/include/nfs-plugin.h .  If not, you can find it in fedfs-utils-0.9/src/include/nfs-plugin.h and install it by hand.
 +
 
 +
Now download and unpack the latest nfs-utils tarball on the same system where you built fedfs-utils.  Build nfs-utils, and replace rpc.mountd on your NFS server.  The configure options are complicated;  I usually copy them from the latest nfs-utils RPM spec file from my distribution.
 +
 
 +
$ ./configure yada yada
 +
$ make
 +
$ sudo install utils/mountd/mountd /usr/sbin/rpc.mountd
 +
 
 +
Then restart the NFS service.
 +
 
 +
# systemctl restart nfs-server.service

Latest revision as of 18:06, 9 January 2013

Project: fedfs-utils

[ Project Home | News | Downloads | Docs | Mailing Lists | Source Control | Issues ]


Introduction

A junction is a link between two shared file systems. Junctions tie together disparate filesystems to create a FedFS domain.

A junction stores a list of locations. When a client attempts to access a junction, a file server converts this list into a referral. Converting a junction's location list to a referral is known as junction resolution.

On Linux, a junction is denoted by a directory with special mode bits and an extended attribute that contains the junction location list. When the Linux in-kernel NFS server encounters a junction, it resolves the junction by performing an upcall to mountd. mountd reads the contents of the junction and converts them to information that the kernel NFS server can put on the wire as an NFSv4 referral.

This article describes how to configure a Linux NFS server to resolve junctions. Once a file server can resolve junctions in its local file systems, it can participate in a FedFS domain.

Build nfs-utils

On Fedora 19, rpc.mountd already has working junction resolution support. On other distributions, you'll need to build a version of rpc.mountd with working junction resolution support.

First, you'll need to install the nfs-plugin.h header.

The "make install" step should install the header in /usr/include/nfs-plugin.h . If not, you can find it in fedfs-utils-0.9/src/include/nfs-plugin.h and install it by hand.

Now download and unpack the latest nfs-utils tarball on the same system where you built fedfs-utils. Build nfs-utils, and replace rpc.mountd on your NFS server. The configure options are complicated; I usually copy them from the latest nfs-utils RPM spec file from my distribution.

$ ./configure yada yada
$ make
$ sudo install utils/mountd/mountd /usr/sbin/rpc.mountd

Then restart the NFS service.

# systemctl restart nfs-server.service
Personal tools