Scroll to navigation

NSDB-RESOLVE-FSN(8) System Manager's Manual NSDB-RESOLVE-FSN(8)

NAME

nsdb-resolve-fsn - resolve a fileset name (FSN) record on an NSDB

SYNOPSIS

nsdb-resolve-fsn [-?d] [-e nce] [-l nsdbname] [-r nsdbport] fsn-uuid

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. For further details, see fedfs(7).

The bulk of FedFS junction information in a FedFS domain is stored on one or more LDAP servers. These servers are known as namespace databases, or NSDBs, for short.

FedFS-enabled file servers and clients access the information stored on NSDBs via standard LDAP queries. FedFS-enabled file servers use these queries to resolve FedFS junctions. FedFS administrators use them to manage information about file sets contained in a FedFS domain name space.

DESCRIPTION

The nsdb-resolve-fsn(8) command is part of a collection of low-level single-use programs that are intended for testing the NSDB protocol or for use in scripts. This command resolves a FedFS fileset name (FSN) record on an NSDB into a list of fileset locations.

A fileset name, or FSN, uniquely identifies a fileset in FedFS. An FSN consists of a UUID and the hostname and port of an NSDB. This pair is intended to be unique across all of FedFS. The meaning of these items is described in more detail in fedfs(7).

A FedFS junction contains an FSN. There can be multiple junctions that contain a particular FSN. There is exactly one FSN record stored on an NSDB that corresponds to this FSN. The FSN record can have zero or more FSL records as children. Replicas of these records can exist on more than one LDAP server.

The nsdb-resolve-fsn(8) command looks up an FSN record on the named NSDB and returns the set of FSL records that are its children. This is the same operation that FedFS-enabled file servers perform when resolving the FSN contained in a FedFS junction.

This command has one positional parameter which specifies the UUID of the FSN record to resolve.

OPTIONS

Enables debugging messages during operation.
-?, --help
Displays nsdb-resolve-fsn(8) version information and a usage message on stderr.
Specifies the distinguished name of the NSDB Container Entry under which this FSN record resides. If the --nce option is not specified, the value of the FEDFS_NSDB_NCE environment variable is consulted. If this variable is not set, then the NSDB connection parameter database is searched for this DN. If none of these is specified, the nsdb-resolve-fsn(8) command searches the NSDB's naming contexts to discover its NCEs.
Specifies the NSDB hostname portion of the FSN to resolve. If the --nsdbname option is not specified, the value of the FEDFS_NSDB_HOST environment variable is consulted. If the variable is not set and the --nsdbname option is not specified, the nsdb-resolve-fsn(8) command fails.
Specifies the NSDB IP port portion of the FSN to resolve. If the --nsdbport option is not specified, the value of the FEDFS_NSDB_PORT environment variable is consulted. The default value if the variable is not set is 389.

EXIT CODES

The NSDB returns a value that reflects the success of the requested operation.

The LDAP query succeeded.
The anonymous entity does not have permission to perform the requested operation.
One of the arguments was not valid.
An unanticipated non-protocol error occurred.
The nsdb-resolve-fsn(8) command was unable to find a route to the specified NSDB.
The nsdb-resolve-fsn(8) command determined that the specified NSDB was down.
The nsdb-resolve-fsn(8) command was unable to establish a connection with the specified NSDB.
The nsdb-resolve-fsn(8) command was unable to authenticate and establish a secure connection with the specified NSDB.
A non-specific LDAP error occurred on the connection between the nsdb-resolve-fsn(8) command and specified NSDB.
An LDAP error occurred on the connection between the nsdb-resolve-fsn(8) command and specified NSDB. The specific error may be displayed on the command line.
The nsdb-resolve-fsn(8) command was unable to locate the NCE on the specified NSDB.
The nsdb-resolve-fsn(8) command was unable to locate the specified FSN on the specified NSDB.
The nsdb-resolve-fsn(8) command was unable to locate any FSLs for the specified FSN on the specified NSDB.
The nsdb-resolve-fsn(8) command received a malformed response from the specified NSDB.
An unanticipated error related to the specified NSDB occurred.
The local NSDB connection parameter database does not have any connection parameters on record for the specified NSDB.
The nsdb-resolve-fsn(8) command received an LDAP referral that it was unable to follow.
The nsdb-resolve-fsn(8) command received an LDAP referral that it was unable to follow. A specific error may be displayed on the command line.
The nsdb-resolve-fsn(8) command received an LDAP referral that it chose not to follow, either because the local implementation does not support following LDAP referrals or LDAP referral following is disabled.
The nsdb-resolve-fsn(8) command received an LDAP referral that it chose not to follow because the local NSDB connection parameter database had no connection parameters for the NSDB targeted by the LDAP referral.

EXAMPLES

Suppose you are the FedFS administrator of the example.net FedFS domain and that you have created a new FSN that looks like:

FSN UUID: 8e246ddc-7b46-11e0-8252-000c297fd679
NSDB: nsdb.example.net:389

Further suppose the NSDB nsdb.example.net:389 has an NSDB Container Entry whose distinguished name is o=fedfs, and that the FSN has a single FSL child record. To resolve the FSN, you might use:

$ nsdb-resolve-fsn -e o=fedfs \
-l nsdb.example.net \
8e246ddc-7b46-11e0-8252-000c297fd679

For FSN UUID 8e246ddc-7b46-11e0-8252-000c297fd679
FSN TTL 600

------------------------------------------------------
dn: fedfsFslUuid=323c5068-7c11-11e0-8d38-000c297fd679,
fedfsFsnUuid=8e246ddc-7b46-11e0-8252-000c297fd679,o=fedfs


FSN UUID: 8e246ddc-7b46-11e0-8252-000c297fd679
FSL UUID: 323c5068-7c11-11e0-8d38-000c297fd679
NFS fls_server: fileserver.example.net


NFS fli_rootpath: /path
NFS fls_currency: -1

and so on.

SECURITY

The NSDB protocol draft standard requires that FedFS FSN and FSL records are readable by everyone. The nsdb-resolve-fsn(8) command uses anonymous binding to perform LDAP queries.

The target LDAP server must be registered in the local NSDB connection parameter database. The connection security mode listed in the NSDB connection parameter database for the target LDAP server is used during this operation. See nsdbparams(8) for details on how to register an NSDB in the local NSDB connection parameter database.

SEE ALSO

fedfs(7), nsdb-list(8), nsdbparams(8)

RFC 5716 for FedFS requirements and overview

RFC 4510 for an introduction to LDAP

COLOPHON

This page is part of the fedfs-utils package. A description of the project and information about reporting bugs can be found at http://wiki.linux-nfs.org/wiki/index.php/FedFsUtilsProject.

AUTHOR

Chuck Lever <chuck.lever@oracle.com>

3 February 2014