openstack-manuals/doc/config-reference/block-storage/drivers/netapp-volume-driver.xml
Bob Callaway 94d5c02f23 Update download URL for NetApp copy offload binary
Closes-Bug: 1306997

Change-Id: I33284c9a717aedc4188187bce60ade64c00e2003
2014-04-13 08:05:20 -04:00

613 lines
33 KiB
XML

<section xml:id="netapp-volume-driver"
xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<title>NetApp unified driver</title>
<para>The NetApp unified driver is a block storage driver that
supports multiple storage families and protocols. A storage
family corresponds to storage systems built on different
NetApp technologies such as clustered Data ONTAP, Data ONTAP
operating in 7-Mode, and E-Series. The storage protocol refers
to the protocol used to initiate data storage and access
operations on those storage systems like iSCSI and NFS. The
NetApp unified driver can be configured to provision and manage
OpenStack volumes on a given storage family using a specified
storage protocol. The OpenStack volumes can then be used for
accessing and storing data using the storage protocol on the
storage family system. The NetApp unified driver is an
extensible interface that can support new storage families and
protocols.</para>
<section xml:id="ontap-cluster-family">
<title>NetApp clustered Data ONTAP storage family</title>
<para>The NetApp clustered Data ONTAP storage family
represents a configuration group which provides OpenStack
compute instances access to clustered Data ONTAP storage
systems. At present it can be configured in OpenStack Block Storage to work
with iSCSI and NFS storage protocols.</para>
<section xml:id="ontap-cluster-iscsi">
<title>NetApp iSCSI configuration for clustered Data
ONTAP</title>
<para>The NetApp iSCSI configuration for clustered Data
ONTAP is an interface from OpenStack to clustered Data
ONTAP storage systems for provisioning and managing
the SAN block storage entity; that is, a NetApp LUN
which can be accessed using the iSCSI protocol.</para>
<para>The iSCSI configuration for clustered Data ONTAP is
a direct interface from OpenStack Block Storage to the clustered Data
ONTAP instance and as such does not require additional
management software to achieve the desired
functionality. It uses NetApp APIs to interact with
the clustered Data ONTAP instance.</para>
<simplesect>
<title>Configuration options for clustered Data ONTAP
family with iSCSI protocol</title>
<para>Configure the volume driver, storage family and
storage protocol to the NetApp unified driver,
clustered Data ONTAP, and iSCSI respectively by
setting the <option>volume_driver</option>,
<option>netapp_storage_family</option> and
<option>netapp_storage_protocol</option>
options in <filename>cinder.conf</filename> as
follows:</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=ontap_cluster
netapp_storage_protocol=iscsi
netapp_vserver=<replaceable>openstack-vserver</replaceable>
netapp_server_hostname=<replaceable>myhostname</replaceable>
netapp_server_port=<replaceable>80</replaceable>
netapp_login=<replaceable>username</replaceable>
netapp_password=<replaceable>password</replaceable>
</programlisting>
<note>
<para>You must override the default value of
<option>netapp_storage_protocol</option>
with <literal>iscsi</literal> in order to
utilize the iSCSI protocol.</para>
</note>
<xi:include
href="../../../common/tables/cinder-netapp_cdot_iscsi.xml"/>
<note>
<para>If you specify an account in the
<option>netapp_login</option> that only
has virtual storage server (Vserver)
administration privileges (rather than
cluster-wide administration privileges), some
advanced features of the NetApp unified driver
will not work and you may see warnings in the
OpenStack Block Storage logs.</para>
</note>
<tip>
<para>For more information on these options and
other deployment and operational scenarios,
visit the <link
xlink:href="https://communities.netapp.com/groups/openstack"
> OpenStack NetApp
community</link>.</para>
</tip>
</simplesect>
</section>
<section xml:id="ontap-cluster-nfs">
<title>NetApp NFS configuration for clustered Data
ONTAP</title>
<para>The NetApp NFS configuration for clustered Data
ONTAP is an interface from OpenStack to a clustered
Data ONTAP system for provisioning and managing
OpenStack volumes on NFS exports provided by the
clustered Data ONTAP system that are accessed using
the NFS protocol.</para>
<para>The NFS configuration for clustered Data ONTAP is a
direct interface from OpenStack Block Storage to the clustered Data
ONTAP instance and as such does not require any
additional management software to achieve the desired
functionality. It uses NetApp APIs to interact with
the clustered Data ONTAP instance.</para>
<simplesect>
<title>Configuration options for the clustered Data
ONTAP family with NFS protocol</title>
<para>Configure the volume driver, storage family and
storage protocol to NetApp unified driver,
clustered Data ONTAP, and NFS respectively by
setting the <option>volume_driver</option>,
<option>netapp_storage_family</option> and
<option>netapp_storage_protocol</option>
options in <filename>cinder.conf</filename> as
follows:</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=ontap_cluster
netapp_storage_protocol=nfs
netapp_vserver=<replaceable>openstack-vserver</replaceable>
netapp_server_hostname=<replaceable>myhostname</replaceable>
netapp_server_port=<replaceable>80</replaceable>
netapp_login=<replaceable>username</replaceable>
netapp_password=<replaceable>password</replaceable>
nfs_shares_config=<replaceable>/etc/cinder/nfs_shares</replaceable>
</programlisting>
<xi:include
href="../../../common/tables/cinder-netapp_cdot_nfs.xml"/>
<note>
<para>Additional NetApp NFS configuration options are
shared with the generic NFS driver. These options
can be found here:
<xref linkend="config_table_cinder_storage_nfs"/>.
</para>
</note>
<note>
<para>If you specify an account in the
<option>netapp_login</option> that only
has virtual storage server (Vserver)
administration privileges (rather than
cluster-wide administration privileges), some
advanced features of the NetApp unified driver
will not work and you may see warnings in the
OpenStack Block Storage logs.</para>
</note>
</simplesect>
<simplesect>
<title>NetApp NFS Copy Offload client</title>
<para>A feature was added in the Icehouse release of the NetApp unified
driver that enables Image Service images to be efficiently copied to a
destination Block Storage volume. When the Block Storage and Image Service are
configured to use the NetApp NFS Copy Offload client, a controller-side copy
will be attempted before reverting to downloading the image from the
Image Service. This improves image provisioning times while reducing the
consumption of bandwidth and CPU cycles on the host(s) running the Image
and Block Storage services. This is due to the copy operation being performed
completely within the storage cluster.</para>
<para>The NetApp NFS Copy Offload client can be used in either of the following
scenarios:</para>
<itemizedlist>
<listitem>
<para>The Image Service is configured to store images in an NFS share that
is exported from a NetApp FlexVol volume <emphasis>and</emphasis>
the destination for the new Block Storage volume will be on an NFS share
exported from a different FlexVol volume than the one used by
the Image Service. Both FlexVols must be located within the same cluster.</para>
</listitem>
<listitem>
<para>The source image from the Image Service has already been cached in an NFS
image cache within a Block Storage backend. The cached image resides on a
different FlexVol volume than the destination for the new Block Storage
volume. Both FlexVols must be located within the same cluster.</para>
</listitem>
</itemizedlist>
<para>To use this feature, you must configure the
Image Service, as follows:</para>
<itemizedlist>
<listitem>
<para>Set the <option>default_store</option>
configuration option to
<literal>file</literal>.</para>
</listitem>
<listitem>
<para>Set the <option>filesystem_store_datadir</option>
configuration option to the
path to the Image Service NFS export.</para>
</listitem>
<listitem>
<para>Set the <option>show_image_direct_url</option>
configuration option to
<literal>True</literal>.</para>
</listitem>
<listitem>
<para>Set the <option>show_multiple_locations</option>
configuration option to
<literal>True</literal>.</para>
</listitem>
<listitem>
<para>Set the <option>filesystem_store_metadata_file</option>
configuration option to a
metadata file. The metadata file should
contain a JSON object that contains the
correct information about the NFS export
used by the Image Service, similar
to:</para>
<programlisting language="ini">{
"share_location": "<replaceable>nfs://192.168.0.1/myGlanceExport</replaceable>",
"mount_point": "<replaceable>/var/lib/glance/images</replaceable>",
"type": "nfs"
}</programlisting>
</listitem>
</itemizedlist>
<para>To use this feature, you must configure the
Block Storage service, as follows:</para>
<itemizedlist>
<listitem>
<para>Set the <option>netapp_copyoffload_tool_path</option>
configuration option to
the path to the NetApp Copy Offload binary.</para>
</listitem>
<listitem>
<para>Set the <option>glance_api_version</option>
configuration option to
<literal>2</literal>.</para>
</listitem>
</itemizedlist>
<important>
<para>This feature requires that:</para>
<itemizedlist>
<listitem>
<para>The storage system must have Data
ONTAP v8.2 or greater installed.</para>
</listitem>
<listitem>
<para>The vStorage feature must be enabled
on each storage virtual machine (SVM, also
known as a Vserver) that is permitted to
interact with the copy offload
client.</para>
</listitem>
<listitem>
<para>To configure the copy offload workflow,
enable NFS v4.0 or greater
and export it from the SVM.</para>
</listitem>
</itemizedlist>
</important>
<tip>
<para>To download the NetApp copy offload binary to be utilized
in conjunction with the <option>netapp_copyoffload_tool_path</option>
configuration option, please visit the download page at
the <link xlink:href="https://communities.netapp.com/docs/DOC-33412">NetApp
OpenStack Community site</link>.</para>
</tip>
<tip>
<para>For more information on these options and other deployment
and operational scenarios, visit the <link
xlink:href="https://communities.netapp.com/groups/openstack">
OpenStack NetApp community</link>.</para>
</tip>
</simplesect>
</section>
<section xml:id="ontap-cluster-extraspecs">
<title>NetApp-supported extra specs for clustered Data
ONTAP</title>
<para>Extra specs enable vendors to specify extra filter
criteria that the Block Storage scheduler uses when it
determines which volume node should fulfill a volume
provisioning request. When you use the NetApp unified
driver with a clustered Data ONTAP storage system, you
can leverage extra specs with OpenStack Block Storage volume types to
ensure that OpenStack Block Storage volumes are created on storage back
ends that have certain properties. For example, when
you configure QoS, mirroring, or compression for a
storage back end.</para>
<para>Extra specs are associated with OpenStack Block Storage volume types,
so that when users request volumes of a particular
volume type, the volumes are created on storage back
ends that meet the list of requirements. For example,
the back ends have the available space or extra specs.
You can use the specs in the following table when you
define OpenStack Block Storage volume types by using the
<command>cinder type-key</command> command.</para>
<xi:include
href="../../../common/tables/cinder-netapp_cdot_extraspecs.xml"/>
<note>
<para>It is recommended to only set the value of extra
specs to <literal>True</literal> when combining
multiple specs to enforce a certain logic set. If
you desire to remove volumes with a certain
feature enabled from consideration from the OpenStack Block Storage
volume scheduler, be sure to use the negated spec
name with a value of <literal>True</literal>
rather than setting the positive spec to a value
of <literal>False</literal>.</para>
</note>
</section>
</section>
<section xml:id="ontap-7mode-family">
<title>NetApp Data ONTAP operating in 7-Mode storage
family</title>
<para>The NetApp Data ONTAP operating in 7-Mode storage family
represents a configuration group which provides OpenStack
compute instances access to 7-Mode storage systems. At
present it can be configured in OpenStack Block Storage to work with iSCSI
and NFS storage protocols.</para>
<section xml:id="ontap-7mode-iscsi">
<title>NetApp iSCSI configuration for Data ONTAP operating
in 7-Mode</title>
<para>The NetApp iSCSI configuration for Data ONTAP
operating in 7-Mode is an interface from OpenStack to
Data ONTAP operating in 7-Mode storage systems for
provisioning and managing the SAN block storage
entity, that is, a LUN which can be accessed using
iSCSI protocol.</para>
<para>The iSCSI configuration for Data ONTAP operating in
7-Mode is a direct interface from OpenStack to Data
ONTAP operating in 7-Mode storage system and it does
not require additional management software to achieve
the desired functionality. It uses NetApp ONTAPI to
interact with the Data ONTAP operating in 7-Mode
storage system.</para>
<simplesect>
<title>Configuration options for the Data ONTAP
operating in 7-Mode storage family with iSCSI
protocol</title>
<para>Configure the volume driver, storage family and
storage protocol to the NetApp unified driver,
Data ONTAP operating in 7-Mode, and iSCSI
respectively by setting the
<option>volume_driver</option>,
<option>netapp_storage_family</option> and
<option>netapp_storage_protocol</option>
options in <filename>cinder.conf</filename> as
follows:</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=ontap_7mode
netapp_storage_protocol=iscsi
netapp_server_hostname=<replaceable>myhostname</replaceable>
netapp_server_port=<replaceable>80</replaceable>
netapp_login=<replaceable>username</replaceable>
netapp_password=<replaceable>password</replaceable>
</programlisting>
<note>
<para>You must override the default value of
<option>netapp_storage_protocol</option>
with <literal>iscsi</literal> in order to
utilize the iSCSI protocol.</para>
</note>
<xi:include
href="../../../common/tables/cinder-netapp_7mode_iscsi.xml"/>
<tip>
<para>For more information on these options and
other deployment and operational scenarios,
visit the <link
xlink:href="https://communities.netapp.com/groups/openstack"
>OpenStack NetApp community</link>.</para>
</tip>
</simplesect>
</section>
<section xml:id="ontap-7mode-nfs">
<title>NetApp NFS configuration for Data ONTAP operating
in 7-Mode</title>
<para>The NetApp NFS configuration for Data ONTAP
operating in 7-Mode is an interface from OpenStack to
Data ONTAP operating in 7-Mode storage system for
provisioning and managing OpenStack volumes on NFS
exports provided by the Data ONTAP operating in 7-Mode
storage system which can then be accessed using NFS
protocol.</para>
<para>The NFS configuration for Data ONTAP operating in
7-Mode is a direct interface from OpenStack Block Storage to the Data
ONTAP operating in 7-Mode instance and as such does
not require any additional management software to
achieve the desired functionality. It uses NetApp
ONTAPI to interact with the Data ONTAP operating in
7-Mode storage system.</para>
<simplesect>
<title>Configuration options for the Data ONTAP
operating in 7-Mode family with NFS
protocol</title>
<para>Configure the volume driver, storage family and
storage protocol to the NetApp unified driver,
Data ONTAP operating in 7-Mode, and NFS
respectively by setting the
<option>volume_driver</option>,
<option>netapp_storage_family</option> and
<option>netapp_storage_protocol</option>
options in <filename>cinder.conf</filename> as
follows:</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=ontap_7mode
netapp_storage_protocol=nfs
netapp_server_hostname=<replaceable>myhostname</replaceable>
netapp_server_port=<replaceable>80</replaceable>
netapp_login=<replaceable>username</replaceable>
netapp_password=<replaceable>password</replaceable>
nfs_shares_config=<replaceable>/etc/cinder/nfs_shares</replaceable>
</programlisting>
<xi:include
href="../../../common/tables/cinder-netapp_7mode_nfs.xml"/>
<note>
<para>Additional NetApp NFS configuration options are
shared with the generic NFS driver. These options
can be found here:
<xref linkend="config_table_cinder_storage_nfs"/>.
</para>
</note>
<tip>
<para>For more information on these options and
other deployment and operational scenarios,
visit the <link
xlink:href="https://communities.netapp.com/groups/openstack"
>OpenStack NetApp community</link>.</para>
</tip>
</simplesect>
</section>
</section>
<section xml:id="eseries-family">
<title>NetApp E-Series storage family</title>
<para>The NetApp E-Series storage family represents a
configuration group which provides OpenStack
compute instances access to E-Series storage systems.
At present it can be configured in OpenStack Block Storage to work
with the iSCSI storage protocol.</para>
<section xml:id="eseries-iscsi">
<title>NetApp iSCSI configuration for E-Series</title>
<para>The NetApp iSCSI configuration for E-Series
is an interface from OpenStack to E-Series storage
systems for provisioning and managing the SAN block
storage entity; that is, a NetApp LUN which can be
accessed using the iSCSI protocol.</para>
<para>The iSCSI configuration for E-Series is an interface
from OpenStack Block Storage to the E-Series proxy instance and as such
requires the deployment of the proxy instance in order to
achieve the desired functionality. The driver uses REST
APIs to interact with the E-Series proxy instance, which in
turn interacts directly with the E-Series controllers.</para>
<simplesect>
<title>Configuration options for E-Series storage
family with iSCSI protocol</title>
<para>Configure the volume driver, storage family and
storage protocol to the NetApp unified driver,
E-Series, and iSCSI respectively by setting the
<option>volume_driver</option>,
<option>netapp_storage_family</option> and
<option>netapp_storage_protocol</option>
options in <filename>cinder.conf</filename> as
follows:</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=eseries
netapp_storage_protocol=iscsi
netapp_server_hostname=<replaceable>myhostname</replaceable>
netapp_server_port=<replaceable>80</replaceable>
netapp_login=<replaceable>username</replaceable>
netapp_password=<replaceable>password</replaceable>
netapp_controller_ips=<replaceable>1.2.3.4,5.6.7.8</replaceable>
netapp_sa_password=<replaceable>arrayPassword</replaceable>
netapp_storage_pools=<replaceable>pool1,pool2</replaceable>
</programlisting>
<note>
<para>You must override the default value of
<option>netapp_storage_family</option>
with <literal>eseries</literal> in order to
utilize the E-Series driver.</para>
</note>
<note>
<para>You must override the default value of
<option>netapp_storage_protocol</option>
with <literal>iscsi</literal> in order to
utilize the iSCSI protocol.</para>
</note>
<xi:include
href="../../../common/tables/cinder-netapp_eseries_iscsi.xml"/>
<tip>
<para>For more information on these options and
other deployment and operational scenarios,
visit the <link
xlink:href="https://communities.netapp.com/groups/openstack"
> OpenStack NetApp
community.</link></para>
</tip>
</simplesect>
</section>
</section>
<section xml:id="ontap-unified-upgrade-deprecated">
<title>Upgrading prior NetApp drivers to the NetApp unified
driver</title>
<para>NetApp introduced a new unified block storage driver in
Havana for configuring different storage families and
storage protocols. This requires defining upgrade path for
NetApp drivers which existed in releases prior to Havana.
This section covers the upgrade configuration for NetApp
drivers to the new unified configuration and a list of
deprecated NetApp drivers.</para>
<section xml:id="ontap-unified-upgrade">
<title>Upgraded NetApp drivers</title>
<para>This section describes how to update OpenStack Block Storage
configuration from a pre-Havana release to the new
unified driver format.</para>
<simplesect>
<title>Driver upgrade configuration</title>
<orderedlist>
<listitem>
<para>NetApp iSCSI direct driver for Clustered
Data ONTAP in Grizzly (or earlier)</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.iscsi.NetAppDirectCmodeISCSIDriver
</programlisting>
<para>NetApp Unified Driver
configuration</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=ontap_cluster
netapp_storage_protocol=iscsi
</programlisting>
</listitem>
<listitem>
<para>NetApp NFS direct driver for Clustered
Data ONTAP in Grizzly (or earlier)</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.nfs.NetAppDirectCmodeNfsDriver
</programlisting>
<para>NetApp Unified Driver
configuration</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=ontap_cluster
netapp_storage_protocol=nfs
</programlisting>
</listitem>
<listitem>
<para>NetApp iSCSI direct driver for Data
ONTAP operating in 7-Mode storage
controller in Grizzly (or earlier)</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.iscsi.NetAppDirect7modeISCSIDriver
</programlisting>
<para>NetApp Unified Driver
configuration</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=ontap_7mode
netapp_storage_protocol=iscsi
</programlisting>
</listitem>
<listitem>
<para>NetApp NFS direct driver for Data ONTAP
operating in 7-Mode storage controller in
Grizzly (or earlier)</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.nfs.NetAppDirect7modeNfsDriver
</programlisting>
<para>NetApp Unified Driver
configuration</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=ontap_7mode
netapp_storage_protocol=nfs
</programlisting>
</listitem>
</orderedlist>
</simplesect>
</section>
<section xml:id="ontap-driver-deprecate">
<title>Deprecated NetApp drivers</title>
<para>This section lists the NetApp drivers in previous
releases that are deprecated in Havana.</para>
<orderedlist>
<listitem>
<para>NetApp iSCSI driver for clustered Data
ONTAP.</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.iscsi.NetAppCmodeISCSIDriver
</programlisting>
</listitem>
<listitem>
<para>NetApp NFS driver for clustered Data
ONTAP.</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.nfs.NetAppCmodeNfsDriver
</programlisting>
</listitem>
<listitem>
<para>NetApp iSCSI driver for Data ONTAP operating
in 7-Mode storage controller.</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.iscsi.NetAppISCSIDriver
</programlisting>
</listitem>
<listitem>
<para>NetApp NFS driver for Data ONTAP operating
in 7-Mode storage controller.</para>
<programlisting language="ini">
volume_driver=cinder.volume.drivers.netapp.nfs.NetAppNFSDriver
</programlisting>
</listitem>
</orderedlist>
<note>
<para>See the <link
xlink:href="https://communities.netapp.com/groups/openstack"
>OpenStack NetApp community</link> for support
information on deprecated NetApp drivers in the
Havana release.</para>
</note>
</section>
</section>
</section>