FedFsUtilsProject
From Linux NFS
Chucklever (Talk | contribs) (→Package Overview: Updated to reflect new features in fedfs-utils 0.8) |
Chucklever (Talk | contribs) (bookmark the Fedora Project FedFS home page) |
||
Line 52: | Line 52: | ||
The INSTALL file in this distribution explains more about how to build these components, and which of these components to install on what systems. | The INSTALL file in this distribution explains more about how to build these components, and which of these components to install on what systems. | ||
+ | |||
+ | == Distribution Information == | ||
+ | |||
+ | * [https://fedoraproject.org/wiki/Features/FedFS Fedora Project FedFS page] |
Revision as of 14:26, 10 July 2012
Contents |
Project: fedfs-utils
[ Project Home | News | Downloads | Docs | Mailing Lists | Source Control | Issues ]
Project Description: Linux implementation of Federated File System draft standard
License: GPL-2
FedFS introduction
RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals.
A file system referral is like a symbolic link to another file system share, but it is not visible to applications. It behaves like an automounted directory where a new file system mount is done when an application first accesses that directory. Today, file system referral mechanisms exist in several network file system protocols.
Thus FedFS does not require any change to file system protocols or client implementations. FedFS provides its namespace features using referral mechanisms already built in to network file system protocols.
As a result, FedFS provides network file system namespace configuration to file system clients via network file systems themselves, rather than via side-band protocols like NIS. Clients automatically share a common view of the network file system namespace with no need for individual configuration on each client.
Currently, the Linux FedFS implementation supports only NFS version 4 referrals. More on NFS version 4 referrals can be found in RFC 3530. FedFS may support other network file system protocols in the future.
Package Overview
The code provided in this package is a technology preview. The intent is to provide a full and supported Linux FedFS client and server implementation based on this code. Programming and user interfaces may change significantly for the next few releases.
The components in this package are used for managing file system referrals in order to create a global network file system namespace. Installable components include:
- An automounter program map to manage the FedFS domain namespace on FedFS-enabled clients
- A mount command to mount parts of a FedFS domain namespace
- A plug-in library that allows programs outside of FedFS to resolve junctions on local file systems; a header file describing the library's API is included
- An ONC RPC service daemon that runs on file servers enabling the management by remote FedFS ADMIN clients of FedFS junctions
- A tool called "nfsref" to manage local junctions without requiring fedfsd.
- A set of command-line clients that can access fedfsd instances on remote file servers
- A set of command-line clients that can manage FedFS entries on an LDAP server acting as a FedFS NSDB
- A tool to manage NSDB connection parameters on the local host
- An LDIF format schema to enable an LDAP server to support FedFS objects
The automounter program map is a subcommand invoked by the automounter to locate FedFS domains and construct appropriate mount options for mounting domain roots. It is used in conjunction with the Linux autofs facility.
The mount command is a subcommand invoked by mount(8) to handle the housekeeping needed to find and mount part or all of FedFS domain namespaces.
The plug-in library provides an API for resolving local junctions into a list of file system locations. The API is described in a new header file installed in /usr/include. A patch to mountd (nfs-utils) is available to support the use of this plug-in library.
The fedfsd program is an RPC server that allows remote administrators to create FedFS junctions in local file systems. FedFS ADMIN requests that can mutate local file system state are authenticated via RPCSEC GSSAPI (not yet implemented). Run this program on NFS file servers that participate in a FedFS federation to allow the management of FedFS junctions on that server.
The command-line clients are used by FedFS adminstrators to manage the state of the local FedFS federation. These are simple clients that expose the raw administrative operations of FedFS, much like the bottom-level git commands. Eventually we plan to create high-level clients, much like git porcelain, to provide some degree of automation to FedFS administration.
The INSTALL file in this distribution explains more about how to build these components, and which of these components to install on what systems.