(file) Return to CIM_StorageSetting.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM231 / DMTF / Device

  1 marek 1.1 // Copyright (c) 2005 DMTF.  All rights reserved.
  2              [Version ( "2.11.0" ), 
  3               UMLPackagePath ( "CIM::Device::StorageServices" ), 
  4               Description ( 
  5                  "StorageSetting is roughly equivalent to a Service Level "
  6                  "Agreement (SLA) It defines the characteristics, qualities of "
  7                  "service and goals when used in a CreateOrModifyElement "
  8                  "FromStoragePool or CreateOrModifyStoragePool method in the "
  9                  "StorageConfigurationService. It specifies a series of "
 10                  "properties with Maximum and Minimum values that define the "
 11                  "(inclusive) bounds that the object should maintain. Note that "
 12                  "the setting is associated to a StorageVolume or LogicalDisk, "
 13                  "using ElementSetting. \n"
 14                  "The use of these properties differs depending on whether the "
 15                  "StorageSetting instance is being used as a goal for a "
 16                  "configuration operation or being used as a Service Level "
 17                  "Agreement for a created Volume. In addition the properties "
 18                  "fall into two categories: The QOS "
 19                  "properties(PackageRedundancy, Data Redundancy, & "
 20                  "NoSinglePointOfFailure) and the Detailed RAID "
 21                  "properties(ExtentStripeLength, ParityLayout, and "
 22 marek 1.1        "UserDataStripeDepth). In a Setting used as a goal, the QOS "
 23                  "properties are required as a set; The Detailed RAID "
 24                  "properties(if supported as indicated by the scoping "
 25                  "StorageCapabilities instance) may be used optionally in any "
 26                  "combination. The implementation MUST supply it\'s own best "
 27                  "practice in the case where one or more supported RAID "
 28                  "properties are not supplied. In this situation the use of "
 29                  "StorageSettingWithHints can be useful to provide direction to "
 30                  "the implementation. \n"
 31                  "In a Setting used as a service agreement for a Volume, the QOS "
 32                  "properties reflect the Service Level Agreement, with goal, "
 33                  "min, & max. The actual current service level is exposed by "
 34                  "corresponding values in StorageExtent. \n"
 35                  "The Detailed RAID properties, by contrast, reflect specific "
 36                  "values that reflect the RAID construction of the Volume. Only "
 37                  "the primary values are meaningful; Min and Max are set to "
 38                  "match. \n"
 39                  "Certain StorageSetting instances may be classed as \"Fixed\", "
 40                  "by using the \"ChangeableType\" property, indicating the "
 41                  "setting is preset. Such settings are used when the possible "
 42                  "setting variations are low enough to be instantiated in their "
 43 marek 1.1        "entirety. The StorageCapabilities \"CreateSetting\" method MAY "
 44                  "NOT be used to return settings that are not changeable. \n"
 45                  "Other StorageSetting instances are created using the "
 46                  "\"CreateSetting\" method. If the capabilities specifies "
 47                  "ranges, then the setting can be used by a client to narrow the "
 48                  "range to particular values within the range. In other words, "
 49                  "the capabilities MAY be broad, but the related setting MUST be "
 50                  "as capable or less capable, that is more narrowly defined, "
 51                  "before it is used to create or modify resources. \n"
 52                  "These created StorageSetting instances MUST have their "
 53                  "\"ChangeableType\" property = 1, \"Changeable - Transient\". \n"
 54                  "GeneratedSettings MAY not remain after the restart or reset of "
 55                  "the implementation. They may be deleted by implementation at "
 56                  "any time. A reasonable minimal time to retain the generated "
 57                  "transient settings is five minutes, although there is no "
 58                  "minimal retention time." )]
 59           class CIM_StorageSetting : CIM_SettingData {
 60           
 61                 [Write, Description ( 
 62                     "Indicates the desired value for No Single Point of "
 63                     "Failure. Possible values are false = single point of "
 64 marek 1.1           "failure, and true = no single point of failure." )]
 65              boolean NoSinglePointOfFailure;
 66           
 67                 [Write, Description ( 
 68                     "DataRedundancyMax describes the maximum number of "
 69                     "complete copies of data to be maintained. Examples would "
 70                     "be RAID 5 where 1 copy is maintained and RAID 1 where 2 "
 71                     "or more copies are maintained. Possible values are 1 to "
 72                     "n. The desired redundancy is specified using "
 73                     "DataRedundancyGoal, while the minimum is defined by "
 74                     "DataRedundancyMin." ), 
 75                  MinValue ( 1 ), 
 76                  ModelCorrespondence { "CIM_StorageSetting.DataRedundancyMin", 
 77                     "CIM_StorageSetting.DataRedundancyGoal" }]
 78              uint16 DataRedundancyMax;
 79           
 80                 [Write, Description ( 
 81                     "DataRedundancyMin describes the minimum number of "
 82                     "complete copies of data to be maintained. Examples would "
 83                     "be RAID 5 where 1 copy is maintained and RAID 1 where 2 "
 84                     "or more copies are maintained. Possible values are 1 to "
 85 marek 1.1           "n. The desired redundancy is specified using "
 86                     "DataRedundancyGoal, while the maximum is defined by "
 87                     "DataRedundancyMax." ), 
 88                  MinValue ( 1 ), 
 89                  ModelCorrespondence { "CIM_StorageSetting.DataRedundancyMax", 
 90                     "CIM_StorageSetting.DataRedundancyGoal" }]
 91              uint16 DataRedundancyMin;
 92           
 93                 [Write, Description ( 
 94                     "DataRedundancyGoal describes the desired number of "
 95                     "complete copies of data to be maintained. Examples would "
 96                     "be RAID 5 where 1 copy is maintained and RAID 1 where 2 "
 97                     "or more copies are maintained. Possible values are 1 to "
 98                     "n. The bounds (max and min) for redundancy are defined "
 99                     "using the properties, DataRedundancyMax and "
100                     "DataRedundancyMin." ), 
101                  MinValue ( 1 ), 
102                  ModelCorrespondence { "CIM_StorageSetting.DataRedundancyMax", 
103                     "CIM_StorageSetting.DataRedundancyMin" }]
104              uint16 DataRedundancyGoal;
105           
106 marek 1.1       [Write, Description ( 
107                     "PackageRedundancyMax describes the maximum number of "
108                     "redundant packages to be used. For example, in the "
109                     "storage domain, package redundancy describes how many "
110                     "disk spindles can fail without data loss including, at "
111                     "most, one spare. An example would be RAID5 with a spare "
112                     "disk which would have a PackageRedundancy of 2. Possible "
113                     "values are 0 to n. The desired redundancy is specified "
114                     "using PackageRedundancyGoal, while the minimum is "
115                     "defined by PackageRedundancyMin." ), 
116                  ModelCorrespondence { 
117                     "CIM_StorageSetting.PackageRedundancyMin", 
118                     "CIM_StorageSetting.PackageRedundancyGoal" }]
119              uint16 PackageRedundancyMax;
120           
121                 [Write, Description ( 
122                     "PackageRedundancyMin describes the minimum number of "
123                     "redundant packages to be used. For example, in the "
124                     "storage domain, package redundancy describes how many "
125                     "disk spindles can fail without data loss including, at "
126                     "most, one spare. An example would be RAID5 with a spare "
127 marek 1.1           "disk which would have a PackageRedundancy of 2. Possible "
128                     "values are 0 to n. The desired redundancy is specified "
129                     "using PackageRedundancyGoal, while the maximum is "
130                     "defined by PackageRedundancyMax." ), 
131                  ModelCorrespondence { 
132                     "CIM_StorageSetting.PackageRedundancyMax", 
133                     "CIM_StorageSetting.PackageRedundancyGoal" }]
134              uint16 PackageRedundancyMin;
135           
136                 [Write, Description ( 
137                     "PackageRedundancyGoal describes the desired number of "
138                     "redundant packages to be used. For example, in the "
139                     "storage domain, package redundancy describes how many "
140                     "disk spindles can fail without data loss including, at "
141                     "most, one spare. An example would be RAID5 with a spare "
142                     "disk which would have a PackageRedundancy of 2. Possible "
143                     "values are 0 to n. The bounds (max and min) for "
144                     "redundancy are defined using the properties, "
145                     "PackageRedundancyMax and PackageRedundancyMin." ), 
146                  ModelCorrespondence { 
147                     "CIM_StorageSetting.PackageRedundancyMax", 
148 marek 1.1           "CIM_StorageSetting.PackageRedundancyMin" }]
149              uint16 PackageRedundancyGoal;
150           
151                 [Write, Description ( 
152                     "DeltaReservationMax is a number between 1 (1%) and a 100 "
153                     "(100%) which specifies the maximum amount of space that "
154                     "should be reserved in a replica for caching changes. For "
155                     "a complete copy this would be 100%. The desired "
156                     "reservation is specified using DeltaReservationGoal, "
157                     "while the minimum is defined by DeltaReservationMin." ), 
158                  Units ( "Percentage" ), 
159                  MinValue ( 1 ), 
160                  MaxValue ( 100 ), 
161                  ModelCorrespondence { 
162                     "CIM_StorageSetting.DeltaReservationMin", 
163                     "CIM_StorageSetting.DeltaReservationGoal" }]
164              uint8 DeltaReservationMax;
165           
166                 [Write, Description ( 
167                     "DeltaReservationMin is a number between 1 (1%) and a 100 "
168                     "(100%) which specifies the minimum amount of space that "
169 marek 1.1           "should be reserved in a replica for caching changes. For "
170                     "a complete copy this would be 100%. The desired "
171                     "reservation is specified using DeltaReservationGoal, "
172                     "while the maximum is defined by DeltaReservationMax." ), 
173                  Units ( "Percentage" ), 
174                  MinValue ( 1 ), 
175                  MaxValue ( 100 ), 
176                  ModelCorrespondence { 
177                     "CIM_StorageSetting.DeltaReservationMax", 
178                     "CIM_StorageSetting.DeltaReservationGoal" }]
179              uint8 DeltaReservationMin;
180           
181                 [Write, Description ( 
182                     "DeltaReservationGoal is a number between 1 (1%) and a "
183                     "100 (100%) which specifies the desired amount of space "
184                     "that should be reserved in a replica for caching "
185                     "changes. For a complete copy this would be 100%. The "
186                     "bounds (max and min) for the reservation are defined "
187                     "using the properties, DeltaReservationMax and "
188                     "DeltaReservationMin." ), 
189                  Units ( "Percentage" ), 
190 marek 1.1        MinValue ( 1 ), 
191                  MaxValue ( 100 ), 
192                  ModelCorrespondence { 
193                     "CIM_StorageSetting.DeltaReservationMin", 
194                     "CIM_StorageSetting.DeltaReservationMax" }]
195              uint8 DeltaReservationGoal;
196           
197                 [Description ( 
198                     "Enumeration indicating the type of setting. \"Fixed - "
199                     "Not Changeable\" settings are primordial. These setting "
200                     "are defined at the implementor of the class. \"Changeable "
201                     "- Transient\" is the type of setting produced by the "
202                     "\"CreateSetting\" method. A client can subsequently "
203                     "request that the implementation persist the generated "
204                     "and potentially modified setting indefinately. Only a "
205                     "\"Changeable - Transient\" setting SHALL be converted to "
206                     "a \"Changeable = Persistent\" setting; the setting SHALL "
207                     "NOT be changed back." ), 
208                  ValueMap { "0", "1", "2" }, 
209                  Values { "Fixed - Not Changeable", "Changeable - Transient", 
210                     "Changeable - Persistent" }]
211 marek 1.1    uint16 ChangeableType;
212           
213                 [Write, Description ( 
214                     "ExtentStripeLength describes the number of underlying "
215                     "StorageExtents across which data is striped in the "
216                     "common striping-based storage organizations. This is "
217                     "also known as the number of \'members\' or \'columns\'. "
218                     "When used in a goal setting instance, ExtentStripeLength "
219                     "is the optimal desired value. The bounds (max and min) "
220                     "for Stripe Length are defined using the properties "
221                     "ExtentStripeLengthMax and ExtentStripeLengthMin. "
222                     "ExtentStripeLength MUST be set to NULL if the scoping "
223                     "StorageCapablities indicates that it is not supported in "
224                     "this context. ExtentStripeLength can be used in "
225                     "conjunction with CreateOrModifyElementFromELements to "
226                     "explicitly configure storage. An example would be RAID "
227                     "0+1 with mirroring two stripe sets, each set being three "
228                     "wide. In this case CreateOrModifyElementFromElements "
229                     "would be passed a goal setting with DataRedundancy = 2 "
230                     "and ExtentStripeLength = 3. The size of the InElements "
231                     "array would be 6 and would contain the StorageExtents to "
232 marek 1.1           "be used to construct the StorageElement as a RAID 0+1. "
233                     "ExtentStripeLengthMin and ExtentStripeLengthMax are "
234                     "meaningless and wouldbe set to NULL. If the property is "
235                     "supported, and is part of StorageSettingWithHints it MAY "
236                     "be set to NULL. If used it will constrain the effects of "
237                     "Hint selections. When used in a Setting instance "
238                     "associated to a Volume, this property indicates the "
239                     "specific value that the Volume was created with, and "
240                     "ExtentStripeLengthMin and ExtentStripeLengthMax will be "
241                     "set to the same specific value." ), 
242                  MinValue ( 1 ), 
243                  ModelCorrespondence { 
244                     "CIM_StorageSetting.ExtentStripeLengthMax", 
245                     "CIM_StorageSetting.ExtentStripeLengthMin" }]
246              uint16 ExtentStripeLength;
247           
248                 [Write, Description ( 
249                     "ExtentStripeLength describes the number of underlying "
250                     "StorageExtents across which data is striped in the "
251                     "common striping-based storage organizations. This is "
252                     "also known as the number of \'members\' or \'columns\'. "
253 marek 1.1           "When used in a goal setting instance, "
254                     "ExtentStripeLengthMin is the minimum acceptable value. "
255                     "The desired Stripe Length is specified using "
256                     "ExtentStripeLength, while the maximum is defined by "
257                     "ExtentStripeLengthMax. ExtentStripeLengthMin MUST be set "
258                     "to NULL if the scoping StorageCapablities indicates that "
259                     "it is not supported in this context. If the property is "
260                     "supported, and is part of StorageSettingWithHints it MAY "
261                     "be set to NULL. If used it will constrain the effects of "
262                     "Hint selections. When used in a Setting instance "
263                     "associated to a Volume, this property is set to the "
264                     "specific value of ExtentStripeLength." ), 
265                  MinValue ( 1 ), 
266                  ModelCorrespondence { 
267                     "CIM_StorageSetting.ExtentStripeLengthMax", 
268                     "CIM_StorageSetting.ExtentStripeLength" }]
269              uint16 ExtentStripeLengthMin;
270           
271                 [Write, Description ( 
272                     "ExtentStripeLength describes the number of underlying "
273                     "StorageExtents across which data is striped in the "
274 marek 1.1           "common striping-based storage organizations. This is "
275                     "also known as the number of \'members\' or \'columns\'. "
276                     "When used in a goal setting instance, "
277                     "ExtentStripeLengthMax is the maximum acceptable value. "
278                     "The desired Stripe Length is specified using "
279                     "ExtentStripeLength, while the minimum is defined by "
280                     "ExtentStripeLengthMin. ExtentStripeLengthMax MUST be set "
281                     "to NULL if the scoping StorageCapablities indicates that "
282                     "it is not supported in this context. If the property is "
283                     "supported, and is part of StorageSettingWithHints it MAY "
284                     "be set to NULL. If used it will constrain the effects of "
285                     "Hint selections. When used in a Setting instance "
286                     "associated to a Volume, this property is set to the "
287                     "specific value of ExtentStripeLength." ), 
288                  MinValue ( 1 ), 
289                  ModelCorrespondence { 
290                     "CIM_StorageSetting.ExtentStripeLengthMin", 
291                     "CIM_StorageSetting.ExtentStripeLength" }]
292              uint16 ExtentStripeLengthMax;
293           
294                 [Write, Description ( 
295 marek 1.1           "ParityLayout specifies whether a parity-based storage "
296                     "organization is using rotated or non-rotated parity. "
297                     "When used in a goal setting instance, ParityLayout is "
298                     "the desired value. It MUST be set to NULL if the scoping "
299                     "StorageCapablities indicates that it is not supported in "
300                     "this context. If the property is supported, and is part "
301                     "of StorageSettingWithHints it MAY be set to NULL. If "
302                     "used it will constrain the effects of Hint selections. "
303                     "When used in a Setting instance associated to a Volume, "
304                     "this property indicates the specific value that the "
305                     "Volume was created with." ), 
306                  ValueMap { "1", "2" }, 
307                  Values { "Non-rotated Parity", "Rotated Parity" }]
308              uint16 ParityLayout;
309           
310                 [Write, Description ( 
311                     "UserDataStripeDepth describes the number of bytes "
312                     "forming a strip in common striping-based storage "
313                     "organizations. The strip is defined as the size of the "
314                     "portion of a stripe that lies on one extent. Thus, "
315                     "ExtentStripeLength * UserDataStripeDepth will yield the "
316 marek 1.1           "size of one stripe of user data. When used in a goal "
317                     "setting instance, UserDataStripeDepth is the optimal "
318                     "desired value. The bounds (max and min) for Stripe Depth "
319                     "are defined using the properties UserDataStripeDepthMax "
320                     "and UserDataStripeDepthMin. UserDataStripeDepth MUST be "
321                     "set to NULL if the scoping StorageCapablities indicates "
322                     "that it is not supported in this context. If the "
323                     "property is supported, and is part of "
324                     "StorageSettingWithHints it MAY be set to NULL. If used "
325                     "it will constrain the effects of Hint selections. When "
326                     "used in a Setting instance associated to a Volume, this "
327                     "property indicates the specific value that the Volume "
328                     "was created with, and UserDataStripeDepthMin and "
329                     "UserDataStripeDepthMax will be set to the same specific "
330                     "value." ), 
331                  Units ( "Bytes" ), 
332                  MinValue ( 1 ), 
333                  ModelCorrespondence { 
334                     "CIM_StorageSetting.UserDataStripeDepthMax", 
335                     "CIM_StorageSetting.UserDataStripeDepthMin" }]
336              uint64 UserDataStripeDepth;
337 marek 1.1 
338                 [Write, Description ( 
339                     "UserDataStripeDepth describes the number of bytes "
340                     "forming a strip in common striping-based storage "
341                     "organizations. The strip is defined as the size of the "
342                     "portion of a stripe that lies on one extent. Thus, "
343                     "ExtentStripeLength * UserDataStripeDepth will yield the "
344                     "size of one stripe of user data. When used in a goal "
345                     "setting instance, UserDataStripeDepthMin is the minimum "
346                     "acceptable value. The desired Stripe Depth is specified "
347                     "using UserDataStripeDepth, while the maximum is defined "
348                     "by UserDataStripeDepthMax. UserDataStripeDepthMin MUST "
349                     "be set to NULL if the scoping StorageCapablities "
350                     "indicates that it is not supported in this context. If "
351                     "the property is supported, and is part of "
352                     "StorageSettingWithHints it MAY be set to NULL. If used "
353                     "it will constrain the effects of Hint selections. When "
354                     "used in a Setting instance associated to a Volume, this "
355                     "property is set to the specific value of "
356                     "UserDataStripeDepth." ), 
357                  Units ( "Bytes" ), 
358 marek 1.1        MinValue ( 1 ), 
359                  ModelCorrespondence { 
360                     "CIM_StorageSetting.UserDataStripeDepthMax", 
361                     "CIM_StorageSetting.UserDataStripeDepth" }]
362              uint64 UserDataStripeDepthMin;
363           
364                 [Write, Description ( 
365                     "UserDataStripeDepth describes the number of bytes "
366                     "forming a strip in common striping-based storage "
367                     "organizations. The strip is defined as the size of the "
368                     "portion of a stripe that lies on one extent. Thus, "
369                     "ExtentStripeLength * UserDataStripeDepth will yield the "
370                     "size of one stripe of user data. When used in a goal "
371                     "setting instance, UserDataStripeDepthMax is the maximum "
372                     "acceptable value. The desired Stripe Depth is specified "
373                     "using UserDataStripeDepthGoal, while the minimum is "
374                     "defined by UserDataStripeDepthMin. "
375                     "UserDataStripeDepthMax MUST be set to NULL if the "
376                     "scoping StorageCapablities indicates that it is not "
377                     "supported in this context. If the property is supported, "
378                     "and is part of StorageSettingwWithHints it MAY be set to "
379 marek 1.1           "NULL. If used it will constrain the effects of Hint "
380                     "selections. When used in a Setting instance associated "
381                     "to a Volume, this property is set to the specific value "
382                     "of UserDataStripeDepth." ), 
383                  Units ( "Bytes" ), 
384                  MinValue ( 1 ), 
385                  ModelCorrespondence { 
386                     "CIM_StorageSetting.UserDataStripeDepthMin", 
387                     "CIM_StorageSetting.UserDataStripeDepth" }]
388              uint64 UserDataStripeDepthMax;
389           
390           
391           };

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2