HP 3PAR StoreServ 7200 2-node HP 3PAR CIM API Programming Reference (OS 3.1.2 - Page 33

Creating Data and Snapshot Space from Two Storage Pools

Page 33 highlights

• InPool: This option contains the reference to the source StoragePool. ◦ This can either be a reference to Concrete pool or DynamicStoragePool. If this contains a reference to Concrete pool, then only a fully provisioned volume can be created and the ElementType has to be set to StorageVolume(2). If this contains a reference to DynamicStoragePool, then the volume that is created is a fully provisioned volume, if the ElementType is set to StorageVolume(2), or TPVV, if ElementType is set to ThinlyProvisionedStorageVolume(5). It is not valid to have a combination of ThinlyProvisionedStorageVolume(5)for the ElementType and a reference to the Concrete pool for InPool parameter. If this parameter is NULL and ElementType is set to StorageVolume(2), then by default StorageVolume is created from FC pool. • TheElement: As an input, if it is not null, the method is called to modify (either set or grow) the existing StorageVolume. If it is null (on input), the method is called to create a new StorageVolume. As an output, it contains the newly created StorageVolume options. Table 30 Return Values for CreateOrModifyElementFromStoragePool() ValueMap 0 4 5 4097 Values Job Completed with No Error Failed Invalid Parameter Size Not Supported Explanation/Notes A volume with the specified size cannot be created or grown. Creating Data and Snapshot Space from Two Storage Pools Table 31 (page 33) shows the supported method for creating data and snapshot space from two storage pools: Table 31 Method for TPD_StorageConfigurationService Method TPD_CreateOrModifyElementFromStoragePools Description Supports data and snapshot spaces, allocating space from two different DynamicStoragePools. This method can also be used to modify existing TP StorageVolume, for example, increasing its size or changing other properties. This method is useful for creating a default volume that has snap space without the need for specifying a Goal parameter. This method can also be used to create fully-provisioned volumes that draw user space from a DSP. NOTE: This method does not support creating a legacy volume where user space is allocated from a concrete "all" pool, although CreateOrModifyElementFromStoragePool still supports this. Method Signature for CreateOrModifyElementFromStoragePools The method signature for CreateOrModifyElementFromStoragePools is described as follows: uint32 TPD_CreateOrModifyElementFromStoragePools ( [In] String ElementName, [In, Values {"StorageVolume","ThinlyProvisionedStorageVolume"}, ValueMap{"2", "5"}] Uint16 ElementType, Block Services Package 33

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309

InPool
: This option contains the reference to the source StoragePool.
This can either be a reference to
Concrete
pool or
DynamicStoragePool
. If this
contains a reference to
Concrete
pool, then only a fully provisioned volume can be
created and the ElementType has to be set to
StorageVolume(2)
. If this contains a
reference to
DynamicStoragePool
, then the volume that is created is a fully provisioned
volume, if the ElementType is set to
StorageVolume(2)
, or
TPVV
, if ElementType is set
to
ThinlyProvisionedStorageVolume(5)
. It is not valid to have a combination of
ThinlyProvisionedStorageVolume(5)
for the ElementType and a reference to the
Concrete
pool for
InPool
parameter. If this parameter is NULL and ElementType is set
to
StorageVolume(2)
, then by default
StorageVolume
is created from FC pool.
TheElement
: As an input, if it is not null, the method is called to modify (either set or grow) the
existing
StorageVolume
. If it is null (on input), the method is called to create a new
StorageVolume
. As an output, it contains the newly created
StorageVolume
options.
Table 30 Return Values for CreateOrModifyElementFromStoragePool()
Explanation/Notes
Values
ValueMap
Job Completed with No Error
0
Failed
4
Invalid Parameter
5
A volume with the specified size cannot
be created or grown.
Size Not Supported
4097
Creating Data and Snapshot Space from Two Storage Pools
Table 31 (page 33)
shows the supported method for creating data and snapshot space from two
storage pools:
Table 31 Method for TPD_StorageConfigurationService
Description
Method
Supports data and snapshot spaces, allocating space from
two different
DynamicStoragePools
. This method can
TPD_CreateOrModifyElementFromStoragePools
also be used to modify existing TP
StorageVolume
, for
example, increasing its size or changing other properties.
This method is useful for creating a default volume that has snap space without the need for
specifying a Goal parameter.
This method can also be used to create fully-provisioned volumes that draw user space from a DSP.
NOTE:
This method does not support creating a legacy volume where user space is allocated
from a concrete “all” pool, although
CreateOrModifyElementFromStoragePool
still supports
this.
Method Signature for CreateOrModifyElementFromStoragePools
The method signature for
CreateOrModifyElementFromStoragePools
is described as
follows:
uint32 TPD_CreateOrModifyElementFromStoragePools (
[In] String ElementName,
[In,
Values {"StorageVolume","ThinlyProvisionedStorageVolume"},
ValueMap{"2", "5"}]
Uint16 ElementType,
Block Services Package
33