Internet Engineering Task Force (IETF) B. Halevy
Request for Comments: 5664 B. Welch
Category: Standards Track J. Zelenka
ISSN: 2070-1721 Panasas
January 2010
Object-Based Parallel NFS (pNFS) Operations
Abstract
Parallel NFS (pNFS) extends Network File System version 4 (NFSv4) to
allow clients to directly access file data on the storage used by the
NFSv4 server. This ability to bypass the server for data access can
increase both performance and parallelism, but requires additional
client functionality for data access, some of which is dependent on
the class of storage used, a.k.a. the Layout Type. The main pNFS
operations and data types in NFSv4 Minor version 1 specify a layout-
type-independent layer; layout-type-specific information is conveyed
using opaque data structures whose internal structure is further
defined by the particular layout type specification. This document
specifies the NFSv4.1 Object-Based pNFS Layout Type as a companion to
the main NFSv4 Minor version 1 specification.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc5664.
Halevy, et al. Standards Track [Page 1]
RFC 5664 pNFS Objects January 2010
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction ....................................................3
1.1. Requirements Language ......................................4
2. XDR Description of the Objects-Based Layout Protocol ............4
2.1. Code Components Licensing Notice ...........................4
3. Basic Data Type Definitions .....................................6
3.1. pnfs_osd_objid4 ............................................6
3.2. pnfs_osd_version4 ..........................................6
3.3. pnfs_osd_object_cred4 ......................................7
3.4. pnfs_osd_raid_algorithm4 ...................................8
4. Object Storage Device Addressing and Discovery ..................8
4.1. pnfs_osd_targetid_type4 ...................................10
4.2. pnfs_osd_deviceaddr4 ......................................10
4.2.1. SCSI Target Identifier .............................11
4.2.2. Device Network Address .............................11
5. Object-Based Layout ............................................12
5.1. pnfs_osd_data_map4 ........................................13
5.2. pnfs_osd_layout4 ..........................................14
5.3. Data Mapping Schemes ......................................14
5.3.1. Simple Striping ....................................15
5.3.2. Nested Striping ....................................16
5.3.3. Mirroring ..........................................17
5.4. RAID Algorithms ...........................................18
5.4.1. PNFS_OSD_RAID_0 ....................................18
5.4.2. PNFS_OSD_RAID_4 ....................................18
5.4.3. PNFS_OSD_RAID_5 ....................................18
5.4.4. PNFS_OSD_RAID_PQ ...................................19
5.4.5. RAID Usage and Implementation Notes ................19
6. Object-Based Layout Update .....................................20
6.1. pnfs_osd_deltaspaceused4 ..................................20
6.2. pnfs_osd_layoutupdate4 ....................................21