draft-ietf-nfsv4-migration-issues-04.txt   draft-ietf-nfsv4-migration-issues-05.txt 
NFSv4 D. Noveck, Ed. NFSv4 D. Noveck, Ed.
Internet-Draft EMC Internet-Draft
Intended status: Informational P. Shivam Intended status: Informational P. Shivam
Expires: March 20, 2014 C. Lever Expires: September 16, 2014 C. Lever
B. Baker B. Baker
ORACLE ORACLE
September 16, 2013 March 15, 2014
NFSv4 migration: Implementation experience and spec issues to resolve NFSv4 migration: Implementation experience and spec issues to resolve
draft-ietf-nfsv4-migration-issues-04 draft-ietf-nfsv4-migration-issues-05
Abstract Abstract
The migration feature of NFSv4 provides for moving responsibility for The migration feature of NFSv4 provides for moving responsibility for
a single filesystem from one server to another, without disruption to a single filesystem from one server to another, without disruption to
clients. Recent implementation experience has shown problems in the clients. Recent implementation experience has shown problems in the
existing specification for this feature. This document discusses the existing specification for this feature. This document discusses the
issues which have arisen, explores the options available for curing issues which have arisen, explores the options available for curing
the issues, and explains the choices made in updating the NFSv4.0 and the issues, and explains the choices made in updating the NFSv4.0 and
NFSv4.1 specifications, to address migration. NFSv4.1 specifications, to address migration.
skipping to change at page 1, line 39 skipping to change at page 1, line 39
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 20, 2014. This Internet-Draft will expire on September 16, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2014 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
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 26 skipping to change at page 2, line 26
3.1.1. Failure to free migrated state on client reboot . . . 4 3.1.1. Failure to free migrated state on client reboot . . . 4
3.1.2. Server reboots resulting in a confused lease 3.1.2. Server reboots resulting in a confused lease
situation . . . . . . . . . . . . . . . . . . . . . . 5 situation . . . . . . . . . . . . . . . . . . . . . . 5
3.1.3. Client complexity issues . . . . . . . . . . . . . . 6 3.1.3. Client complexity issues . . . . . . . . . . . . . . 6
3.2. Sources of Protocol difficulties . . . . . . . . . . . . 8 3.2. Sources of Protocol difficulties . . . . . . . . . . . . 8
3.2.1. Issues with nfs_client_id4 generation and use . . . . 8 3.2.1. Issues with nfs_client_id4 generation and use . . . . 8
3.2.2. Issues with lease proliferation . . . . . . . . . . . 10 3.2.2. Issues with lease proliferation . . . . . . . . . . . 10
4. Issues to be resolved in NFSv4.0 . . . . . . . . . . . . . . 10 4. Issues to be resolved in NFSv4.0 . . . . . . . . . . . . . . 10
4.1. Possible changes to nfs_client_id4 client-string . . . . 10 4.1. Possible changes to nfs_client_id4 client-string . . . . 10
4.2. Possible changes to handle differing nfs_client_id4 4.2. Possible changes to handle differing nfs_client_id4
string values . . . . . . . . . . . . . . . . . . . . . . 11 string values . . . . . . . . . . . . . . . . . . . . . . 12
4.3. Possible changes to add a new operation . . . . . . . . . 12 4.3. Possible changes to add a new operation . . . . . . . . . 12
4.4. Other issues within migration-state sections . . . . . . 12 4.4. Other issues within migration-state sections . . . . . . 12
4.5. Issues within other sections . . . . . . . . . . . . . . 13 4.5. Issues within other sections . . . . . . . . . . . . . . 13
5. Proposed resolution of NFSv4.0 protocol difficulties . . . . 13 5. Proposed resolution of NFSv4.0 protocol difficulties . . . . 13
5.1. Proposed changes: nfs_client_id4 client-string . . . . . 13 5.1. Proposed changes: nfs_client_id4 client-string . . . . . 14
5.2. Proposed changes: merged (vs. synchronized) leases . . . 14 5.2. Proposed changes: merged (vs. synchronized) leases . . . 14
5.3. Other proposed changes to migration-state sections . . . 16 5.3. Other proposed changes to migration-state sections . . . 16
5.3.1. Proposed changes: Client ID migration . . . . . . . . 16 5.3.1. Proposed changes: Client ID migration . . . . . . . . 16
5.3.2. Proposed changes: Callback re-establishment . . . . . 16 5.3.2. Proposed changes: Callback re-establishment . . . . . 17
5.3.3. Proposed changes: NFS4ERR_LEASE_MOVED rework . . . . 17 5.3.3. Proposed changes: NFS4ERR_LEASE_MOVED rework . . . . 17
5.4. Proposed changes to other sections . . . . . . . . . . . 17 5.4. Proposed changes to other sections . . . . . . . . . . . 17
5.4.1. Proposed changes: callback update . . . . . . . . . . 17 5.4.1. Proposed changes: callback update . . . . . . . . . . 17
5.4.2. Proposed changes: clientid4 handling . . . . . . . . 18 5.4.2. Proposed changes: clientid4 handling . . . . . . . . 18
5.4.3. Proposed changes: NFS4ERR_CLID_INUSE . . . . . . . . 19 5.4.3. Proposed changes: NFS4ERR_CLID_INUSE . . . . . . . . 19
6. Results of proposed changes for NFSv4.0 . . . . . . . . . . . 20 6. Results of proposed changes for NFSv4.0 . . . . . . . . . . . 20
6.1. Results: Failure to free migrated state on client reboot 20 6.1. Results: Failure to free migrated state on client reboot 21
6.2. Results: Server reboots resulting in confused lease 6.2. Results: Server reboots resulting in confused lease
situation . . . . . . . . . . . . . . . . . . . . . . . . 21 situation . . . . . . . . . . . . . . . . . . . . . . . . 21
6.3. Results: Client complexity issues . . . . . . . . . . . . 22 6.3. Results: Client complexity issues . . . . . . . . . . . . 22
6.4. Result summary . . . . . . . . . . . . . . . . . . . . . 23 6.4. Result summary . . . . . . . . . . . . . . . . . . . . . 23
7. Issues for NFSv4.1 . . . . . . . . . . . . . . . . . . . . . 23 7. Issues for NFSv4.1 . . . . . . . . . . . . . . . . . . . . . 24
7.1. Addressing state merger in NFSv4.1 . . . . . . . . . . . 24 7.1. Addressing state merger in NFSv4.1 . . . . . . . . . . . 24
7.2. Addressing pNFS relationship with migration . . . . . . . 25 7.2. Addressing pNFS relationship with migration . . . . . . . 25
7.3. Addressing server owner changes in NFSv4.1 . . . . . . . 25 7.3. Addressing server owner changes in NFSv4.1 . . . . . . . 25
8. Security Considerations . . . . . . . . . . . . . . . . . . . 26 8. Security Considerations . . . . . . . . . . . . . . . . . . . 26
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 27
11.1. Normative References . . . . . . . . . . . . . . . . . . 27 11.1. Normative References . . . . . . . . . . . . . . . . . . 27
11.2. Informative References . . . . . . . . . . . . . . . . . 27 11.2. Informative References . . . . . . . . . . . . . . . . . 27
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28
skipping to change at page 12, line 24 skipping to change at page 12, line 27
4.3. Possible changes to add a new operation 4.3. Possible changes to add a new operation
It might be possible to return server-identity information to the It might be possible to return server-identity information to the
client, just as is done in NFSv4.1 by the response to the EXCHANGE_ID client, just as is done in NFSv4.1 by the response to the EXCHANGE_ID
operation. This could be done by a SETCLIENTID_PLUS optional operation. This could be done by a SETCLIENTID_PLUS optional
operation, which acts like SETCLIENTID, except that it returns server operation, which acts like SETCLIENTID, except that it returns server
identity information. Such information could be used by clients, identity information. Such information could be used by clients,
making it possible to for them to be aware of server trunking making it possible to for them to be aware of server trunking
relationships, rather than having to infer them from server behavior. relationships, rather than having to infer them from server behavior.
It had always been thought that protocol extensions such as this were It has been generally thought that protocol extensions such as this
not appropriate to bis documents and other documents updating NFSv4 are not appropriate in bis documents and other documents updating
protocol definition RFC's. However, it is argued in [NFS-ext] that NFSv4 protocol definition RFC's. However, it is argued in [NFS-ext]
protocol extensions, similar to those allowed between minor versions, that protocol extensions, similar to those allowed between minor
should be acceptable to correct mistakes within a minor version. versions, should be acceptable to correct mistakes within a minor
version.
A decision to adopt this approach will depend on nfsv4 working group A decision to adopt this approach will require considerable nfsv4
discussion and would probably best be effected by means of a working group discussion and would probably best be effected by means
standards-track document laying out a modified NFSv4 extension/ of a standards-track document laying out a modified NFSv4 extension/
versioning model for all minor versions. versioning model applying to all minor versions, as has been
proposed.
In view of the time to effect such changes, this approach is not In view of the time to effect such changes, this approach is not
likely to be adopted in an RFC updating [RFC3530] or [RFC3530bis], likely to be adopted in an RFC updating [RFC3530] or [RFC3530bis],
such as [migr-v4.0-update]. Still, it is worth keeping in mind, if such as [migr-v4.0-update]. Still, it is worth keeping in mind, if
implementers have difficulties inferring trunking relationships using implementers have difficulties inferring trunking relationships using
the techniques discussed there. the techniques discussed there.
4.4. Other issues within migration-state sections 4.4. Other issues within migration-state sections
There are a number of issues where the existing text is unclear and/ There are a number of issues where the existing text is unclear and/
skipping to change at page 27, line 34 skipping to change at page 27, line 34
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3530] Shepler, S., Callaghan, B., Robinson, D., Thurlow, R., [RFC3530] Shepler, S., Callaghan, B., Robinson, D., Thurlow, R.,
Beame, C., Eisler, M., and D. Noveck, "Network File System Beame, C., Eisler, M., and D. Noveck, "Network File System
(NFS) version 4 Protocol", RFC 3530, April 2003. (NFS) version 4 Protocol", RFC 3530, April 2003.
[RFC3530bis] [RFC3530bis]
Haynes, T., Ed. and D. Noveck, Ed., "Network File System Haynes, T., Ed. and D. Noveck, Ed., "Network File System
(NFS) Version 4 Protocol", 2013, <http://www.ietf.org/id/ (NFS) Version 4 Protocol", 2014, <http://www.ietf.org/id/
draft-ietf-nfsv4-rfc3530bis-27.txt>. draft-ietf-nfsv4-rfc3530bis-32.txt>.
Work in progress. Work in progress.
[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", RFC System (NFS) Version 4 Minor Version 1 Protocol", RFC
5661, January 2010. 5661, January 2010.
11.2. Informative References 11.2. Informative References
[NFS-ext] Noveck, D., "NFS Protocol Extension: Retrospect and [NFS-ext] Noveck, D., "NFS Protocol Extension: Retrospect and
Prospect", 2013, <http://www.ietf.org/id/draft-dnoveck- Prospect", 2014, <http://www.ietf.org/id/
nfs-extension-00.txt>. draft-dnoveck-nfs-extension-01.txt>.
Work in progress. Work in progress.
[migr-v4.0-update] [migr-v4.0-update]
Noveck, D., Ed., Shivam, P., Lever, C., and B. Baker, Noveck, D., Ed., Shivam, P., Lever, C., and B. Baker,
"NFSv4.0 migration: Specification Update", 2013, <http:// "NFSv4.0 migration: Specification Update", 2013,
www.ietf.org/id/draft-ietf-nfsv4-rfc3530-migration- <http://www.ietf.org/id/
update-02.txt>. draft-ietf-nfsv4-rfc3530-migration-update-03.txt>.
Work in progress. Work in progress.
Authors' Addresses Authors' Addresses
David Noveck (editor) David Noveck (editor)
EMC Corporation 26 Locust Avenue
228 South Street Lexington, MA 02421
Hopkinton, MA 01748
US US
Phone: +1 508 249 5748 Phone: +1 781 572 8038
Email: david.noveck@emc.com Email: david.noveck@emc.com
Piyush Shivam Piyush Shivam
Oracle Corporation Oracle Corporation
5300 Riata Park Ct. 5300 Riata Park Ct.
Austin, TX 78727 Austin, TX 78727
US US
Phone: +1 512 401 1019 Phone: +1 512 401 1019
Email: piyush.shivam@oracle.com Email: piyush.shivam@oracle.com
 End of changes. 18 change blocks. 
31 lines changed or deleted 32 lines changed or added

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