FedFsNfsDomainRoot0.9

From Linux NFS

Revision as of 20:39, 8 October 2012 by Chucklever (Talk | contribs)
Jump to: navigation, search

Contents

Project: fedfs-utils

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


Introduction

A FedFS domain root directory is the top-level directory of a FedFS domain. It is what is visible when a FedFS-enabled client mounts the top of a FedFS domain name space. Typically the client mounts the directory at /nfs4/<fedfs-domain-name> .

A FedFS domain root usually contains nothing but junctions that refer clients to more interesting NFS servers that hold actual data. The domain root is simply a starting point for accessing the rest of a domain's name space.

This article describes an easy way to set up a FedFS domain root on a recent vintage Linux NFS server.

Select one or more NFS servers to host the domain root export

The domain root directory typically sees little traffic, particularly since an individual domain root directory contains little data. However, clients depend on the domain root directory being available to access all other files in a FedFS domain. A server with high availability is recommended for this role.

The NFS server you choose for this role can host more than one domain root directory.

Several servers can play host to the same domain root export, as long as there is a mechanism for keeping the content of the domain root export precisely in sync across all the NFS servers. The DNS SRV format which is used by clients to find FedFS domain root directories can list one or more servers as a FedFS domain's root directory server.

Create the domain root export and directories

FedFS-enabled clients use a well-known export pathname when contacting the NFS server that exports a FedFS domain root. That pathname is "/.domainroot/<fedfs-domain-name>".

The easiest method for creating a domain root export is to create a directory called "/.domainroot" readable by everyone. Log into the NFS server that will host the domain root export and use the following commands:

 $ sudo mkdir /.domainroot
 $ sudo chmod 755 /.domainroot

While this directory does not typically contain much data, you may also wish to create a new local file system on the NFS server and mount it on /.domainroot. This is entirely optional.

FedFS domain root directories are created under this directory. For example, if you want to create the domain root directory for the "example.net" FedFS domain, use the following command:

 $ sudo mkdir -p /.domainroot/example.net
 $ sudo chmod 755 /.domainroot/example.net

You can create more than one directory.

We describe how to create junctions to other NFS exports in your FedFS domain, or add other content, in another article.

Export the domain root directory

Now make the domain root export visible to clients by editing the server's /etc/exports file. Add the following line to /etc/exports:

 /.domainroot    *(ro,insecure)

This makes the export readable by all NFS clients. (No clients should be allowed to write these directories, particularly because junctions cannot be created via NFS. They must be created locally on the NFS server.) Of course, you can restrict access to it or add other export options here as needed. Junctions below this export automatically inherit the options you set here. Have a look at exports(8) for an explanation of what these export options mean.

If there is already an NFS service running on this host, update the kernel exports list with the following command:

 $ sudo exportfs -rv

Otherwise, if there is no NFS service running, start one:

 $ sudo systemctl enable nfs-server.service
 $ sudo systemctl start nfs-server.service
Personal tools