Datera drivers

Datera iSCSI driver

The Datera Data Services Platform (DSP) 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 DSP 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

  • All nodes must have access to Datera DSP through the iSCSI block protocol.

  • All nodes accessing the Datera DSP must have the following packages installed:

    • Linux I/O (LIO)

    • open-iscsi

    • open-iscsi-utils

    • wget

Description of Datera configuration options

Configuration option = Default value

Description

datera_503_interval = 5

(Integer) Interval between 503 retries

datera_503_timeout = 120

(Integer) Timeout for HTTP 503 retry messages

datera_debug = False

(Boolean) True to set function arg and return logging

datera_debug_replica_count_override = False

(Boolean) ONLY FOR DEBUG/TESTING PURPOSES True to set replica_count to 1

datera_disable_extended_metadata = False

(Boolean) Set to True to disable sending additional metadata to the Datera backend

datera_disable_profiler = False

(Boolean) Set to True to disable profiling in the Datera driver

datera_disable_template_override = False

(Boolean) Set to True to disable automatic template override of the size attribute when creating from a template

datera_enable_image_cache = False

(Boolean) Set to True to enable Datera backend image caching

datera_image_cache_volume_type_id = None

(String) Cinder volume type id to use for cached volumes

datera_ldap_server = None

(String) LDAP authentication server

datera_tenant_id = None

(String) If set to ‘Map’ –> OpenStack project ID will be mapped implicitly to Datera tenant ID If set to None –> Datera tenant ID will not be used during volume provisioning If set to anything else –> Datera tenant ID will be the provided value

datera_volume_type_defaults = {}

(Dict of String) Settings here will be used as volume-type defaults if the volume-type setting is not provided. This can be used, for example, to set a very low total_iops_max value if none is specified in the volume-type to prevent accidental overusage. Options are specified via the following format, WITHOUT ANY ‘DF:’ PREFIX: ‘datera_volume_type_defaults=iops_per_gb:100,bandwidth_per_gb:200…etc’.

datera_api_port = 7717

(String) Datera API port. DEPRECATED

datera_api_version = 2.2

(String) Datera API version. DEPRECATED

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 VIP can be either the Datera Management Network VIP or one of the Datera iSCSI Access Network VIPs depending on the network segregation requirements. For a complete list of parameters that can be configured, please see the section Volume Driver Cinder.conf Options

[datera]
volume_driver = cinder.volume.drivers.datera.datera_iscsi.DateraDriver
san_ip = <VIP>
san_login = admin
san_password = password
datera_tenant_id =
volume_backend_name = datera
datera_volume_type_defaults=replica_count:3

Enable the Datera volume driver

  • Verify the OpenStack control node can reach the Datera VIP:

$ ping -c 4 <VIP>
  • Start the Block Storage service on all nodes running the cinder-volume services:

$ service cinder-volume restart

Configuring one (or more) Datera specific volume types

There are extra volume type parameters that can be used to define Datera volume types with specific QoS policies (R/W IOPS, R/W bandwidth) and/or placement policies (replica count, type of media, IP pool to use, etc.)

For a full list of supported options please see the Volume-Type ExtraSpecs section in the driver documentation. See more examples in the Usage section.

# Create 2 replica volume type
$ openstack volume type create datera_2way --property volume_backend_name=datera --property DF:replica_count=2

# Create volume type with limited write IOPS
$ openstack volume type create datera_iops --property volume_backend_name=datera --property DF:write_iops_max=5000

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

Enabling multipathing is strongly reccomended for reliability and availability reasons. Please refer to the following file for an example of configuring multipathing in Linux 3.x kernels. Some parameters in different Linux distributions may be different.