Kaminario’s K2 all-flash array leverages a unique software-defined architecture that delivers highly valued predictable performance, scalability and cost-efficiency.
Kaminario’s K2 all-flash iSCSI and FC arrays can be used in
OpenStack Block Storage for providing block storage using
KaminarioISCSIDriver
class and KaminarioFCDriver
class respectively.
This documentation explains how to configure and connect the block storage nodes to one or more K2 all-flash arrays.
krest
python library(version 1.3.1 or later) should be installed on the
Block Storage node using sudo pip install krestIf your OpenStack deployment is not setup to use multipath, the network connectivity of the K2 all-flash array will use a single physical port.
This may significantly limit the following benefits provided by K2:
The following steps are required to setup multipath access on the Compute and the Block Storage nodes
Install multipath software on both Compute and Block Storage nodes.
For example:
# apt-get install sg3-utils multipath-tools
In the [libvirt]
section of the nova.conf
configuration file,
specify volume_use_multipath=True
. This option is valid for both iSCSI
and FC drivers.
In versions prior to Newton, the option was called iscsi_use_multipath
.
Additional resources: Kaminario Host Configuration Guide for Linux (for configuring multipath)
Restart the compute service for the changes to take effect.
# service nova-compute restart
This section details the steps required to configure the Kaminario Cinder Driver for single FC or iSCSI backend.
In the cinder.conf
configuration file under the [DEFAULT]
section, set the scheduler_default_filters
parameter:
[DEFAULT]
scheduler_default_filters = DriverFilter,CapabilitiesFilter
See following links for more information: https://docs.openstack.org/cinder/latest/configuration/block-storage/scheduler-filters.html https://docs.openstack.org/cinder/latest/admin/blockstorage-driver-filter-weighing.html
Under the [DEFAULT]
section, set the enabled_backends parameter
with the iSCSI or FC back-end group
[DEFAULT]
# For iSCSI
enabled_backends = kaminario-iscsi-1
# For FC
# enabled_backends = kaminario-fc-1
Add a back-end group section for back-end group specified in the enabled_backends parameter
In the newly created back-end group section, set the following configuration options:
[kaminario-iscsi-1]
# Management IP of Kaminario K2 All-Flash iSCSI/FC array
san_ip = 10.0.0.10
# Management username of Kaminario K2 All-Flash iSCSI/FC array
san_login = username
# Management password of Kaminario K2 All-Flash iSCSI/FC array
san_password = password
# Enable Kaminario K2 iSCSI/FC driver
volume_driver = cinder.volume.drivers.kaminario.kaminario_iscsi.KaminarioISCSIDriver
# volume_driver = cinder.volume.drivers.kaminario.kaminario_fc.KaminarioFCDriver
# Backend name
# volume_backend_name = kaminario_fc_1
volume_backend_name = kaminario_iscsi_1
# K2 driver calculates max_oversubscription_ratio on setting below
# option as True. Default value is False
# auto_calc_max_oversubscription_ratio = False
# Set a limit on total number of volumes to be created on K2 array, for example:
# filter_function = "capabilities.total_volumes < 250"
# For replication, replication_device must be set and the replication peer must be configured
# on the primary and the secondary K2 arrays
# Syntax:
# replication_device = backend_id:<s-array-ip>,login:<s-username>,password:<s-password>,rpo:<value>
# where:
# s-array-ip is the secondary K2 array IP
# rpo must be either 60(1 min) or multiple of 300(5 min)
# Example:
# replication_device = backend_id:10.0.0.50,login:kaminario,password:kaminario,rpo:300
# Suppress requests library SSL certificate warnings on setting this option as True
# Default value is 'False'
# suppress_requests_ssl_warnings = False
Restart the Block Storage services for the changes to take effect:
# service cinder-api restart
# service cinder-scheduler restart
# service cinder-volume restart
The following steps are required to configure multiple K2 iSCSI/FC backends:
In the cinder.conf
file under the [DEFAULT] section,
set the enabled_backends parameter with the comma-separated
iSCSI/FC back-end groups.
[DEFAULT]
enabled_backends = kaminario-iscsi-1, kaminario-iscsi-2, kaminario-iscsi-3
Add a back-end group section for each back-end group specified in the enabled_backends parameter
For each back-end group section, enter the configuration options as
described in the above section
Configure single Kaminario iSCSI/FC back end
See Configure multiple-storage back ends for additional information.
Restart the cinder volume service for the changes to take effect.
# service cinder-volume restart
Create volume types for supporting volume creation on the multiple K2 iSCSI/FC backends. Set following extras-specs in the volume types:
volume_backend_name : Set value of this spec according to the
value of volume_backend_name
in the back-end group sections.
If only this spec is set, then dedup Kaminario cinder volumes will be
created without replication support
$ openstack volume type create kaminario_iscsi_dedup_noreplication
$ openstack volume type set --property volume_backend_name=kaminario_iscsi_1 \
kaminario_iscsi_dedup_noreplication
kaminario:thin_prov_type : Set this spec in the volume type for creating nodedup Kaminario cinder volumes. If this spec is not set, dedup Kaminario cinder volumes will be created.
kaminario:replication : Set this spec in the volume type for creating replication supported Kaminario cinder volumes. If this spec is not set, then Kaminario cinder volumes will be created without replication support.
$ openstack volume type create kaminario_iscsi_dedup_replication
$ openstack volume type set --property volume_backend_name=kaminario_iscsi_1 \
kaminario:replication=enabled kaminario_iscsi_dedup_replication
$ openstack volume type create kaminario_iscsi_nodedup_replication
$ openstack volume type set --property volume_backend_name=kaminario_iscsi_1 \
kaminario:replication=enabled kaminario:thin_prov_type=nodedup \
kaminario_iscsi_nodedup_replication
$ openstack volume type create kaminario_iscsi_nodedup_noreplication
$ openstack volume type set --property volume_backend_name=kaminario_iscsi_1 \
kaminario:thin_prov_type=nodedup kaminario_iscsi_nodedup_noreplication
The following are the supported retypes for Kaminario cinder volumes:
Nodedup-noreplication <–> Nodedup-replication
$ cinder retype volume-id new-type
Dedup-noreplication <–> Dedup-replication
$ cinder retype volume-id new-type
Dedup-noreplication <–> Nodedup-noreplication
$ cinder retype --migration-policy on-demand volume-id new-type
For non-supported cases, try combinations of the cinder retype command.
The following table contains the configuration options that are specific to the Kaminario K2 FC and iSCSI Block Storage drivers.
Configuration option = Default value | Description |
---|---|
auto_calc_max_oversubscription_ratio = False |
(Boolean) K2 driver will calculate max_oversubscription_ratio on setting this option as True. |
disable_discovery = False |
(Boolean) Disabling iSCSI discovery (sendtargets) for multipath connections on K2 driver. |
unique_fqdn_network = True |
(Boolean) Whether or not our private network has unique FQDN on each initiator or not. For example networks with QA systems usually have multiple servers/VMs with the same FQDN. When true this will create host entries on K2 using the FQDN, when false it will use the reversed IQN/WWNN. |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.