Theory of Operation: Storage Service Catalog and Cinder Volume Types

Theory of Operation: Storage Service Catalog and Cinder Volume Types

The Storage Service Catalog (SSC) is a concept that describes a set of capabilities that enables efficient, repeated, and consistent use and management of storage resources by the definition of policy-based services and the mapping of those services to the backend storage technology. It is meant to abstract away the actual technical implementations of the features at a storage backend into a set of simplified configuration options.

Important

For the complete list of features supported by NetApp drivers, refer to the Cinder Driver Support Matrix

The storage features are organized or combined into groups based on the customer needs to achieve a particular scenario or use case. Based on the catalog of the storage features, intelligent provisioning decisions are made by infrastructure or software enabling the storage service catalog. In OpenStack, this is achieved together by the Cinder filter scheduler and the NetApp driver by making use of volume type extra-specs support together with the filter scheduler. There are some prominent features which are exposed in the NetApp driver including mirroring, deduplication, compression, and thin provisioning.

When the NetApp driver is used with ONTAP systems, you can leverage extra specs with Cinder volume types to ensure that Cinder volumes are created on storage backends that have certain properties (e.g. QoS, mirroring, compression) configured.

Extra specs are associated with Cinder volume types, so that when users request volumes of a particular volume type, they are created on storage backends that meet the list of requirements (e.g. available space, extra specs, etc). You can use the specs in Table 4.11, “NetApp supported Extra Specs for use with Cinder volume Types” below when defining Cinder volume types with the cinder type-key command.

Extra spec

Type

Products Supported

Description

netapp_aggregate

String

ONTAP

Limit the candidate volume list to only the ones on a specific aggregate.

netapp_raid_type

String

ONTAP

Limit the candidate volume list based on one of the following raid types: raid4, raid6 and raid_dp.

netapp_disk_type

String

ONTAP

Limit the candidate volume list based on one of the following disk types: ATA, BSAS, EATA, FCAL, FSAS, LUN, MSATA, SAS, SATA, SCSI, XATA, XSAS, or SSD.

netapp_hybrid_aggregate

Boolean

ONTAP

Limit the candidate volume list to only those on hybrid aggregates.

netapp:qos_policy_group 2

String

ONTAP

Specify the name of a QoS policy group, which defines measurable Service Level Objectives (SLO), that should be applied to the Cinder volume at the time of volume creation. Ensure that the QoS policy group is defined within ONTAP before a Cinder volume is created. The QoS policy group specified will be shared among all Cinder volumes whose volume types reference the policy group in their extra specs. Since the SLO is shared with multiple Cinder volumes, the QoS policy group should not be associated with the destination FlexVol volume. If you want to apply an SLO uniquely on a per Cinder volume basis use Cinder backend QoS specs. See Table 4.1.

netapp:qos_policy_group_is_adaptive

Boolean

ONTAP

Indicates whether the QoS policy group specified by netapp:qos_policy_group is Adaptive or not. The specified adaptive QoS policy group will be applied to the LUN or file that corresponds to the Cinder volume. Note that the provided Adaptive QoS policy group must be created in advance in all SVMs managed by Cinder. Check 3 for feature restrictions.

netapp_flexvol_encryption

Boolean

ONTAP

Limit the candidate volume list to only the ones that have Flexvol Encryption (NVE) enabled on the storage controller. NVE is a software-based technology for encrypting data at rest, one volume at a time.

netapp_mirrored

Boolean

ONTAP

Limit the candidate volume list to only the ones that are mirrored on the storage controller.

netapp_dedup

Boolean

ONTAP

Limit the candidate volume list to only the ones that have deduplication enabled on the storage controller.

netapp_compression

Boolean

ONTAP

Limit the candidate volume list to only the ones that have compression enabled on the storage controller.

thin_provisioning_support

Boolean

ONTAP

Limit the candidate volume list to only the ones that support thin provisioning on the storage controller.

Table 4.11. NetApp supported Extra Specs for use with Cinder volume Types

2

Please note that this extra spec has a colon (:) in its name because it is used by the driver to assign the QoS policy group to the OpenStack Block Storage volume after it has been provisioned.

3

netapp:qos_policy_group_is_adaptive configuration expects that the Adaptive QoS policy group specified by netapp:qos_policy_group has already been created in the storage system. This feature is only supported on ONTAP version 9.4 or higher.

When creating a volume using this capability, certify that all backends have the proper Adaptive QoS Policy Group configured in advance. You can also make use of other backend capabilities to force the scheduler to choose the desired backend (e.g. volume_backend_name).