Class CIM_StorageSetting
extends CIM_SettingData

StorageSetting is roughly equivalent to a Service Level Agreement (SLA) It defines the characteristics, qualities of service and goals when used in a CreateOrModifyElement FromStoragePool or CreateOrModifyStoragePool method in the StorageConfigurationService. It specifies a series of properties with Maximum and Minimum values that define the (inclusive) bounds that the object should maintain. Note that the setting is associated to a StorageVolume or LogicalDisk, using ElementSetting. The use of these properties differs depending on whether the StorageSetting instance is being used as a goal for a configuration operation or being used as a Service Level Agreement for a created Volume. In addition the properties fall into two categories: The QOS properties(PackageRedundancy, Data Redundancy, & NoSinglePointOfFailure) and the Detailed RAID properties(ExtentStripeLength, ParityLayout, and UserDataStripeDepth). In a Setting used as a goal, the QOS properties are required as a set; The Detailed RAID properties(if supported as indicated by the scoping StorageCapabilities instance) may be used optionally in any combination. The implementation MUST supply it's own best practice in the case where one or more supported RAID properties are not supplied. In this situation the use of StorageSettingWithHints can be useful to provide direction to the implementation. In a Setting used as a service agreement for a Volume, the QOS properties reflect the Service Level Agreement, with goal, min, & max. The actual current service level is exposed by corresponding values in StorageExtent. The Detailed RAID properties, by contrast, reflect specific values that reflect the RAID construction of the Volume. Only the primary values are meaningful; Min and Max are set to match. Certain StorageSetting instances may be classed as "Fixed", by using the "ChangeableType" property, indicating the setting is preset. Such settings are used when the possible setting variations are low enough to be instantiated in their entirety. The StorageCapabilities "CreateSetting" method MAY NOT be used to return settings that are not changeable. Other StorageSetting instances are created using the "CreateSetting" method. If the capabilities specifies ranges, then the setting can be used by a client to narrow the range to particular values within the range. In other words, the capabilities MAY be broad, but the related setting MUST be as capable or less capable, that is more narrowly defined, before it is used to create or modify resources. These created StorageSetting instances MUST have their "ChangeableType" property = 1, "Changeable - Transient". GeneratedSettings MAY not remain after the restart or reset of the implementation. They may be deleted by implementation at any time. A reasonable minimal time to retain the generated transient settings is five minutes, although there is no minimal retention time.

Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods


Class Hierarchy

CIM_ManagedElement
   |
   +--CIM_SettingData
   |
   +--CIM_StorageSetting

Direct Known Subclasses

CIM_StorageSettingWithHints

Class Qualifiers

NameData TypeValue
DescriptionstringStorageSetting is roughly equivalent to a Service Level Agreement (SLA) It defines the characteristics, qualities of service and goals when used in a CreateOrModifyElement FromStoragePool or CreateOrModifyStoragePool method in the StorageConfigurationService. It specifies a series of properties with Maximum and Minimum values that define the (inclusive) bounds that the object should maintain. Note that the setting is associated to a StorageVolume or LogicalDisk, using ElementSetting. The use of these properties differs depending on whether the StorageSetting instance is being used as a goal for a configuration operation or being used as a Service Level Agreement for a created Volume. In addition the properties fall into two categories: The QOS properties(PackageRedundancy, Data Redundancy, & NoSinglePointOfFailure) and the Detailed RAID properties(ExtentStripeLength, ParityLayout, and UserDataStripeDepth). In a Setting used as a goal, the QOS properties are required as a set; The Detailed RAID properties(if supported as indicated by the scoping StorageCapabilities instance) may be used optionally in any combination. The implementation MUST supply it's own best practice in the case where one or more supported RAID properties are not supplied. In this situation the use of StorageSettingWithHints can be useful to provide direction to the implementation. In a Setting used as a service agreement for a Volume, the QOS properties reflect the Service Level Agreement, with goal, min, & max. The actual current service level is exposed by corresponding values in StorageExtent. The Detailed RAID properties, by contrast, reflect specific values that reflect the RAID construction of the Volume. Only the primary values are meaningful; Min and Max are set to match. Certain StorageSetting instances may be classed as "Fixed", by using the "ChangeableType" property, indicating the setting is preset. Such settings are used when the possible setting variations are low enough to be instantiated in their entirety. The StorageCapabilities "CreateSetting" method MAY NOT be used to return settings that are not changeable. Other StorageSetting instances are created using the "CreateSetting" method. If the capabilities specifies ranges, then the setting can be used by a client to narrow the range to particular values within the range. In other words, the capabilities MAY be broad, but the related setting MUST be as capable or less capable, that is more narrowly defined, before it is used to create or modify resources. These created StorageSetting instances MUST have their "ChangeableType" property = 1, "Changeable - Transient". GeneratedSettings MAY not remain after the restart or reset of the implementation. They may be deleted by implementation at any time. A reasonable minimal time to retain the generated transient settings is five minutes, although there is no minimal retention time.
UMLPackagePathstringCIM::Device::StorageServices
Versionstring2.11.0

Class Properties

Local Class Properties

NameData TypeDefault ValueQualifiers
NameData TypeValue
ChangeableTypeuint16
DescriptionstringEnumeration indicating the type of setting. "Fixed - Not Changeable" settings are primordial. These setting are defined at the implementor of the class. "Changeable - Transient" is the type of setting produced by the "CreateSetting" method. A client can subsequently request that the implementation persist the generated and potentially modified setting indefinately. Only a "Changeable - Transient" setting SHALL be converted to a "Changeable = Persistent" setting; the setting SHALL NOT be changed back.
OverridestringChangeableType
ValueMapstring0, 1, 2
ValuesstringFixed - Not Changeable, Changeable - Transient, Changeable - Persistent
DataRedundancyGoaluint16
DescriptionstringDataRedundancyGoal describes the desired number of complete copies of data to be maintained. Examples would be RAID 5 where 1 copy is maintained and RAID 1 where 2 or more copies are maintained. Possible values are 1 to n. The bounds (max and min) for redundancy are defined using the properties, DataRedundancyMax and DataRedundancyMin.
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.DataRedundancyMax, CIM_StorageSetting.DataRedundancyMin
Writebooleantrue
DataRedundancyMaxuint16
DescriptionstringDataRedundancyMax describes the maximum number of complete copies of data to be maintained. Examples would be RAID 5 where 1 copy is maintained and RAID 1 where 2 or more copies are maintained. Possible values are 1 to n. The desired redundancy is specified using DataRedundancyGoal, while the minimum is defined by DataRedundancyMin.
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.DataRedundancyMin, CIM_StorageSetting.DataRedundancyGoal
Writebooleantrue
DataRedundancyMinuint16
DescriptionstringDataRedundancyMin describes the minimum number of complete copies of data to be maintained. Examples would be RAID 5 where 1 copy is maintained and RAID 1 where 2 or more copies are maintained. Possible values are 1 to n. The desired redundancy is specified using DataRedundancyGoal, while the maximum is defined by DataRedundancyMax.
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.DataRedundancyMax, CIM_StorageSetting.DataRedundancyGoal
Writebooleantrue
DeltaReservationGoaluint8
DescriptionstringDeltaReservationGoal is a number between 1 (1%) and a 100 (100%) which specifies the desired amount of space that should be reserved in a replica for caching changes. For a complete copy this would be 100%. The bounds (max and min) for the reservation are defined using the properties, DeltaReservationMax and DeltaReservationMin.
MaxValuesint64100
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.DeltaReservationMin, CIM_StorageSetting.DeltaReservationMax
UnitsstringPercentage
Writebooleantrue
DeltaReservationMaxuint8
DescriptionstringDeltaReservationMax is a number between 1 (1%) and a 100 (100%) which specifies the maximum amount of space that should be reserved in a replica for caching changes. For a complete copy this would be 100%. The desired reservation is specified using DeltaReservationGoal, while the minimum is defined by DeltaReservationMin.
MaxValuesint64100
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.DeltaReservationMin, CIM_StorageSetting.DeltaReservationGoal
UnitsstringPercentage
Writebooleantrue
DeltaReservationMinuint8
DescriptionstringDeltaReservationMin is a number between 1 (1%) and a 100 (100%) which specifies the minimum amount of space that should be reserved in a replica for caching changes. For a complete copy this would be 100%. The desired reservation is specified using DeltaReservationGoal, while the maximum is defined by DeltaReservationMax.
MaxValuesint64100
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.DeltaReservationMax, CIM_StorageSetting.DeltaReservationGoal
UnitsstringPercentage
Writebooleantrue
ExtentStripeLengthuint16
DescriptionstringExtentStripeLength describes the number of underlying StorageExtents across which data is striped in the common striping-based storage organizations. This is also known as the number of 'members' or 'columns'. When used in a goal setting instance, ExtentStripeLength is the optimal desired value. The bounds (max and min) for Stripe Length are defined using the properties ExtentStripeLengthMax and ExtentStripeLengthMin. ExtentStripeLength MUST be set to NULL if the scoping StorageCapablities indicates that it is not supported in this context. ExtentStripeLength can be used in conjunction with CreateOrModifyElementFromELements to explicitly configure storage. An example would be RAID 0+1 with mirroring two stripe sets, each set being three wide. In this case CreateOrModifyElementFromElements would be passed a goal setting with DataRedundancy = 2 and ExtentStripeLength = 3. The size of the InElements array would be 6 and would contain the StorageExtents to be used to construct the StorageElement as a RAID 0+1. ExtentStripeLengthMin and ExtentStripeLengthMax are meaningless and wouldbe set to NULL. If the property is supported, and is part of StorageSettingWithHints it MAY be set to NULL. If used it will constrain the effects of Hint selections. When used in a Setting instance associated to a Volume, this property indicates the specific value that the Volume was created with, and ExtentStripeLengthMin and ExtentStripeLengthMax will be set to the same specific value.
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.ExtentStripeLengthMax, CIM_StorageSetting.ExtentStripeLengthMin
Writebooleantrue
ExtentStripeLengthMaxuint16
DescriptionstringExtentStripeLength describes the number of underlying StorageExtents across which data is striped in the common striping-based storage organizations. This is also known as the number of 'members' or 'columns'. When used in a goal setting instance, ExtentStripeLengthMax is the maximum acceptable value. The desired Stripe Length is specified using ExtentStripeLength, while the minimum is defined by ExtentStripeLengthMin. ExtentStripeLengthMax MUST be set to NULL if the scoping StorageCapablities indicates that it is not supported in this context. If the property is supported, and is part of StorageSettingWithHints it MAY be set to NULL. If used it will constrain the effects of Hint selections. When used in a Setting instance associated to a Volume, this property is set to the specific value of ExtentStripeLength.
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.ExtentStripeLengthMin, CIM_StorageSetting.ExtentStripeLength
Writebooleantrue
ExtentStripeLengthMinuint16
DescriptionstringExtentStripeLength describes the number of underlying StorageExtents across which data is striped in the common striping-based storage organizations. This is also known as the number of 'members' or 'columns'. When used in a goal setting instance, ExtentStripeLengthMin is the minimum acceptable value. The desired Stripe Length is specified using ExtentStripeLength, while the maximum is defined by ExtentStripeLengthMax. ExtentStripeLengthMin MUST be set to NULL if the scoping StorageCapablities indicates that it is not supported in this context. If the property is supported, and is part of StorageSettingWithHints it MAY be set to NULL. If used it will constrain the effects of Hint selections. When used in a Setting instance associated to a Volume, this property is set to the specific value of ExtentStripeLength.
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.ExtentStripeLengthMax, CIM_StorageSetting.ExtentStripeLength
Writebooleantrue
NoSinglePointOfFailureboolean
DescriptionstringIndicates the desired value for No Single Point of Failure. Possible values are false = single point of failure, and true = no single point of failure.
Writebooleantrue
PackageRedundancyGoaluint16
DescriptionstringPackageRedundancyGoal describes the desired number of redundant packages to be used. For example, in the storage domain, package redundancy describes how many disk spindles can fail without data loss including, at most, one spare. An example would be RAID5 with a spare disk which would have a PackageRedundancy of 2. Possible values are 0 to n. The bounds (max and min) for redundancy are defined using the properties, PackageRedundancyMax and PackageRedundancyMin.
ModelCorrespondencestringCIM_StorageSetting.PackageRedundancyMax, CIM_StorageSetting.PackageRedundancyMin
Writebooleantrue
PackageRedundancyMaxuint16
DescriptionstringPackageRedundancyMax describes the maximum number of redundant packages to be used. For example, in the storage domain, package redundancy describes how many disk spindles can fail without data loss including, at most, one spare. An example would be RAID5 with a spare disk which would have a PackageRedundancy of 2. Possible values are 0 to n. The desired redundancy is specified using PackageRedundancyGoal, while the minimum is defined by PackageRedundancyMin.
ModelCorrespondencestringCIM_StorageSetting.PackageRedundancyMin, CIM_StorageSetting.PackageRedundancyGoal
Writebooleantrue
PackageRedundancyMinuint16
DescriptionstringPackageRedundancyMin describes the minimum number of redundant packages to be used. For example, in the storage domain, package redundancy describes how many disk spindles can fail without data loss including, at most, one spare. An example would be RAID5 with a spare disk which would have a PackageRedundancy of 2. Possible values are 0 to n. The desired redundancy is specified using PackageRedundancyGoal, while the maximum is defined by PackageRedundancyMax.
ModelCorrespondencestringCIM_StorageSetting.PackageRedundancyMax, CIM_StorageSetting.PackageRedundancyGoal
Writebooleantrue
ParityLayoutuint16
DescriptionstringParityLayout specifies whether a parity-based storage organization is using rotated or non-rotated parity. When used in a goal setting instance, ParityLayout is the desired value. It MUST be set to NULL if the scoping StorageCapablities indicates that it is not supported in this context. If the property is supported, and is part of StorageSettingWithHints it MAY be set to NULL. If used it will constrain the effects of Hint selections. When used in a Setting instance associated to a Volume, this property indicates the specific value that the Volume was created with.
ValueMapstring1, 2
ValuesstringNon-rotated Parity, Rotated Parity
Writebooleantrue
UserDataStripeDepthuint64
DescriptionstringUserDataStripeDepth describes the number of bytes forming a strip in common striping-based storage organizations. The strip is defined as the size of the portion of a stripe that lies on one extent. Thus, ExtentStripeLength * UserDataStripeDepth will yield the size of one stripe of user data. When used in a goal setting instance, UserDataStripeDepth is the optimal desired value. The bounds (max and min) for Stripe Depth are defined using the properties UserDataStripeDepthMax and UserDataStripeDepthMin. UserDataStripeDepth MUST be set to NULL if the scoping StorageCapablities indicates that it is not supported in this context. If the property is supported, and is part of StorageSettingWithHints it MAY be set to NULL. If used it will constrain the effects of Hint selections. When used in a Setting instance associated to a Volume, this property indicates the specific value that the Volume was created with, and UserDataStripeDepthMin and UserDataStripeDepthMax will be set to the same specific value.
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.UserDataStripeDepthMax, CIM_StorageSetting.UserDataStripeDepthMin
UnitsstringBytes
Writebooleantrue
UserDataStripeDepthMaxuint64
DescriptionstringUserDataStripeDepth describes the number of bytes forming a strip in common striping-based storage organizations. The strip is defined as the size of the portion of a stripe that lies on one extent. Thus, ExtentStripeLength * UserDataStripeDepth will yield the size of one stripe of user data. When used in a goal setting instance, UserDataStripeDepthMax is the maximum acceptable value. The desired Stripe Depth is specified using UserDataStripeDepthGoal, while the minimum is defined by UserDataStripeDepthMin. UserDataStripeDepthMax MUST be set to NULL if the scoping StorageCapablities indicates that it is not supported in this context. If the property is supported, and is part of StorageSettingwWithHints it MAY be set to NULL. If used it will constrain the effects of Hint selections. When used in a Setting instance associated to a Volume, this property is set to the specific value of UserDataStripeDepth.
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.UserDataStripeDepthMin, CIM_StorageSetting.UserDataStripeDepth
UnitsstringBytes
Writebooleantrue
UserDataStripeDepthMinuint64
DescriptionstringUserDataStripeDepth describes the number of bytes forming a strip in common striping-based storage organizations. The strip is defined as the size of the portion of a stripe that lies on one extent. Thus, ExtentStripeLength * UserDataStripeDepth will yield the size of one stripe of user data. When used in a goal setting instance, UserDataStripeDepthMin is the minimum acceptable value. The desired Stripe Depth is specified using UserDataStripeDepth, while the maximum is defined by UserDataStripeDepthMax. UserDataStripeDepthMin MUST be set to NULL if the scoping StorageCapablities indicates that it is not supported in this context. If the property is supported, and is part of StorageSettingWithHints it MAY be set to NULL. If used it will constrain the effects of Hint selections. When used in a Setting instance associated to a Volume, this property is set to the specific value of UserDataStripeDepth.
MinValuesint641
ModelCorrespondencestringCIM_StorageSetting.UserDataStripeDepthMax, CIM_StorageSetting.UserDataStripeDepth
UnitsstringBytes
Writebooleantrue

Inherited Properties

NameData TypeClass Origin
CaptionstringCIM_ManagedElement
ConfigurationNamestringCIM_SettingData
DescriptionstringCIM_ManagedElement
ElementNamestringCIM_SettingData
InstanceIDstringCIM_SettingData

Class Methods