FedFsInstallationGuide0.9

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
(Pre-packaged install)
(Add new page for EPEL6 installation instructions)
 
(15 intermediate revisions not shown)
Line 13: Line 13:
== Introduction ==
== Introduction ==
-
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.  fedfs-utils allows you to manage a ''[[FedFsGlossary#FedFS_Domain|FedFS domain]]'', a single file namespace that consists of many exports, each residing on separate 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.''
-
A host can play one or more of these roles in a FedFS domain:
+
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 [[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]]
; [[FedFsGlossary#File-access_client|File-access client]]
Line 23: Line 25:
; [[FedFsGlossary#Namespace_Database|Namespace Database (NSDB)]]
; [[FedFsGlossary#Namespace_Database|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.
: 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.
Line 28: Line 32:
== Building fedfs-utils 0.9 ==
== Building fedfs-utils 0.9 ==
-
If you are running Fedora 19, you can install a packaged version of fedfs-utils-0.9On other distributions, build fedfs-utils from scratch.
+
You must install fedfs-utils on each host that participates in a FedFS domainChoose one of the following tasks:
-
=== Pre-packaged install ===
+
* [[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]]
-
fedfs-utils is split into several packages so you don't have to install all fedfs-utils components on every host.  But for convenience, you can install everything with this command:
+
The remaining sections of the Installation Guide assume you have already performed any necessary fedfs-utils installation steps, except where noted.
-
 
+
-
# yum install fedfs-utils
+
-
 
+
-
=== Build from scratch ===
+
-
 
+
-
Unpack the fedfs-utils-0.9 tarball somewhere convenient.  Use the typical autotools-style build commands to make it.  For example:
+
-
 
+
-
$ cd fedfs-utils-0.9
+
-
$ ./configure
+
-
$ make
+
-
 
+
-
There is one special option: on 64-bit targets, such as x86_64, specify "--libdir=/usr/lib64" on the configure command so the libnfsjunct.a plug-in is installed in the correct directory.
+
-
 
+
-
If the build worked, as root:
+
-
 
+
-
# cd fedfs-utils-0.9 ; make install
+
== Clients accessing an existing FedFS domain ==
== Clients accessing an existing FedFS domain ==
Line 54: Line 44:
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.
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 ===
+
==== 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.
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.
-
* Linux NFS client that supports NFSv4 (any recent Linux distribution)
+
* [[FedFsNfsReferrals|Setting up client-side NFSv4 referral support]]
-
** [[FedFsNfsReferrals|Setting up client-side NFSv4 referral support]]
+
* [[FedFsNfsAutomounter0.9|Setting up the FedFS automounter map]]
-
* FedFS automounter support
+
-
** [[FedFsNfsAutomounter|Setting up the FedFS automounter map]]
+
== Setting up a simple FedFS domain ==
== Setting up a simple 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.
+
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 ===
+
==== 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. Eventually this will all be set up by default.  For now, the following modifications are required:
+
Any NFSv4 server can participate in a FedFS domain.  However, an NFS server which will contain junctions must support new-style NFS referrals.
-
* Linux NFS server that supports NFSv4 or later (any recent Linux distribution)
+
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 ===
+
* [[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
+
-
** [[FedFsNfsRefGuide0.9|Managing junctions with the nfsref command]]
+
== Setting up a complete FedFS domain ==
== 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.  All the items in the "simple" FedFS domain set up above, and:
+
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 ===
+
==== What you need for a minimal FedFS NSDB ====
-
* An installed and configured LDAP server (choose one below)
+
To install and configured an LDAP server for use as an NSDB, choose one below:
-
** [[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 administer your NSDB ===
+
* [[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]]
-
* Installed NSDB administration tools
+
==== What you need to administer your NSDB ====
-
** [[FedFsInstallNsdbConnParams0.9|Setting up NSDB connection parameters]]
+
-
** [[FedFsInstallNsdbAdministrator0.9|Setting up NSDB administrative tools]]
+
-
** [[FedFsInstallNsdbCertificates0.9|Distributing x.509 certificates for your NSDBs]]
+
-
=== What you need to allow file servers to access the 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]]
 +
 
 +
==== 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.
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.
-
* Installed nsdbparams program on file servers and administrative clients that participate in your FedFS domain
+
* [[FedFsInstallNsdbConnParams0.9|Setting up NSDB connection parameters]]
-
** [[FedFsInstallNsdbConnParams0.9|Setting up NSDB connection parameters]]
+
 
 +
==== 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.
-
=== What you need to administer 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.
-
FedFS specifies an administrative network protocol that allows domain administrators to manage FedFS junctions and NSDB connection parameters remotely.  Installing this daemon is optional.  For fedfs-utils-0.9, running the administrative daemon is discouraged on open networks, since the daemon currently does not support any form of security.
+
''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.''
-
* Installed FedFS administrative daemon
+
* [[FedFsInstallFedfsd0.9|Setting up the rpc.fedfsd daemon]]
-
** [[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