Merge "Update Storwize/SVC driver documentation"
This commit is contained in:
commit
12f0d43dcc
@ -13,7 +13,7 @@
|
|||||||
<simplesect>
|
<simplesect>
|
||||||
<title>Network Configuration</title>
|
<title>Network Configuration</title>
|
||||||
|
|
||||||
<para>The Storwize family or SVC system must be
|
<para>The Storwize family or SVC system must be
|
||||||
configured for iSCSI, Fibre Channel, or both.</para>
|
configured for iSCSI, Fibre Channel, or both.</para>
|
||||||
|
|
||||||
<para>If using iSCSI, each Storwize family or SVC node should
|
<para>If using iSCSI, each Storwize family or SVC node should
|
||||||
@ -80,8 +80,8 @@
|
|||||||
</simplesect>
|
</simplesect>
|
||||||
<simplesect>
|
<simplesect>
|
||||||
<title>Configuring storage pools</title>
|
<title>Configuring storage pools</title>
|
||||||
<para>The IBM Storwize/SVC driver allocates all volumes in a
|
<para>Each instance of the IBM Storwize/SVC driver allocates
|
||||||
single pool.
|
all volumes in a single pool.
|
||||||
The pool should be created in advance and be
|
The pool should be created in advance and be
|
||||||
provided to the driver using the
|
provided to the driver using the
|
||||||
<literal>storwize_svc_volpool_name</literal>
|
<literal>storwize_svc_volpool_name</literal>
|
||||||
@ -161,9 +161,7 @@
|
|||||||
<para>You can create an SSH key pair using OpenSSH,
|
<para>You can create an SSH key pair using OpenSSH,
|
||||||
by running:
|
by running:
|
||||||
</para>
|
</para>
|
||||||
<programlisting>
|
<screen><prompt>$</prompt> <userinput>ssh-keygen -t rsa</userinput></screen>
|
||||||
ssh-keygen -t rsa
|
|
||||||
</programlisting>
|
|
||||||
<para>The command prompts for a file to save the key
|
<para>The command prompts for a file to save the key
|
||||||
pair.
|
pair.
|
||||||
For example, if you select 'key' as the
|
For example, if you select 'key' as the
|
||||||
@ -199,9 +197,7 @@ ssh-keygen -t rsa
|
|||||||
SVC driver by setting the
|
SVC driver by setting the
|
||||||
<literal>volume_driver</literal> option in
|
<literal>volume_driver</literal> option in
|
||||||
<filename>cinder.conf</filename> as follows:</para>
|
<filename>cinder.conf</filename> as follows:</para>
|
||||||
<programlisting>
|
<programlisting>volume_driver = cinder.volume.drivers.storwize_svc.StorwizeSVCDriver</programlisting>
|
||||||
volume_driver = cinder.volume.drivers.storwize_svc.StorwizeSVCDriver
|
|
||||||
</programlisting>
|
|
||||||
</simplesect>
|
</simplesect>
|
||||||
<simplesect>
|
<simplesect>
|
||||||
<title>Configuring options for the Storwize family and
|
<title>Configuring options for the Storwize family and
|
||||||
@ -213,10 +209,10 @@ volume_driver = cinder.volume.drivers.storwize_svc.StorwizeSVCDriver
|
|||||||
<table rules="all">
|
<table rules="all">
|
||||||
<caption>List of configuration flags for Storwize
|
<caption>List of configuration flags for Storwize
|
||||||
storage and SVC driver</caption>
|
storage and SVC driver</caption>
|
||||||
<col width="35%"/>
|
<col width="40%"/>
|
||||||
<col width="15%"/>
|
<col width="10%"/>
|
||||||
<col width="15%"/>
|
<col width="12%"/>
|
||||||
<col width="35%"/>
|
<col width="38%"/>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Flag name</td>
|
<td>Flag name</td>
|
||||||
@ -408,6 +404,16 @@ volume_driver = cinder.volume.drivers.storwize_svc.StorwizeSVCDriver
|
|||||||
</para></footnote>
|
</para></footnote>
|
||||||
</para></td>
|
</para></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><para>
|
||||||
|
<literal>storwize_svc_vol_iogrp</literal>
|
||||||
|
</para>
|
||||||
|
</td>
|
||||||
|
<td><para>Optional</para></td>
|
||||||
|
<td><para>0</para></td>
|
||||||
|
<td><para>The I/O group in which to allocate vdisks
|
||||||
|
</para></td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><para>
|
<td><para>
|
||||||
<literal>storwize_svc_flashcopy_timeout
|
<literal>storwize_svc_flashcopy_timeout
|
||||||
@ -457,96 +463,94 @@ volume_driver = cinder.volume.drivers.storwize_svc.StorwizeSVCDriver
|
|||||||
</para></footnote>
|
</para></footnote>
|
||||||
</para></td>
|
</para></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><para>
|
||||||
|
<literal>storwize_svc_multihost_enabled
|
||||||
|
</literal>
|
||||||
|
</para>
|
||||||
|
</td>
|
||||||
|
<td><para>Optional</para></td>
|
||||||
|
<td><para>True</para></td>
|
||||||
|
<td><para>Enable mapping vdisks to multiple hosts
|
||||||
|
<footnote xml:id='storwize-svc-fn9'>
|
||||||
|
<para>This option allows the driver to map a vdisk
|
||||||
|
to more than one host at a time. This scenario
|
||||||
|
occurs during migration of a virtual machine
|
||||||
|
with an attached volume; the volume is
|
||||||
|
simultaneously mapped to both the source and
|
||||||
|
destination compute hosts. If your deployment
|
||||||
|
does not require attaching vdisks to multiple
|
||||||
|
hosts, setting this flag to False will provide
|
||||||
|
added safety.
|
||||||
|
</para></footnote>
|
||||||
|
</para></td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</simplesect>
|
</simplesect>
|
||||||
<simplesect>
|
<simplesect>
|
||||||
<title>Working with multiple back-ends</title>
|
<title>Placement with volume types</title>
|
||||||
<para>Cinder has support for multiple back-ends. This
|
<para>The IBM Storwize/SVC driver exposes capabilities
|
||||||
can be accomplished by running multiple instances of
|
that can be added to the <literal>extra specs</literal>
|
||||||
<systemitem class="service">cinder-volume</systemitem>, each with its own configuration file,
|
of volume types, and used by the filter scheduler to
|
||||||
or by including multiple sections in one configuration
|
determine placement of new volumes. Make sure to prefix
|
||||||
file. For example:
|
these keys with <literal>capabilities:</literal> to
|
||||||
<programlisting>
|
indicate that the scheduler should use them. The following
|
||||||
[DEFAULT]
|
<literal>extra specs</literal> are supported:</para>
|
||||||
...
|
|
||||||
enabled_backends = v7k1,v7k2
|
|
||||||
|
|
||||||
[v7k1]
|
<itemizedlist>
|
||||||
...
|
<listitem><para>capabilities:volume_backend_name - Specify
|
||||||
|
a specific backend where the volume should be created. The
|
||||||
|
backend name is a contatenation of the name of the
|
||||||
|
IBM Storwize/SVC storage system as shown in
|
||||||
|
<literal>lssystem</literal>, an underscore,
|
||||||
|
and the name of the pool (mdisk group). For example:
|
||||||
|
<programlisting>capabilities:volume_backend_name=my7000_openstackpool</programlisting>
|
||||||
|
</para></listitem>
|
||||||
|
|
||||||
[v7k2]
|
<listitem><para>capabilities:compression_support - Specify
|
||||||
...
|
a backend according to compression support. A value of
|
||||||
</programlisting>Here,
|
<literal>True</literal> should be used to request a backend
|
||||||
common options are placed under
|
that supports compression, and a value of
|
||||||
<literal>[DEFAULT]</literal>, while options
|
<literal>False</literal> will request a backend that does
|
||||||
specific to a back-end are placed in the appropriate
|
not support compression. If you do not have constraints on
|
||||||
section.</para>
|
compression support, do not set this key. Note that
|
||||||
|
specifying <literal>True</literal> does not enable
|
||||||
|
compression; it only requests that the volume be placed on
|
||||||
|
a backend that supports compression. Example syntax:
|
||||||
|
<programlisting>capabilities:compression_support='<is> True'</programlisting>
|
||||||
|
</para></listitem>
|
||||||
|
|
||||||
<para>By default, volumes are allocated between back-ends
|
<listitem><para>capabilities:easytier_support - Similar
|
||||||
to balance allocated space.
|
semantics as the <literal>compression_support</literal> key,
|
||||||
However, <literal>volume types</literal> can be used to have
|
but for specifying according to support of the Easy Tier
|
||||||
finer-grained control over where volumes are allocated.
|
feature. Example syntax:
|
||||||
Each volume type contains a set of key-value pairs called
|
<programlisting>capabilities:easytier_support='<is> True'</programlisting>
|
||||||
<literal>extra specs</literal>.
|
</para></listitem>
|
||||||
Volume types are typically set a priori by an administrator,
|
|
||||||
and can be managed using the cinder client, using the
|
|
||||||
<literal>type-create</literal>, <literal>type-delete</literal>,
|
|
||||||
<literal>type-key</literal>, and <literal>type-list</literal>
|
|
||||||
arguments.</para>
|
|
||||||
|
|
||||||
<para>The <literal>extra specs</literal> keys which have the
|
<listitem><para>capabilities:storage_protocol - Specifies
|
||||||
"capabilities" prefix (called "scope") are interpreted by the
|
the connection protocol used to attach volumes of this type
|
||||||
Cinder scheduler and used to make placement decisions according
|
to instances. Legal values are <literal>iSCSI</literal> and
|
||||||
to the capabilities of the available back-ends.</para>
|
<literal>FC</literal>. This <literal>extra specs</literal>
|
||||||
|
value is used for both placement and setting the protocol
|
||||||
<para>The following are examples of supported key-values:
|
used for this volume. In the example syntax, note <in>
|
||||||
</para>
|
is used as opposed to <is> used in the previous
|
||||||
|
examples.
|
||||||
<para>In the following example, the volume is placed on a
|
<programlisting>capabilities:storage_protocol='<in> FC'</programlisting>
|
||||||
controller named <literal>myv7000</literal>, in a pool named
|
</para></listitem>
|
||||||
<literal>openstack</literal>:
|
</itemizedlist>
|
||||||
<programlisting>
|
|
||||||
capabilities:volume_backend_name=my7000_openstack
|
|
||||||
</programlisting></para>
|
|
||||||
|
|
||||||
<para>In the next example, the volume is placed
|
|
||||||
on a controller that supports compression. Specifying
|
|
||||||
False requires that the volume is placed on a
|
|
||||||
back-end that does not support compression (if no
|
|
||||||
constraints on compression support are required, do
|
|
||||||
not set this key):</para>
|
|
||||||
<programlisting>
|
|
||||||
capabilities:compression_support='<is> True'
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>The next example shows how Easy Tier support can be with
|
|
||||||
set with the same semantics as
|
|
||||||
<literal>compression_support</literal>:</para>
|
|
||||||
<programlisting>
|
|
||||||
capabilities:easytier_support='<is> True'
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>The connection protocol used to attach volumes to
|
|
||||||
instances can also be specified using volume types.
|
|
||||||
In this example, the volume is placed on a controller
|
|
||||||
that supports Fibre Channel, and Fibre Channel is used
|
|
||||||
when attaching that volume.
|
|
||||||
FC can also be replaced with iSCSI.</para>
|
|
||||||
<programlisting>
|
|
||||||
capabilities:storage_protocol='<in> FC'
|
|
||||||
</programlisting>
|
|
||||||
</simplesect>
|
</simplesect>
|
||||||
|
|
||||||
<simplesect>
|
<simplesect>
|
||||||
<title>Configuring per-volume creation options</title>
|
<title>Configuring per-volume creation options</title>
|
||||||
<para>The volume types previously described can also
|
<para>Volume types can also
|
||||||
be used to pass options to the IBM Storwize/SVC
|
be used to pass options to the IBM Storwize/SVC
|
||||||
driver, which over-ride the default values set in the
|
driver, which over-ride the default values set in the
|
||||||
configuration file. Contrary to the previous examples
|
configuration file. Contrary to the previous examples
|
||||||
where the "capabilities" scope was used to pass
|
where the "capabilities" scope was used to pass
|
||||||
parameters to the Cinder scheduler, options can be
|
parameters to the Cinder scheduler, options can be
|
||||||
passed to the IBM Storwize/SVC driver with the
|
passed to the IBM Storwize/SVC driver with the
|
||||||
"drivers" scope, or by omitting the scope.</para>
|
"drivers" scope.</para>
|
||||||
|
|
||||||
<para>The following <literal>extra specs</literal> keys are
|
<para>The following <literal>extra specs</literal> keys are
|
||||||
supported by the IBM Storwize/SVC driver:
|
supported by the IBM Storwize/SVC driver:
|
||||||
@ -558,6 +562,7 @@ capabilities:storage_protocol='<in> FC'
|
|||||||
<listitem><para>compression</para></listitem>
|
<listitem><para>compression</para></listitem>
|
||||||
<listitem><para>easytier</para></listitem>
|
<listitem><para>easytier</para></listitem>
|
||||||
<listitem><para>multipath</para></listitem>
|
<listitem><para>multipath</para></listitem>
|
||||||
|
<listitem><para>iogrp</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
These keys have the same semantics as their counterparts in the
|
These keys have the same semantics as their counterparts in the
|
||||||
configuration file. They are set similarly; for example,
|
configuration file. They are set similarly; for example,
|
||||||
@ -566,15 +571,15 @@ capabilities:storage_protocol='<in> FC'
|
|||||||
</para>
|
</para>
|
||||||
</simplesect>
|
</simplesect>
|
||||||
<simplesect>
|
<simplesect>
|
||||||
<title>Complete volume type examples</title>
|
<title>Example using volume types</title>
|
||||||
<para>In the following example, the volume is placed on
|
<para>In the following example, we create a volume type to specify
|
||||||
a controller named that supports Fibre Channel and
|
a controller that supports iSCSI and
|
||||||
compression, FC is used when attaching the volume,
|
compression, to use iSCSI when attaching the volume,
|
||||||
and compression is enabled:</para>
|
and and to enable compression:</para>
|
||||||
<programlisting>
|
<screen><prompt>$</prompt> <userinput>cinder type-create compressed</userinput>
|
||||||
cinder type-create compressed
|
<prompt>$</prompt> <userinput>cinder type-key compressed set capabilities:storage_protocol='<in> iSCSI' capabilities:compression_support='<is> True' drivers:compression=True</userinput></screen>
|
||||||
cinder type-key compressed set capabilities:storage_protocol=''<in> FC' capabilities:compression_support='<is> True' drivers:compression=True
|
<para>We can then create a 50GB volume using this type:</para>
|
||||||
</programlisting>
|
<screen><prompt>$</prompt> <userinput>cinder create --display-name "compressed volume" --volume-type compressed 50</userinput></screen>
|
||||||
|
|
||||||
<para>Volume types can be used, for example, to provide users
|
<para>Volume types can be used, for example, to provide users
|
||||||
with different
|
with different
|
||||||
@ -596,4 +601,49 @@ cinder type-key compressed set capabilities:storage_protocol=''<in> FC' ca
|
|||||||
</para>
|
</para>
|
||||||
</simplesect>
|
</simplesect>
|
||||||
</section>
|
</section>
|
||||||
|
<section xml:id="ibm-storwize-svc-driver3">
|
||||||
|
<title>Operational Notes for the Storwize Family and SVC Driver</title>
|
||||||
|
<simplesect>
|
||||||
|
<title>Volume Migration</title>
|
||||||
|
|
||||||
|
<para>In the context of OpenStack Block Storage's volume
|
||||||
|
migration feature, the IBM Storwize/SVC driver enables the
|
||||||
|
storage's virtualization technology. When migrating a
|
||||||
|
volume from one pool to another, the volume will appear
|
||||||
|
in the destination pool almost immediately, while the
|
||||||
|
storage moves the data in the background.</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>To enable this feature, both pools involved in
|
||||||
|
a given volume migration must have the same values
|
||||||
|
for <literal>extent_size</literal>. If the pools
|
||||||
|
have different values for
|
||||||
|
<literal>extent_size</literal>, the data will still
|
||||||
|
be moved directly between the pools (not host-side
|
||||||
|
copy), but the operation will be synchronous.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
</simplesect>
|
||||||
|
|
||||||
|
<simplesect>
|
||||||
|
<title>Extending Volumes</title>
|
||||||
|
|
||||||
|
<para>The IBM Storwize/SVC driver allows for extending a
|
||||||
|
volume's size, but only for volumes without snapshots.</para>
|
||||||
|
</simplesect>
|
||||||
|
|
||||||
|
<simplesect>
|
||||||
|
<title>Snapshots and Clones</title>
|
||||||
|
|
||||||
|
<para>Snapshots are implemented using FlashCopy with no
|
||||||
|
background copy (space-efficient). Volume clones
|
||||||
|
(volumes created from existing volumes) are implemented
|
||||||
|
with FlashCopy, but with background copy enabled. This
|
||||||
|
means that volume clones are independent, full copies.
|
||||||
|
While this background copy is taking place, attempting
|
||||||
|
to delete or extend the source volume will result in
|
||||||
|
that operation waiting for the copy to complete.</para>
|
||||||
|
</simplesect>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
</section>
|
||||||
|
Loading…
Reference in New Issue
Block a user