Re-add ZFSSA iSCSI cinder driver documentation.

This patch adds back the ZFSSA iSCSI driver documentation. It also adds
volume migration support documentation to the ZFSSA iSCSI as well as NFS
driver. Another change part of this patch is the addition of extra spec
documentation to the ZFSSA iSCSI driver.

Closes-Bug: 1501804
Closes-Bug: 1501806
Closes-Bug: 1503081

Change-Id: Ib682b6781695239e376378a637f8b0cab45ff3c4
This commit is contained in:
kedar-vidvans 2015-10-05 20:41:07 -04:00
parent e8e239d73a
commit bb6faae07d
6 changed files with 217 additions and 4 deletions

View File

@ -0,0 +1,211 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="zfssa-iscsi-driver" version="5.0">
<title>Oracle ZFS Storage Appliance iSCSI driver</title>
<para>Oracle ZFS Storage Appliances (ZFSSAs) provide advanced software to protect data, speed tuning and
troubleshooting, and deliver high performance and high availability.
Through the Oracle ZFSSA iSCSI Driver, OpenStack Block Storage can use an Oracle ZFSSA as a block storage resource.
The driver enables you to create iSCSI volumes that an OpenStack Block Storage server can allocate to any virtual machine running on a compute host.
The Oracle ZFSSA iSCSI Driver, version <literal>1.0.0</literal> and later, supports ZFSSA software release <literal>2013.1.2.0</literal> and later.
</para>
<simplesect>
<title>Configuration</title>
<procedure>
<step>
<para>Enable RESTful service on the ZFSSA Storage Appliance.</para>
</step>
<step>
<para>Create a new user on the appliance with the following authorizations:</para>
<itemizedlist>
<listitem>
<para><code>scope=stmf - allow_configure=true</code></para>
</listitem>
<listitem>
<para><code>scope=nas - allow_clone=true, allow_createProject=true, allow_createShare=true, allow_changeSpaceProps=true, allow_changeGeneralProps=true, allow_destroy=true, allow_rollback=true, allow_takeSnap=true</code></para>
</listitem>
</itemizedlist>
<para>
You can create a role with authorizations as follows:
</para>
<screen><prompt>zfssa:></prompt> <userinput>configuration roles</userinput>
<prompt>zfssa:configuration roles></prompt> <userinput>role OpenStackRole</userinput>
<prompt>zfssa:configuration roles OpenStackRole (uncommitted)></prompt> <userinput>set description="OpenStack Cinder Driver"</userinput>
<prompt>zfssa:configuration roles OpenStackRole (uncommitted)></prompt> <userinput>commit</userinput>
<prompt>zfssa:configuration roles></prompt> <userinput>select OpenStackRole</userinput>
<prompt>zfssa:configuration roles OpenStackRole></prompt> <userinput>authorizations create</userinput>
<prompt>zfssa:configuration roles OpenStackRole auth (uncommitted)></prompt> <userinput>set scope=stmf</userinput>
<prompt>zfssa:configuration roles OpenStackRole auth (uncommitted)></prompt> <userinput>set allow_configure=true</userinput>
<prompt>zfssa:configuration roles OpenStackRole auth (uncommitted)></prompt> <userinput>commit</userinput></screen>
<para>You can create a user with a specific role as follows:</para>
<screen><prompt>zfssa:></prompt> <userinput>configuration users</userinput>
<prompt>zfssa:configuration users></prompt> <userinput>user cinder</userinput>
<prompt>zfssa:configuration users cinder (uncommitted)></prompt> <userinput>set fullname="OpenStack Cinder Driver"</userinput>
<prompt>zfssa:configuration users cinder (uncommitted)></prompt> <userinput>set initial_password=12345</userinput>
<prompt>zfssa:configuration users cinder (uncommitted)></prompt> <userinput>commit</userinput>
<prompt>zfssa:configuration users></prompt> <userinput>select cinder set roles=OpenStackRole</userinput></screen>
<note>
<para>
You can also run this <link xlink:href="https://java.net/projects/solaris-userland/sources/gate/content/components/openstack/cinder/files/zfssa/cinder.akwf">workflow</link> to automate the above tasks.
</para>
</note>
</step>
<step>
<para>
Ensure that the ZFSSA iSCSI service is online. If the ZFSSA iSCSI service is not online, enable the service by using the BUI, CLI or REST API in the appliance.
</para>
<screen><prompt>zfssa:></prompt> <userinput>configuration services iscsi</userinput>
<prompt>zfssa:configuration services iscsi></prompt> <userinput>enable</userinput>
<prompt>zfssa:configuration services iscsi></prompt> <userinput>show</userinput>
<computeroutput>Properties:
&lt;status&gt;= online
...</computeroutput></screen>
</step>
</procedure>
<para>Define the following required properties in the <filename>cinder.conf</filename> file:</para>
<programlisting language="ini">volume_driver = cinder.volume.drivers.zfssa.zfssaiscsi.ZFSSAISCSIDriver
san_ip = <replaceable>myhost</replaceable>
san_login = <replaceable>username</replaceable>
san_password = <replaceable>password</replaceable>
zfssa_pool = <replaceable>mypool</replaceable>
zfssa_project = <replaceable>myproject</replaceable>
zfssa_initiator_group = <replaceable>default</replaceable>
zfssa_target_portal = <replaceable>w.x.y.z:3260</replaceable>
zfssa_target_interfaces = <replaceable>e1000g0</replaceable></programlisting>
<para>Optionally, you can define additional properties.</para>
<para>Target interfaces can be seen as follows in the CLI:</para>
<screen><prompt>zfssa:></prompt> <userinput>configuration net interfaces</userinput>
<prompt>zfssa:configuration net interfaces></prompt> <userinput>show</userinput>
<computeroutput>Interfaces:
INTERFACE STATE CLASS LINKS ADDRS LABEL
e1000g0 up ip e1000g0 1.10.20.30/24 Untitled Interface
...</computeroutput></screen>
<note>
<para>
Do not use management interfaces for <code>zfssa_target_interfaces</code>.
</para>
</note>
</simplesect>
<simplesect>
<title>Supported operations</title>
<itemizedlist>
<listitem>
<para>Create and delete volumes</para>
</listitem>
<listitem>
<para>Extend volume</para>
</listitem>
<listitem>
<para>Create and delete snapshots</para>
</listitem>
<listitem>
<para>Create volume from snapshot</para>
</listitem>
<listitem>
<para>Delete volume snapshots</para>
</listitem>
<listitem>
<para>Attach and detach volumes</para>
</listitem>
<listitem>
<para>Get volume stats</para>
</listitem>
<listitem>
<para>Clone volumes</para>
</listitem>
<listitem>
<para>Volume migration</para>
</listitem>
</itemizedlist>
</simplesect>
<simplesect>
<title>ZFSSA assisted volume migration</title>
<para>The ZFSSA iSCSI driver supports storage assisted volume migration starting in the Liberty release. This feature
uses remote replication feature on the ZFSSA. Volumes can be migrated between
two backends configured not only to the same ZFSSA but also between
two separate ZFSSAs altogether.
</para>
<para>The following conditions must be met in order to use ZFSSA assisted volume
migration:
</para>
<itemizedlist>
<listitem>
<para>Both the source and target backends are configured to ZFSSAs.</para>
</listitem>
<listitem>
<para>Remote replication service on the source and target appliance is enabled.</para>
</listitem>
<listitem>
<para>The ZFSSA to which the target backend is configured should be configured as a target in
the remote replication service of the ZFSSA configured to the source backend.
The remote replication target needs to be configured even when the source
and the destination for volume migration are the same ZFSSA.
Define <literal>zfssa_replication_ip</literal> in the <filename>cinder.conf</filename> of the source backend as the IP
address used to register the target ZFSSA in the remote replication service of
the source ZFSSA.
</para>
</listitem>
<listitem>
<para>The name of the iSCSI target group(<literal>zfssa_target_group</literal>) on the source and the
destination ZFSSA is the same.
</para>
</listitem>
<listitem>
<para>The volume is not attached and is in available state.</para>
</listitem>
</itemizedlist>
<para>If any of the above conditions are not met, the driver will proceed with generic
volume migration.</para>
<para>
The ZFSSA user on the source and target appliances will need to have additional
role authorizations for assisted volume migration to work. In scope nas,
set <literal>allow_rrtarget</literal> and <literal>allow_rrsource</literal> to <literal>true</literal>.
</para>
<screen>
<prompt>zfssa:configuration roles OpenStackRole auth (uncommitted)></prompt> <userinput>set scope=nas</userinput>
<prompt>zfssa:configuration roles OpenStackRole auth (uncommitted)></prompt> <userinput>set allow_rrtarget=true</userinput>
<prompt>zfssa:configuration roles OpenStackRole auth (uncommitted)></prompt> <userinput>set allow_rrsource=true</userinput>
</screen>
</simplesect>
<simplesect>
<title>Supported extra specs</title>
<para>Extra specs provide the OpenStack storage admin the
flexibility to create volumes with different characteristics from the
ones specified in <filename>cinder.conf</filename>. The admin will
specify the volume properties as keys at volume type creation. When a
user requests a volume of this volume type, the volume will be created
with the properties specified as extra specs.
</para>
<para>The following extra specs scoped keys are supported by the driver
</para>
<itemizedlist>
<listitem>
<para>zfssa:volblocksize</para>
</listitem>
<listitem>
<para>zfssa:sparse</para>
</listitem>
<listitem>
<para>zfssa:compression</para>
</listitem>
<listitem>
<para>zfssa:logbias</para>
</listitem>
</itemizedlist>
<para>Volume types can be created using the <literal>cinder type-create</literal>. Extra spec keys can be added using <literal>cinder type-key</literal> command.
</para>
</simplesect>
<simplesect>
<title>Driver options</title>
<para>The Oracle ZFSSA iSCSI Driver supports these options:</para>
<xi:include
href="../../../common/tables/cinder-zfssa-iscsi.xml"/>
</simplesect>
</section>

View File

@ -35,6 +35,9 @@
<listitem>
<para>Clone a volume</para>
</listitem>
<listitem>
<para>Volume migration</para>
</listitem>
</itemizedlist>
</simplesect>
<simplesect>

View File

@ -54,7 +54,6 @@
<xi:include href="../../common/tables/cinder-violin.xml"/>
<xi:include href="../../common/tables/cinder-vzstorage.xml"/>
<xi:include href="../../common/tables/cinder-zeromq.xml"/>
<xi:include href="../../common/tables/cinder-zfssa-iscsi.xml"/>
<xi:include href="../../common/tables/cinder-zones.xml"/>
</section>

View File

@ -49,5 +49,6 @@
<xi:include href="drivers/vmware-vmdk-driver.xml"/>
<xi:include href="drivers/windows-iscsi-volume-driver.xml"/>
<xi:include href="drivers/xio-volume-driver.xml"/>
<xi:include href="drivers/zfssa-iscsi-driver.xml"/>
<xi:include href="drivers/zfssa-nfs-driver.xml"/>
</section>

View File

@ -596,8 +596,8 @@ zfssa_nfs_share_compression zfssa-nfs
zfssa_nfs_share_logbias zfssa-nfs
zfssa_pool zfssa-iscsi
zfssa_project zfssa-iscsi
zfssa_replication_ip zfssa-nfs
zfssa_rest_timeout zfssa zfssa-nfs
zfssa_replication_ip zfssa-iscsi
zfssa_rest_timeout zfssa-iscsi zfssa-nfs
zfssa_target_group zfssa-iscsi
zfssa_target_interfaces zfssa-iscsi
zfssa_target_password zfssa-iscsi

View File

@ -65,7 +65,6 @@ windows Windows
xio X-IO volume driver
xiv IBM XIV and DS8000 volume driver
zadara Zadara Storage driver
zfssa ZFS Storage Appliance iSCSI driver
zfssa-iscsi ZFS Storage Appliance iSCSI driver
zfssa-nfs ZFS Storage Appliance NFS driver
zones zones