[Federated-fs] updated NSDB draft
James Lentini
jlentini at netapp.com
Fri Sep 19 07:58:42 PDT 2008
Attached is a revised draft of the NSDB protocol specification. Please
let me know if you have any comments by 5:00 PM PST Monday, 9/22.
As we discussed on the call yesterday, our goal is to republish this
draft and the requirements, admin protocol, and DNS SRV drafts as
NFSv4 wg drafts next week.
Here is a diff of the changes:
--- draft-tewari-nfsv4-federated-fs-protocol-03.txt 2008-09-19 10:00:48.736339000 -0400
+++ draft-tewari-nfsv4-federated-fs-protocol.txt 2008-09-19 10:56:48.371746000 -0400
@@ -2,12 +2,14 @@
Network Working Group D. Ellard
-Internet-Draft C. Everhart
-Intended status: Standards Track NetApp, Inc.
-Expires: February 6, 2009 R. Tewari
+Internet-Draft BBN Technologies
+Intended status: Standards Track C. Everhart
+Expires: March 23, 2009 J. Lentini
+ NetApp, Inc.
+ R. Tewari
M. Naik
IBM Almaden
- August 5, 2008
+ September 19, 2008
NSDB Protocol for Federated Filesystems
@@ -36,7 +38,7 @@ Status of this Memo
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
- This Internet-Draft will expire on February 6, 2009.
+ This Internet-Draft will expire on March 23, 2009.
Copyright Notice
@@ -50,11 +52,9 @@ Copyright Notice
-
-
-Ellard, et al. Expires February 6, 2009 [Page 1]
+Ellard, et al. Expires March 23, 2009 [Page 1]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
Abstract
@@ -75,16 +75,19 @@ Table of Contents
2.1. Protocol Goals . . . . . . . . . . . . . . . . . . . . . . 5
3. Overview of Features and Concepts . . . . . . . . . . . . . . 7
3.1. Namespace . . . . . . . . . . . . . . . . . . . . . . . . 7
- 3.2. Fileset . . . . . . . . . . . . . . . . . . . . . . . . . 7
+ 3.2. Fileset and Fileset Name (FSN) . . . . . . . . . . . . . . 7
3.3. Fileset Location (FSL) . . . . . . . . . . . . . . . . . . 8
- 3.3.1. Mutual Consistency across Fileset Locations . . . . . 9
- 3.4. Namespace Repository (NSDB) . . . . . . . . . . . . . . . 9
+ 3.3.1. Mutual Consistency across Fileset Locations . . . . . 8
+ 3.4. Namespace Database (NSDB) . . . . . . . . . . . . . . . . 9
3.5. Mount Points, Junctions and Referrals . . . . . . . . . . 10
- 3.6. Federation Root FileServers . . . . . . . . . . . . . . . 11
+ 3.6. Federation Root FileServers . . . . . . . . . . . . . . . 10
3.7. Federation Root FileSet . . . . . . . . . . . . . . . . . 11
3.8. Fileservers . . . . . . . . . . . . . . . . . . . . . . . 11
3.9. File-access Clients . . . . . . . . . . . . . . . . . . . 11
- 4. Interaction with NFSv4 . . . . . . . . . . . . . . . . . . . . 12
+ 4. Interaction with client protocols . . . . . . . . . . . . . . 12
+ 4.1. Interaction with NFSv4 . . . . . . . . . . . . . . . . . . 12
+ 4.2. Interaction with other distributed file system
+ protocols . . . . . . . . . . . . . . . . . . . . . . . . 12
5. Finding the local NSDB . . . . . . . . . . . . . . . . . . . . 13
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.1. Create a Fileset and its FSL(s) . . . . . . . . . . . . . 14
@@ -102,46 +105,44 @@ Table of Contents
8.2.4. nsdbName . . . . . . . . . . . . . . . . . . . . . . . 20
8.2.5. fslHost . . . . . . . . . . . . . . . . . . . . . . . 20
8.2.6. fslPath . . . . . . . . . . . . . . . . . . . . . . . 20
- 8.2.7. annotation . . . . . . . . . . . . . . . . . . . . . . 21
- 8.2.8. descr . . . . . . . . . . . . . . . . . . . . . . . . 21
- 8.2.9. fslUuid . . . . . . . . . . . . . . . . . . . . . . . 21
-Ellard, et al. Expires February 6, 2009 [Page 2]
+Ellard, et al. Expires March 23, 2009 [Page 2]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
- 8.2.10. junctionKey . . . . . . . . . . . . . . . . . . . . . 21
- 8.2.11. childFsnUuid . . . . . . . . . . . . . . . . . . . . . 21
- 8.2.12. childNsdbName . . . . . . . . . . . . . . . . . . . . 22
+ 8.2.7. fslUuid . . . . . . . . . . . . . . . . . . . . . . . 20
+ 8.2.8. type . . . . . . . . . . . . . . . . . . . . . . . . . 21
+ 8.2.9. currency . . . . . . . . . . . . . . . . . . . . . . . 21
+ 8.2.10. annotation . . . . . . . . . . . . . . . . . . . . . . 21
+ 8.2.11. junctionKey . . . . . . . . . . . . . . . . . . . . . 21
+ 8.2.12. childFsnUuid . . . . . . . . . . . . . . . . . . . . . 22
+ 8.2.13. childNsdbName . . . . . . . . . . . . . . . . . . . . 22
8.3. LDAP Objects . . . . . . . . . . . . . . . . . . . . . . . 22
8.3.1. FsnObject . . . . . . . . . . . . . . . . . . . . . . 22
8.3.2. FslObject . . . . . . . . . . . . . . . . . . . . . . 22
- 8.3.3. JunctionObject . . . . . . . . . . . . . . . . . . . . 22
+ 8.3.3. JunctionObject . . . . . . . . . . . . . . . . . . . . 23
9. NSDB Protocol Operations . . . . . . . . . . . . . . . . . . . 24
9.1. Administrative NSDB Operations . . . . . . . . . . . . . . 24
9.1.1. Creating an FSN . . . . . . . . . . . . . . . . . . . 25
9.1.2. Deleting an FSN . . . . . . . . . . . . . . . . . . . 26
9.1.3. Mount an FSN . . . . . . . . . . . . . . . . . . . . . 26
9.1.4. Unmount an FSN . . . . . . . . . . . . . . . . . . . . 27
- 9.1.5. Create an FSL . . . . . . . . . . . . . . . . . . . . 28
+ 9.1.5. Create an FSL . . . . . . . . . . . . . . . . . . . . 27
9.1.6. Delete an FSL . . . . . . . . . . . . . . . . . . . . 28
- 9.1.7. Update an FSL . . . . . . . . . . . . . . . . . . . . 29
- 9.1.8. Examining an FSL . . . . . . . . . . . . . . . . . . . 29
- 9.1.9. Finding the children FSNs of a fileset . . . . . . . . 29
- 9.2. Fileserver to NSDB Operations . . . . . . . . . . . . . . 30
- 9.2.1. Looking up FSLs for an FSN . . . . . . . . . . . . . . 30
+ 9.1.7. Update an FSL . . . . . . . . . . . . . . . . . . . . 28
+ 9.1.8. Finding the children FSNs of a fileset . . . . . . . . 29
+ 9.2. Fileserver to NSDB Operations . . . . . . . . . . . . . . 29
+ 9.2.1. Looking up FSLs for an FSN . . . . . . . . . . . . . . 29
10. Security Considerations . . . . . . . . . . . . . . . . . . . 31
11. IANA Requirements . . . . . . . . . . . . . . . . . . . . . . 32
12. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 33
13. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
14. Normative References . . . . . . . . . . . . . . . . . . . . . 37
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38
- Intellectual Property and Copyright Statements . . . . . . . . . . 39
-
-
+ Intellectual Property and Copyright Statements . . . . . . . . . . 40
@@ -163,10 +164,9 @@ Internet-Draft NSDB Protocol for Feder
-
-Ellard, et al. Expires February 6, 2009 [Page 3]
+Ellard, et al. Expires March 23, 2009 [Page 3]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
1. Requirements notation
@@ -220,9 +220,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 4]
+Ellard, et al. Expires March 23, 2009 [Page 4]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
2. Introduction
@@ -276,9 +276,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 5]
+Ellard, et al. Expires March 23, 2009 [Page 5]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
also have an arbitrary number of administrative entities responsible
@@ -332,9 +332,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 6]
+Ellard, et al. Expires March 23, 2009 [Page 6]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
3. Overview of Features and Concepts
@@ -364,12 +364,12 @@ Internet-Draft NSDB Protocol for Feder
that should permit traversal into another namespace at defined
junction points.
-3.2. Fileset
+3.2. Fileset and Fileset Name (FSN)
A fileset is defined to be a container of data and is the basic unit
of data management. It is uniquely represented by the fileset name
(FSN). An FSN is considered unique across the federation. An FSN
- contains information sufficient to locate the namespace repository
+ contains information sufficient to locate the namespace database
(NSDB) that holds authoritative information about it and an
identifier, called fsn_uuid, that identifies it on that NSDB. After
an FSN is created, it is associated with a fileset location (FSL) on
@@ -380,78 +380,52 @@ Internet-Draft NSDB Protocol for Feder
contains authoritative information for this FSN.
FsnUuid: a 128-bit UUID (universally unique identifier), conforming
- to [RFC4122], that is used to uniquely identify an FSN.
-
+ to [RFC4122], that is used to uniquely identify an FSN. An NSDB
+ SHOULD ensure that no two FSNs it stores have the same FsnUuid.
-Ellard, et al. Expires February 6, 2009 [Page 7]
+Ellard, et al. Expires March 23, 2009 [Page 7]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
3.3. Fileset Location (FSL)
An FSL represents the location where the fileset data resides. Each
- FSL maps to a host:path pair on a file server. An FSL may also have
+ FSL contains a host:path pair on a file server. An FSL may also have
additional attributes. Each location has an associated type that
determines the protocol(s) that may be used to access its data. Type
information can be used to decide the list of locations that will be
- returned to the client. It also has associated status information.
- Other attributes associated with an FSL are based on the NFSv4.1
- fs_locations_info attribute[RFCTBD].
-
- struct FSL {
- utf8string host_fqdn;
- utf8string pathname;
- FSL_ATTR attrs;
- };
+ returned to the client. Other attributes associated with an FSL are
+ based on the NFSv4.1 fs_locations_info attribute[RFCTBD].
Each FSL consists of:
- host_fqdn: the name of the host fileserver storing the physical data
-
- pathname: the exported pathname at that host fileserver
-
- attrs: additional attributes for this FSL, as described in the
- FSL_ATTR structure
+ FslHost: the fully qualified domain name of the host fileserver
+ storing the physical data
+ FslPathname: the exported pathname at that host fileserver
- struct FSL_ATTR {
- protocol_t type;
- int32_t currency;
- annotation_t annotations<>;
- fs_status_t status;
- opaque_t info<>;
- }
+ FslUuid: the 128-bit UUID of the FSL
- The attributes associated with each FSL are:
+ Type: the protocol that should be used to access this FSL (e.g.
+ NFSv4)
- type: the protocol(s) supported by the fileserver hosting this FSL
-
- currency: the time lag of this FSL represented as the number of time
+ Currency: the time lag of this FSL represented as the number of time
units it lags the latest version as defined by the NFSv4.1
- fs_locations_info attribute. A currency value of 0 represents the
- latest version. Currency values are less than or equal to zero
-
- annotations: a list of name/value pairs that can be interpreted by
- an individual NSDB. The semantics of the name/value pair is not
- defined by this protocol and is intended to be used by higher-
- level administration protocols
-
-
-
-Ellard, et al. Expires February 6, 2009 [Page 8]
-
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
-
-
- status: fls_status as defined by the NFSv4.1 status attribute
-
- info: as defined in NFSv4.1 fs_locations_info attribute
+ fs_locations_server's fls_currency field. A currency value of 0
+ represents the latest version. Currency values are less than or
+ equal to zero
+
+ Annotations: a list of name/value pairs that can be interpreted by a
+ fileserver and used to generate a referral. The semantics of the
+ name/value pair is not defined by this protocol and is intended to
+ be used by higher-level protocols. This field MAY be used to
+ store the NFSv4.1 fl_locations_server's fls_info values
3.3.1. Mutual Consistency across Fileset Locations
@@ -467,6 +441,14 @@ Internet-Draft NSDB Protocol for Feder
write location. The federation protocols, however, cannot prevent
subsequent changes to a read-only location nor guarantee point-in-
time consistency of a read-only location if the read-write location
+
+
+
+Ellard, et al. Expires March 23, 2009 [Page 8]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
+
+
is changing.
Regardless of the type, all locations exist at the same mount point
@@ -485,7 +467,7 @@ Internet-Draft NSDB Protocol for Feder
raises a concern for NFSv3 fileservers, which the federation protocol
may support, that may lack such control.
-3.4. Namespace Repository (NSDB)
+3.4. Namespace Database (NSDB)
The NSDB service is a federation-wide service that provides
interfaces to define, update, and query FSN information and FSN to
@@ -498,13 +480,6 @@ Internet-Draft NSDB Protocol for Feder
analogous to that between the DNS service and a particular DNS
server.
-
-
-Ellard, et al. Expires February 6, 2009 [Page 9]
-
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
-
-
The term local NSDB is shorthand for an NSDB location that is known a
priori to a server. It is typically located within the same
federation member as the server, but this is not required. A local
@@ -519,13 +494,26 @@ Internet-Draft NSDB Protocol for Feder
location to resolve a junction. Each NSDB location supports an LDAP
interface and can be accessed by an LDAP client.
+ An NSDB may be replicated throught the federation. The mechanism by
+ which this is acheived is outside the scope of this document. Many
+ LDAP implementations support replication. These features MAY be used
+
+
+
+Ellard, et al. Expires March 23, 2009 [Page 9]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
+
+
+ to replicate the NSDB.
+
3.5. Mount Points, Junctions and Referrals
A mount point is a directory in a parent fileset where a target
fileset may be attached. If a client traverses the path leading from
- the root of the namespace to the mount point of a fileset it should
- be able to access the data in that fileset (assuming appropriate
- permissions).
+ the root of the namespace to the mount point of a target fileset it
+ should be able to access the data in that target fileset (assuming
+ appropriate permissions).
The directory where a fileset is mounted is represented by a junction
in the underlying filesystem. In other words, a junction can be
@@ -538,9 +526,10 @@ Internet-Draft NSDB Protocol for Feder
What data is used by the underlying file system to represent the
junction is not defined by this protocol. The essential property is
that the server must be able to find, given the junction, the FSN for
- the target fileset. The FSN (as described earlier) contains both the
- NSDB location of the authoritative NSDB location and the FsnUuid (a
- UUID for the fileset).
+ the target fileset. The mechanism by which the server maps a
+ junction to an FSN is outside the scope of this document. The FSN
+ (as described earlier) contains both the NSDB location of the
+ authoritative NSDB location and the FsnUuid (a UUID for the fileset).
When a client traversal reaches a junction, the client is referred to
a list of FSLs associated with the FSN that was the target of the
@@ -553,14 +542,6 @@ Internet-Draft NSDB Protocol for Feder
fileset is mounted in the namespace. Filesets can be nested -- a
fileset can be mounted under another fileset.
-
-
-
-Ellard, et al. Expires February 6, 2009 [Page 10]
-
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
-
-
3.6. Federation Root FileServers
A set of designated fileservers that render the common federation-
@@ -572,6 +553,14 @@ Internet-Draft NSDB Protocol for Feder
fileservers. If a client mounts from a non-root fileserver then it
can traverse the part of the namespace that is visible starting from
that fileserver. A client can mount multiple individual filesets
+
+
+
+Ellard, et al. Expires March 23, 2009 [Page 10]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
+
+
from multiple non-root fileservers and chose to navigate the
namespace in any manner. How the client discovers the root
fileserver(s), if one is defined, is not in the scope of the
@@ -600,7 +589,9 @@ Internet-Draft NSDB Protocol for Feder
3.9. File-access Clients
File access clients are standard off-the-shelf NAS clients that
- access file data using the NFSv4 protocol.
+ access file data using the NFSv4 protocol or some other protocol.
+
+
@@ -612,23 +603,32 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 11]
-
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
-4. Interaction with NFSv4
- The federation protocol is compatible with the requirements of NFSv4
- referral mechanisms as defined in [RFC3530].
+Ellard, et al. Expires March 23, 2009 [Page 11]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
+
+
+4. Interaction with client protocols
+
+4.1. Interaction with NFSv4
+
+ The federation protocol is compatible with the requirements of NFSv4
+ referral mechanisms as defined in [RFC3530].
+4.2. Interaction with other distributed file system protocols
+ The federation protocol does not mandate a specific format for
+ pathnames. Therefore it is possible to store the pathnames used by a
+ variety of distributed file systems, including CIFS.
@@ -668,20 +668,16 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 12]
+Ellard, et al. Expires March 23, 2009 [Page 12]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
5. Finding the local NSDB
- The local NSDB may be used for finding the mapping from the server's
- local representation of a junction to an FSN. How the mapping is
- resolved is implementation-specific. The fed-fs protocol does not
- mandate how and if a local NSDB is defined or located. A fileserver
- could choose to have a special configuration setup for defining the
- local or default NSDB in a manner similar to a resolv.conf file for
- DNS.
+ The fed-fs protocol does not mandate how and if a local NSDB is
+ defined or located. A fileserver's local NSDB configuration could be
+ specified using a simple text file or some other mechanism.
@@ -724,9 +720,13 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 13]
+
+
+
+
+Ellard, et al. Expires March 23, 2009 [Page 13]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
6. Examples
@@ -767,26 +767,26 @@ Internet-Draft NSDB Protocol for Feder
2. Request that the NSDB node register a new FSN for the fileset.
- The FSN may either be chosen by the NSDB node or by the server.
- The latter case is used if the fileset is being restored, perhaps
- as part of disaster recovery, and the server wishes to specify
- the FSN in order to permit existing junctions that reference that
- FSN to work again.
+ The FSN UUID is choosen by the administrator or generated
+ automatically by administration software. The former case is
+ used if the fileset is being restored, perhaps as part of
+ disaster recovery, and the administrator wishes to specify the
+ FSN UUID in order to permit existing junctions that reference
+ that FSN to work again.
- At this point, the FSN exists, but its location is unspecified.
+ At this point, the FSN exists, but its fileset locations are
+ unspecified.
- 3. Send the FSN, the local volume path, the export path, and the
- export options for the local implementation of the fileset to the
-Ellard, et al. Expires February 6, 2009 [Page 14]
+Ellard, et al. Expires March 23, 2009 [Page 14]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
- NSDB node. Annotations about the FSN or the location may also be
- sent.
+ 3. Send the FSN, the export path, the type, the currency, and
+ annotations for the fileset to the NSDB node.
The NSDB node records this info and creates the initial FSL for
the fileset.
@@ -836,9 +836,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 15]
+Ellard, et al. Expires March 23, 2009 [Page 15]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
of FSLs.
@@ -892,9 +892,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 16]
+Ellard, et al. Expires March 23, 2009 [Page 16]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
7. Error Definitions
@@ -948,9 +948,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 17]
+Ellard, et al. Expires March 23, 2009 [Page 17]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
ERR_WRONGSEC The security mechanism being used by the client for the
@@ -1004,9 +1004,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 18]
+Ellard, et al. Expires March 23, 2009 [Page 18]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
8. Mapping the NSDB onto LDAP
@@ -1017,12 +1017,12 @@ Internet-Draft NSDB Protocol for Feder
used in order to ensure compatibility between different
implementations. The second section defines the new LDAP attribute
types and the subsequent sections describe the new object types and
- specifies how the distinguished name of each object instance MUST be
- constructed.
+ specify how the distinguished name (DN) of each object instance MUST
+ be constructed.
8.1. Basic LDAP Configuration
- The base name (or suffix) for all of DNs used by the NSDB schema is
+ The base name (or suffix) for all DNs used by the NSDB schema is
"dc=fed-fs,dc=com".
The DN of the priviledged LDAP user is, by convention,
@@ -1033,14 +1033,12 @@ Internet-Draft NSDB Protocol for Feder
database or view privilidged information must be made aware of the
new DN.
- It MUST be possible for the anonymous (unauthenticated) user perform
- LDAP queries that access the NSDB data.
+ It MUST be possible for the anonymous (unauthenticated) user to
+ perform LDAP queries that access the NSDB data.
- All implementation SHOULD use the same schema, or, at minimum, a
+ All implementations SHOULD use the same schema, or, at minimum, a
schema that includes all of the objects, with each of the attributes,
- named in the following sections. The complete schema SHOULD be
- defined as part of the protocol (or as a separate RFC) when its
- definition is complete.
+ named in the following sections.
8.2. LDAP Attributes
@@ -1057,24 +1055,24 @@ Internet-Draft NSDB Protocol for Feder
It MAY also be useful, for purposes of debugging or annotation, to
permit a fedfsUuid to include members of a more general class of
+ strings.
-Ellard, et al. Expires February 6, 2009 [Page 19]
-
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Ellard, et al. Expires March 23, 2009 [Page 19]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
- strings.
- A fedfsUuid is a single-valued attribute.
+ A fedfsUuid is a single-valued LDAP attribute.
8.2.2. fedfsNetAddr
- An fedfsNetAddr is the locative name of a TCP/IP-based network
- service. It MUST be able to express network locations as IPv4, IPv6,
- and DNS FQDN notations. It may include a port specifier, or the port
- may be implicit in context.
+ A fedfsNetAddr is the locative name of a network service. It MUST be
+ able to express network locations as IPv4, IPv6, and DNS FQDN
+ notations. It may include a port specifier, or the port may be
+ implicit in context.
There MAY be a special syntax at some point for specifying a SVR
record (for a DNS FQDN).
@@ -1111,45 +1109,56 @@ Internet-Draft NSDB Protocol for Feder
This attribute is single-valued.
+8.2.7. fslUuid
+ Each FSL must have a UUID associated with it, which serves as part of
+ its DN.
-
-Ellard, et al. Expires February 6, 2009 [Page 20]
+Ellard, et al. Expires March 23, 2009 [Page 20]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
-8.2.7. annotation
+ The fslUuid attribute is a subclass of fedfsUuid.
- An annotation of an NSDB object.
+ This attribute is single-valued.
- This attribute is multi-valued; an object type that permits
- annotations may have any number of annotations per instance.
+8.2.8. type
- This attribute is a placeholder; it has not been well-defined at the
- date of this draft.
+ The type of an FSL.
-8.2.8. descr
+ This attribute is used to specify the distribute file system protocol
+ that can be used to access an FSL. The following values are defined
+ for this field:
- A descriptive attribute containing information about an NSDB object.
+ nfsv4 : the FSL is accessible via the NFSv4 protocol.
- This attribute is single-valued.
+ Values for other protocols may be defined at a later time.
- This attribute is a placeholder; it has not been well-defined at the
- date of this draft.
+ This attribute is single-valued.
-8.2.9. fslUuid
+8.2.9. currency
- Each FSL must have a UUID associated with it, which serves as part of
- its DN.
+ The currency of an FSL.
- The fslUuid attribute is a subclass of fedfsUuid.
+ This attribute is used to populate the NFSv4.1 fs_locations_info's
+ currency field.
This attribute is single-valued.
-8.2.10. junctionKey
+8.2.10. annotation
+
+ An annotation of an NSDB object.
+
+ This attribute is multi-valued; an object type that permits
+ annotations may have any number of annotations per instance.
+
+ This attribute is a placeholder; it has not been well-defined at the
+ date of this draft.
+
+8.2.11. junctionKey
Each junction has a unique junctionKey that is used to distinguish it
from other junctions that may refer to the same child fileset and/or
@@ -1159,25 +1168,24 @@ Internet-Draft NSDB Protocol for Feder
This attribute is single-valued.
-8.2.11. childFsnUuid
- The fsnUuid of the target of a junction.
- The childFsnUuid attribute is a subclass of fsnUuid.
-
- This attribute is single-valued.
+Ellard, et al. Expires March 23, 2009 [Page 21]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
+8.2.12. childFsnUuid
+ The fsnUuid of the target of a junction.
-Ellard, et al. Expires February 6, 2009 [Page 21]
-
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+ The childFsnUuid attribute is a subclass of fsnUuid.
+ This attribute is single-valued.
-8.2.12. childNsdbName
+8.2.13. childNsdbName
The nsdbName of the target of a junction.
@@ -1191,10 +1199,7 @@ Internet-Draft NSDB Protocol for Feder
An FsnObject represents an FSN.
- The required attributes of an FsnObject are an fsnUuid and nsdbName.
-
- An FsnObject MAY also have descr and annotation attributes, but
- neither is required.
+ The required attributes of an FsnObject are an nsdbName and fsnUuid.
The DN of an FSN is assumed to take the following form:
"fsnUuid=FSNUUID,dc=fed-fs,dc=com", where fsnUuid is the UUID of the
@@ -1207,11 +1212,10 @@ Internet-Draft NSDB Protocol for Feder
An FslObject represents an FSL.
- The required attributes of an FslObject are an fsnUuid, nsdbName,
- fslHost, fslPath, and fslUuid.
+ The required attributes of an FslObject are an nsdbName, fsnUuid,
+ fslHost, fslPath, and fslUuid, type, currency, and annotations.
- An FslObject MAY also have descr and annotation attributes, but
- neither is required.
+ An FslObject's currency and annotations attributes MAY be null.
The DN of an FSL is required to take the following form:
"fslUuid=UUID,fsnUuid=FSNUUID,dc=fed-fs,dc=com".
@@ -1221,18 +1225,18 @@ Internet-Draft NSDB Protocol for Feder
filter for "objectType = fslObject". (If you want to be doubly
careful, you can also filter by the nsdbName.)
-8.3.3. JunctionObject
-
- An JunctionObject captures the relationship between a fileset and its
- children (if any). The children FSNs are FSNs that appear in
-Ellard, et al. Expires February 6, 2009 [Page 22]
+Ellard, et al. Expires March 23, 2009 [Page 22]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
+
+8.3.3. JunctionObject
+ An JunctionObject captures the relationship between a fileset and its
+ children (if any). The children FSNs are FSNs that appear in
junctions in the fileset named by the fsnUuid and nsdbName attributes
of the parent FSN.
@@ -1280,13 +1284,9 @@ Internet-Draft NSDB Protocol for Feder
-
-
-
-
-Ellard, et al. Expires February 6, 2009 [Page 23]
+Ellard, et al. Expires March 23, 2009 [Page 23]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
9. NSDB Protocol Operations
@@ -1314,7 +1314,7 @@ Internet-Draft NSDB Protocol for Feder
unnecessary to describe the LDAP operations in detail, because the
operations are ordinary LDAP operations to query and update records.
However, we do not require that an NSDB location implement a complete
- NSDB service, and therefore we define in these sections the minimum
+ LDAP service, and therefore we define in these sections the minimum
level of LDAP functionality required to implement an NSDB location.
The NSDB sub-protocols are defined in the next two sub-sections.
@@ -1322,7 +1322,7 @@ Internet-Draft NSDB Protocol for Feder
The third sub-protocol defines the queries or other requests that are
sent to a fileset server in order to get information from it or to
modify the state of the fileset server in a manner related to the
- federation protocols. The primary purpose of this for an
+ federation protocols. The primary purpose of this protocol is for an
administrator to create or delete a junction or fileset or discover
related information about a particular fileset server.
@@ -1340,9 +1340,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 24]
+Ellard, et al. Expires March 23, 2009 [Page 24]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
We require that each NSDB location be able to act as an LDAP server
@@ -1369,9 +1369,9 @@ Internet-Draft NSDB Protocol for Feder
with an fsnUuid of FSNUUID and an NsdbName of NSDB.
The NSDB location that receives the request SHOULD check that the
- NSDB matches its own value and return an ERR_WRONGNSDB error if does
- not. This is to ensure that an FSN is always created by the NSDB
- location encoded within the FSN as its owner.
+ NSDB matches its own value and return an ERR_WRONGNSDB error if it
+ does not. This is to ensure that an FSN is always created by the
+ NSDB location encoded within the FSN as its owner.
The NSDB location that receives the request SHOULD check all of the
attributes for validity and consistency, but this is not generally
@@ -1396,9 +1396,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 25]
+Ellard, et al. Expires March 23, 2009 [Page 25]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
dn: fsnUuid=FSNUUID,dc=fed-fs,dc=com
@@ -1409,11 +1409,10 @@ Internet-Draft NSDB Protocol for Feder
9.1.2. Deleting an FSN
- Deletes the Fileset with the given FSN. This assumes that all the
- FSLs related to that FSN have already been deleted. If FSL records
- for this FSN still exist in the database of the NSDB that receives
- this request, then this function MUST return with an ERR_NOTEMPTY
- error.
+ Deletes the given fileset name. This assumes that all the FSLs
+ related to that FSN have already been deleted. If FSL records for
+ this FSN still exist in the database of the NSDB that receives this
+ request, then this function MUST return with an ERR_NOTEMPTY error.
Note that the FSN delete function only removes the fileset from the
namespace (by removing the records for that FSN from the NSDB
@@ -1427,9 +1426,9 @@ Internet-Draft NSDB Protocol for Feder
9.1.2.1. LDAP Request
- The admin then sends an LDAP DELETE request to the NSDB server to
- remove the FsnObject from the NSDB server. An example LDIF for the
- delete request is shown below.
+ The admin sends an LDAP DELETE request to the NSDB server to remove
+ the FsnObject from the NSDB server. An example LDIF for the delete
+ request is shown below.
dn: fsnUuid=FSNUUID,dc=fed-fs,dc=com
changeType: delete
@@ -1449,15 +1448,15 @@ Internet-Draft NSDB Protocol for Feder
The parent/child relation is used to indicate how the filesets in the
federation are related. The names "parent" and "child" should not be
taken literally. A fileset can have no parent (if it is a root
+ fileset). A fileset may also have any number of parents. In theory,
-Ellard, et al. Expires February 6, 2009 [Page 26]
+Ellard, et al. Expires March 23, 2009 [Page 26]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
- fileset). A fileset may also have any number of parents. In theory,
the parent of a fileset may also be its child, although in practice
this is deprecated.
@@ -1501,24 +1500,19 @@ Internet-Draft NSDB Protocol for Feder
dn: key=KEY,fsnUuid=FSNUUID,dc=fed-fs,dc=com
changeType: delete
+9.1.5. Create an FSL
+ Creates a new Fileset location at the given location denoted by HOST
+ and PATH for the given FSN. Normally an FSL is identified by the
+ HOST:PATH pair. A UUID is an optional way to identify an FSL if it
-
-
-
-Ellard, et al. Expires February 6, 2009 [Page 27]
+Ellard, et al. Expires March 23, 2009 [Page 27]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
-9.1.5. Create an FSL
-
- Creates a new Fileset location at the given location denoted by HOST
- and PATH for the given FSN. An fsl_uuid may be provided as an
- optional UUID for the FSL. Normally an FSL is identified by the
- HOST:PATH pair. A UUID is an optional way to identify an FSL if it
is recovered to a different HOST:PATH after a backup/restore. If the
FSL belongs to an FSN that has another FSN mounted under it then
there would be a related junction_create operation.
@@ -1540,8 +1534,9 @@ Internet-Draft NSDB Protocol for Feder
fslUuid: UUID
fslHost: HOST
fslPath: PATH
- type: nfs4
- version: VERSION
+ type: file access protocol type (e.g. nfs4)
+ currency: CURRENCY
+ annotation: ANNOTATION
9.1.6. Delete an FSL
@@ -1557,18 +1552,6 @@ Internet-Draft NSDB Protocol for Feder
dn: fslUuid=UUID,fsnUuid=FSNUUID,dc=fed-fs,dc=com
changeType: delete
-
-
-
-
-
-
-
-Ellard, et al. Expires February 6, 2009 [Page 28]
-
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
-
-
9.1.7. Update an FSL
Update the attributes of a given FSL. This command results in a
@@ -1578,22 +1561,21 @@ Internet-Draft NSDB Protocol for Feder
PARAGRAPH DESCRIBING ERRORS
-9.1.7.1. LDAP Request
- dn: fslUuid=UUID,fsnUuid=FSNUUID,dc=fed-fs,dc=com
- changeType: modify
- replace: ATTRIBUTE-TYPE
-9.1.8. Examining an FSL
- Find all attributes of a given FSL from the FSLObject stored at the
- NSDB location.
+Ellard, et al. Expires March 23, 2009 [Page 28]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
- ERRORS: ERR_OK ERR_NOTFOUND ERR_INVALID ERR_PERM
- WHERE IS THE LDAP FOR THIS? -DJE
+9.1.7.1. LDAP Request
-9.1.9. Finding the children FSNs of a fileset
+ dn: fslUuid=UUID,fsnUuid=FSNUUID,dc=fed-fs,dc=com
+ changeType: modify
+ replace: ATTRIBUTE-TYPE
+
+9.1.8. Finding the children FSNs of a fileset
The NSDB also tracks information about which filesets are "children"
of others. A fileset X is a child of fileset Y if there is a
@@ -1616,15 +1598,6 @@ Internet-Draft NSDB Protocol for Feder
of the implementation (but it may also eliminate some very useful
functionality).
-
-
-
-
-Ellard, et al. Expires February 6, 2009 [Page 29]
-
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
-
-
LDAP Request
Search base: fsnUuid=FSNUUID, dc=fed-fs, dc=com
Search scope: onelevel
@@ -1643,6 +1616,15 @@ Internet-Draft NSDB Protocol for Feder
ERRORS: ERR_OK ERR_NOTFOUND ERR_INVALID ERR_PERM
+
+
+
+
+Ellard, et al. Expires March 23, 2009 [Page 29]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
+
+
LDAP Request
Search base: fsnUuid=FSNUUID, dc=fed-fs, dc=com
Search scope: onelevel
@@ -1676,14 +1658,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 30]
-
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
-10. Security Considerations
- To be added.
@@ -1699,6 +1676,25 @@ Internet-Draft NSDB Protocol for Feder
+Ellard, et al. Expires March 23, 2009 [Page 30]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
+
+
+10. Security Considerations
+
+ Both LDAP and NFSv4 provide security mechanisms. When used in
+ conjunction with the federated file system protocols described in
+ this document, the use of these mechanisms is RECOMMENDED.
+ Specifically, the use of RPCSEC_GSS [RFC2203] [RFC2743] is
+ RECOMMENDED on all connections between a client and filerserver. For
+ all LDAP connections established by the federated file system
+ protocols, TLS [RFC4346] [RFC4513] is RECOMMENDED.
+
+
+
+
+
@@ -1732,9 +1728,13 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 31]
+
+
+
+
+Ellard, et al. Expires March 23, 2009 [Page 31]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
11. IANA Requirements
@@ -1788,9 +1788,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 32]
+Ellard, et al. Expires March 23, 2009 [Page 32]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
12. Conclusions
@@ -1844,9 +1844,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 33]
+Ellard, et al. Expires March 23, 2009 [Page 33]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
13. Glossary
@@ -1900,9 +1900,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 34]
+Ellard, et al. Expires March 23, 2009 [Page 34]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
FSN (Fileset name): A platform-independent and globally unique name
@@ -1956,9 +1956,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 35]
+Ellard, et al. Expires March 23, 2009 [Page 35]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
The namespace provided by a server collection could be part of the
@@ -2012,9 +2012,9 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 36]
+Ellard, et al. Expires March 23, 2009 [Page 36]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
14. Normative References
@@ -2068,21 +2068,21 @@ Internet-Draft NSDB Protocol for Feder
-Ellard, et al. Expires February 6, 2009 [Page 37]
+Ellard, et al. Expires March 23, 2009 [Page 37]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
Authors' Addresses
Daniel Ellard
- NetApp, Inc.
- 1601 Trapelo Rd, Suite 16
- Waltham, MA 02451
+ BBN Technologies
+ 10 Moulton Street
+ Cambridge, MA 02138
US
- Phone: +1 781-768-5421
- Email: ellard at netapp.com
+ Phone: +1 617-873-8000
+ Email: ellard at google.com
Craig Everhart
@@ -2095,6 +2095,16 @@ Authors' Addresses
Email: everhart at netapp.com
+ James Lentini
+ NetApp, Inc.
+ 1601 Trapelo Rd, Suite 16
+ Waltham, MA 02451
+ US
+
+ Phone: +1 781-768-5359
+ Email: jlentini at netapp.com
+
+
Renu Tewari
IBM Almaden
650 Harry Rd
@@ -2104,6 +2114,21 @@ Authors' Addresses
Email: tewarir at us.ibm.com
+
+
+
+
+
+
+
+
+
+
+Ellard, et al. Expires March 23, 2009 [Page 38]
+
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
+
+
Manoj Naik
IBM Almaden
650 Harry Rd
@@ -2124,9 +2149,40 @@ Authors' Addresses
-Ellard, et al. Expires February 6, 2009 [Page 38]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ellard, et al. Expires March 23, 2009 [Page 39]
-Internet-Draft NSDB Protocol for Federated Filesystems August 2008
+Internet-Draft NSDB Protocol for Federated Filesystems September 2008
Full Copyright Statement
@@ -2180,5 +2236,5 @@ Acknowledgment
-Ellard, et al. Expires February 6, 2009 [Page 39]
+Ellard, et al. Expires March 23, 2009 [Page 40]
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: draft-tewari-nfsv4-federated-fs-protocol.txt
Url: https://lists.sdsc.edu/pipermail/federated-fs/attachments/20080919/6f2c709f/draft-tewari-nfsv4-federated-fs-protocol.txt
More information about the Federated-fs
mailing list