CIM_StorageCapabilities class

A subclass of Capabilities that defines the Capabilities of a StorageService or StoragePool. For example, an instance of StorageCapabilities could be associated with either a StorageConfigurationService or StoragePool by using ElementCapabilities.

The following syntax is simplified from Managed Object Format (MOF) code and includes all of the inherited properties.

Syntax

[Abstract, Version("2.11.0"), UMLPackagePath("CIM::Device::StorageServices")]
class CIM_StorageCapabilities : CIM_Capabilities
{
  string  Caption;
  string  Description;
  string  InstanceID;
  string  ElementName;
  uint16  ElementType;
  boolean NoSinglePointOfFailure;
  boolean NoSinglePointOfFailureDefault;
  uint16  DataRedundancyMax;
  uint16  DataRedundancyMin;
  uint16  DataRedundancyDefault;
  uint16  PackageRedundancyMax;
  uint16  PackageRedundancyMin;
  uint16  PackageRedundancyDefault;
  uint16  DeltaReservationMax;
  uint16  DeltaReservationMin;
  uint16  DeltaReservationDefault;
  uint16  ExtentStripeLengthDefault;
  uint16  ParityLayoutDefault;
  uint64  UserDataStripeDepthDefault;
};

Members

The CIM_StorageCapabilities class has these types of members:

Methods

The CIM_StorageCapabilities class has these methods.

MethodDescription
CreateSetting

Method to create and populate a StorageSetting instance from a StorageCapability instance. This removes the need to populate default settings and other settings in the context of each StorageCapabilities (which could be numerous). If the underlying instrumentation supports the StorageSettingWithHints subclass, then an instance of that class will be created instead.

GetSupportedParityLayouts

For systems that support Parity-based storage organizations for volume or pool creation, this method can be used to the supported parity layouts.

GetSupportedStripeDepthRange

For systems that support a range of UserDataStripeDepths for volume or pool creation, this method can be used to retrieve the supported range. Note that different implementations may support either the GetSupportedStripeDepths or the GetSupportedStripeDepthRange method. If the system only supports discrete values, then the return value will be set to 2.

GetSupportedStripeDepths

For systems that support discrete UserDataStripeDepths for volume or pool creation, this method can be used to retrieve a list of supported values. Note that different implementations may support either the GetSupportedStripeDepths or the GetSupportedStripeDepthRange method. If the system only supports a range of sizes, then the return value will be set to 2.

GetSupportedStripeLengthRange

For systems that support a range of ExtentStripeLengths for volume or pool creation, this method can be used to retrieve the supported range. Note that different implementations may support either the GetSupportedExtentLengths or the GetSupportedExtentLengthRange method. Also note that the advertised sizes may change after the call due to requests from other clients. If the system only supports discrete values, then the return value will be set to 3.

GetSupportedStripeLengths

For systems that support discrete ExtentStripeLengths for volume or pool creation, this method can be used to retrieve a list of supported values. Note that different implementations may support either the GetSupportedStripeLengths or the GetSupportedStripeLengthRange method. Also note that the advertised sizes may change after the call due to requests from other clients. If the system only supports a range of sizes, then the return value will be set to 3.

 

Properties

The CIM_StorageCapabilities class has these properties.

Caption
Data type: string
Access type: Read-only
Qualifiers: MaxLen (64)

The Caption property is a short textual description (one- line string) of the object.

This property is inherited from CIM_ManagedElement.

DataRedundancyDefault
Data type: uint16
Access type: Read-only
Qualifiers: MinValue (1), ModelCorrespondence ("CIM_StorageCapabilities.DataRedundancyMax", "CIM_StorageCapabilities.DataRedundancyMin")

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.

DataRedundancyMax
Data type: uint16
Access type: Read-only
Qualifiers: MinValue (1), ModelCorrespondence ("CIM_StorageCapabilities.DataRedundancyMin", "CIM_StorageCapabilities.DataRedundancyDefault")

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.

DataRedundancyMin
Data type: uint16
Access type: Read-only
Qualifiers: MinValue (1), ModelCorrespondence ("CIM_StorageCapabilities.DataRedundancyMax", "CIM_StorageCapabilities.DataRedundancyDefault")

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.

DeltaReservationDefault
Data type: uint16
Access type: Read-only
Qualifiers: Punit ("percent"), Units ("Percentage"), MinValue (0), MaxValue (100), ModelCorrespondence ("CIM_StorageCapabilities.DeltaReservationMax", "CIM_StorageCapabilities.DeltaReservationMin")

Delta reservation is a number between 1 (1%) and a 100 (100%) that specifies how much space should be reserved by default in a replica for caching changes. For a complete copy this would be 100%, but it can be lower in some implementations. This parameter sets the default value, while DeletaReservationMax and DeltReservationMin set the upper and lower bounds.

DeltaReservationMax
Data type: uint16
Access type: Read-only
Qualifiers: Punit ("percent"), Units ("Percentage"), MinValue (0), MaxValue (100), ModelCorrespondence ("CIM_StorageCapabilities.DeltaReservationMin", "CIM_StorageCapabilities.DeltaReservationDefault")

DeltaReservatioMax is a number between 1 (1%) and a 100 (100%) that specifies the maximum amount of space reserved in a replica for caching changes. For a complete copy this would be 100%, but it can be lower in some implementations. This parameter sets the upper limit, while DeltaReservationMin sets the lower limit.

DeltaReservationMin
Data type: uint16
Access type: Read-only
Qualifiers: Punit ("percent"), Units ("Percentage"), MinValue (0), MaxValue (100), ModelCorrespondence ("CIM_StorageCapabilities.DeltaReservationMax", "CIM_StorageCapabilities.DeltaReservationDefault")

DeltaReservationMin is a number between 1 (1%) and a 100 (100%) that specifies the minimum amount of space that should be reserved in a replica for caching changes. For a complete copy this would be 100%, but it can be lower in some implementations. This parameter sets the lower limit, while DeltaReservationMax sets the upper limit.

Description
Data type: string
Access type: Read-only

Contains a textual description of the object.

This property is inherited from CIM_ManagedElement.

ElementName
Data type: string
Access type: Read-only
Qualifiers: Required

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.)

This property is inherited from CIM_Capabilities.

ElementType
Data type: uint16
Access type: Read-only

Enumeration indicating the type of element to which this StorageCapabilities applies.

Unknown (0)

Reserved (1)

Any Type (2)

StorageVolume (3)

StorageExtent (4)

StoragePool (5)

StorageConfigurationService (6)

LogicalDisk (7)

ExtentStripeLengthDefault
Data type: uint16
Access type: Read-only
Qualifiers: MinValue (1)

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.

InstanceID
Data type: string
Access type: Read-only
Qualifiers: Key

Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. In order to ensure uniqueness within the NameSpace, the value of InstanceID SHOULD be constructed using the following 'preferred' algorithm: <OrgID>:<LocalID> Where <OrgID> and <LocalID> are separated by a colon ':', and where <OrgID> MUST include a copyrighted, trademarked or otherwise unique name that is owned by the business entity creating/defining the InstanceID, or is a registered ID that is assigned to the business entity by a recognized global authority (This is similar to the <Schema Name>_<Class Name> structure of Schema class names.) In addition, to ensure uniqueness <OrgID> MUST NOT contain a colon (':'). When using this algorithm, the first colon to appear in InstanceID MUST appear between <OrgID> and <LocalID>. <LocalID> is chosen by the business entity and SHOULD not be re-used to identify different underlying (real-world) elements. If the above 'preferred' algorithm is not used, the defining entity MUST assure that the resultant InstanceID is not re-used across any InstanceIDs produced by this or other providers for this instance's NameSpace. For DMTF defined instances, the 'preferred' algorithm MUST be used with the <OrgID> set to 'CIM'.

This property is inherited from CIM_Capabilities.

NoSinglePointOfFailure
Data type: boolean
Access type: Read-only
Qualifiers: ModelCorrespondence ("CIM_StorageCapabilities.NoSinglePointOfFailureDefault")

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.

NoSinglePointOfFailureDefault
Data type: boolean
Access type: Read-only
Qualifiers: ModelCorrespondence ("CIM_StorageCapabilities.NoSinglePointOfFailure")

Indicates the default value for the NoSinglePointOfFailure property.

PackageRedundancyDefault
Data type: uint16
Access type: Read-only
Qualifiers: ModelCorrespondence ("CIM_StorageCapabilities.PackageRedundancyMin", "CIM_StorageCapabilities.PackageRedundancyMax")

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.

PackageRedundancyMax
Data type: uint16
Access type: Read-only
Qualifiers: ModelCorrespondence ("CIM_StorageCapabilities.PackageRedundancyMin", "CIM_StorageCapabilities.PackageRedundancyDefault")

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.

PackageRedundancyMin
Data type: uint16
Access type: Read-only
Qualifiers: ModelCorrespondence ("CIM_StorageCapabilities.PackageRedundancyMax", "CIM_StorageCapabilities.PackageRedundancyDefault")

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.

ParityLayoutDefault
Data type: uint16
Access type: Read-only

ParityLayout specifies whether a parity-based storage organization is using rotated or non-rotated parity. If this capabilities instance is associated with a pool that was created with a range of QOS then ParityLayoutDefault represents the default value. Other available values can be determined by using the 'GetSupportedParityLayouts' method. If 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 ParityLayout is not supported in subsequent creation of elements from this pool. Consequently, the 'GetSupportedParityLayouts' method cannot be used, and the ParityLayoutGoal property in StorageSetting instances used in child element operations on this pool MUST be set to NULL. A NULL value for ParityLayoutDefault indicates that the system does not support configuration of storage by specifying ParityLayout.

Non-Rotated Parity (2)

Rotated Parity (3)

UserDataStripeDepthDefault
Data type: uint64
Access type: Read-only
Qualifiers: Punit ("byte"), Units ("Bytes"), MinValue (1)

User Data Stripe Depth 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. A NULL value for UserDataStripeDepthDefault indicates that the system does not support configuration of storage by specifying Stripe Depth.

If User Data Stripe Depth is supported, and this Capabilities instance is associated with a pool that was created with a range of QOS then UserDataStripeDepthDefault represents the default value. Other available values(such as min, max, and discrete values) can be determined by using the 'GetSupportedStripeDepths' and 'GetSupportedStripeDepthRange' methods.

If User Data Stripe Depth 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 User Data Stripe Depth is not supported in subsequent creation of elements from this pool. Consequently, the 'GetSupportedStripeDepth' methods cannot be used, and in a StorageSetting instance used as a goal when creating or modifying a child element of the pool, UserDataStripeDepthGoal, UserDataStripeDepthMin, and UserDataStripeDepthMax MUST be set to NULL.

Requirements

Minimum supported client

None supported

Minimum supported server

Windows Server 2012 R2

Namespace

Root\CIMv2\Storage\iScsiTarget

MOF

SmIscsiTarget.mof

DLL

SMiSCSITargetProv.dll

See also

CIM_Capabilities

 

 

Show: