(file) Return to Core_StorageExtent.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim291

  1 a.dunfey 1.1 // ===================================================================
  2              // Title:  Core Storage Extents
  3              // $State: Preliminary $
  4              // $Date: 2005/01/05 00:54:00 $
  5              // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Core_StorageExtent.mof,v $
  6              // $Revision: 1.8 $
  7              // ===================================================================
  8              //#pragma inLine ("Includes/copyright.inc")
  9              // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
 10              // All rights reserved.
 11              // DMTF is a not-for-profit association of industry members dedicated
 12              // to promoting enterprise and systems management and interoperability.
 13              // DMTF specifications and documents may be reproduced for uses
 14              // consistent with this purpose by members and non-members,
 15              // provided that correct attribution is given.
 16              // As DMTF specifications may be revised from time to time,
 17              // the particular version and release date should always be noted.
 18              // 
 19              // Implementation of certain elements of this standard or proposed
 20              // standard may be subject to third party patent rights, including
 21              // provisional patent rights (herein "patent rights"). DMTF makes
 22 a.dunfey 1.1 // no representations to users of the standard as to the existence
 23              // of such rights, and is not responsible to recognize, disclose, or
 24              // identify any or all such third party patent right, owners or
 25              // claimants, nor for any incomplete or inaccurate identification or
 26              // disclosure of such rights, owners or claimants. DMTF shall have no
 27              // liability to any party, in any manner or circumstance, under any
 28              // legal theory whatsoever, for failure to recognize, disclose, or
 29              // identify any such third party patent rights, or for such party's
 30              // reliance on the standard or incorporation thereof in its product,
 31              // protocols or testing procedures. DMTF shall have no liability to
 32              // any party implementing such standard, whether such implementation
 33              // is foreseeable or not, nor to any patent owner or claimant, and shall
 34              // have no liability or responsibility for costs or losses incurred if
 35              // a standard is withdrawn or modified after publication, and shall be
 36              // indemnified and held harmless by any party implementing the
 37              // standard from any and all claims of infringement by a patent owner
 38              // for such implementations.
 39              // 
 40              // For information about patents held by third-parties which have
 41              // notified the DMTF that, in their opinion, such patent may relate to
 42              // or impact implementations of DMTF standards, visit
 43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
 44              //#pragma inLine
 45              // ===================================================================
 46              // Description: The Core Model defines basic management concepts.
 47              //              This file defines the concepts and classes to model
 48              //              a type of LogicalDevice, StorageExtents.
 49              // 
 50              //              The object classes below are listed in an order that
 51              //              avoids forward references. Required objects, defined
 52              //              by other working groups, are omitted.
 53              // ==================================================================
 54              // Change Log for v2.9 Preliminary
 55              // CR1353 - Promote some properties from StorageVolume to
 56              //          Storage Extent
 57              // 
 58              // Change Log for v2.8 Final
 59              // CR1210 - Removal of experimental Qualifiers for core.
 60              // 
 61              // Change Log for v2.8 Preliminary
 62              // CR978  - Promote NoSinglePointOfFailure, DataRedundancy, and
 63              //          SpindleRedundancy from StorageVolue to StorageExtent.
 64 a.dunfey 1.1 // CR1019 - CIM Versioning for 2.8 Preliminary
 65              // CR1044 - Add StorageExtent.Primordial
 66              // 
 67              // Change Log for v2.7 Final
 68              // CR967 - Add values "DMTF reserved" and "Vendor reserved" to
 69              //         StorageExtent.ExtentStatus.
 70              // CR968 - Remove the Experimental qualifier
 71              // 
 72              // Change Log for v2.7
 73              // CR722 - Add StorageExtent.ExtentStatus
 74              // CR775 - StorageExtent.NoSinglePointOfFailure, StorageExtent.
 75              //         DataRedundancy, StorageExtent.SpindleRedundancy
 76              // CR777 - Add StorageExtent.DeltaReservation
 77              // CR862 - Define StorageExtent.ExtentStatus as an array
 78              // CR884 - Move RAID centric properties from StorageExtent to
 79              //         StorageVolume
 80              // ==================================================================
 81              
 82              #pragma locale ("en_US")
 83              
 84              
 85 a.dunfey 1.1 // ===================================================================
 86              // StorageExtent
 87              // ===================================================================
 88                 [Version ( "2.8.1000" ), Description (
 89                     "StorageExtent describes the capabilities and management of the "
 90                     "various media that exist to store data and allow data "
 91                     "retrieval. This superclass could be used to represent the "
 92                     "various components of RAID (Hardware or Software) or as a raw "
 93                     "logical extent on top of physical media.")]
 94              class CIM_StorageExtent : CIM_LogicalDevice {
 95              
 96                    [Description (
 97                        "Type of data organization used."), 
 98                     ValueMap { "0", "1", "2", "3", "4" }, 
 99                     Values { "Other", "Unknown", "Fixed Block", "Variable Block",
100                        "Count Key Data" }]
101                 uint16 DataOrganization;
102              
103                    [Description (
104                        "A free form string describing the media and/or its use."), 
105                     MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr" }]
106 a.dunfey 1.1    string Purpose;
107              
108                    [Description (
109                        "Access describes whether the media is readable (value=1), "
110                        "writeable (value=2), or both (value=3). \"Unknown\" (0) and "
111                        "\"Write Once\" (4) can also be defined."), 
112                     ValueMap { "0", "1", "2", "3", "4" }, 
113                     Values { "Unknown", "Readable", "Writeable",
114                        "Read/Write Supported", "Write Once" }]
115                 uint16 Access;
116              
117                    [Description (
118                        "ErrorMethodology is a free-form string describing the type "
119                        "of error detection and correction supported by this "
120                        "StorageExtent.")]
121                 string ErrorMethodology;
122              
123                    [Description (
124                        "Size in bytes of the blocks which form this StorageExtent. "
125                        "If variable block size, then the maximum block size in "
126                        "bytes should be specified. If the block size is unknown or "
127 a.dunfey 1.1           "if a block concept is not valid (for example, for "
128                        "AggregateExtents, Memory or LogicalDisks), enter a 1."), 
129                     Units ( "Bytes" ), 
130                     MappingStrings { "MIF.DMTF|Host Storage|001.4",
131                        "MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits",
132                        "MIF.DMTF|Storage Devices|001.5" }]
133                 uint64 BlockSize;
134              
135                    [Description (
136                        "Total number of logically contiguous blocks, of size Block "
137                        "Size, which form this Extent. The total size of the Extent "
138                        "can be calculated by multiplying BlockSize by "
139                        "NumberOfBlocks. If the BlockSize is 1, this property is the "
140                        "total size of the Extent."), 
141                     MappingStrings { "MIF.DMTF|Host Storage|001.5",
142                        "MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize" }]
143                 uint64 NumberOfBlocks;
144              
145                    [Description (
146                        "The maximum number of blocks, of size BlockSize, which are "
147                        "available for consumption when layering StorageExtents "
148 a.dunfey 1.1           "using the BasedOn association. This property only has "
149                        "meaning when this StorageExtent is an Antecedent reference "
150                        "in a BasedOn relationship. For example, a StorageExtent "
151                        "could be composed of 120 blocks. However, the Extent itself "
152                        "may use 20 blocks for redundancy data. If another "
153                        "StorageExtent is BasedOn this Extent, only 100 blocks would "
154                        "be available to it. This information ('100 blocks is "
155                        "available for consumption') is indicated in the "
156                        "ConsumableBlocks property.")]
157                 uint64 ConsumableBlocks;
158              
159                    [Description (
160                        "True indicates that the underlying StorageExtent(s) "
161                        "participate in a StorageRedundancyGroup.")]
162                 boolean IsBasedOnUnderlyingRedundancy;
163              
164                    [Description (
165                        "Boolean set to TRUE if the Storage is sequentially accessed "
166                        "by a MediaAccessDevice. A TapePartition is an example of a "
167                        "sequentially accessed StorageExtent. StorageVolumes, Disk "
168                        "Partitions and LogicalDisks represent randomly accessed "
169 a.dunfey 1.1           "Extents.")]
170                 boolean SequentialAccess;
171              
172                    [Description (
173                        "StorageExtents have additional status information beyond "
174                        "that captured in the OperationalStatus and other "
175                        "properties, inherited from ManagedSystemElement. This "
176                        "additional information (for example, \"Protection "
177                        "Disabled\", value=9) is captured in the ExtentStatus "
178                        "property. \n"
179                        "'In-Band Access Granted' says that access to data on an "
180                        "extent is granted to some consumer and is only valid when "
181                        "'Exported' is also set. It is set as a side effect of "
182                        "PrivilegeManagementService.ChangeAccess or equivalent "
183                        "interfaces. \n"
184                        "'Imported' indicates that the extent is used in the current "
185                        "system, but known to be managed by some other system. For "
186                        "example, a server imports volumes from a disk array. \n"
187                        "'Exported' indicates the extent is meant to be used by some "
188                        "comsumer. A disk array's logical units are exported. \n"
189                        "Intermediate composite extents may be neither imported nor "
190 a.dunfey 1.1           "exported."), 
191                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
192                        "10", "11", "12", "13", "14", "15", "16", "17", "18..32767",
193                        "32768..65535" }, 
194                     Values { "Other", "Unknown", "None/Not Applicable", "Broken",
195                        "Data Lost", "Dynamic Reconfig", "Exposed",
196                        "Fractionally Exposed", "Partially Exposed",
197                        "Protection Disabled", "Readying", "Rebuild", "Recalculate",
198                        "Spare in Use", "Verify In Progress",
199                        "In-Band Access Granted", "Imported", "Exported",
200                        "DMTF Reserved", "Vendor Reserved" }]
201                 uint16 ExtentStatus[];
202              
203                    [Description (
204                        "Indicates whether or not there exists no single point of "
205                        "failure."), 
206                     ModelCorrespondence { 
207                        "CIM_StorageSetting.NoSinglePointOfFailure" }]
208                 boolean NoSinglePointOfFailure;
209              
210                    [Description (
211 a.dunfey 1.1           "Number of complete copies of data currently maintained."), 
212                     ModelCorrespondence { "CIM_StorageSetting.DataRedundancyGoal",
213                        "CIM_StorageSetting.DataRedundancyMax",
214                        "CIM_StorageSetting.DataRedundancyMin" }]
215                 uint16 DataRedundancy;
216              
217                    [Description (
218                        "How many physical packages can currently fail without data "
219                        "loss. For example, in the storage domain, this might be "
220                        "disk spindles."), 
221                     ModelCorrespondence { 
222                        "CIM_StorageSetting.PackageRedundancyGoal",
223                        "CIM_StorageSetting.PackageRedundancyMax",
224                        "CIM_StorageSetting.PackageRedundancyMin" }]
225                 uint16 PackageRedundancy;
226              
227                    [Description (
228                        "Current value for Delta reservation. This is a percentage "
229                        "that specifies the amount of space that should be reserved "
230                        "in a replica for caching changes."), 
231                     Units ( "Percentage" ), MinValue ( 1 ), MaxValue ( 100 ), 
232 a.dunfey 1.1        ModelCorrespondence { "CIM_StorageSetting.DeltaReservationGoal",
233                        "CIM_StorageSetting.DeltaReservationMax",
234                        "CIM_StorageSetting.DeltaReservationMin" }]
235                 uint8 DeltaReservation;
236              
237                    [Description (
238                        "If true, \"Primordial\" indicates that the containing "
239                        "System does not have the ability to create or delete this "
240                        "operational element. This is important because "
241                        "StorageExtents are assembled into higher-level abstractions "
242                        "using the BasedOn association. Although the higher-level "
243                        "abstractions can be created and deleted, the most basic, "
244                        "(i.e. primordial), hardware-based storage entities cannot. "
245                        "They are physically realized as part of the System, or are "
246                        "actually managed by some other System and imported as if "
247                        "they were physically realized. In other words, a Primordial "
248                        "StorageExtent exists in, but is not created by its System "
249                        "and conversely a non-Primordial StorageExtent is created in "
250                        "the context of its System. For StorageVolumes, this "
251                        "property will generally be false. One use of this property "
252                        "is to enable algorithms that aggregate "
253 a.dunfey 1.1           "StorageExtent.ConsumableSpace across all, StorageExtents "
254                        "but that also want to distinquish the space that underlies "
255                        "Primordial StoragePools. Since implementations are not "
256                        "required to surface all Component StorageExtents of a "
257                        "StoragePool, this information is not accessible in any "
258                        "other way.")]
259                 boolean Primordial=false;
260              
261                    [Override ( "Name" ), Description (
262                        "A unique identifier for the Extent."), 
263                     MappingStrings { "SPC.INCITS-T10| VPD 83, "
264                        "Association 0 | Identifier" }, 
265                     ModelCorrespondence { "CIM_StorageExtent.NameFormat",
266                        "CIM_StorageExtent.NameNamespace" }]
267                 string Name;
268              
269                    [Description (
270                        "The list here applies to all StorageExtent subclasses. "
271                        "Please look at the Description in each subclass for "
272                        "guidelines on the approriate values for that subclass. Note "
273                        "that any of these formats could apply to a CompositeExtent. "
274 a.dunfey 1.1           "\n\n"
275                        "Note - this property originally touched on two concepts "
276                        "that are now separated into this property and "
277                        "NameNamespace. Values 2,3,4,5,6, and 8 are retained for "
278                        "backwards compatibility but are deprecated in lieu of the "
279                        "corresponding values in CIM_StorageExtent.NameNamespace. \n"
280                        "\n"
281                        "For example, the preferred source for SCSI virtual (RAID) "
282                        "disk names is from Inquiry VPD page 83 response, type 3 "
283                        "identifiers. These will have NameFormat set to 'NAA' and "
284                        "NameNamespace to 'VPD83Type3'. \n"
285                        "\n"
286                        "Format of the Name property. Values for extents "
287                        "representing SCSI volumes are (per SCSI SPC-3): \n"
288                        "2 = VPD Page 83, NAA IEEE Registered Extended (VPD83NAA6) \n"
289                        "(DEPRECATED) \n"
290                        "3 = VPD Page 83, NAA IEEE Registered (VPD83NAA5) \n"
291                        "(DEPRECATED) \n"
292                        "4 = VPD Page 83, (VPD83Type2) (DEPRECATED) \n"
293                        "5 = VPD Page 83, \n"
294                        "T10 Vendor Identification (VPD83Type1) (DEPRECATED) \n"
295 a.dunfey 1.1           "6 = VPD Page 83, Vendor Specific (VPD83Type0) (DEPRECATED) "
296                        "\n7 = Serial Number/Vendor/Model (SNVM) SNVM is 3 strings "
297                        "representing the vendor name, product name within the "
298                        "vendor namespace, and the serial number within the model "
299                        "namespace. Strings are delimited with a '+'. Spaces may be "
300                        "included and are significant. The serial number is the text "
301                        "representation of the serial number in hexadecimal upper "
302                        "case. This represents the vendor and model ID from SCSI "
303                        "Inquiry data; the vendor field MUST be 8 characters wide "
304                        "and the product field MUST be 16 characters wide. For "
305                        "example, \n"
306                        "'ACME____+SUPER DISK______+124437458' (_ is a space "
307                        "character) \n"
308                        "8 = Node WWN (for single LUN/controller) (NodeWWN) \n"
309                        "(DEPRECATED) \n"
310                        "9 = NAA as a generic format. See \n"
311                        "http://standards.ieee.org/regauth/oui/tutorials/fibrecomp_id.html. "
312                        "Formatted as 16 or 32 unseparated uppercase hex characters "
313                        "(2 per binary byte). For example '21000020372D3C73' \n"
314                        "10 = EUI as a generic format (EUI64) See \n"
315                        "http://standards.ieee.org/regauth/oui/tutorials/EUI64.html. "
316 a.dunfey 1.1           "\nFormatted as 16 unseparated uppercase hex characters (2 "
317                        "per binary byte) \n"
318                        "11 = T10 vendor identifier format as returned by SCSI "
319                        "Inquiry VPD page 83, identifier type 1. See T10 SPC-3 "
320                        "specification. This is the 8-byte ASCII vendor ID from the "
321                        "T10 registry followed by a vendor specific ASCII "
322                        "identifier; spaces are permitted. For non SCSI volumes, "
323                        "'SNVM' may be the most appropriate choice. 12 = OS Device "
324                        "Name (for LogicalDisks). See LogicalDisk Name description "
325                        "for details."), 
326                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
327                        "10","11", "12" }, 
328                     Values { "Unknown", "Other", "VPD83NAA6", "VPD83NAA5",
329                        "VPD83Type2", "VPD83Type1", "VPD83Type0", "SNVM", "NodeWWN",
330                        "NAA", "EUI64", "T10VID", "OS Device Name" }, 
331                     ModelCorrespondence { "CIM_StorageExtent.Name",
332                        "CIM_StorageExtent.NameNamespace",
333                        "CIM_StorageExtent.OtherNameFormat" }]
334                 uint16 NameFormat;
335              
336                    [Description (
337 a.dunfey 1.1           "The preferred source SCSI for volume names is SCSI VPD Page "
338                        "83 responses. Page 83 returns a list of identifiers for "
339                        "various device elements. The metadata for each identifier "
340                        "includes an Association field, identifiers with association "
341                        "of 0 apply to volumes. Page 83 supports several namespaces "
342                        "specified in the Type field in the identifier metadata. See "
343                        "SCSI SPC-3 specification. \n"
344                        "2 = VPD Page 83, Type 3 NAA (NameFormat SHOULD be NAA) \n"
345                        "3 = VPD Page 83, Type 2 EUI64 (NameFormat EUI) \n"
346                        "4 = VPD Page 83, Type 1 T10 Vendor Identification \n"
347                        "(NameFormat T10) \n"
348                        "Less preferred volume namespaces from other interfaces: \n"
349                        "5 = VPD page 80, Serial number (NameFormat SHOULD be Other) "
350                        "\n6 = FC NodeWWN (NameFormat SHOULD be NAA or EUI) \n"
351                        "7 = Serial Number/Vendor/Model (NameFormat SHOULD be SNVM) "
352                        "\nThe preferred namespace for LogigicalDisk names is "
353                        "platform specific device namespace; see LogigicalDIsk "
354                        "Description. \n"
355                        "8 = OS Device Namespace."), 
356                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
357                     Values { "Unknown", "Other", "VPD83Type3", "VPD83Type2",
358 a.dunfey 1.1           "VPD83Type1", "VPD80", "NodeWWN", "SNVM",
359                        "OS Device Namespace" }, 
360                     MappingStrings { "SPC.INCITS-T10| VPD 83, "
361                        "Association 0 | Identifier" }, 
362                     ModelCorrespondence { "CIM_StorageExtent.Name",
363                        "CIM_StorageExtent.OtherNameNamespace",
364                        "CIM_StorageExtent.NameFormat" }]
365                 uint16 NameNamespace;
366              
367                    [Description (
368                        "A string describing the namespace of the Name property when "
369                        "NameNamespace includes the value 1, \"Other\"."), 
370                     ModelCorrespondence { "CIM_StorageExtent.NameNamespace" }]
371                 string OtherNameNamespace;
372              
373                    [Description (
374                        "A string describing the format of the Name property when "
375                        "NameFormat includes the value 1, \"Other\"."), 
376                     ModelCorrespondence { "CIM_StorageExtent.NameFormat" }]
377                 string OtherNameFormat;
378              };
379 a.dunfey 1.1 
380              // ===================================================================
381              // BasedOn
382              // ===================================================================
383                 [Association, Version ( "2.6.0" ), Description (
384                     "BasedOn is an association describing how StorageExtents can be "
385                     "assembled from lower level Extents. For example, "
386                     "ProtectedSpaceExtents are parts of PhysicalExtents, while "
387                     "VolumeSets are assembled from one or more Physical or "
388                     "ProtectedSpaceExtents. As another example, CacheMemory can be "
389                     "defined independently and realized in a PhysicalElement or can "
390                     "be 'based on' Volatile or NonVolatileStorageExtents.")]
391              class CIM_BasedOn : CIM_Dependency {
392              
393                    [Override ( "Antecedent" ), Description (
394                        "The lower level StorageExtent.")]
395                 CIM_StorageExtent REF Antecedent;
396              
397                    [Override ( "Dependent" ), Description (
398                        "The higher level StorageExtent.")]
399                 CIM_StorageExtent REF Dependent;
400 a.dunfey 1.1 
401                    [Description (
402                        "StartingAddress indicates where in lower level storage, the "
403                        "higher level Extent begins.")]
404                 uint64 StartingAddress;
405              
406                    [Description (
407                        "EndingAddress indicates where in lower level storage, the "
408                        "higher level Extent ends. This property is useful when "
409                        "mapping non-contiguous Extents into a higher level "
410                        "grouping.")]
411                 uint64 EndingAddress;
412              
413                    [Description (
414                        "If there is an order to the BasedOn associations that "
415                        "describe how a higher level StorageExtent is assembled, the "
416                        "OrderIndex property indicates this. When an order exists, "
417                        "the instances of BasedOn with the same Dependent value "
418                        "(i.e., the same higher level Extent) should place unique "
419                        "values in the OrderIndex property. The lowest value implies "
420                        "the first member of the collection of lower level Extents, "
421 a.dunfey 1.1           "and increasing values imply successive members of the "
422                        "collection. If there is no ordered relationship, a value of "
423                        "zero should be specified. An example of the use of this "
424                        "property is to define a RAID-0 striped array of 3 disks. "
425                        "The resultant RAID array is a StorageExtent that is "
426                        "dependent on (BasedOn) the StorageExtents that describe "
427                        "each of the 3 disks. The OrderIndex of each BasedOn "
428                        "association from the disk Extents to the RAID array could "
429                        "be specified as 1, 2 and 3 to indicate the order in which "
430                        "the disk Extents are used to access the RAID data.")]
431                 uint16 OrderIndex;
432              };
433              
434              
435              // ===================================================================
436              // end of file
437              // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2