version 1.1.2.1, 2012/01/24 13:50:01
|
version 1.1.2.2, 2012/02/15 17:46:15
|
|
|
|
// Copyright (c) 2011 DMTF. All rights reserved. |
|
[Version ( "2.29.0" ), |
|
UMLPackagePath ( "CIM::Core::StorageExtent" ), |
|
Description ( |
|
"StorageExtent describes the capabilities and management of the " |
|
"various media that exist to store data and allow data " |
|
"retrieval. This superclass could be used to represent the " |
|
"various components of RAID (Hardware or Software) or as a raw " |
|
"logical extent on top of physical media." )] |
|
class CIM_StorageExtent : CIM_LogicalDevice { |
|
|
|
[Description ( "Type of data organization used." ), |
|
ValueMap { "0", "1", "2", "3", "4" }, |
|
Values { "Other", "Unknown", "Fixed Block", "Variable Block", |
|
"Count Key Data" }] |
|
uint16 DataOrganization; |
|
|
|
[Description ( |
|
"A free form string describing the media and/or its use." ), |
|
MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr" }] |
|
string Purpose; |
|
|
|
[Description ( |
|
"Access describes whether the media is readable " |
|
"(value=1), writeable (value=2), or both (value=3). " |
|
"\"Unknown\" (0) and \"Write Once\" (4) can also be " |
|
"defined." ), |
|
ValueMap { "0", "1", "2", "3", "4" }, |
|
Values { "Unknown", "Readable", "Writeable", |
|
"Read/Write Supported", "Write Once" }] |
|
uint16 Access; |
|
|
|
[Description ( |
|
"ErrorMethodology is a free-form string describing the " |
|
"type of error detection and correction supported by this " |
|
"StorageExtent." )] |
|
string ErrorMethodology; |
|
|
|
[Description ( |
|
"Size in bytes of the blocks which form this " |
|
"StorageExtent. If variable block size, then the maximum " |
|
"block size in bytes should be specified. If the block " |
|
"size is unknown or if a block concept is not valid (for " |
|
"example, for AggregateExtents, Memory or LogicalDisks), " |
|
"enter a 1." ), |
|
Units ( "Bytes" ), |
|
MappingStrings { "MIF.DMTF|Host Storage|001.4", |
|
"MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits", |
|
"MIF.DMTF|Storage Devices|001.5" }] |
|
uint64 BlockSize; |
|
|
|
[Description ( |
|
"Total number of logically contiguous blocks, of size " |
|
"Block Size, which form this Extent. The total size of " |
|
"the Extent can be calculated by multiplying BlockSize by " |
|
"NumberOfBlocks. If the BlockSize is 1, this property is " |
|
"the total size of the Extent." ), |
|
MappingStrings { "MIF.DMTF|Host Storage|001.5", |
|
"MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize" }] |
|
uint64 NumberOfBlocks; |
|
|
|
[Description ( |
|
"The maximum number of blocks, of size BlockSize, which " |
|
"are available for consumption when layering " |
|
"StorageExtents using the BasedOn association. This " |
|
"property only has meaning when this StorageExtent is an " |
|
"Antecedent reference in a BasedOn relationship. For " |
|
"example, a StorageExtent could be composed of 120 " |
|
"blocks. However, the Extent itself may use 20 blocks for " |
|
"redundancy data. If another StorageExtent is BasedOn " |
|
"this Extent, only 100 blocks would be available to it. " |
|
"This information (\'100 blocks is available for " |
|
"consumption\') is indicated in the ConsumableBlocks " |
|
"property." )] |
|
uint64 ConsumableBlocks; |
|
|
|
[Description ( |
|
"True indicates that the underlying StorageExtent(s) " |
|
"participate in a StorageRedundancyGroup." )] |
|
boolean IsBasedOnUnderlyingRedundancy; |
|
|
|
[Description ( |
|
"Boolean set to TRUE if the Storage is sequentially " |
|
"accessed by a MediaAccessDevice. A TapePartition is an " |
|
"example of a sequentially accessed StorageExtent. " |
|
"StorageVolumes, Disk Partitions and LogicalDisks " |
|
"represent randomly accessed Extents." )] |
|
boolean SequentialAccess; |
|
|
|
[Description ( |
|
"StorageExtents have additional status information beyond " |
|
"that captured in the OperationalStatus and other " |
|
"properties, inherited from ManagedSystemElement. This " |
|
"additional information (for example, \"Protection " |
|
"Disabled\", value=9) is captured in the ExtentStatus " |
|
"property. \n" |
|
"\'In-Band Access Granted\' says that access to data on " |
|
"an extent is granted to some consumer and is only valid " |
|
"when \'Exported\' is also set. It is set as a side " |
|
"effect of PrivilegeManagementService.ChangeAccess or " |
|
"equivalent interfaces. \n" |
|
"\'Imported\' indicates that the extent is used in the " |
|
"current system, but known to be managed by some other " |
|
"system. For example, a server imports volumes from a " |
|
"disk array. \n" |
|
"\'Exported\' indicates the extent is meant to be used by " |
|
"some comsumer. A disk array\'s logical units are " |
|
"exported. \n" |
|
"Intermediate composite extents may be neither imported " |
|
"nor exported.\n" |
|
"\'Relocating\' indicates the extent is being relocated." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", |
|
"10", "11", "12", "13", "14", "15", "16", "17", "18", |
|
"..", "32768..65535" }, |
|
Values { "Other", "Unknown", "None/Not Applicable", "Broken", |
|
"Data Lost", "Dynamic Reconfig", "Exposed", |
|
"Fractionally Exposed", "Partially Exposed", |
|
"Protection Disabled", "Readying", "Rebuild", |
|
"Recalculate", "Spare in Use", "Verify In Progress", |
|
"In-Band Access Granted", "Imported", "Exported", |
|
"Relocating", "DMTF Reserved", "Vendor Reserved" }] |
|
uint16 ExtentStatus[]; |
|
|
|
[Description ( |
|
"Indicates whether or not there exists no single point of failure." |
|
), |
|
ModelCorrespondence { |
|
"CIM_StorageSetting.NoSinglePointOfFailure" }] |
|
boolean NoSinglePointOfFailure; |
|
|
|
[Description ( |
|
"Number of complete copies of data currently maintained." ), |
|
ModelCorrespondence { |
|
"CIM_StorageSetting.DataRedundancyGoal", |
|
"CIM_StorageSetting.DataRedundancyMax", |
|
"CIM_StorageSetting.DataRedundancyMin" }] |
|
uint16 DataRedundancy; |
|
|
|
[Description ( |
|
"How many physical packages can currently fail without " |
|
"data loss. For example, in the storage domain, this " |
|
"might be disk spindles." ), |
|
ModelCorrespondence { |
|
"CIM_StorageSetting.PackageRedundancyGoal", |
|
"CIM_StorageSetting.PackageRedundancyMax", |
|
"CIM_StorageSetting.PackageRedundancyMin" }] |
|
uint16 PackageRedundancy; |
|
|
|
[Description ( |
|
"Current value for Delta reservation. This is a " |
|
"percentage that specifies the amount of space that " |
|
"should be reserved in a replica for caching changes." ), |
|
Units ( "Percentage" ), |
|
MinValue ( 1 ), |
|
MaxValue ( 100 ), |
|
ModelCorrespondence { |
|
"CIM_StorageSetting.DeltaReservationGoal", |
|
"CIM_StorageSetting.DeltaReservationMax", |
|
"CIM_StorageSetting.DeltaReservationMin" }] |
|
uint8 DeltaReservation; |
|
|
|
[Description ( |
|
"If true, \"Primordial\" indicates that the containing " |
|
"System does not have the ability to create or delete " |
|
"this operational element. This is important because " |
|
"StorageExtents are assembled into higher-level " |
|
"abstractions using the BasedOn association. Although the " |
|
"higher-level abstractions can be created and deleted, " |
|
"the most basic, (i.e. primordial), hardware-based " |
|
"storage entities cannot. They are physically realized as " |
|
"part of the System, or are actually managed by some " |
|
"other System and imported as if they were physically " |
|
"realized. In other words, a Primordial StorageExtent " |
|
"exists in, but is not created by its System and " |
|
"conversely a non-Primordial StorageExtent is created in " |
|
"the context of its System. For StorageVolumes, this " |
|
"property will generally be false. One use of this " |
|
"property is to enable algorithms that aggregate " |
|
"StorageExtent.ConsumableSpace across all, StorageExtents " |
|
"but that also want to distinquish the space that " |
|
"underlies Primordial StoragePools. Since implementations " |
|
"are not required to surface all Component StorageExtents " |
|
"of a StoragePool, this information is not accessible in " |
|
"any other way." )] |
|
boolean Primordial = false; |
|
|
|
[Override ( "Name" ), |
|
Description ( "A unique identifier for the Extent." ), |
|
MappingStrings { |
|
"SPC.INCITS-T10| VPD 83, Association 0 | Identifier" }, |
|
ModelCorrespondence { "CIM_StorageExtent.NameFormat", |
|
"CIM_StorageExtent.NameNamespace" }] |
|
string Name; |
|
|
|
[Description ( |
|
"The list here applies to all StorageExtent subclasses. " |
|
"Please look at the Description in each subclass for " |
|
"guidelines on the approriate values for that subclass. " |
|
"Note that any of these formats could apply to a " |
|
"CompositeExtent. \n" |
|
"\n" |
|
"Note - this property originally touched on two concepts " |
|
"that are now separated into this property and " |
|
"NameNamespace. Values 2,3,4,5,6, and 8 are retained for " |
|
"backwards compatibility but are deprecated in lieu of " |
|
"the corresponding values in " |
|
"CIM_StorageExtent.NameNamespace. \n" |
|
"\n" |
|
"For example, the preferred source for SCSI virtual " |
|
"(RAID) disk names is from Inquiry VPD page 83 response, " |
|
"type 3 identifiers. These will have NameFormat set to " |
|
"\'NAA\' and NameNamespace to \'VPD83Type3\'. \n" |
|
"\n" |
|
"Format of the Name property. Values for extents " |
|
"representing SCSI volumes are (per SCSI SPC-3): \n" |
|
"2 = VPD Page 83, NAA IEEE Registered Extended " |
|
"(VPD83NAA6) \n" |
|
"(DEPRECATED) \n" |
|
"3 = VPD Page 83, NAA IEEE Registered (VPD83NAA5) \n" |
|
"(DEPRECATED) \n" |
|
"4 = VPD Page 83, (VPD83Type2) (DEPRECATED) \n" |
|
"5 = VPD Page 83, \n" |
|
"T10 Vendor Identification (VPD83Type1) (DEPRECATED) \n" |
|
"6 = VPD Page 83, Vendor Specific (VPD83Type0) " |
|
"(DEPRECATED) \n" |
|
"7 = Serial Number/Vendor/Model (SNVM) SNVM is 3 strings " |
|
"representing the vendor name, product name within the " |
|
"vendor namespace, and the serial number within the model " |
|
"namespace. Strings are delimited with a \'+\'. Spaces " |
|
"may be included and are significant. The serial number " |
|
"is the text representation of the serial number in " |
|
"hexadecimal upper case. This represents the vendor and " |
|
"model ID from SCSI Inquiry data; the vendor field MUST " |
|
"be 8 characters wide and the product field MUST be 16 " |
|
"characters wide. For example, \n" |
|
"\'ACME____+SUPER DISK______+124437458\' (_ is a space " |
|
"character) \n" |
|
"8 = Node WWN (for single LUN/controller) (NodeWWN) \n" |
|
"(DEPRECATED) \n" |
|
"9 = NAA as a generic format. See \n" |
|
"http://standards.ieee.org/regauth/oui/tutorials/fibrecomp_id.html. " |
|
"Formatted as 16 or 32 unseparated uppercase hex " |
|
"characters (2 per binary byte). For example " |
|
"\'21000020372D3C73\' \n" |
|
"10 = EUI as a generic format (EUI64) See \n" |
|
"http://standards.ieee.org/regauth/oui/tutorials/EUI64.html. \n" |
|
"Formatted as 16 unseparated uppercase hex characters (2 " |
|
"per binary byte) \n" |
|
"11 = T10 vendor identifier format as returned by SCSI " |
|
"Inquiry VPD page 83, identifier type 1. See T10 SPC-3 " |
|
"specification. This is the 8-byte ASCII vendor ID from " |
|
"the T10 registry followed by a vendor specific ASCII " |
|
"identifier; spaces are permitted. For non SCSI volumes, " |
|
"\'SNVM\' may be the most appropriate choice. 12 = OS " |
|
"Device Name (for LogicalDisks). See LogicalDisk Name " |
|
"description for details." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", |
|
"10", "11", "12" }, |
|
Values { "Unknown", "Other", "VPD83NAA6", "VPD83NAA5", |
|
"VPD83Type2", "VPD83Type1", "VPD83Type0", "SNVM", |
|
"NodeWWN", "NAA", "EUI64", "T10VID", "OS Device Name" }, |
|
ModelCorrespondence { "CIM_StorageExtent.Name", |
|
"CIM_StorageExtent.NameNamespace", |
|
"CIM_StorageExtent.OtherNameFormat" }] |
|
uint16 NameFormat; |
|
|
|
[Description ( |
|
"The preferred source SCSI for volume names is SCSI VPD " |
|
"Page 83 responses. Page 83 returns a list of identifiers " |
|
"for various device elements. The metadata for each " |
|
"identifier includes an Association field, identifiers " |
|
"with association of 0 apply to volumes. Page 83 supports " |
|
"several namespaces specified in the Type field in the " |
|
"identifier metadata. See SCSI SPC-3 specification. \n" |
|
"2 = VPD Page 83, Type 3 NAA (NameFormat SHOULD be NAA) \n" |
|
"3 = VPD Page 83, Type 2 EUI64 (NameFormat EUI) \n" |
|
"4 = VPD Page 83, Type 1 T10 Vendor Identification \n" |
|
"(NameFormat T10) \n" |
|
"Less preferred volume namespaces from other interfaces: \n" |
|
"5 = VPD page 80, Serial number (NameFormat SHOULD be " |
|
"Other) \n" |
|
"6 = FC NodeWWN (NameFormat SHOULD be NAA or EUI) \n" |
|
"7 = Serial Number/Vendor/Model (NameFormat SHOULD be " |
|
"SNVM) \n" |
|
"The preferred namespace for LogigicalDisk names is " |
|
"platform specific device namespace; see LogigicalDIsk " |
|
"Description. \n" |
|
"8 = OS Device Namespace." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, |
|
Values { "Unknown", "Other", "VPD83Type3", "VPD83Type2", |
|
"VPD83Type1", "VPD80", "NodeWWN", "SNVM", |
|
"OS Device Namespace" }, |
|
MappingStrings { |
|
"SPC.INCITS-T10| VPD 83, Association 0 | Identifier" }, |
|
ModelCorrespondence { "CIM_StorageExtent.Name", |
|
"CIM_StorageExtent.OtherNameNamespace", |
|
"CIM_StorageExtent.NameFormat" }] |
|
uint16 NameNamespace; |
|
|
|
[Description ( |
|
"A string describing the namespace of the Name property " |
|
"when NameNamespace includes the value 1, \"Other\"." ), |
|
ModelCorrespondence { "CIM_StorageExtent.NameNamespace" }] |
|
string OtherNameNamespace; |
|
|
|
[Description ( |
|
"A string describing the format of the Name property when " |
|
"NameFormat includes the value 1, \"Other\"." ), |
|
ModelCorrespondence { "CIM_StorageExtent.NameFormat" }] |
|
string OtherNameFormat; |
|
|
|
|
|
}; |