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 unified driver is used with ONTAP and E-Series storage 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, E-Series Limit the candidate volume list based on one of the following raid types: raid0, raid1, raid4, raid5 [1], raid6, raidDiskPool, and raid_dp. Note that raid4 and raid_dp are for ONTAP only and raid0, raid1, raid5, raid6, and raidDiskPool are for E-Series only.
netapp_disk_type String ONTAP, E-Series 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_eseries_disk_spindle_speed String E-Series Limit the candidate volume list based on the spindle speed of the drives. Select from the following options: spindleSpeedSSD, spindleSpeed5400, spindleSpeed7200, spindleSpeed10k, spindleSpeed15k. Note: If mixed spindle speeds are present in the same pool, the filtering behavior is undefined.
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_disk_encryption Boolean E-Series Limit the candidate volume list to only the ones that have Full Disk Encryption (FDE) enabled on the storage controller.
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_eseries_data_assurance Boolean E-Series Limit the candidate volume list to only the ones that support the Data Assurance (DA) capability. DA provides an additional level of data integrity by computing a checksum for every block of data that is written to the drives. DA is not supported with iSCSI interconnect.
netapp_eseries_flash_read_cache Boolean E-Series Limit the candidate volume list to only the ones that support being added to a Flash Cache. Adding volumes to a Flash Cache can increase read performance. An SSD cache must be defined on the storage controller for this feature to be available.
netapp:read_cache Boolean E-Series Explicitly enable or disable read caching for the Cinder volume at the time of volume creation.
netapp:write_cache Boolean E-Series Explicitly enable or disable write caching for the Cinder volume at the time of volume creation.
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.
netapp_enable_multiattach Boolean E-Series Support multi-attachment of volumes. This enables a volume to be attached to multiple servers simultaneously. For ONTAP and SolidFire, multi-attachment is configured by default.
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

[1]Note that RAID3 is a deprecated RAID type on E-Series storage controllers and operates as RAID5.
[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.