idnits 2.17.1 draft-hellwig-nfsv4-scsi-layout-nvme-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 08, 2016) is 2848 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 NFSv4 C. Hellwig 3 Internet-Draft 4 Intended status: Informational July 08, 2016 5 Expires: January 9, 2017 7 Using the Parallel NFS (pNFS) SCSI Layout with NVMe 8 draft-hellwig-nfsv4-scsi-layout-nvme-00.txt 10 Abstract 12 This document explains how to use the Parallel Network File System 13 (pNFS) SCSI Layout Type with transports using the NVMe or NVMe over 14 Fabrics protocol. 16 Status of This Memo 18 This Internet-Draft is submitted in full conformance with the 19 provisions of BCP 78 and BCP 79. 21 Internet-Drafts are working documents of the Internet Engineering 22 Task Force (IETF). Note that other groups may also distribute 23 working documents as Internet-Drafts. The list of current Internet- 24 Drafts is at http://datatracker.ietf.org/drafts/current/. 26 Internet-Drafts are draft documents valid for a maximum of six months 27 and may be updated, replaced, or obsoleted by other documents at any 28 time. It is inappropriate to use Internet-Drafts as reference 29 material or to cite them other than as "work in progress." 31 This Internet-Draft will expire on January 9, 2017. 33 Copyright Notice 35 Copyright (c) 2016 IETF Trust and the persons identified as the 36 document authors. All rights reserved. 38 This document is subject to BCP 78 and the IETF Trust's Legal 39 Provisions Relating to IETF Documents 40 (http://trustee.ietf.org/license-info) in effect on the date of 41 publication of this document. Please review these documents 42 carefully, as they describe your rights and restrictions with respect 43 to this document. Code Components extracted from this document must 44 include Simplified BSD License text as described in Section 4.e of 45 the Trust Legal Provisions and are provided without warranty as 46 described in the Simplified BSD License. 48 Table of Contents 50 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 51 1.1. Conventions Used in This Document . . . . . . . . . . . . 2 52 1.2. General Definitions . . . . . . . . . . . . . . . . . . . 2 53 2. SCSI Layout mapping to NVMe . . . . . . . . . . . . . . . . . 3 54 2.1. Volume Identification . . . . . . . . . . . . . . . . . . 3 55 2.2. Client Fencing . . . . . . . . . . . . . . . . . . . . . 3 56 2.3. Volatile write caches . . . . . . . . . . . . . . . . . . 3 57 3. Security Considerations . . . . . . . . . . . . . . . . . . . 4 58 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 59 5. Normative References . . . . . . . . . . . . . . . . . . . . 4 60 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 4 62 1. Introduction 64 The pNFS SCSI layout [scsi-layout] is a layout type that allows NFS 65 clients to directly perform I/O to block storage devices while 66 bypassing the MDS. It is specified by using concepts from the SCSI 67 protocol family for the data path to the storage devices. This 68 documents explains how to access PCI Express, RDMA or Fibre Channel 69 devices using the NVM Express protocol [NVME] using the SCSI layout 70 type by leveraging the SCSI Translation Reference ([NVME-STLR]). 71 This document does not amend the pNFS SCSI layout document in any 72 way, instead of explains how to map the SCSI constructs used in the 73 pNFS SCSI layout document to NVMe concepts using the NVMe SCSI 74 translation reference. 76 1.1. Conventions Used in This Document 78 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 79 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 80 document are to be interpreted as described in [RFC2119]. 82 1.2. General Definitions 84 The following definitions are provided for the purpose of providing 85 an appropriate context for the reader. 87 Client The "client" is the entity that accesses the NFS server's 88 resources. The client may be an application that contains the 89 logic to access the NFS server directly. The client may also be 90 the traditional operating system client that provides remote file 91 system services for a set of applications. 93 Server The "server" is the entity responsible for coordinating 94 client access to a set of file systems and is identified by a 95 server owner. 97 2. SCSI Layout mapping to NVMe 99 The SCSI layout definition [scsi-layout] only references few SCSI 100 specific concepts directly. This document uses the NVMe SCSI 101 Translation Reference document ([NVME-STLR]) to provide mappings from 102 these SCSI concepts to NVM Express ([NVME]) concepts that SHOULD be 103 used when using the pNFS SCSI layout with NVMe devices. 105 The NVMe SCSI Translation Reference is used to define the NVMe 106 command and concepts that SHOULD be used to implement the pNFS SCSI 107 layout. Implementations MAY or MAY not use an actual SCSI to NVMe 108 translation layer. 110 2.1. Volume Identification 112 The SCSI layout uses the Device Identification VPD page (page code 113 0x83) from [SPC4] to identify the devices used by a layout. 114 Section 6.1.4 of [NVME-STLR] explains how an an implementation SHOULD 115 construct a valid Device Identification VPD page based on the NVMe 116 Identify data. Only NVMe devices that support either the EUI64 or 117 NGUID value in the Identify Namespace data SHOULD be used as storage 118 devices for the pNFS SCSI layout, as the methods based on the Serial 119 Number for legacy devices might not be suitable for unique addressing 120 needs. 122 2.2. Client Fencing 124 The SCSI layout uses Persistent Reservations to provide client 125 fencing. For this both the MDS and the Clients have to register a 126 key with the storage device, and the MDS has to create a reservation 127 on the storage device. Section 6.7 of [NVME-STLR] contains a full 128 mapping of the required PERSISTENT RESERVE IN and PERSISTENT RESERVE 129 OUT SCSI command to NVMe commands which SHOULD be used when using 130 NVMe devices as storage devices for the pNFS SCSI layout. 132 2.3. Volatile write caches 134 The equivalent of the WCE bit in the Caching Mode Page in [SBC3] is 135 the Write Cache Enable field in the NVMe Get Features command, see 136 Section 6.3.3.2 of [NVME-STLR]. If a write cache is enable on a NVMe 137 device used as a storage device for the pNFS SCSI layout, the MDS 138 must ensure to use the NVMe FLUSH command to flush the volatile write 139 cache. 141 3. Security Considerations 143 Since no protocol changes are proposed here, no security 144 considerations apply. 146 4. IANA Considerations 148 The document does not require any actions by IANA. 150 5. Normative References 152 [NVME] NVM Express, Inc., "NVM Express Revision 1.2.1", July 153 2016. 155 [NVME-STLR] 156 NVM Express, Inc., "NVM Express: SCSI Translation 157 Reference Revision 1.5", June 2015. 159 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 160 Requirement Levels", March 1997. 162 [SBC3] INCITS Technical Committee T10, "SCSI Block Commands-3", 163 ANSI INCITS INCITS 514-2014, ISO/IEC 14776-323, 2014. 165 [SPC4] INCITS Technical Committee T10, "SCSI Primary Commands-4", 166 ANSI INCITS 513-2015, 2015. 168 [scsi-layout] 169 Hellwig, C., "Parallel NFS (pNFS) SCSI Layout", June 2016. 171 Author's Address 173 Christoph Hellwig 175 Email: hch@lst.de