The NetApp E-Series driver for Cinder was introduced in the Icehouse release as a new storage family supported within the NetApp unified driver framework. The E-Series driver provides OpenStack with access to NetApp E-Series controllers for provisioning and maintaining OpenStack block storage volumes that use the iSCSI protocol.
As described in the section called “Theory of Operation & Deployment Choices”, Cinder with NetApp E-Series requires the use of the NetApp SANtricity Web Services Proxy server deployed as an intermediary between Cinder and the E-Series storage system. A common deployment topology with Cinder, Nova, and an E-Series controller with the SANtricity Web Services Proxy can be seen in Figure 4.7, “Cinder & E-Series Deployment Topology”.
Tip | |
---|---|
Installation instructions for the NetApp SANtricity Web Services Proxy server are available for download at https://library.netapp.com/ecm/ecm_download_file/ECMLP2428355, and the User Guide is available for download at https://library.netapp.com/ecm/ecm_download_file/ECMLP2428357. |
Tip | |
---|---|
The default http port for SANtricity Web Services Proxy is 8080. This port can be changed if necessary to avoid conflicts with another service, such as Swift. See Web Services Proxy documentation for instructions. |
Dynamic disk pools (as described in the section called “Description of E-Series and EF-Series Systems”) and volume groups are the supported disk collection strategies when utilizing the Cinder E-Series driver. For more information on the capabilities of the E-Series storage systems, visit http://support.netapp.com.
Tip | |
---|---|
While formally introduced in the Icehouse release of OpenStack, NetApp has backported the E-Series driver to the Grizzly and Havana releases of OpenStack, accessible at https://github.com/NetApp/cinder. Be sure to choose the branch from this repository that matches the release version of OpenStack you are deploying with. |
Important | |
---|---|
The use of multipath and DM-MP are required when using the OpenStack Block Storage driver for E-Series. Ensure that all unconfigured iSCSI host ports on the E-Series array are disabled for both IPv4 and IPv6 in order for multipath to function properly. |
Important | |
---|---|
Cinder volumes provisioned through the E-Series driver will not be mapped to LUN 0, as LUN 0 is reserved for special use with E-Series arrays. |
To set up the NetApp E-Series driver for Cinder, the following stanza should be added to the Cinder configuration file (cinder.conf
):
[myESeriesBackend] volume_backend_name=myESeriesBackend volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver netapp_server_hostname=hostname
netapp_server_port=8080
netapp_transport_type=http netapp_storage_protocol=iscsi netapp_storage_family=eseries netapp_controller_ips=1.2.3.4,1.2.3.5
netapp_sa_password=storage_array_password
netapp_pool_name_search_pattern=(.+)
netapp_login=admin_username
netapp_password=admin_password
use_multipath_for_image_xfer=True max_over_subscription_ratio=1.0
reserved_percentage=5
consistencygroup_support = True
Be sure that the value of the | |
As the E-Series solution only provides block storage services, the value of | |
The value of |
Important | |
---|---|
In order for OpenStack Block Storage and OpenStack Compute to take advantage of multiple paths, the following configuration options must be correctly configured:
|
Table 4.19, “Configuration options for E-Series with iSCSI” lists the configuration options available for the unified driver for a E-Series deployment that use the iSCSI storage protocol.
Option | Type | Default Value | Description |
netapp_server_hostname |
Required | The hostname or IP address for the proxy server. | |
netapp_server_port |
Optional | The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS. | |
netapp_login |
Required | Administrative user account name used to access the proxy server. | |
netapp_password |
Required | Password for the administrative user account specified in the netapp_login option. |
|
netapp_storage_protocol |
Required | The storage protocol to be used. Valid options are nfs , iscsi or FC . |
|
netapp_transport_type |
Required | http |
Transport protocol for communicating with the proxy server. Valid options include http and https . |
netapp_webservice_path |
Optional | /devmgr/v2 |
This option is used to specify the path to the E-Series proxy application on a proxy server. The value is combined with the value of the netapp_transport_type , netapp_server_hostname , and netapp_server_port options to create the URL used by the driver to connect to the proxy application. |
netapp_controller_ips |
Required | This option is only utilized when the storage family is configured to eseries . This option is used to restrict provisioning to the specified controllers. Specify the value of this option to be a comma separated list of controller management hostnames or IP addresses to be used for provisioning. |
|
netapp_sa_password |
Optional | Password for the NetApp E-Series storage array. | |
netapp_pool_name_search_pattern |
Optional | (.+) |
This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of pools from the eseries storage backend. |
netapp_storage_family |
Required | ontap_cluster |
The storage family type used on the storage system; valid values are ontap_7mode for Data ONTAP operating in 7-Mode, ontap_cluster for clustered Data ONTAP, or eseries for E-Series. |
netapp_host_type |
Optional | linux_dm_mp |
This option defines the type of operating system for all initiators that can access a LUN. This information is used when mapping LUNs to individual hosts or groups of hosts. Refer to Table 4.21, “Values for specifying host type OS for E-Series Storage Systems” for available options. |
netapp_enable_multiattach |
Optional | false |
This option specifies whether the driver should allow operations that require multiple attachments to a volume. An example would be live migration of servers that have volumes attached. When enabled, this backend is limited to 256 total volumes in order to guarantee volumes can be accessed by more than one host. More information can be found here: the section called “Nova Live Migration of Instances with Attached E-Series Volumes” |
reserved_percentage |
Optional | 0 |
This option represents the amount of total capacity of a storage pool that will be reserved and cannot be utilized for provisioning Cinder volumes. |
max_over_subscription_ratio |
Optional | 20.0 |
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. |
netapp_pool_name_search_pattern |
Optional | (.+) |
This option is only utilized when the Cinder driver is configured to use iSCSI or Fibre Channel. It is used to restrict provisioning to the specified volume groups or disk pools. Specify the value of this option as a regular expression which will be applied to the names of volume groups or disk pools from the storage backend which represent pools in Cinder. ^ (beginning of string) and $ (end of string) are implicitly wrapped around the regular expression specified before filtering. |
consistencygroup_support |
Optional | False | Enables support for Cinder consistency groups in the driver |
use_chap_auth |
Optional |
|
This option is defined as a boolean, and specifies if unidirectional CHAP is enabled. Provides authenticated communication between iSCSI initiators and targets. |