cinder/doc/source/configuration/block-storage/drivers/datera-volume-driver.rst
Jay S. Bryant 986a6a015f [DOC BLD FIX] Name files for inclusion properly
The Sphinx build was issuing hundreds of warning for
duplicate labels.  The reason for this was because
all of the tables we had were named as .rst files.
This would cause Sphinx to process them twice and it would
think there were duplicated sections.

There were two ways this could be handled:  1) Exclude the tables
directory from the docs build. 2) Name the files as they should
have always been so they weren't build twice.  Given that
option 1 just masked the problem, I am implementing this
patch using option 2.

So, all the tables we are including in our documentation
have been named from .rst to .inc and the .. include::
directives that use them have also been updated to use
the new file name.

Change-Id: If395eb652f7e3b789bcbd5e6d6d05954c23d8d8a
2017-08-04 15:33:52 -05:00

4.4 KiB
Raw Blame History

Datera drivers

Datera iSCSI driver

The Datera Elastic Data Fabric (EDF) is a scale-out storage software that turns standard, commodity hardware into a RESTful API-driven, intent-based policy controlled storage fabric for large-scale clouds. The Datera EDF integrates seamlessly with the Block Storage service. It provides storage through the iSCSI block protocol framework over the iSCSI block protocol. Datera supports all of the Block Storage services.

System requirements, prerequisites, and recommendations

Prerequisites

  • Must be running compatible versions of OpenStack and Datera EDF. Please visit here to determine the correct version.
  • All nodes must have access to Datera EDF through the iSCSI block protocol.
  • All nodes accessing the Datera EDF must have the following packages installed:
    • Linux I/O (LIO)
    • open-iscsi
    • open-iscsi-utils
    • wget

Configuring the Datera volume driver

Modify the /etc/cinder/cinder.conf file for Block Storage service.

  • Enable the Datera volume driver:
[DEFAULT]
# ...
enabled_backends = datera
# ...
  • Optional. Designate Datera as the default back-end:
default_volume_type = datera
  • Create a new section for the Datera back-end definition. The san_ip can be either the Datera Management Network VIP or one of the Datera iSCSI Access Network VIPs depending on the network segregation requirements:
volume_driver = cinder.volume.drivers.datera.DateraDriver
san_ip = <IP_ADDR>            # The OOB Management IP of the cluster
san_login = admin             # Your cluster admin login
san_password = password       # Your cluster admin password
san_is_local = true
datera_num_replicas = 3       # Number of replicas to use for volume

Enable the Datera volume driver

  • Verify the OpenStack control node can reach the Datera san_ip:
$ ping -c 4 <san_IP>
  • Start the Block Storage service on all nodes running the cinder-volume services:
$ service cinder-volume restart

QoS support for the Datera drivers includes the ability to set the following capabilities in QoS Specs

  • read_iops_max -- must be positive integer
  • write_iops_max -- must be positive integer
  • total_iops_max -- must be positive integer
  • read_bandwidth_max -- in KB per second, must be positive integer
  • write_bandwidth_max -- in KB per second, must be positive integer
  • total_bandwidth_max -- in KB per second, must be positive integer
# Create qos spec
$ openstack volume qos create --property total_iops_max=1000 total_bandwidth_max=2000 DateraBronze

# Associate qos-spec with volume type
$ openstack volume qos associate DateraBronze VOLUME_TYPE

# Add additional qos values or update existing ones
$ openstack volume qos set --property read_bandwidth_max=500 DateraBronze

Supported operations

  • Create, delete, attach, detach, manage, unmanage, and list volumes.
  • Create, list, and delete volume snapshots.
  • Create a volume from a snapshot.
  • Copy an image to a volume.
  • Copy a volume to an image.
  • Clone a volume.
  • Extend a volume.
  • Support for naming convention changes.

Configuring multipathing

The following configuration is for 3.X Linux kernels, some parameters in different Linux distributions may be different. Make the following changes in the multipath.conf file:

defaults {
checker_timer 5
}
devices {
    device {
        vendor "DATERA"
        product "IBLOCK"
        getuid_callout "/lib/udev/scsi_id --whitelisted 
        replace-whitespace --page=0x80 --device=/dev/%n"
        path_grouping_policy group_by_prio
        path_checker tur
        prio alua
        path_selector "queue-length 0"
        hardware_handler "1 alua"
        failback 5
    }
}
blacklist {
    device {
        vendor ".*"
        product ".*"
    }
}
blacklist_exceptions {
    device {
        vendor "DATERA.*"
        product "IBLOCK.*"
    }
}