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_is_flexgroup

Boolean

ONTAP

Limit the candidate volume list to only those within a FlexGroup ONTAP volume.

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_min_support

Boolean

ONTAP

Limit the candidates volume list to only those with QoS minimum support.

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:space_allocation

Boolean

ONTAP

Specify whether the space allocation feature should be enabled or disabled by setting netapp:space_allocation value. Defaults to false. NetApp space allocation feature allows ONTAP LUN reclaim space automatically when the host deletes data. This will enable both host and storage system report usage and available space correctly. This will enable host to see the actual space correctly when host deletes data. It also notifies the host when the LUN cannot accept write data due to lack of space on the volume, and makes the LUN read-only (rather than going offline). Both Thin and Thick provisioned LUNs will support space allocation. Also, Make sure host supports SBC-3 and above.

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