FedFsUtilsProject

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
(Copy over the formatting)
(FedFS introduction)
 
(13 intermediate revisions not shown)
Line 1: Line 1:
== Project: fedfs-utils ==  
== Project: fedfs-utils ==  
-
[ Project Home | News | Downloads | Docs | Mailing Lists | Source Control | Issues ]
+
[
 +
[[FedFsUtilsProject|Project Home]] |
 +
[[FedFsUtilsNews|News]] |
 +
[[FedFsUtilsDownloads|Downloads]] |
 +
[[FedFsUtilsDocs|Docs]] |
 +
[[FedFsUtilsMailingLists|Mailing Lists]] |
 +
[[FedFsUtilsSourceControl|Source Control]] |
 +
[[FedFsUtilsIssues|Issues]]
 +
]
----
----
-
'''Project Description:''' Linux implementation of Federated File System draft standard
+
'''Project Description:''' Linux implementation of Federated File System standard (RFC 7532 and RFC 7533)
-
''' License:''' GPL-2
+
''' License:''' <span class="plainlinks">[http://oss.oracle.com/licenses/GPL-2 GPL-2]</span>
 +
 
 +
'''End-Of-Life Notice:''' This project is now at the end of its lifespan. New features are no longer being developed. The 0.10 branch of fedfs-utils will continue to be updated as security or compatibility issues arise. There is a [[FedFsUtilsTransitionPlan|plan]] for transitioning some components to other projects.
== FedFS introduction ==
== FedFS introduction ==
Line 16: Line 26:
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.
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.
+
Currently, the Linux FedFS implementation supports only NFS version 4 referrals. More on NFS version 4 referrals can be found in RFC 7530 and RFC 5661. FedFS may support other network file system protocols in the future.
== Package Overview ==
== 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 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 and for creating a global network file system namespace. Installable components include:
+
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 the top of a FedFS domain namespace
+
-
* An ONC RPC service daemon that runs on file servers enabling the management by remote FedFS ADMIN clients of FedFS junctions
+
-
* A privileged program run by mountd on the file server to resolve FedFS junctions on local file systems
+
-
* 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
+
-
* HTML Doxygen style documentation with built-in source browser
+
-
 
+
-
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 FedFS domains at the top of the client's FedFS namespace (usually /nfs4 for NFSv4 servers).
+
* Components to enable Linux NFS clients to discover and mount FedFS domain roots
 +
* Components to enable Linux NFS servers to participate in FedFS domains
 +
* Tools to manage NFSv4 referrals on Linux NFS servers
 +
* Tools to administer FedFS domains
-
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 INSTALL file in this distribution explains more about how to build these components, and which of these components to install on what systems.
-
The resolve-junction program is a side-car program used by mountd to resolve junctions on local file systems. The kernel NFS server passes a particular file system object to mountd. If mountd discovers that this object is a FedFS junction, it will resolve the junction using the FedFS NSDB protocol, and pass the results back to the kernel. This processing is in a separate executable and package from mountd in order to avoid adding additional build and run-time dependencies to nfs-utils.
+
== Distribution Information ==
-
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.
+
* [https://fedoraproject.org/wiki/Features/FedFS Fedora Project FedFS page]

Latest revision as of 15:46, 27 July 2021

Contents

Project: fedfs-utils

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


Project Description: Linux implementation of Federated File System standard (RFC 7532 and RFC 7533)

License: GPL-2

End-Of-Life Notice: This project is now at the end of its lifespan. New features are no longer being developed. The 0.10 branch of fedfs-utils will continue to be updated as security or compatibility issues arise. There is a plan for transitioning some components to other projects.

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 7530 and RFC 5661. 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:

  • Components to enable Linux NFS clients to discover and mount FedFS domain roots
  • Components to enable Linux NFS servers to participate in FedFS domains
  • Tools to manage NFSv4 referrals on Linux NFS servers
  • Tools to administer FedFS domains

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

Personal tools