LMI_MDRAIDStorageCapabilities

Class reference

Subclass of CIM_StorageCapabilities

This class represents capability of LMI_StorageConfigurationService to create MD RAID arrays. It describes, which properties and which values can be used in LMI_MDRAIDStorageSetting.

There are no additional properties for now.

Key properties

Local properties

uint16 PackageRedundancyMax

PackageRedundancyMax describes the maximum number of redundant packages that can 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 default redundancy is specified using PackageRedundancyDefault, while the maximum is defined by PackageRedundancyMax.

uint16 DataRedundancyMin

DataRedundancyMin describes the minimum number of complete copies of data that can 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 default redundancy is specified using DataRedundancyDefault, while the maximum is defined by DataRedundancyMax.

boolean NoSinglePointOfFailure

Indicates whether or not the associated element supports no single point of failure. Values are: FALSE = does not support no single point of failure, and TRUE = supports no single point of failure.

uint16 PackageRedundancyDefault

PackageRedundancyDefault describes the default number of redundant packages that will 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 for redundancy are specified using the properties, PackageRedundancyMax and PackageRedundancyMin.

string ElementName

The user friendly name for this instance of Capabilities. In addition, the user friendly name can be used as a index property for a search of query. (Note: Name does not have to be unique within a namespace.)

uint16 DataRedundancyDefault

DataRedundancyDefault describes the default number of complete copies of data that can 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 for the redundancy (max and min) are defined by DataRedundancyMax and DataRedundancyMin.

boolean NoSinglePointOfFailureDefault

Indicates the default value for the NoSinglePointOfFailure property.

uint16 ExtentStripeLengthDefault

Extent Stripe Length 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’.

A NULL value for ExtentStripeLengthDefault indicates that the system does not support configuration of storage by specifying Stripe Length.

If Extent Stripe Length is supported, and this Capabilities instance is associated with a pool that was created with a range of QOS then ExtentStripeLengthDefault represents the default value. Other available values(such as min, max, and discrete values) can be determined by using the ‘GetSupportedStripeLengths’ and ‘GetSupportedStripeLengthRange’ methods.

If Extent Stripe Length is supported and the pool was created with a single specific QOS, representing a Raid group, set, or rank, then this property represents the current/fixed value for the pool, and Extent Stripe Length is not supported in subsequent creation of elements from this pool. Consequently, the ‘GetSupportedStripeLength’ methods cannot be used, and in a StorageSetting instance used as a goal when creating or modifying a child element of the pool, ExtentStripeLengthGoal, ExtentStripeLengthMin, and ExtentStripeLengthMax MUST be set to NULL.

uint16 DataRedundancyMax

DataRedundancyMax describes the maximum number of complete copies of data that can 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 default redundancy is specified using DataRedundancyDefault, while the minimum is defined by DataRedundancyMin.

uint16 PackageRedundancyMin

PackageRedundancyMin describes the minimum number of redundant packages that can 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 default redundancy is specified using PackageRedundancyDefault, while the minimum is defined by PackageRedundancyMin.

Local methods

uint32 CreateMDRAIDStorageSetting (uint16 Level, CIM_StorageExtent[] InExtents, LMI_StorageSetting Setting)

This method creates new instance of LMI_MDRAIDStorageSetting, which will represent given RAID level. Applications then do not need to calculate DataRedundancy, PackageRedundancy and ExtentStripeLength.

ValueMap Values
0 Success
1 Not Supported
4 Failed

Parameters

IN uint16 Level

Requested level.

ValueMap Values
0 RAID0
1 RAID1
4 RAID4
5 RAID5
6 RAID6
10 RAID10
IN CIM_StorageExtent[] InExtents

List of devices, from which the new device will be created. The created LMI_MDRAIDStorageSetting will take redundancy and striping of these devices into account.

For example, if the application wants to create RAID0 on top of two RAID1 devices, it passes InExtents = (FirstRAID1Extent, SecondRAID1Extent) and Level=0. Resulting LMI_MDRAIDStorageSetting will have DataRedundancy and PackageRedundancy as the minimum of the first and the second RAID1 extents and ExtentStripeLength will be 2 to indicate RAID0 with two devices.

OUT LMI_StorageSetting Setting
Created LMI_StorageSetting.