wangzhenyu b1e1f4bfa3 Modify the wrong link in document
Change-Id: Ibebd5a6e3752a441fc0f05f4bfd1be2b7f360480
2017-11-22 02:22:48 -05:00

274 lines
9.1 KiB
ReStructuredText

========================================================
Kaminario K2 all-flash array iSCSI and FC volume drivers
========================================================
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.
Driver requirements
~~~~~~~~~~~~~~~~~~~
- Kaminario's K2 all-flash iSCSI and/or FC array
- K2 REST API version >= 2.2.0
- K2 version 5.8 or later are supported
- ``krest`` python library(version 1.3.1 or later) should be installed on the
Block Storage node using :command:`sudo pip install krest`
- The Block Storage Node should also have a data path to the K2 array
for the following operations:
- Create a volume from snapshot
- Clone a volume
- Copy volume to image
- Copy image to volume
- Retype 'dedup without replication'<->'nodedup without replication'
Supported operations
~~~~~~~~~~~~~~~~~~~~~
- Create, delete, attach, and detach volumes.
- Create 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.
- Retype a volume.
- Manage and unmanage a volume.
- Replicate volume with failover and failback support to K2 array.
Limitations and known issues
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If 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:
- available bandwidth
- high-availability
- non disruptive-upgrade
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:
.. code-block:: console
# apt-get install sg3-utils multipath-tools
#. In the ``[libvirt]`` section of the ``nova.conf`` configuration file,
specify ``iscsi_use_multipath=True``. This option is valid for both iSCSI
and FC drivers.
Additional resources: Kaminario Host Configuration Guide
for Linux (for configuring multipath)
#. Restart the compute service for the changes to take effect.
.. code-block:: console
# service nova-compute restart
Configure single Kaminario iSCSI/FC back end
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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:
.. code-block:: ini
[DEFAULT]
scheduler_default_filters = DriverFilter,CapabilitiesFilter
See following links for more information:
`<https://docs.openstack.org/cinder/latest/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
.. code-block:: ini
[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:
.. code-block:: ini
[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:
.. code-block:: console
# service cinder-api restart
# service cinder-scheduler restart
# service cinder-volume restart
Setting multiple Kaminario iSCSI/FC back ends
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following steps are required to configure multiple K2 iSCSI/FC backends:
#. In the :file:`cinder.conf` file under the [DEFAULT] section,
set the enabled_backends parameter with the comma-separated
iSCSI/FC back-end groups.
.. code-block:: ini
[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
<https://docs.openstack.org/cinder/latest/admin/blockstorage-multi-backend.html>`__
for additional information.
#. Restart the cinder volume service for the changes to take effect.
.. code-block:: console
# service cinder-volume restart
Creating volume types
~~~~~~~~~~~~~~~~~~~~~
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
.. code-block:: console
$ 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.
.. code-block:: console
$ 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
Supported retype cases
~~~~~~~~~~~~~~~~~~~~~~
The following are the supported retypes for Kaminario cinder volumes:
- Nodedup-noreplication <--> Nodedup-replication
.. code-block:: console
$ cinder retype volume-id new-type
- Dedup-noreplication <--> Dedup-replication
.. code-block:: console
$ cinder retype volume-id new-type
- Dedup-noreplication <--> Nodedup-noreplication
.. code-block:: console
$ cinder retype --migration-policy on-demand volume-id new-type
For non-supported cases, try combinations of the
:command:`cinder retype` command.
Driver options
~~~~~~~~~~~~~~
The following table contains the configuration options that are specific
to the Kaminario K2 FC and iSCSI Block Storage drivers.
.. include:: ../../tables/cinder-kaminario.inc