FedFsInstallationGuide0.9

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
(Introduction)
(Add new page for EPEL6 installation instructions)
 
(42 intermediate revisions not shown)
Line 13: Line 13:
== Introduction ==
== Introduction ==
-
This article will help you prepare for and set up a working FedFS domain using Linux and the fedfs-utils-0.9 package.  fedfs-utils allows you to manage a network file system namespace (a FedFS domain) that consists of exports across multiple fileservers.
+
'''Special Note:''' ''This is alpha quality software based on draft standards.  fedfs-utils-0.9 is not compatible with previous releases of fedfs-utilsAdministrative protocols, commands, and data types stored in LDAP may change with the next release of fedfs-utils. This software is provided for testing only.''
-
There are three roles a host can play in a FedFS domain.  A host can play one or more of these roles.
+
This series of articles will help you prepare for and set up a working FedFS domain using Linux and the fedfs-utils-0.9 packageThe examples in these articles are not meant to provide an exhaustive description of all fedfs-utils features.  They should provide coverage of common use cases and give you an idea of how to explore further.
-
; File-access client
+
fedfs-utils allows you to manage a [[FedFsGlossary#FedFS_Domain|FedFS domain]], a single file namespace that consists of multiple filesystems residing on separate fileservers.  A host can play one or more of these roles in a FedFS domain:
 +
 
 +
; [[FedFsGlossary#File-access_client|File-access client]]
: This is a network file system client that communicates with fileservers using a standard file-access protocol (such as NFSv4).
: This is a network file system client that communicates with fileservers using a standard file-access protocol (such as NFSv4).
-
; File-access server
+
; [[FedFsGlossary#Fileserver|Fileserver]]
-
: This is a server that stores data or refers file-access clients to other file-access servers
+
: This is a server that stores data or refers file-access clients to other file-access servers.
-
; Namespace Database (NSDB)
+
; [[FedFsGlossary#Namespace_Database|Namespace Database (NSDB)]]
-
: An NSDB node stores location information about data on file-access servers.  LDAP is used to access and manage this information.  The NSDB is optional.  If an NSDB is employed, an administrative entity that has write access to FedFS records on the NSDB is required to create, modify and delete the entries describing FedFS filesets.
+
: An NSDB node stores information about the location of filesets stored on file-access servers in a FedFS domain.  LDAP is used to access and manage this information.  An NSDB is optional.  If an NSDB is employed, an administrative entity that has write access to FedFS records on the NSDB is required to create, modify and delete the entries that describe filesets residing in the FedFS domain.
 +
; [[FedFsGlossary#Administrative_Client|Administrative Client]]
 +
: This is a network host where NSDB and FedFS ADMIN administrative tools are installed.  These tools contact file servers and NSDBs to perform administrative tasks such as creating junctions.
A DNS SRV record refers file-access clients to the top-most directory in a FedFS domain, which is stored in a special export on a file server.
A DNS SRV record refers file-access clients to the top-most directory in a FedFS domain, which is stored in a special export on a file server.
-
== Road map for setting up a simple FedFS domain ==
+
== Building fedfs-utils 0.9 ==
-
A "simple" FedFS domain does not use a separate LDAP server to keep track of fileset locationsOnly NFS basic junctions (which store fileset locations directly on file servers) are used.
+
You must install fedfs-utils on each host that participates in a FedFS domain.  Choose one of the following tasks:
-
=== What you need for a minimal FedFS file-access server ===
+
* [[FedFsUtilsInstallFedora19|Installing fedfs-utils-0.9 on Fedora 19]]
 +
* [[FedFsUtilsInstallEL6|Installing fedfs-utils-0.9 on Enterprise Linux 6]]
 +
* [[FedFsUtilsBuild0.9|Building fedfs-utils-0.9]]
-
Each NFS server which is to participate in a FedFS domain must support new-style NFS referrals. Eventually this will all be set up by default.  For now, the following modifications are required:
+
The remaining sections of the Installation Guide assume you have already performed any necessary fedfs-utils installation steps, except where noted.
-
* Linux NFS server that supports NFSv4 or later (any recent Linux distribution)
+
== Clients accessing an existing FedFS domain ==
-
* rpc.mountd updated with junction support (nfs-utils 1.2.6 or later, built with the nfs-plugin.h header present)
+
-
* nfsref program installed (fedfs-utils package install, or built from source)
+
-
* libnfsjunct.so installed (fedfs-utils package install, or built from source)
+
-
=== What you need for a minimal FedFS file-access client ===
+
If the storage servers in your environment already support a FedFS domain, it's easy to allow your Linux NFS client(s) to participate in the domain.
-
Each NFS client which is to access data in FedFS domains must support mounting FedFS domains by name.  Eventually this will be set up by default.  For now, the following modifications are required:
+
==== What you need for a minimal FedFS file-access client ====
-
* Linux NFS client that supports NFSv4 or later (any recent Linux distribution)
+
If an NFSv4 client is to use Globally Useful Names (pathnames that appear the same on all FedFS clients), some additional set up is required.  Here are the administrative steps that configure your Linux NFS client to participate in a FedFS domain.
-
* Kernel DNS resolver upcall working
+
-
* Automounter installed and enabled
+
-
* fedfs-nfs4-map program installed (fedfs-utils package install, or built from source)
+
-
=== What you need to define a FedFS domain ===
+
* [[FedFsNfsReferrals|Setting up client-side NFSv4 referral support]]
 +
* [[FedFsNfsAutomounter0.9|Setting up the FedFS automounter map]]
 +
 
 +
== Setting up a simple FedFS domain ==
 +
 
 +
Once you have FedFS-enabled clients, you can set up your own FedFS domain.  A "simple" FedFS domain does not use a separate LDAP server to keep track of fileset locations.  Only NFS basic junctions (which store fileset locations directly on file servers) are used.
 +
 
 +
==== What you need for a minimal FedFS file-access server ====
 +
 
 +
Any NFSv4 server can participate in a FedFS domain.  However, an NFS server which will contain junctions must support new-style NFS referrals.
 +
 
 +
Use these steps when starting your own FedFS domain, or when adding a new Linux NFS server to an existing FedFS domain.
 +
 
 +
* [[FedFsNfsServer0.9|Setting up junction resolution support on your Linux NFS server]]
 +
 
 +
==== What you need to define a FedFS domain ====
Once you have prepared your NFS clients and servers, these steps create the FedFS name space and allow it to be discovered by FedFS-enabled clients.
Once you have prepared your NFS clients and servers, these steps create the FedFS name space and allow it to be discovered by FedFS-enabled clients.
-
* Define a domain root directory on a FedFS-enabled NFS server, then export it
+
* [[FedFsNfsDomainRoot0.9|Setting up a FedFS domain root server]]
-
** [[FedFsNfsDomainRoot0.9|Setting up a FedFS domain root server]]
+
* [[FedFsDnsSrv0.9|Setting up a FedFS DNS SRV record]]
-
* Define a DNS SRV record that points to that export
+
* [[FedFsNfsRefGuide0.9|Managing junctions with the nfsref command]]
-
** [[FedFsDnsSrv0.9|Setting up a FedFS DNS SRV record]]
+
 
-
* Create NFS referrals in the domain root directory to other NFS servers that participate in this domain
+
== Setting up a complete FedFS domain ==
-
** [[FedFsNfsRefGuide0.9|Managing junctions with the nfsref command]]
+
 
 +
A "complete" FedFS domain stores fileset location information in an LDAP server known as the domain's Namespace Database (or NSDB).  Both NFS basic junctions and FedFS junctions can be used in this type of domain.  A complete domain requires all the items in the "simple" FedFS domain set up above, and:
 +
 
 +
==== What you need for a minimal FedFS NSDB ====
 +
 
 +
To install and configured an LDAP server for use as an NSDB, choose one below:
 +
 
 +
* [[FedFsOpenLdapServer0.9|Setting up an OpenLDAP server for use as an NSDB]]
 +
* [[FedFs389DsServer0.9|Setting up a 389-ds server for use as an NSDB]]
 +
 
 +
==== What you need to administer your NSDB ====
 +
 
 +
NSDB administration tools must be installed and configured on at least one host.
 +
 
 +
* [[FedFsInstallNsdbConnParams0.9|Setting up NSDB connection parameters]]
 +
* [[FedFsInstallNsdbAdministrator0.9|Setting up NSDB administrative tools]]
 +
* [[FedFsInstallNsdbCertificates0.9|Distributing x.509 certificates for your NSDBs]]
-
== Road map for setting up a complete FedFS domain ==
+
==== What you need to allow file servers to access the NSDB ====
-
A "complete" FedFS domain stores fileset location information in an LDAP server known as the domain's Namespace Database (or NSDB). Both NFS basic junctions and FedFS junctions can be used in this type of domain.  All the items in the "simple" FedFS domain set up above, and:
+
Along with the modified mountd and junction resolution library you installed above, fileservers that contain FedFS junctions also need to know how to contact their domain's NSDB.
-
=== What you need for a minimal FedFS NSDB ===
+
* [[FedFsInstallNsdbConnParams0.9|Setting up NSDB connection parameters]]
-
* An installed and configured LDAP server
+
==== What you need to administer junctions and NSDB connection parameters remotely ====
-
** [[FedFsOpenLdapServerRecipe|Setting up an OpenLDAP server for use as an NSDB]]
+
-
** [[FedFs389DsServerRecipe|Setting up a 389-ds server for use as an NSDB]]
+
-
=== What you need to allow file servers to access the NSDB ===
+
FedFS specifies an administrative network protocol that allows domain administrators to manage FedFS junctions and NSDB connection parameters remotely.
-
* Install nsdbparams program on file servers and administrative clients that participate in your FedFS domain (fedfs-utils package install, or built from source)
+
Installing this daemon is optional, since these operations can also be done by command line tools on the fileservers.
-
=== What you need to administer junctions and NSDB connection parameters remotely ===
+
''For fedfs-utils-0.9, running the administrative daemon on open networks is discouraged, since the daemon currently does not support any form of security.  Future releases of fedfs-utils may include daemon support for RPCSEC GSSAPI flavors such as Kerberos.''
-
* Optionally, install rpc.fedfsd program (fedfs-utils package install, or built from source)
+
* [[FedFsInstallFedfsd0.9|Setting up the rpc.fedfsd daemon]]

Latest revision as of 21:07, 3 March 2014

Contents

Project: fedfs-utils

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


Introduction

Special Note: This is alpha quality software based on draft standards. fedfs-utils-0.9 is not compatible with previous releases of fedfs-utils. Administrative protocols, commands, and data types stored in LDAP may change with the next release of fedfs-utils. This software is provided for testing only.

This series of articles will help you prepare for and set up a working FedFS domain using Linux and the fedfs-utils-0.9 package. The examples in these articles are not meant to provide an exhaustive description of all fedfs-utils features. They should provide coverage of common use cases and give you an idea of how to explore further.

fedfs-utils allows you to manage a FedFS domain, a single file namespace that consists of multiple filesystems residing on separate fileservers. A host can play one or more of these roles in a FedFS domain:

File-access client
This is a network file system client that communicates with fileservers using a standard file-access protocol (such as NFSv4).
Fileserver
This is a server that stores data or refers file-access clients to other file-access servers.
Namespace Database (NSDB)
An NSDB node stores information about the location of filesets stored on file-access servers in a FedFS domain. LDAP is used to access and manage this information. An NSDB is optional. If an NSDB is employed, an administrative entity that has write access to FedFS records on the NSDB is required to create, modify and delete the entries that describe filesets residing in the FedFS domain.
Administrative Client
This is a network host where NSDB and FedFS ADMIN administrative tools are installed. These tools contact file servers and NSDBs to perform administrative tasks such as creating junctions.

A DNS SRV record refers file-access clients to the top-most directory in a FedFS domain, which is stored in a special export on a file server.

Building fedfs-utils 0.9

You must install fedfs-utils on each host that participates in a FedFS domain. Choose one of the following tasks:

The remaining sections of the Installation Guide assume you have already performed any necessary fedfs-utils installation steps, except where noted.

Clients accessing an existing FedFS domain

If the storage servers in your environment already support a FedFS domain, it's easy to allow your Linux NFS client(s) to participate in the domain.

What you need for a minimal FedFS file-access client

If an NFSv4 client is to use Globally Useful Names (pathnames that appear the same on all FedFS clients), some additional set up is required. Here are the administrative steps that configure your Linux NFS client to participate in a FedFS domain.

Setting up a simple FedFS domain

Once you have FedFS-enabled clients, you can set up your own FedFS domain. A "simple" FedFS domain does not use a separate LDAP server to keep track of fileset locations. Only NFS basic junctions (which store fileset locations directly on file servers) are used.

What you need for a minimal FedFS file-access server

Any NFSv4 server can participate in a FedFS domain. However, an NFS server which will contain junctions must support new-style NFS referrals.

Use these steps when starting your own FedFS domain, or when adding a new Linux NFS server to an existing FedFS domain.

What you need to define a FedFS domain

Once you have prepared your NFS clients and servers, these steps create the FedFS name space and allow it to be discovered by FedFS-enabled clients.

Setting up a complete FedFS domain

A "complete" FedFS domain stores fileset location information in an LDAP server known as the domain's Namespace Database (or NSDB). Both NFS basic junctions and FedFS junctions can be used in this type of domain. A complete domain requires all the items in the "simple" FedFS domain set up above, and:

What you need for a minimal FedFS NSDB

To install and configured an LDAP server for use as an NSDB, choose one below:

What you need to administer your NSDB

NSDB administration tools must be installed and configured on at least one host.

What you need to allow file servers to access the NSDB

Along with the modified mountd and junction resolution library you installed above, fileservers that contain FedFS junctions also need to know how to contact their domain's NSDB.

What you need to administer junctions and NSDB connection parameters remotely

FedFS specifies an administrative network protocol that allows domain administrators to manage FedFS junctions and NSDB connection parameters remotely.

Installing this daemon is optional, since these operations can also be done by command line tools on the fileservers.

For fedfs-utils-0.9, running the administrative daemon on open networks is discouraged, since the daemon currently does not support any form of security. Future releases of fedfs-utils may include daemon support for RPCSEC GSSAPI flavors such as Kerberos.

Personal tools