draft-ietf-nfsv4-federated-fs-protocol-09.txt   draft-ietf-nfsv4-federated-fs-protocol-10.txt 
NFSv4 Working Group J. Lentini NFSv4 Working Group J. Lentini
Internet-Draft C. Everhart Internet-Draft C. Everhart
Intended status: Standards Track NetApp Intended status: Standards Track NetApp
Expires: March 6, 2011 D. Ellard Expires: May 23, 2011 D. Ellard
Raytheon BBN Technologies Raytheon BBN Technologies
R. Tewari R. Tewari
M. Naik M. Naik
IBM Almaden IBM Almaden
September 2, 2010 November 19, 2010
NSDB Protocol for Federated Filesystems NSDB Protocol for Federated Filesystems
draft-ietf-nfsv4-federated-fs-protocol-09 draft-ietf-nfsv4-federated-fs-protocol-10
Abstract Abstract
This document describes a filesystem federation protocol that enables This document describes a filesystem federation protocol that enables
file access and namespace traversal across collections of file access and namespace traversal across collections of
independently administered fileservers. The protocol specifies a set independently administered fileservers. The protocol specifies a set
of interfaces by which fileservers with different administrators can of interfaces by which fileservers with different administrators can
form a fileserver federation that provides a namespace composed of form a fileserver federation that provides a namespace composed of
the filesystems physically hosted on and exported by the constituent the filesystems physically hosted on and exported by the constituent
fileservers. fileservers.
skipping to change at page 1, line 47 skipping to change at page 1, line 47
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 6, 2011. This Internet-Draft will expire on May 23, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
skipping to change at page 3, line 32 skipping to change at page 3, line 32
2.11. Unified Namespace and the Root Fileset . . . . . . . . . . 12 2.11. Unified Namespace and the Root Fileset . . . . . . . . . . 12
3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1. Creating a Fileset and its FSL(s) . . . . . . . . . . . . 12 3.1. Creating a Fileset and its FSL(s) . . . . . . . . . . . . 12
3.1.1. Creating a Fileset and an FSN . . . . . . . . . . . . 13 3.1.1. Creating a Fileset and an FSN . . . . . . . . . . . . 13
3.1.2. Adding a Replica of a Fileset . . . . . . . . . . . . 13 3.1.2. Adding a Replica of a Fileset . . . . . . . . . . . . 13
3.2. Junction Resolution . . . . . . . . . . . . . . . . . . . 13 3.2. Junction Resolution . . . . . . . . . . . . . . . . . . . 13
3.3. Example Use Cases for Fileset Annotations . . . . . . . . 14 3.3. Example Use Cases for Fileset Annotations . . . . . . . . 14
4. NSDB Configuration and Schema . . . . . . . . . . . . . . . . 15 4. NSDB Configuration and Schema . . . . . . . . . . . . . . . . 15
4.1. LDAP Configuration . . . . . . . . . . . . . . . . . . . . 15 4.1. LDAP Configuration . . . . . . . . . . . . . . . . . . . . 15
4.2. LDAP Schema . . . . . . . . . . . . . . . . . . . . . . . 16 4.2. LDAP Schema . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.1. LDAP Attributes . . . . . . . . . . . . . . . . . . . 17 4.2.1. LDAP Attributes . . . . . . . . . . . . . . . . . . . 19
4.2.2. LDAP Objects . . . . . . . . . . . . . . . . . . . . . 35 4.2.2. LDAP Objects . . . . . . . . . . . . . . . . . . . . . 37
5. NSDB Operations . . . . . . . . . . . . . . . . . . . . . . . 38 5. NSDB Operations . . . . . . . . . . . . . . . . . . . . . . . 40
5.1. NSDB Operations for Administrators . . . . . . . . . . . . 39 5.1. NSDB Operations for Administrators . . . . . . . . . . . . 41
5.1.1. Create an FSN . . . . . . . . . . . . . . . . . . . . 40 5.1.1. Create an FSN . . . . . . . . . . . . . . . . . . . . 42
5.1.2. Delete an FSN . . . . . . . . . . . . . . . . . . . . 41 5.1.2. Delete an FSN . . . . . . . . . . . . . . . . . . . . 43
5.1.3. Create an FSL . . . . . . . . . . . . . . . . . . . . 41 5.1.3. Create an FSL . . . . . . . . . . . . . . . . . . . . 43
5.1.4. Delete an FSL . . . . . . . . . . . . . . . . . . . . 45 5.1.4. Delete an FSL . . . . . . . . . . . . . . . . . . . . 47
5.1.5. Update an FSL . . . . . . . . . . . . . . . . . . . . 45 5.1.5. Update an FSL . . . . . . . . . . . . . . . . . . . . 47
5.2. NSDB Operations for Fileservers . . . . . . . . . . . . . 46 5.2. NSDB Operations for Fileservers . . . . . . . . . . . . . 48
5.2.1. NSDB Container Entry (NCE) Enumeration . . . . . . . . 46 5.2.1. NSDB Container Entry (NCE) Enumeration . . . . . . . . 48
5.2.2. Lookup FSLs for an FSN . . . . . . . . . . . . . . . . 46 5.2.2. Lookup FSLs for an FSN . . . . . . . . . . . . . . . . 48
5.3. NSDB Operations and LDAP Referrals . . . . . . . . . . . . 48 5.3. NSDB Operations and LDAP Referrals . . . . . . . . . . . . 50
6. Security Considerations . . . . . . . . . . . . . . . . . . . 48 6. Security Considerations . . . . . . . . . . . . . . . . . . . 50
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 49 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 51
7.1. LDAP Descriptor Registration . . . . . . . . . . . . . . . 49 7.1. LDAP Descriptor Registration . . . . . . . . . . . . . . . 51
8. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 55 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9.1. Normative References . . . . . . . . . . . . . . . . . . . 55 9.1. Normative References . . . . . . . . . . . . . . . . . . . 57
9.2. Informative References . . . . . . . . . . . . . . . . . . 57 9.2. Informative References . . . . . . . . . . . . . . . . . . 59
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 58 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 60
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 58 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 60
1. Introduction 1. Introduction
A federated filesystem enables file access and namespace traversal in A federated filesystem enables file access and namespace traversal in
a uniform, secure and consistent manner across multiple independent a uniform, secure and consistent manner across multiple independent
fileservers within an enterprise or across multiple enterprises. fileservers within an enterprise or across multiple enterprises.
This document specifies a set of protocols that allow fileservers, This document specifies a set of protocols that allow fileservers,
possibly from different vendors and with different administrators, to possibly from different vendors and with different administrators, to
cooperatively form a federation containing one or more federated cooperatively form a federation containing one or more federated
skipping to change at page 17, line 26 skipping to change at page 17, line 26
<CODE BEGINS> <CODE BEGINS>
sh extract.sh < spec.txt > fedfs.schema sh extract.sh < spec.txt > fedfs.schema
<CODE ENDS> <CODE ENDS>
The effect of the script is to remove leading white space from each The effect of the script is to remove leading white space from each
line, plus a sentinel sequence of "///". line, plus a sentinel sequence of "///".
As stated above, code components extracted from this document must
include the following license:
<CODE BEGINS>
/// #
/// # Copyright (c) 2010 IETF Trust and the persons identified
/// # as authors of the code. All rights reserved.
/// #
/// # The authors of the code are the authors of
/// # [draft-ietf-nfsv4-federated-fs-protocol-xx.txt]: J. Lentini,
/// # C. Everhart, D. Ellard, R. Tewari, and M. Naik.
/// #
/// # Redistribution and use in source and binary forms, with
/// # or without modification, are permitted provided that the
/// # following conditions are met:
/// #
/// # - Redistributions of source code must retain the above
/// # copyright notice, this list of conditions and the
/// # following disclaimer.
/// #
/// # - Redistributions in binary form must reproduce the above
/// # copyright notice, this list of conditions and the
/// # following disclaimer in the documentation and/or other
/// # materials provided with the distribution.
/// #
/// # - Neither the name of Internet Society, IETF or IETF
/// # Trust, nor the names of specific contributors, may be
/// # used to endorse or promote products derived from this
/// # software without specific prior written permission.
/// #
/// # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
/// # AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
/// # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
/// # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
/// # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
/// # EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
/// # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
/// # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
/// # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
/// # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
/// # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
/// # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
/// # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
/// # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
/// # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/// #
<CODE ENDS>
4.2.1. LDAP Attributes 4.2.1. LDAP Attributes
This section describes the required attributes of the NSDB LDAP This section describes the required attributes of the NSDB LDAP
schema. The following definitions are used below: schema. The following definitions are used below:
o The "name" attribute described in [RFC4519]. o The "name" attribute described in [RFC4519].
o The Integer syntax (1.3.6.1.4.1.1466.115.121.1.27) described in o The Integer syntax (1.3.6.1.4.1.1466.115.121.1.27) described in
[RFC4517]. [RFC4517].
skipping to change at page 18, line 19 skipping to change at page 19, line 41
4.2.1.1. fedfsUuid 4.2.1.1. fedfsUuid
A fedfsUuid is the base type for all of the universally unique A fedfsUuid is the base type for all of the universally unique
identifiers (UUIDs) used by the federated filesystem protocols. identifiers (UUIDs) used by the federated filesystem protocols.
To minimize the probability of two UUIDs colliding, a consistent To minimize the probability of two UUIDs colliding, a consistent
procedure for generating UUIDs SHOULD be used throughout a procedure for generating UUIDs SHOULD be used throughout a
federation. Within a federation, UUIDs SHOULD be generated using the federation. Within a federation, UUIDs SHOULD be generated using the
procedure described for version 1 of the UUID variant specified in procedure described for version 1 of the UUID variant specified in
[RFC4122]. [RFC4122]. This is the time-based UUID variant provided by many UUID
programming libraries (e.g., the OSF DCE uuid_generate_time(1) API).
The UUID's text representation (as defined in [RFC4122]) SHOULD be The UUID's text representation (as defined in [RFC4122]) SHOULD be
encoded as a UTF-8 string. encoded as a UTF-8 string.
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.
A fedfsUuid is a single-valued LDAP attribute. A fedfsUuid is a single-valued LDAP attribute.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.1 NAME 'fedfsUuid' /// 1.3.6.1.4.1.31103.1.1 NAME 'fedfsUuid'
/// DESC 'A UUID used by NSDB' /// DESC 'A UUID used by NSDB'
/// SUP name /// SUP name
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
skipping to change at page 23, line 41 skipping to change at page 25, line 20
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.12. fedfsAnnotation 4.2.1.12. fedfsAnnotation
A fedfsAnnotation contains an object annotation. A fedfsAnnotation contains an object annotation formatted as a key/
value pair.
This attribute is multi-valued; an object type that permits This attribute is multi-valued; an object type that permits
annotations may have any number of annotations per instance. annotations may have any number of annotations per instance.
A fedfsAnnotation attribute MUST be an UTF-8 string formatted as A fedfsAnnotation attribute is a human-readable sequence of UTF-8
follows: characters with no non-terminal NUL characters. The value MUST be
formatted according to the following ABNF [RFC5234] rules:
"KEY" = "VAL" ANNOTATION = KEY EQUALS VALUE
KEY = ITEM
VALUE = ITEM
ITEM = BLANK DQUOTE STR DQUOTE BLANK
BLANK = 0*EMPTY
EMPTY = SPACE / HTAB
HTAB = %x09 ; horizontal tab
STR = 0*UTF8
White space, defined as space, form-feed ('\f'), newline ('\n'), The DQUOTE, EQUALS, UTF8, and SPACE rules are defined in [RFC4512].
carriage return ('\r'), horizontal tab ('\t'), and vertical tab
('\v') characters, is ignored.
KEY and VAL MAY may contain any UTF-8 characters. The following The following escape sequences are allowed:
escape sequences are allowed:
+-----------------+-------------+ +-----------------+-------------+
| escape sequence | replacement | | escape sequence | replacement |
+-----------------+-------------+ +-----------------+-------------+
| \\ | \ | | \\ | \ |
| \" | " | | \" | " |
+-----------------+-------------+ +-----------------+-------------+
A fedfsAnnotation value SHOULD be processed as follows:
1. Scan through the attribute value and replace the above escape
sequences.
2. Parse the results of the previous step according to the
ANNOTATION rule.
A fedfsAnnotation attribute that does not adhere to this format A fedfsAnnotation attribute that does not adhere to this format
SHOULD be ignored. SHOULD be ignored.
The following are examples of valid fedfsAnnotation attributes: The following are examples of valid fedfsAnnotation attributes:
"key1" = "foo" "key1" = "foo"
"another key" = "x=3" "another key" = "x=3"
"key-2" = "A string with \" and \\ characters." "key-2" = "A string with \" and \\ characters."
which correspond to the following key/value pairs: which correspond to the following key/value pairs:
skipping to change at page 56, line 43 skipping to change at page 58, line 43
Syntaxes and Matching Rules", RFC 4517, June 2006. Syntaxes and Matching Rules", RFC 4517, June 2006.
[RFC4519] Sciberras, A., "Lightweight Directory Access Protocol [RFC4519] Sciberras, A., "Lightweight Directory Access Protocol
(LDAP): Schema for User Applications", RFC 4519, (LDAP): Schema for User Applications", RFC 4519,
June 2006. June 2006.
[RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority (IANA) [RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
Considerations for the Lightweight Directory Access Considerations for the Lightweight Directory Access
Protocol (LDAP)", BCP 64, RFC 4520, June 2006. Protocol (LDAP)", BCP 64, RFC 4520, June 2006.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008. (TLS) Protocol Version 1.2", RFC 5246, August 2008.
[RFC5661] Shepler, S., Eisler, M., and D. Noveck, "Network File [RFC5661] Shepler, S., Eisler, M., and D. Noveck, "Network File
System (NFS) Version 4 Minor Version 1 Protocol", System (NFS) Version 4 Minor Version 1 Protocol",
RFC 5661, January 2010. RFC 5661, January 2010.
9.2. Informative References 9.2. Informative References
[AFS] Howard, J., "An Overview of the Andrew File System", [AFS] Howard, J., "An Overview of the Andrew File System",
 End of changes. 16 change blocks. 
41 lines changed or deleted 103 lines changed or added

This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/