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.
The Windows cinder-volume
driver works with OpenStack Compute on any hypervisor. It includes snapshotting
support and the "boot from volume" feature.
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.
This driver has been tested with Windows Server 2012 and Windows Server R2 using the Server and Storage Server distributions.
Install the cinder-volume
service as well as the required Python components directly onto the Windows
node.
You may install and configure cinder-volume
and its dependencies manually using the following guide or you
may use the Cinder Volume Installer
, presented below.
In case you want to avoid all the manual setup, you can use
Cloudbase Solutions' installer. You can find it at
https://www.cloudbase.it/downloads/CinderVolumeSetup_Beta.msi. It
installs an independent Python environment, in order to avoid conflicts
with existing applications, dynamically generates a cinder.conf
file based on the parameters provided by you.
cinder-volume
will be
configured to run as a Windows Service, which can be restarted
using:
PS C:\> net stop cinder-volume ; net start cinder-volume
The installer can also be used in unattended mode. More details about how to use the installer and its features can be found at https://www.cloudbase.it
The required service in order to run
cinder-volume
on Windows is wintarget
.
This will require the iSCSI Target Server Windows feature to be installed.
You can install it by running the following command:
PS C:\> Add-WindowsFeature FS-iSCSITarget-ServerAdd-WindowsFeatureFS-iSCSITarget-Server
Note | |
---|---|
The Windows Server installation requires at least 16 GB of disk space. The volumes hosted by this node need the extra space. |
For cinder-volume
to work
properly, you must configure NTP as explained in
the section called “Configure NTP”.
Next, install the requirements as described in the section called “Requirements”.
Git can be used to download the necessary source code. The installer to run Git on Windows can be downloaded here:
Once installed, run the following to clone the OpenStack Block Storage code.
PS C:\> git.exe clone https://github.com/openstack/cinder.git
The cinder.conf
file may be placed in
C:\etc\cinder
. Below is a config sample for using
the Windows iSCSI Driver:
[DEFAULT] auth_strategy = keystone volume_name_template = volume-%s volume_driver = cinder.volume.drivers.windows.WindowsDriver glance_api_servers =IP_ADDRESS
:9292 rabbit_host =IP_ADDRESS
rabbit_port = 5672 sql_connection = mysql+pymysql://root:Passw0rd@IP_ADDRESS
/cinder windows_iscsi_lun_path = C:\iSCSIVirtualDisks verbose = True rabbit_password = Passw0rd logdir = C:\OpenStack\Log\ image_conversion_dir = C:\ImageConversionDir debug = True
The following table contains a reference to the only driver specific option that will be used by the Block Storage Windows driver:
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
windows_iscsi_lun_path = C:\iSCSIVirtualDisks |
(StrOpt) Path to store VHD backed volumes |
After configuring cinder-volume
using the cinder.conf
file, you may use the following
commands to install and run the service (note that you must replace the
variables with the proper paths):
PS C:\> python $CinderClonePath\setup.py install PS C:\> cmd /c C:\python27\python.exe c:\python27\Scripts\cinder-volume" –-config-file $CinderConfPath