From Antelope cycle, the NetApp unified driver for ONTAP with NVMe/TCP is a driver interface from OpenStack Cinder to NetApp ONTAP storage controllers to accomplish provisioning and management of a storage-area network (SAN) block storage entity; that is, a NetApp NVMe namespace that uses the NVMe over TCP protocol.
To set up the NetApp ONTAP NVMe/TCP driver for Cinder, the
following stanza should be added to the Cinder configuration file
(cinder.conf
):
[myNVMeBackend]
volume_backend_name=myNVMeBackend
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_server_hostname=hostname
netapp_storage_protocol=nvme
netapp_storage_family=ontap_cluster
netapp_login=admin_username
netapp_password=admin_password
netapp_vserver=svm_name
max_over_subscription_ratio=1.0
reserved_percentage=5
Be sure that the value of the enabled_backends
option in the
[DEFAULT]
stanza includes the name of the stanza you chose for
the backend.
The value of netapp_storage_protocol
MUST be set to nvme
.
The NetApp NVMe over TCP driver supports only the required Cinder operations:
Create and Delete Volume
Attach and Detach Volume
Extend Volume
Create and Delete Snapshot
Create Volume from Snapshot
Create Volume from Volume (clone)
Create Image from Volume
Volume Migration (host assisted)
Note
The NVMe/TCP driver runs only with REST communication mode. However, you
do not need to set the netapp_use_legacy_client
to False
as other
ONTAP drivers require, since the NVMe driver ignores this configuration and
communicate only with REST mode.
Important
The NVMe/TCP Cinder driver requires an ONTAP storage 9.11.1 or newer.
Table 4.21, “Configuration options for ONTAP with NVMe” below lists the configuration options available for the unified driver for an ONTAP deployment that uses the NVMe/TCP storage protocol.
Option |
Type |
Default Value |
Description |
---|---|---|---|
|
Required |
The hostname or IP address for the storage system or proxy server. The value of this option should be the IP address of either the cluster management LIF or the SVM management LIF. |
|
|
Optional |
The TCP port to use for communication with the storage system or proxy server. If not specified, ONTAP drivers will use 80 for HTTP and 443 for HTTPS. |
|
|
Required |
Administrative user account name used to access the storage system or proxy server. |
|
|
Required |
Password for the administrative user account specified in the |
|
|
Required |
The storage protocol to be used. Valid options are |
|
|
Required |
|
Transport protocol for communicating with the storage system or proxy server. Valid options include |
|
Required |
This option specifies the storage virtual machine (previously called a Vserver) name on the storage cluster on which provisioning of block storage volumes should occur. |
|
|
Optional |
|
The storage family type used on the storage system; valid values are |
|
Optional |
|
This option defines the type of operating system that will access a NVMe namespace exported from ONTAP; it is assigned to the namespace at the time it is created. |
|
Optional |
This option is a comma-separated list of options (valid values include |
|
|
Optional |
|
A regular expression to limit the API tracing. This option is honored only if enabling |
|
Optional |
|
This option defines the type of operating system for all initiators that can access a NVMe namespace. This information is used when mapping namespaces to individual hosts or groups of hosts. |
|
Optional |
|
This option represents the amount of total capacity of a storage pool that will be reserved and cannot be utilized for provisioning Cinder volumes. |
|
Optional |
|
This option is defined as a float, and specifies the amount of over-provisioning to allow when thin provisioning is being used in the storage pool. A value of 1.0 will mean that the provisioned capacity will not be able to exceed the total capacity, while larger values will result in increased levels of allowed over-provisioning. |
|
Optional |
|
This option is only utilized when the Cinder driver is configured to use iSCSI, NVMe or Fibre Channel. It is used to restrict provisioning to the specified FlexVol volumes. Specify the value of this option as a regular expression which will be applied to the names of FlexVol volumes from the storage backend which represent pools in Cinder. |
|
Optional |
(see description) |
This option may be used to override the default filter function, which prevents Cinder from placing new volumes on storage controllers that may become overutilized. The default value is “capabilities.utilization < 70”. |
|
Optional |
(see description) |
This option may be used to override the default goodness function, which allows Cinder to place new volumes on lesser-utilized storage controllers. The default value is “100 - capabilities.utilization”. |
|
Optional |
|
The maximum time in seconds to wait for completing a REST asynchronous operation. |
|
Optional |
(see description) |
The path to a CA_BUNDLE file or directory with certificates of trusted CA. If set to a directory, it must have been processed using the |
Table 4.21. Configuration Options for ONTAP with NVMe
Caution
If you specify an account in the netapp_login
option that only
has SVM administration privileges (rather than cluster
administration privileges), some advanced features of the NetApp
unified driver will not work and you may see warnings in the Cinder
logs. See the section called “Account Permission Considerations”
for more details on the required access level permissions for an SVM
admin account.
This document is licensed under Apache 2.0 license.