openstack-manuals/doc/config-reference/block-storage/drivers/vmware-vmdk-driver.xml
andydugas db5f7a646b Further Clarified How VMDK Driver Creates Cinder Volume Directory
This change replaces Change Id8adb9b9 which was abandoned because subsequent amendments kept reasserting changes that should have been abandoned.

backport: none
Closes-Bug: #1265044

Change-Id: I1064ba2cbb274b445dfc9c4dd5a7fb5b6973d2d7
2013-12-30 14:56:39 -08:00

183 lines
8.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section xml:id="vmware-vmdk-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>VMware VMDK driver</title>
<para>Use the VMware VMDK driver to enable management of the
OpenStack Block Storage volumes on vCenter-managed data
stores. Volumes are backed by VMDK files on datastores using
any VMware-compatible storage technology such as NFS, iSCSI,
FiberChannel, and vSAN.</para>
<simplesect>
<title>Configuration</title>
<para>The recommended OpenStack Block Storage volume driver is
the VMware vCenter VMDK driver. When you configure the
driver, you must match it with the appropriate OpenStack
Compute driver from VMware and both drivers must point to
the same server.</para>
<para>For example, in the <filename>nova.conf</filename> file,
use this option to define the Compute driver:</para>
<programlisting>compute_driver=vmwareapi.VMwareVCDriver</programlisting>
<para>In the <filename>cinder.conf</filename> file, use this
option to define the volume driver:</para>
<programlisting>volume_driver=cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver</programlisting>
<para>The following table lists various options that the
drivers support for the OpenStack Block Storage
configuration (<filename>cinder.conf</filename>):</para>
<xi:include href="../../../common/tables/cinder-vmware.xml"/>
</simplesect>
<simplesect>
<title>VMDK disk type</title>
<para>The VMware VMDK drivers support the creation of VMDK
disk files of type <literal>thin</literal>, <literal>thick</literal>,
or <literal>eagerZeroedThick</literal>. Use the
<code>vmware:vmdk_type</code> extra spec key with the
appropriate value to specify the VMDK disk file type.
The following table captures the mapping between the extra
spec entry and the VMDK disk file type:</para>
<table rules="all">
<caption>Extra spec entry to VMDK disk file type
mapping</caption>
<thead>
<tr>
<td>Disk file type</td>
<td>Extra spec key</td>
<td>Extra spec value</td>
</tr>
</thead>
<tbody>
<tr>
<td>thin</td>
<td>vmware:vmdk_type</td>
<td>thin</td>
</tr>
<tr>
<td>thick</td>
<td>vmware:vmdk_type</td>
<td>thick</td>
</tr>
<tr>
<td>eagerZeroedThick</td>
<td>vmware:vmdk_type</td>
<td>eagerZeroedThick</td>
</tr>
</tbody>
</table>
<para>If no <code>vmdk_type</code> extra spec entry is
specified, the default disk file type is
<literal>thin</literal>.</para>
<para>The example below shows how to create a
<code>thick</code> VMDK volume using the appropriate
<code>vmdk_type</code>:</para>
<screen>
<prompt>$</prompt> <userinput>cinder type-create thick_volume</userinput>
<prompt>$</prompt> <userinput>cinder type-key thick_volume set vmware:vmdk_type=thick</userinput>
<prompt>$</prompt> <userinput>cinder create --volume-type thick_volume --display-name volume1 1</userinput>
</screen>
</simplesect>
<simplesect>
<title>Clone type</title>
<para>With the VMware VMDK drivers, you can create a volume
from another source volume or from a snapshot point. The
VMware vCenter VMDK driver supports clone types
<literal>full</literal> and
<literal>linked/fast</literal>. The clone type is
specified using the <code>vmware:clone_type</code> extra
spec key with the appropriate value. The following table
captures the mapping for clone types:</para>
<table rules="all">
<caption>Extra spec entry to clone type mapping</caption>
<thead>
<tr>
<td>Clone type</td>
<td>Extra spec key</td>
<td>Extra spec value</td>
</tr>
</thead>
<tbody>
<tr>
<td>full</td>
<td>vmware:clone_type</td>
<td>full</td>
</tr>
<tr>
<td>linked/fast</td>
<td>vmware:clone_type</td>
<td>linked</td>
</tr>
</tbody>
</table>
<para>If not specified, the default clone type is
<literal>full</literal>.</para>
<para>The following is an example of linked cloning from
another source volume:</para>
<screen>
<prompt>$</prompt> <userinput>cinder type-create fast_clone</userinput>
<prompt>$</prompt> <userinput>cinder type-key fast_clone set vmware:clone_type=linked</userinput>
<prompt>$</prompt> <userinput>cinder create --volume-type fast_clone --source-volid 25743b9d-3605-462b-b9eb-71459fe2bb35 --display-name volume1 1</userinput>
</screen>
<para>Note: The VMware ESX VMDK driver ignores the extra spec
entry and always creates a <literal>full</literal>
clone.</para>
</simplesect>
<simplesect>
<title>Supported operations</title>
<para>The following operations are supported by the VMware
vCenter and ESX VMDK drivers:</para>
<itemizedlist>
<listitem>
<para>Create volume</para>
</listitem>
<listitem>
<para>Create volume from another source volume.
(Supported only if source volume is not attached
to an instance.)</para>
</listitem>
<listitem>
<para>Create volume from snapshot</para>
</listitem>
<listitem>
<para>Create volume from glance image</para>
</listitem>
<listitem>
<para>Attach volume (When a volume is attached to an
instance, a reconfigure operation is performed on
the instance to add the volume's VMDK to it. The
user must manually rescan and mount the device
from within the guest operating system.)</para>
</listitem>
<listitem>
<para>Detach volume</para>
</listitem>
<listitem>
<para>Create snapshot (Allowed only if volume is not
attached to an instance.)</para>
</listitem>
<listitem>
<para>Delete snapshot (Allowed only if volume is not
attached to an instance.)</para>
</listitem>
<listitem>
<para>Upload as image to glance (Allowed only if
volume is not attached to an instance.)</para>
</listitem>
</itemizedlist>
<note>
<para>Although the VMware ESX VMDK driver supports these
operations, it has not been extensively tested.</para>
</note>
</simplesect>
<simplesect>
<title>Datastore selection</title>
<para>When creating a volume, the driver chooses a datastore
that has sufficient free space and has the highest
<literal>freespace/totalspace</literal> metric
value.</para>
<para>When a volume is attached to an instance, the driver
attempts to place the volume under the instance's ESX host
on a datastore that is selected using the strategy
above.</para>
</simplesect>
</section>