NetApp E-Series Driver for OpenStack Block Storage (Cinder)

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.

 Deployment Topology

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”.

 

Figure 4.7. Cinder & E-Series Deployment Topology

An logical diagram of the deployment topology with Cinder and NetApp E-Series Storage Solutions

[Tip]Tip

Documentation (including installation instructions) for the NetApp SANtricity Web Services Proxy server are available for download at https://library.netapp.com/ecm/ecm_download_file/ECMP1506075.

Dynamic disk pools (as described in the section called “Description of E-Series and EF-Series Systems”) are the only supported disk collection strategy 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]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]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.

 Configuration Options

To set up the NetApp E-Series driver for Cinder, the following stanza should be added to the Cinder configuration file (cinder.conf):

[myESeriesBackend] 1
volume_backend_name=myESeriesBackend
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_server_hostname=hostname
netapp_server_port=80
netapp_storage_protocol=iscsi 2
netapp_storage_family=eseries 3
netapp_controller_ips=1.2.3.4,1.2.3.5
netapp_sa_password=storage_array_password
netapp_storage_pools=myPool1,myPool2
netapp_login=admin_username
netapp_password=admin_password
use_multipath_for_image_xfer=True
            

 1

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.

 2

As the E-Series solution only provides block storage services, the value of netapp_storage_protocol MUST be set to iscsi.

 3

The value of netapp_storage_family MUST be set to eseries, as the default value for this option is ontap_cluster.

[Important]Important

In order for OpenStack Block Storage and OpenStack Compute to take advantage of multiple paths, the following configuration options must be correctly configured:

  • The use_multipath_for_image_xfer should be set to True in cinder.conf within the driver stanza.
  • The iscsi_use_multipath should be set to True in nova.conf within the [libvirt] stanza.

Table 4.20, “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.

Table 4.20. Configuration options for E-Series with iSCSI
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 or iscsi.
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 hostnames or IP addresses to be used for provisioning.
netapp_sa_password Optional Password for the NetApp E-Series storage array.
netapp_storage_pools Required This option is used to restrict provisioning to the specified storage pools. Only dynamic disk pools are currently supported. Specify the value of this option to be a comma separated list of disk pool names to be used for provisioning.
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_eseries_host_type Optional linux_dm_mp This option is used to define how the controllers in the E-Series storage array will work with the particular operating system on the hosts that are connected to it. Valid values include aix, avt, factoryDefault, hpux, linux_atto, linux_dm_mp, linux_mpp_rdac, linux_pathmanager, macos, ontap, svc, solaris_v11, solaris_v10, vmware, windows, windows_atto, or windows_clustered.


loading table of contents...