6d9d70f3ee
As discussed in the Liberty Design Summit "Moving apps to Python 3" cross-project workshop, the way forward in the near future is to switch to the pure-python PyMySQL library as a default. https://etherpad.openstack.org/p/liberty-cross-project-python3 This change handles only common files and Config Reference. Change-Id: I8d60ec2ca85c3099fc39c293ada0a78fffb28599
137 lines
6.3 KiB
XML
137 lines
6.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<section version="5.0" xml:id="windows-iscsi-volume-driver"
|
||
xmlns="http://docbook.org/ns/docbook"
|
||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||
<?dbhtml stop-chunking?>
|
||
|
||
<title>Windows iSCSI volume driver</title>
|
||
|
||
<para>Windows Server 2012 and Windows Storage Server 2012 offer an
|
||
integrated iSCSI Target service that can be used with OpenStack Block Storage
|
||
in your stack. Being entirely a software solution, consider it in particular
|
||
for mid-sized networks where the costs of a SAN might be excessive.</para>
|
||
|
||
<para>The Windows <systemitem class="service">cinder-volume</systemitem>
|
||
driver works with OpenStack Compute on any hypervisor. It includes snapshotting
|
||
support and the "boot from volume" feature.</para>
|
||
|
||
<para>This driver creates volumes backed by fixed-type VHD images on Windows
|
||
Server 2012 and dynamic-type VHDX on Windows Server 2012 R2, stored locally
|
||
on a user-specified path. The system uses those images as iSCSI disks and
|
||
exports them through iSCSI targets. Each volume has its own iSCSI target.</para>
|
||
|
||
<para>This driver has been tested with Windows Server 2012 and Windows Server
|
||
R2 using the Server and Storage Server distributions.</para>
|
||
|
||
<para>Install the <systemitem class="service">cinder-volume</systemitem>
|
||
service as well as the required Python components directly onto the Windows
|
||
node.</para>
|
||
|
||
<para>You may install and configure <systemitem class="service">cinder-volume
|
||
</systemitem> and its dependencies manually using the following guide or you
|
||
may use the <literal>Cinder Volume Installer</literal>, presented below.</para>
|
||
|
||
<section xml:id="installing-cinder-volume-using-msi">
|
||
<title>Installing using the OpenStack cinder volume installer</title>
|
||
|
||
<para>In case you want to avoid all the manual setup, you can use
|
||
Cloudbase Solutions' installer. You can find it at <link
|
||
xlink:href="https://www.cloudbase.it/downloads/CinderVolumeSetup_Beta.msi">
|
||
https://www.cloudbase.it/downloads/CinderVolumeSetup_Beta.msi</link>. It
|
||
installs an independent Python environment, in order to avoid conflicts
|
||
with existing applications, dynamically generates a <filename>cinder.conf
|
||
</filename> file based on the parameters provided by you.</para>
|
||
|
||
<para><systemitem class="service">cinder-volume</systemitem> will be
|
||
configured to run as a Windows Service, which can be restarted
|
||
using:</para>
|
||
|
||
<screen><prompt>PS C:\></prompt> <userinput>net stop cinder-volume ; net start cinder-volume</userinput></screen>
|
||
|
||
<para>The installer can also be used in unattended mode. More details
|
||
about how to use the installer and its features can be found at <link
|
||
xlink:href="https://www.cloudbase.it">https://www.cloudbase.it</link></para>
|
||
</section>
|
||
|
||
<section xml:id="windows-server-configuration">
|
||
<title>Windows Server configuration</title>
|
||
|
||
<para>The required service in order to run <systemitem class="service">
|
||
cinder-volume</systemitem> on Windows is <literal>wintarget</literal>.
|
||
This will require the iSCSI Target Server Windows feature to be installed.
|
||
You can install it by running the following command:</para>
|
||
|
||
<screen><prompt>PS C:\></prompt> <userinput>Add-WindowsFeature
|
||
FS-iSCSITarget-ServerAdd-WindowsFeatureFS-iSCSITarget-Server</userinput></screen>
|
||
|
||
<note>
|
||
<para>The Windows Server installation requires at least 16 GB of disk space.
|
||
The volumes hosted by this node need the extra space.</para>
|
||
</note>
|
||
|
||
<para>For <systemitem class="service">cinder-volume</systemitem> to work
|
||
properly, you must configure NTP as explained in
|
||
<xref linkend="configure-ntp-windows"/>.</para>
|
||
|
||
<para>Next, install the requirements as described in <xref
|
||
linkend="windows-requirements"/>.</para>
|
||
</section>
|
||
|
||
<section xml:id="getting-the-code">
|
||
<title>Getting the code</title>
|
||
|
||
<para>Git can be used to download the necessary source code. The installer
|
||
to run Git on Windows can be downloaded here:</para>
|
||
|
||
<para><link
|
||
xlink:href="https://github.com/msysgit/msysgit/releases/download/Git-1.9.2-preview20140411/Git-1.9.2-preview20140411.exe">
|
||
https://github.com/msysgit/msysgit/releases/download/Git-1.9.2-preview20140411/Git-1.9.2-preview20140411.exe</link></para>
|
||
|
||
<para>Once installed, run the following to clone the OpenStack
|
||
Block Storage code.</para>
|
||
|
||
<screen><prompt>PS C:\></prompt> <userinput>git.exe clone https://github.com/openstack/cinder.git</userinput></screen>
|
||
</section>
|
||
|
||
<section xml:id="configure-cinder-volume">
|
||
<title>Configure cinder-volume</title>
|
||
|
||
<para>The <filename>cinder.conf</filename> file may be placed in
|
||
<filename>C:\etc\cinder</filename>. Below is a config sample for using
|
||
the Windows iSCSI Driver:</para>
|
||
|
||
<programlisting language="ini">[DEFAULT]
|
||
auth_strategy = keystone
|
||
volume_name_template = volume-%s
|
||
volume_driver = cinder.volume.drivers.windows.WindowsDriver
|
||
glance_api_servers = <replaceable>IP_ADDRESS</replaceable>:9292
|
||
rabbit_host = <replaceable>IP_ADDRESS</replaceable>
|
||
rabbit_port = 5672
|
||
sql_connection = mysql+pymysql://root:Passw0rd@<replaceable>IP_ADDRESS</replaceable>/cinder
|
||
windows_iscsi_lun_path = C:\iSCSIVirtualDisks
|
||
verbose = True
|
||
rabbit_password = Passw0rd
|
||
logdir = C:\OpenStack\Log\
|
||
image_conversion_dir = C:\ImageConversionDir
|
||
debug = True</programlisting>
|
||
|
||
<para>The following table contains a reference to the only driver specific
|
||
option that will be used by the Block Storage Windows driver:</para>
|
||
|
||
<xi:include href="../../../common/tables/cinder-windows.xml"/>
|
||
</section>
|
||
|
||
<section xml:id="running-cinder-volume">
|
||
<title>Running cinder-volume</title>
|
||
|
||
<para>After configuring <systemitem class="service">cinder-volume</systemitem>
|
||
using the <filename>cinder.conf</filename> file, you may use the following
|
||
commands to install and run the service (note that you must replace the
|
||
variables with the proper paths):</para>
|
||
|
||
<screen><prompt>PS C:\></prompt> <userinput>python $CinderClonePath\setup.py install</userinput>
|
||
<prompt>PS C:\></prompt> <userinput>cmd /c C:\python27\python.exe c:\python27\Scripts\cinder-volume" –-config-file $CinderConfPath</userinput></screen>
|
||
</section>
|
||
</section>
|