Update GPFS Cinder Driver - improve readability

This commit has changes to GPFS cinder driver documentation to
improve readability and to re-add use of service names instead
of project names in the text.

Change-Id: I64615733b4b49cb198e508377d176d23fed4bc42
This commit is contained in:
Bill Owen 2013-09-30 10:28:50 -07:00
parent dfdcdcb374
commit 81b4f93a98

View File

@ -2,18 +2,18 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<title>IBM GPFS Volume Driver</title>
<para>The General Parallel File System (GPFS) is a cluster file
<para>IBM General Parallel File System (GPFS) is a cluster file
system that provides concurrent access to file systems from
multiple nodes. The storage provided by these nodes can be
direct attached, network attached, SAN attached or a
direct attached, network attached, SAN attached, or a
combination of these methods. GPFS provides many features
beyond common data access including data replication, policy
beyond common data access, including data replication, policy
based storage management, and space efficient file snapshot
and clone operations.</para>
<section xml:id="GPFS-driver-background">
<title>How the GPFS Driver Works</title>
<para>This driver enables the use of GPFS in a similar fashion
as the NFS driver. With the GPFS driver, instances do not
<para>The GPFS driver enables the use of GPFS in a fashion
similar to that of the NFS driver. With the GPFS driver, instances do not
actually access a storage device at the block level.
Instead, volume backing files are created in a GPFS file
system and mapped to instances, which emulate a block
@ -21,25 +21,27 @@
<para>
<note>
<para>GPFS software must be installed and running on
nodes where Cinder volume and Nova compute
nodes where Block Storge and Compute
services are running in the OpenStack environment.
A GPFS file system must also be created and
mounted on these nodes before starting the
<literal>cinder-volume</literal> service. The
details of these GPFS specific steps are covered
in GPFS Administration documentation.</para>
in <citetitle>GPFS: Concepts, Planning, and Installation Guide</citetitle>
and <citetitle>GPFS: Administration and Programming Reference</citetitle>.
</para>
</note>
</para>
<para>Optionally, Glance can be configured to store images on
a GPFS file system. When Cinder volumes are created from
Glance images, if both image and volume data reside in the
same GPFS file system, the data from image files is moved
efficiently to Cinder volumes using copy on write
<para>Optionally, the Image service can be configured to store images on
a GPFS file system. When a Block Storage volume is created from
an image, if both image data and volume data reside in the
same GPFS file system, the data from image file is moved
efficiently to the volume file using copy-on-write
optimization strategy.</para>
</section>
<section xml:id="GPFS-driver-options">
<title>Enabling the GPFS Driver</title>
<para>To use Cinder with the GPFS driver, first set the
<para>To use the Block Storage service with the GPFS driver, first set the
<literal>volume_driver</literal> in
<filename>cinder.conf</filename>:</para>
<programlisting>volume_driver = cinder.volume.drivers.gpfs.GPFSDriver</programlisting>
@ -48,14 +50,14 @@
<xi:include
href="../../../common/tables/cinder-gpfs_volume.xml"/>
<note>
<para>The flag <literal>gpfs_images_share_mode</literal>
is only valid if the Image service is configured to
use GPFS with <literal>gpfs_images_dir</literal> flag.
Also note, when the value of this flag is
<para>The <literal>gpfs_images_share_mode</literal>
flag is only valid if the Image service is configured to
use GPFS with the <literal>gpfs_images_dir</literal> flag.
When the value of this flag is
<literal>copy_on_write</literal>, the paths
specified by the flags
specified by the
<literal>gpfs_mount_point_base</literal> and
<literal>gpfs_images_dir</literal> must both
<literal>gpfs_images_dir</literal> flags must both
reside in the same GPFS file system and in the same
GPFS file set. </para>
</note>
@ -81,107 +83,107 @@
<tbody>
<tr>
<td><literal>fstype</literal></td>
<td>The driver will create a file system or swap
<td>Specifies whether to create a file system or a swap
area on the new volume. If
<literal>fstype=swap</literal> is
specified, the mkswap command is used to
create a swap area. Otherwise the mkfs command
is passed the specified type, for example
ext3, ext4, etc.</td>
is passed the specified file system type, for example
ext3, ext4 or ntfs.</td>
</tr>
<tr>
<td><literal>fslabel</literal></td>
<td>The driver will set the file system label for
the file system specified by fstype option.
This value is only used if fstype is
specified.</td>
</tr>
<tr>
<td><literal>data_pool_name</literal></td>
<td>
<para>The driver will assign the volume file
to the specified GPFS storage pool. Note
that the GPFS storage pool must already be
created.</para>
</td>
</tr>
<tr>
<td><literal>replicas</literal></td>
<td>
<para>Specify how many copies of the volume
file to create. Valid values are 1, 2,
and, for GPFS V3.5.0.7 and later, 3. This
value cannot be greater than the value of
the MaxDataReplicas attribute of the file
system.</para>
</td>
</tr>
<tr>
<td><literal>dio</literal></td>
<td>
<para>Enable or disable the Direct I/O caching
policy for the volume file. Valid values
are "yes" and "no".</para>
</td>
</tr>
<tr>
<td><literal>write_affinity_depth</literal></td>
<td>
<para>Specify the allocation policy to be used
for the volume file. Note that this option
only works if "allow-write-affinity" is
set for the GPFS data pool.</para>
</td>
</tr>
<tr>
<td><literal>block_group_factor</literal></td>
<td>
<para>Specify how many blocks are laid out
sequentially in the volume file to behave
like a single large block. This option
only works if "allow-write-affinity" is
set for the GPFS data pool.</para>
</td>
</tr>
<tr>
<td><literal>write_affinity_failure_group</literal></td>
<td>
<para>Specify the range of nodes (in GPFS
shared nothing architecture) where
replicas of blocks in the volume file are
to be written. See GPFS Administration and
Programming Reference guide for more
details on this option.</para>
</td>
</tr>
</tbody>
</table>
<simplesect>
<title>Example Using Volume Creation Options</title>
<para>This example shows the creation of a 50GB volume
with an ext4 filesystem labeled
<literal>newfs</literal>and direct IO
enabled:</para>
<screen><prompt>$</prompt><userinput>cinder create --metadata fstype=ext4 fslabel=newfs dio=yes --display-name volume_1 50</userinput> </screen>
</simplesect>
</section>
<section xml:id="GPFS-operational-notes">
<title>Operational Notes for GPFS Driver</title>
<simplesect>
<title>Snapshots and Clones</title>
<para>Volume snapshots are implemented using the GPFS file
clone feature. Whenever a new snapshot is created, the
snapshot file is efficiently created as a read-only
clone parent of the volume, and the volume file uses
copy on write optimization strategy to minimize data
movement.</para>
<para>Similarly when a new volume is created from a
snapshot or from an existing volume, the same approach
is taken. The same approach is also used when a new
volume is created from a Glance image, if the source
image is in raw format, and
<literal>gpfs_images_share_mode</literal> is set
to <literal>copy_on_write</literal>.</para>
<td>Sets the file system label for
the file system specified by <literal>fstype</literal> option.
This value is only used if <literal>fstype</literal> is
specified.</td>
</tr>
<tr>
<td><literal>data_pool_name</literal></td>
<td>
<para>Specifies the GPFS storage pool to which the volume is to be assigned.
Note: The GPFS storage pool must already have been
created.</para>
</td>
</tr>
<tr>
<td><literal>replicas</literal></td>
<td>
<para>Specifies how many copies of the volume
file to create. Valid values are 1, 2,
and, for GPFS V3.5.0.7 and later, 3. This
value cannot be greater than the value of
the <literal>MaxDataReplicas</literal> attribute of the file
system.</para>
</td>
</tr>
<tr>
<td><literal>dio</literal></td>
<td>
<para>Enables or disables the Direct I/O caching
policy for the volume file. Valid values
are <literal>yes</literal> and <literal>no</literal>.</para>
</td>
</tr>
<tr>
<td><literal>write_affinity_depth</literal></td>
<td>
<para>Specifies the allocation policy to be used
for the volume file. Note: This option
only works if <literal>allow-write-affinity</literal> is
set for the GPFS data pool.</para>
</td>
</tr>
<tr>
<td><literal>block_group_factor</literal></td>
<td>
<para>Specifies how many blocks are laid out
sequentially in the volume file to behave
as a single large block. Note: This option
only works if <literal>allow-write-affinity</literal> is
set for the GPFS data pool.</para>
</td>
</tr>
<tr>
<td><literal>write_affinity_failure_group</literal></td>
<td>
<para>Specifies the range of nodes (in GPFS
shared nothing architecture) where
replicas of blocks in the volume file are
to be written. See <citetitle>GPFS: Administration and
Programming Reference</citetitle> for more
details on this option.</para>
</td>
</tr>
</tbody>
</table>
<simplesect>
<title>Example Using Volume Creation Options</title>
<para>This example shows the creation of a 50GB volume
with an ext4 filesystem labeled
<literal>newfs</literal>and direct IO
enabled:</para>
<screen><prompt>$</prompt><userinput>cinder create --metadata fstype=ext4 fslabel=newfs dio=yes --display-name volume_1 50</userinput> </screen>
</simplesect>
</section>
<section xml:id="GPFS-operational-notes">
<title>Operational Notes for GPFS Driver</title>
<simplesect>
<title>Snapshots and Clones</title>
<para>Volume snapshots are implemented using the GPFS file
clone feature. Whenever a new snapshot is created, the
snapshot file is efficiently created as a read-only
clone parent of the volume, and the volume file uses
copy-on-write optimization strategy to minimize data
movement.</para>
<para>Similarly when a new volume is created from a
snapshot or from an existing volume, the same approach
is taken. The same approach is also used when a new
volume is created from a Glance image, if the source
image is in raw format, and
<literal>gpfs_images_share_mode</literal> is set
to <literal>copy_on_write</literal>.</para>
</simplesect>
</section>
</section>