HP 3PAR CIM API Programming Reference Abstract To use this document, you must be familiar with basic object oriented development techniques and with the following: Storage Management Initiative Specification (SMI-S), Common Information Model (CIM), Hypertext Transfer Protocol (HTTP), Secure Socket Layer (SSL), CIM Operations over HTTP, and the Unified Modeling Language (UML).
© Copyright 2008, 2014 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice.
Contents 1 Concepts.................................................................................................10 About SMI-S..........................................................................................................................10 About the WBEM Initiative.......................................................................................................10 2 Security...................................................................................................11 TCP Ports....
Creating a Volume Through SMI-S........................................................................................32 Supported Method For Creating a Storage Volume............................................................33 Method Signature.....................................................................................................33 Creating Data and Snapshot Space from Two Storage Pools...............................................
CPVV......................................................................................................................60 UpdateDeltaSnapshotSpace() Method.........................................................................61 Indications...................................................................................................................62 Physical Copy...................................................................................................................
SCSIPrococolController.......................................................................................................91 iSCSIPrococolController......................................................................................................91 SCSIPrococolEndpoint........................................................................................................91 iSCSIPrococolEndpoint.......................................................................................................
TPD_OrderedMemberOfRemoteReplicationGroup............................................................141 TPD_ReplicationServiceAffectsRemoteReplicationGroup....................................................141 TPD_HostedRemoteReplicationGroup.............................................................................141 TPD_SAPAvailableForRemoteReplicaVolume....................................................................141 TPD_SAPAvailableForRemoteReplicationGroup....................................
UML Diagram.............................................................................................................157 Inventory Management..........................................................................................................157 Controller Node Subsystem...............................................................................................157 Controller Node Subsystem CIM Classes........................................................................
3PAR_TPDCopySvcs.mof........................................................................................................252 3PAR_TPDDisk.mof...............................................................................................................254 3PAR_TPDNode.mof.............................................................................................................261 3PAR_TPDEnv.mof.............................................................................................................
1 Concepts About SMI-S The Storage Management Initiative Specification (SMI-S) enables management of Storage Area Networks (SANs) in a heterogeneous, multi-vendor environment. SMI-S uses an object-oriented model, based on the Common Information Model (CIM), to define objects and services which comprise a SAN. By leveraging vendor and technology-independent standards, SMI-S allows management application vendors to create applications that work across products from multiple vendors.
2 Security TCP Ports The CIM-API uses dedicated TCP ports for CIM-XML communications and server location information. Two ports are specified by the DMTF, and registered with IANA for CIM-XML communications between management clients and any CIM Server.
3 Configuring and Using the CIM Server CLI Command Overview Table 3 CLI Commands Used to Manage the CIM Server Command Purpose setcim Sets properties of the CIM Server. This Super command can be used to enable or disable certain services. showcim Displays status information for the CIM Any Server. startcim Enables the CIM Server. Super stopcim Disables the CIM Server. Super NOTE: Required Permission Level Refer to the HP 3PAR OS Command Line Interface Reference for additional information.
Displaying the CIM Server Version The CIM Server version can be displayed using the showcim command as shown previously, or by using the showversion -a command. # showversion -a Release version 3.1.2 Patches: None Component Name CLI Server CLI Client System Manager Kernel TPD Kernel Code CIM Server Version 3.1.2 3.1.2 3.1.2 3.1.2 (MU2) 3.1.2 3.1.
• The desired operation and its required parameters. For information about CIM operations, refer to CIM Operations over HTTP. • The object or objects on which the operation is to be performed. The payload of the client request is XML. For information about XML coding for CIM, refer to Representation of CIM in XML. CIM Namespaces CIM namespaces are logical groupings of CIM classes and CIM instances that represent managed objects in a particular environment.
4 CIM API SMI-S Support The CIM API supports the Storage Management Initiative Specification. The CIM API also supports extensions to these profiles to provide features that are not available from the standard profiles. Standard Compliance The CIM Server has successfully completed testing and conforms to elements of the Storage Networking Industry Association’s Conformance Testing Program (SNIA-CTP) for the SMI specification. For detailed information, refer to: www.snia.
Supported Array Subprofiles Table 9 Supported Array Subprofiles Subprofile Version Purpose Location 1.4 Provides information about the physical location of a disk storage system. Multiple Computer System 1.2 Provides information about the multiple computer systems (controller nodes) that cooperate to present a virtual computer system (cluster). Software 1.4 Provides information on installed controller software. Masking and Mapping 1.4 Provides management of LUNs. FC Target Ports 1.
Supported SMI-S Levels by Release Table 11 Supported SMI-S Levels by Release HP 3PAR OS Release/ SMI-S Version Profile 2.2.0/ 1.0.2 2.2.1/ 1.1.0 2.2.2/ 1.1.0 2.2.3/ 1.1.0 2.3.1/ 1.1.0 3.1.1/ 1.4.0 3.1.2/ 1.4.0 3.1.3/ 1.5.0 x x x x x x x x x x x Subprofile/.
Server Profile A CIM Server is anything that supports the CIM-XML protocol and supports the basic read functional profile as defined by the CIM Operations over HTTP specification. After a CIM client has discovered a CIM server within a SAN, it then needs to determine the services provided by that server. The Server Profile defines the capabilities of the CIM Server.
UML Diagram For the Server Profile Instance Diagram, refer to the SMI-S, v1.5 at http://www.snia.org. Registered Version The RegisteredVersion property of the different RegisteredProfile/RegisteredSubprofile instances have different values; these values are the same as those published in the Registered Name and Version sub-clause of the profiles in SMI-S 1.5. Note that the overall version of SMI-S supported by the provider are expressed using the SMI-S RegisteredProfile.
Table 15 Property Values for the SMI-S Profile (continued) Properties Description RegisteredName SMI-S RegisteredVersion 1.5.0 (version of the SMI-S the provider conforms to) AdvertiseTypes 2 (Not Advertised) Array Profile The Array profile models the physical and logical aspects of disk storage systems. The basic Array profile provides a high level, read-only view of a storage system.
Table 18 Block Services Package CIM Classes (continued) Class Description TPD_StorageConfigurationCapabilities Provides information about what storage configuration functionality is provided by StorageConfigurationService. TPD_StorageConfigurationService Allows clients to configure Storage Volumes. TPD_DynamicStoragePool Storage Pool representing a Common Provisioning Group (CPG).
Table 23 Method for TPD_StoragePool Method Description GetSupportedSizeRanges() Returns the supported size ranges for elements allocated from this Pool. StorageCapabilities There is one StorageCapabilities for each StoragePool. There are four kinds of StorageCapabilities: 1. StorageCapabilities of primordial pool This has an InstanceID of “HP_3PAR:StorageCapabilities:primordial”. 2.
2. • HP_3PAR:StorageSetting:RAID50:all-SSD • HP_3PAR:StorageSetting:RAID60:all-SSD Fixed StorageSetting for creating DynamicStoragePool. There is one such StorageSetting for each supported RAID and concrete StoragePool as well as DiskStorageExtent. For the primordial pool extent and each existing concrete StoragePool in an array, there will be 4 instances of this kind of StorageSetting, one for each of RAID-0, RAID-10, RAID-50 and RAID-60. Their InstanceID’s are: 3.
6. StorageSetting generated from CreateSetting of “HP_3PAR:CapabilitiesForDynamicStoragePool: ”. StorageSetting created this way can be used by a client for user space or snapshot space of a virtual volume. By default the ThinlyProvisioned property is set to FALSE. A client has to modify this to TRUE if a TPVV is desired. This setting has a StorageSettingGeneratedFromCapabilities association to the “HP_3PAR:CapabilitiesForDynamicStoragePool: ” Capabilities. 7.
Table 24 Relevant Properties of StorageSetting (continued) Properties Description Uint32 TP volume user space allocation warning in percentage of volume size. If this is set, UserSpaceLimitWarningThreshold is ignored. UserSpaceLimitWarningThreshold calculation requires UserSpaceLimit, which may not be specified. UserSpaceAllocationWarning thus allows a percentage to be specified without requiring UserSpaceLimit to be specified (in CLI, one can specify –usr_aw option without specifying –usr_al option).
Table 25 Matrix of Populated Properties for Different Types of StorageSetting (continued) 26 Properties Default Values for Each StorageSetting Type AllocationUnit NULL Default NULL NULL Default AllocationUnitMax NULL Max NULL NULL Max if goal NULL setting. Default if default setting. AllocationUnitMin NULL Min NULL NULL Min if goal NULL setting. Default if default setting.
Creating a DynamicStoragePool (CPG) via SMI-S Creating a DynamicStoragePool is a two-step process: 1. Choose or create a StorageSetting instance using CreateSetting(). • If choosing a pre-created one, a client should use a StorageSetting with InstanceID=”HP_3PAR:DynamicStoragePoolSetting:RAIDx:”. • If generating a StorageSetting, a client should invoke the CreateSetting method on one of the StorageCapabilties with InstanceID=”HP_3PAR:Capabilities:RAIDx:”.
2. Invoking the StorageConfigurationService’s CreateOrModifyStoragePool method: a client passes in the StorageSetting obtained in step 1, and other relevant input parameters, to create a DynamicStoragePool. • The input StorageSetting can be deleted by StorageSetting.DeleteInstance, or it can be made persistent via ModifyInstance of the StorageSetting.ChangeableType property to “Persistent” and StorageSetting.TemplateType property to “DynamicStoragePool”.
Table 26 DynamicStoragePool Possible Return Values ValueMap Values Explanation/Notes 0 Job Completed with No Error 1 Not supported 2 Unknown 3 Timeout 4 Failed 5 Invalid parameter 6 In Use 4097 Size Not Supported Relevant Properties of DynamicStoragePool Table 27 Relevant Properties of DynamicStoragePool Properties Description string A unique ID within the storage array. The user’s defined name is used as an identifier.
Table 27 Relevant Properties of DynamicStoragePool (continued) Properties Description GB being allocated to TPVVs. The CurrentSpaceConsumed is 50 GB. Uint64 This is the nominal number of bytes allocated on disk for Snapshot data (SD) of this pool, not including RAID overhead. ConsumedSnapDataSpace (bytes) Uint64 ConsumedSnapDataSpacePlusMetaData This is the actual number of bytes allocated on disk for Snapshot data (SD) space of this pool, including RAID overhead.
Table 28 Summary of Modifiable StorageSetting Properties for DSP (continued) StorageSetting Property CLI Equivalence Comment SpaceLimit are specified, the numbers are converted to bytes for internal usage. LowSpaceWarningThreshold -aw AllocationUnit -sdgs Domain -domain Can only be specified during creation; is ignored for modification operation. DataRedundancyGoal -ssz Modifiable only for RAID-10. ParitySetSize -ssz Modifiable only for RAID-50 and RAID-60. ExtentStripeLength -rs Row size.
Table 29 Instances for StoragePoolConfigurationCapabilities (continued) Storage PoolConfigurationCapabilities Element Modification (7) SupportedStoragel InExtents (2), InExtents (2), -PoolFeatures Single InPool (3) Single InPool (3) Storage Pool QoS Change (5), NULL Storage Pool Capacity Expansion (6), Storage Pool Capacity Reduction (7) SupportedStorage Unrestricted (2) Unrestricted (2) Unrestricted (2) Reserved as a Delta Replica Container (4) StorageVolume Creation (3), StorageVolume Modificat
Supported Method For Creating a Storage Volume Table 30 Method for TPD_StorageConfigurationService Method Description CreateOrModifyElementFromStoragePool() Allows clients to create a StorageVolume.
• 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).
[In] [In] [In, [In, CIM_StorageSetting ref Goal, CIM_StoragePool ref InPools[], Out] Uint64 Size, Out] CIM_LogicalElement ref TheElement); • ElementName: The name of the TP StorageVolume (TPVV) or StorageVolume (FPVV) to be created. • ElementType: This enumeration specifies what type of object to create. StorageVolume(2) and ThinlyProvisionedStorageVolume(5) are supported. If other values are passed in, the provider should throw an “operation not supported” exception.
CreateSetting Table 34 Method for TPD_StorageCapabilities.CreateSetting Method Description CreateSetting() Allows clients to create a new StorageSetting instance based on existing instances. This method returns a new instance to the client with default property values. There are four instances of StorageCapabilities (one for each RAID type). The type of StorageSetting the client wants to create is determined by the referenced StorageCapabilities.
Creating a Volume with a Non-Default Setting The following are the steps necessary for an SMI-S client to create a volume with non-default settings: 1. Invoke the CreateSetting method to get at a reference to the TPD_StorageSetting. The SMI-S provider creates, if one does not exist, an instance of the default or goal TPD_StorageSetting, depending on the value in the SettingType option. If one already exists, the provider simply returns a reference to that instance.
4. You can optionally call DeleteInstance on the TPD_StorageSetting instance from step 1 or 2 to delete it. Table 36 Parameters for the CreateOrModifyElementFromStoragePool Method Operations/Parameters Create Volume Grow/Set Volume ElementName Name of Volume New name of volume; NULL means no change in volume name. ElementType 2 (Storage Volume) 2 5 (Thinly Provisioned Storage Volume) 5 (Thinly Provisioned Storage Volume).
Table 37 Disk Pattern CIM Properties (continued) Disk Pattern CIM Property Name (from TPD_StorageSetting class) CIM Property Type CLI Equivalent Format DiskFreeChunkletLT Signed Integer array -fc_lt an integer DiskPackageModels String array -devid ,,.. DiskRPM Signed Integer array -rpm an integer Where an item is: – nb is an integer. - ,
- – an item is a list of items.
Table 38 Volumes Created Based on Parameters to CreateOrModifyElementFromStoragePool() (continued) Type of Volume Created CreateOrModifyElementFromStoragePool TPD_CreateOrModifyElementFromStoragePools correspond to allocation limit and warning respectively of the snap space. Legacy TPVV, where user and snap space both draw from the same DSP. Not supported. Not supported. Fully provisioned volume, where user space draws from DSP. 1. ElementType = NULL or 1. ElementType = NULL or StorageVolume (2).
Table 39 Summary of Modifiable StorageSetting Properties for StorageVolume StorageSetting Property CLI Equivalence Comment Policy -pol GeometrySectorsPerTrack -spt GeometryHeadsPerCylinder -hpc ThinlyProvisioned -tpvv SpaceLimit -snp_al “-snp_al” uses percentage, but SpaceLimit is in number of bytes. SpaceLimitWarningThreshold -snp_aw snap space limit warning in percentage of SpaceLimit.
size is also represented in TPD_AllocatedFromStoragePool.SpaceConsumed between the parent concrete pool and the storage volume, dynamic storage pool, or delta replica storage pool. TotalManagedSpace for a concrete storage pool is equal to RemainingManagedSpace for the concrete storage pool value plus TPD_AllocatedFromStoragePool.SpaceConsumed option from all the storage volumes, dynamic storage pool, or delta replica storage pool allocated from the pool. StoragePool.
Initial State Example Suppose an array consisting of all Fibre Channel disks has a total disk capacity of 1090060445184 bytes (~1039563 MB) of which 923699114496 bytes (~880908 MB) worth of disks have been admitted. The rest of the disks, totaling 166361330688 bytes, have not been admitted and are therefore in a new state. The admitted disks are used to create a concrete pool (all-FC) consisting of all FC disks. Pimordial TPD_StoragePool.
• TPD_AllocatedFromStoragePool.SpaceConsumed between concrete “all-FC” pool and volume = TPD_StorageVolume.NumberOfRawBlocks * BlockSize = 21474836480 (raw space consumed from concrete pool in the creation of the volume). • Concrete TPD_StoragePool.RemainingManagedSpace = previous RemaningManagedSpace value – volume raw size = 813896302592 – 21474836480 = 792421466112. The TotalManagedSpace for the concrete pool remains unchanged.
DynamicStoragePool is the same as the logical size of the volume; RAID overhead is accounted for in the DynamicStoragePool itself and does not carry over to the child volume. • BlockSize = 512 • TPD_StorageVolume.NumberOfBlocks = TPD_StorageVolume.ConsumableBlocks = (10240 * 1024 * 1024) / BlockSize = 20971520 (logical block size of the volume) • TPD_StorageVolume.NumberOfRawBlocks = (20480 * 1024 * 1024) / BlockSize = 41943040 (raw block size of the volume) • TPD_AllocatedFromStoragePool.
to the volume, i.e., AllocatedFromStoragePool.SpaceConsumed is equal to StorageVolume.ProvisionedConsumableBlocks. • BlockSize = 512 • TPD_StorageVolume.NumberOfBlocks = TPD_StorageVolume.ConsumableBlocks = (10240 * 1024 * 1024) / BlockSize = 20971520 (logical block size of the volume) • TPD_StorageVolume.ProvisionedConsumableBlocks = actual allocated usable capacity to the volume in blocks = 4G / BlockSize = 8388608 • TPD_StorageVolume.
Table 40 Properties Relevant to TPVV (continued) Properties Description String The DynamicStoragePool (DSP) the snapshot data (SD) are provisioned from. SnapDSPName String The DynamicStoragePool (DSP) the user space is provisioned from. UserDSPName Indications Thin Provisioning Indications Following alert indications relating to thin provisioning are supported: 1. Capacity Warning - This is an alert message indicating that the actual capacity of a volume or pool is nearing a limit (e.g.
a. b. TPD_StoragePoolGrowLimitAlert - Indication specifying that a storage pool has reached its allocation limit. • OwningEntity: “SNIA” • MessageID: “DRM29” • MessageArguments: “Pool”, • AlertType: DeviceAlert(5) • PerceivedSeverity: Major(5) • ProbableCause: Out of Memory(33) • ProbableCauseDescription: “No remaining space in storage pool” TPD_StoragePoolGrowFailureAlert - Indication specifying that a storage pool has failed to grow. • c.
1. 2. 3. TPD_StorageVolumeInstCreation – when a StorageVolume is created TPD_StorageVolumeInstDeletion – when a StorageVolume is deleted TPD_StorageVolumeInstModification – when the value of one of the following properties changes: a. NumberOfBlocks b. OperationalStatus c. ElementName 4. 5. 6.
Figure 2 Virtual Copy Class Diagram for a Legacy Volume Figure 3 Physical Copy Class Diagram for a Legacy Volume 50 CIM API SMI-S Support
Figure 4 Job Control Class Diagram TPD_AffectedJobElement Association between TPD_ConcreteJob and the replica TPD_StorageVolume. Refer to Section (page 51) for more details. TPD_AllocatedFromStoragePool Virtual copy snapshot volume is associated to the TPD_DeltaReplicaStoragePool via TPD_AllocatedFromStoragePool. SpaceConsumed property in this case is the space consumed by the snapshots.
TPD_DeltaReplicaStoragePool This StoragePool class is instantiated upon allocation of SA and SD space of a volume. The SA and SD spaces are modeled as TPD_DeltaReplicaStoragePool from which virtual copy snapshots (delta replica) can be allocated and created. This class is a subclass of CIM_StoragePool. CIM_StoragePool.GetSupportedSizeRange() method, which is supported in TPD_StoragePool, is not supported for TPD_DeltaReplicaStoragePool.
a. b. c. d. UnSyncAssoc, which corresponds to virtual copy UnSyncUnAssoc, which corresponds to creating an physical copy Async, which corresponds to async remote mirror Sync, which corresponds to sync remote mirror 4. SupportedStorageElementUsage[] - indicates the intended usage or any restrictions that may have been imposed on the usage of StorageVolumes. This array contains the following values: a. Unrestricted, which applies to base volume b.
2. SupportedAsynchronousActions[] - Enumeration indicating what operations are executed as asynchronous jobs, supported values are: a. Local Replica Attachment – physical copy creation is asynchronous (Attachment means attaching a replica to an existing volume). b. Local Replica Modification – resync physical copy is also asynchronous. 3. SupportedSynchronousActions[] - Enumeration indicating what operations are executed the without creation of a job, supported values are: • 4.
10. MaximumReplicasPerSource – Maximum number of replicas that can be associated with one source element. If the replica is physical copy, then the max number of replica per source volume is the max number of volume allowed for a storage system minus 1. If the replica is a virtual copy, then the max number of replica per source volume is the maximum read-write snapshot per source volume. RO snapshots are not counted. 11.
14. DeltaReplicaPoolAccess - Indicates that a specialized pool is required as a container for delta replica elements. In our case, delta replica (virtual copy snapshots) always requires a specialized pool, the TPD_DeltaReplicaStoragePool, which corresponds to the SA/SD space of the base volume. Possible values are: a. Any – specialized pool not required for delta replicas. This is not the case for our snapshots. b. Shared – a single shared pool is required for all delta replicas.
in by the client results in an Invalid Parameter exception. These properties are initialized with the allowed value upon creation. 1. PersistentReplica – True indicates the associated replicas persist during power off or system reset. Only TRUE is accepted since we do not support transient replicas. Applicable only for those settings that are associated to replica volumes. 2. IntendedUsage – Describes the use of the storage elements associated with this StorageSetting.
7. ProgressStatus - Status of association between source and target groups.
non-legacy volume, within the input parameter Goal (a TPD_StorageSetting object) during create or modify volume operation, a TPD_DeltaReplicaStoragePool will be instantiated automatically. CreateOrModifyStoragePool DeltaReplicaStoragePool can also be created by CreateOrModifyStoragePool method (see Section (page 32) for the method signature).
For CPVV, the TPD_AllocatedFromStoragePool association links the TPD_DeltaReplicaStoragePool with the source DSP. For ThinStorageVolume (TPVV), the TPD_AllocatedFromStoragePool association links the TPD_DeltaReplicaStoragePool with the source SD DynamicStoragePool (as opposed to the user DynamicStoragePool). Capacity Calculations Non-CPVV TotalManagedSpace of the TPD_DeltaReplicaStoragePool equals to the raw SD space.
SpaceLimit and SpaceLimitThresholdWarning for the TPD_AllocatedFromStoragePool association between the snapshot volume and the parent TPD_DeltaReplicaStoragePool are not used, and hence is not populated, since the HP 3PAR OS does not support specification of allocation limit on a per snapshot volume basis. Calculation for TotalManagedSpace of the TPD_DeltaReplicaStoragePool of a CPVV is the similar to that for a non-CPVV, except that the parent pool is now a DSP and not a concrete pool.
Table 45 Return Values for UpdateDeltaSnapshotSpace() ValueMap Values Explanation/Notes 4 Failed 0x1000 Method parameters checked – job started 32768 Volume does not exist No such snapshot volume, or the specified volume is not a virtual copy snapshot. Indications Job control indications are supported for the job started with the UpdateDeltaSnapshotSpace() method. These indications are converted from events generated by the task framework. 1.
StorageReplicationCapabilities The ability to create a physical copy is described by the following instance of TPD_StorageReplicationCapabilities (see Section (page 53)): • UnSyncUnAssoc - describes the capability of our provider to create an independent clone of a volume. CREATION CLI EQUIVALENCE createvvcopy –p SMI-S METHOD A physical copy can be created by a CIM client using the TPD_StorageConfigurationService.AttachOrModifyReplica() method.
ValueMap {"2", "3", "4", "5"}] Uint16 CopyType); Table 47 Return values for AttachOrModifyReplica()/AttachReplica() ValueMap Values Explanation/Notes 0 Success 4 Failed For example: the source volume does not have snapspace, target volume is incompatible. 5 Invalid Parameter For example: the wrong CopyType is specified. 6 In Use Target volume is already a physical copy of another volume.
A physical copy can be resynchronized with the source volume by a CIM client using the TPD_StorageConfigurationService.ModifySynchronization() method with the Operation parameter set to Resync(4). A target volume that is in a Broken state (copy failed) cannot be resync-ed.
Table 49 Return Values for the Various ModifySynchronization() Operations ValueMap Values Explanation/Notes 0 Job Completed with No Error Applicable only for Detach (promote). 4 Failed For example: the TPD_StorageSynchronized object does not exist. 5 Invalid Parameter For example: the wrong CopyType is specified. 0x1000 Method parameters checked – job started Does not apply to Detach. The method execution, if successful, always returns 0x1000, which means that job has started.
START PHYSICAL COPY CLI EQUIVALENCE createvvcopy –p -s SMI-S METHOD Copy can be done on an existing physical copy using the TPD_StorageConfigurationService.ModifySynchronization() method with the Operation parameter set to Start Copy (12). The method execution, if successful, always returns 0x1000, which means that job has started. STATE TRANSITIONS Table 52 (page 67) shows the values for SyncState and WhenSynced during various stages of start physical copy.
Figure 5 State Transition Diagram of Physical Copy Job Control Subprofile Indications The following job control subprofile indications are supported for the job that is started as a result of the copy operation: • Modification of Job Status for a Concrete Job - copy/resync started. • Modification of Operational Status for a Concrete Job to Complete and OK – copy/resync successful. • Modification of Operational Status for a Concrete Job to Complete and Error – copy/resync failed.
Table 54 StorageSynchronized Property Values for a Virtual Copy (continued) Property Value Synchronization is not maintained between replica and source volume. WhenSynced NULL to start with; non-NULL upon successful completion of a copy. The point in time that the Elements were synchronized.
• TargetPool: Reference to the StoragePool from which the virtual copy volume is allocated. This can either be NULL or the TPD_DeltaReplicaStoragePool associated with the SourceElement volume. Any other values results in a Invalid Parameter error. • CopyType: Can only be “UnsyncAssoc” (4) ◦ UnsyncAssoc: Creates an unsynchronized virtual copy that is associated to the source StorageVolume.
HALT SNAPSHOT PROMOTION CLI EQUIVALENCE promotesv -halt SMI-S METHOD Virtual copy promote can be halted via the Job Control method TPD_ConcreteJob.RequestStateChange() method with the RequestedState parameter set to Terminate(4). STATE TRANSITIONS Here are the values for SyncState and WhenSynced during various stages of halting virtual copy promote.
The type of indication generated is TPD_ConcreteJobInstModification, sub-classed from CIM_InstModification. Job Control Overview Only the following tasks are supported: • Create physical copy • Resync physical copy • Promote virtual copy • Update snapshot space TPD_ConcreteJob This is a new class, and each instance of this class represents a task. RequestStateChange() Method This method can be used to cancel a task.
GetError() Method When the job is executing or has terminated without error, then this method returns no CIM_Error instance. However, if the job has failed because of some internal error, then a CIM_Error instance is returned. This method is only used to fetch the failure reason for jobs that failed on their own, i.e., not jobs that are canceled by the user.
This class is used to report the extrinsic method that triggered the job and the parameters passed to it, so that a third party client can tell what the job is and what it is doing. The class consists of the following mandatory properties: • InstanceID – this is a key and is identical to that of ConcreteJob this is associated with. • PrecallIndication – string representing an embedded instance of the CIM_InstMethodCall class, which contains the method called that triggered this job, (e.g.
Location Subprofile The Location subprofile models information about the location of a physical device. In the case of the Array profile, it is used to provide information about the physical location of a storage array. The information provided through this subprofile is the physical location of the HP 3PAR Storage System. For detailed information regarding the Location subprofile, refer to SMI-S at http:// www.snia.org.
Software Subprofile The Software subprofile models information on installed controller software, including version information, build numbers, and manufacturer identification. The information provided through this subprofile is specific for the version of the HP 3PAR OS installed on the TPD_ComputerSystem that represents the HP 3PAR Storage System. For detailed information regarding the Software subprofile, refer to SMI-S at http:// www.snia.org.
Table 66 Masking and Mapping Subprofile CIM Classes (continued) Class Description CIM_StorageHardwareIDManagementService Provides methods that allow a client to create, add/or delete hosts or host paths. TPD_ProtocolControllerMaskingCapabilities Defines the masking related capabilities of the HP 3PAR Storage System. TPD_StorageVolume The storage volume to be exported.
SMI-S View and Paths Storage arrays usually provide a means for the administrator to specify which initiators can access what volumes via what logical unit number (LUN). The goal is that a given volume is only accessible to SCSI commands originated from the specified initiators through specific sets of target ports. The ability to limit access is called Device Masking. The ability to specify the device address (LUN) seen by particular initiators is called Device Mapping.
initiator ports, hence this kind of view can have associations to more than one StorageHardwareIDs. This view can also have associations to multiple StorageVolumes, but only one association to the target port.
Figure 8 Masking and Mapping Example 2 (one storage system port connecting to fabric) Figure 9 Masking and Mapping Example 3 (two storage system ports connecting to fabric). ProtocolControllerMaskingCapabilities This class describes the capabilities of the SPC in a storage system, which describes the kind of controller configuration and StorageHardwareID management services that are available to clients.
• PrivilegeDeniedSupported: false. • ProtocolControllerRequiresAuthorizedIdentity: false; CreateProtocolControllerWithPorts method is not supported. • ProtocolControllerSupportsCollections: true; a collection of StorageHardwareIDs (host HBA WWNs/iSCSNames) is supported. • ExposePathsSupported: true; the storage system supports the ExposePaths method. • CreateProtocolControllerSupported: false; explicit creation of SPC is not supported.
ExposePaths (Creating VLUNs) ControllerConfigurationService.ExposePaths() performs VLUN export in one method call. It exposes a list of volumes to a list of host port (HBAs - initiators) via a list of system ports (targets). This method can be used either to create an SCSIProtocolController (SPC) and modify an existing SPC. If the ProtocolController parameter is null, the provider is supposed to create a new SPC. This operation can be used to create matches-set, host-see or port-present VLUNs.
• Override: Override existing lower priority VLUNs, if necessary. Can be used only when exporting to a specific host. This parameter is a vendor-specific extension. The default value is false. • NoVCN: Do not issue a VLUN (Virtual Logical Unit Number) Change Notification (VCN) after export. For direct connect or loop configuration, a VCN consists of a fibre channel Loop Initialization Primitive (LIP).
The method signature is described below: uint32 HidePaths ( [Out] CIM_ConcreteJob ref Job, [In] String LUNames[], [In] String InitiatorPortIDs[], [In] String TargetPortIDs[], [In] String DeviceNumbers[], [In/Out] CIM_SCSIProtocolController ref ProtocolController[], [In] boolean NoVCN, [Out] String ResultDescriptions[]); • Job: This is ignored since the storage system does not support job control. • LUNames[]: An array of IDs of logical unit instances. The LU instances must already exist.
ExposeDefaultLUs Use of ExposeDefaultLUs has been deprecated. Please use ExposePaths instead to create a port-present SPC. HideDefaultLUs Use of HideDefaultLUs has been deprecated. Please use HidePaths instead.
on input, this can either be reference to TPD_SCSIController for FC host or TPD_iSCSIController for iSCSI host • Override: Override existing lower priority VLUNs, if necessary. Can be used only when exporting to a specific host. This parameter is a vendor-specific extension for 3PAR. The default value is false. • NoVCN: Do not issue a VLUN (Virtual Logical Unit Number) Change Notification (VCN) after export.
• ProtocolControllers[]:An array of references to SCSIProtocolControllers (SPCs). On input, this must contain exactly one SPC. On output, this is the set of SPCs affected. If SPC is included on input, this can either be reference to TPD_SCSIController for a FC host or TPD_iSCSIController for an iSCSI host. • NoVCN: Do not issue a VLUN (Virtual Logical Unit Number) Change Notification (VCN) after removal.
CreateStorageHardwareID (Creating Host and Path) This method creates a StorageHardwareID (host HBA WWN/iscsiBane) on a host, it creates the association TPD_MgmtServicesForStorageHWIDCollection between TPD_StorageHardwareIDManagementService and the new TPD_StorageHardwareID. This operation is similar to “createhost ” or “createhost –iscsi ”.
• HardwareID: Reference to the new StorageHardwareID instance to delete. This is mandatory. CreateStorageHardwareIDCollection (Creating a Host) This method creates a StorageHardwareIDCollection (host) and optionally a list of WWNs/iscsiNames to assign to it. This is useful to define a set of authorized subjects that can access volumes. This method causes the creation of the HostedCollection association and MemberOfCollection association to the members of the IDs parameter.
SetISCSICHAP This method sets the initiator or the target host CHAP secrets or both. This operation is similar to “sethost initchap ” or “sethost targetchap ”. The host as specified in must have existed.
ConcreteDependency There are three ConcreteDependency classes in MM subprofile: • TPD_ConfigServicesForSCSIController: association between CCS with TPD_SCSIProtocolController. • TPD_ConfigServicesForiSCSIController: association between CCS with TPD_iSCSIProtocolController. • TPD_MgmtServicesForStorageHWIDCollection: association between StorageHardwareID and StorageHardwareIDManagementService. SAPAvailableForElement This class replaces PrococolControllerForPort in SMI-S 1.0.2.
Table 77 Properties for (continued) Properties Values Uint16 ConnectionType 2 (Fibre Channel) Uint16 Role 2 (target port) iSCSIPrococolEndpoint iSCSIPrococolEndpoint (subclass of LogicalPort) models SCSI aspects of an iSCSI port. Unlike TPD_SCSIPrococolEndpoint, however, this class is not associated to any CIM_LogicalPort class since one does not exist for iSCSI port. One instance of this class must be created for each target port (connecting to host or fabric).
iSCSIControllerForUnit Similar to TPD_SCSIControllerForUnit, except that TPD_iSCSIControllerForUnit associates TPD_iSCSIController for an iSCSI host with StorageVolumes. StorageClientSettingData An array has several fixed instances of this class, each corresponding to a host persona. Each instance of StorageHardwareID and StorageHardwareIDCollection has an ElementSettingData association with an instance of StorageClientSettingData that corresponds to the persona of the host.
Table 81 Property Values for AuthorizedPrivilege Properties Values string ElementName User friendly name. string InstanceID Opaque unique identifier. boolean PrivilegeGranted True – privilege is granted, False – not granted. Uint16[] Activities SMI-S: this array must contain 5 (read) and 6 (write).
ProtocolControllerMaskingCapabilities See Section (page 80). FC Target Ports Subprofile The FC Target Ports subprofile models Fibre Channel specific aspects of a target storage system. This subprofile provides information about FC ports on an HP 3PAR Storage System that are connected to hosts or FC switches. For detailed information regarding the FC Target Ports subprofile, refer to SMI-S at http:// www.snia.org.
1. 2. TPD_FCPort of an FCoE port has an extra TPD_FCPortEthernetPortDependency association with a TPD_EthernetPort. TPD_FCPort.PortDiscriminator property has a value of 10 (FCoE) for FCoE port and 2 (Not Applicable) for FC port. FC Initiator Ports Subprofile The FC Initiator Ports subprofile models Fibre Channel specific aspects of a storage system.
Table 87 iSCSI Target Ports Subprofile Key CIM Classes (continued) Class Description TPD_EthernetPort An Ethernet Port residing on the TPD_StorageSystem. TPD_SCSIController Represents the SCSI view of ports as seen by SCSI initiators. TPD_iSCSICapabilities Provides information about the iSCSI capabilities of an HP 3PAR Storage System. TPD_iSCSISession Provides information about iSCSI Sessions, which are established between an initiator port and a target port.
Table 89 Disk Drive Lite Subprofile Key CIM Classes (continued) Class Description TPD_StoragePool Identifies which Storage Pool contains the storage provided by specific disk drives. TPD_VolumeBasedOnDiskExtent Associations between a StorageVolume and the DiskStorageExtent that makes up the volume. Includes support for TPVV. TPD_StoragePoolComponent Associations between a storage pool and the DiskStorageExtent that make up the pool.
TPD_ArrayStatisticalData Statistical data for the top level ComputerSystem. Data are aggregate of all the port statistics in the array. Property Type Description StatisticTime DateTime Time the statistics is collected. ElementType Unit16 Computer System (2) Defines the role that the element played for which this statistics record was collected. TotalIOs Unit64 The cumulative count of I/Os. ReadIOs Unit64 The cumulative count of all reads. WriteIOs Unit64 The cumulative count of all writes.
Property Type Description ReadIOTimeCounter Unit64 The cumulative elapsed time for all Read I/Os for all cumulative Reads. WriteIOTimeCounter Unit64 The cumulative elapsed time for all Write I/Os for all cumulative Writes. ReadHitIOs Unit64 The cumulative count of all read cache hits (Reads from Cache). WriteHitIOs Unit64 The cumulative count of Write Cache Hits (Writes that went directly to Cache). ReadMissIOs Unit64 The cumulative count of all Read Cache misses.
Property Type Description NLDelayedAck Unit32 Number of delayed acknowledgements to the host in order to throttle the host's IO writes due to cache resource constraints for the NL disk type. SSDDelayedAck Unit64 Number of delayed acknowledgements to the host in order to throttle the host's IO writes due to cache resource constraints for the SSD disk type. TotalCPUUserTimeCounter Unit64 The user time since system start time, using ClockTickInterval units, for all the CPUs on the node.
Property Type Description TotalServiceTimeCounter Unit64 The service time since system start time, using ClockTickInterval units, for the total I/Os. QueueLength Unit32 The queue length PercentBusy Unit32 Percent of current busy use. TPD_PortStatisticalData Property Type Description StatisticTime DateTime Time the statistics is collected. ElementType Unit16 Front-End Ports (6) or Back-End Ports (7) Defines the role that the element played for which this statistics record was collected.
Property Type Description ReadIOTimeCounter Unit64 The cumulative elapsed time for all Read I/Os for all cumulative Reads. WriteIOTimeCounter Unit64 The cumulative elapsed time for all Write I/Os for all cumulative Writes. ReadServiceTimeCounter Unit64 The service time since system start time, using ClockTickInterval units, for the Read I/Os. WriteServiceTimeCounter Unit64 The service time since system start time, using ClockTickInterval units, for the Write I/Os.
Replication Services Profile This new profile extends the functionality of the Copy Services Subprofile by including enhanced local replication for thinly provisioned storage objects, remote replication (not supported in this release), and support for replication groups and consistency group.
4. Locality - specifies the relationship between the source and target element. There are two defined localities: a. Local - indicates the source and target elements are contained in a single managed system. b. Remote - indicates the source and target elements are contained in separate managed systems. In this case, the service must rely on a networking protocol for the copy operations. HP 3PAR SMI-S supports read-only implementation of remote replication.
Table 94 Relevant Properties of RemoteReplicationGroup (continued) Properties Value Description This property is only valid when the group is a target of a copy operation. TPD_ReplicationService ReplicationService class contains extrinsic methods for group management as well as replication management; the latter meant to replace Copy Services methods in StorageConfigurationService.
• ServiceAccessPoint: Reference to access point information to allow the service to create a group on a remote system. If NULL, the group is created on the local system. Since we do not support remote copy yet, this has to be NULL. • ReplicationGroup: If the method completes successfully, then the ReplicationGroup is a reference to the group that is created. ReplicationGroup.
Use this method to remove members from an existing replication group. Parameters are: • Members[]: An array of strings containing object references to the elements to remove from the replication group. Attempting to remove a member that is not in the replication group returns an error. • DeleteOnEmptyElement: If true and removal of the members causes the group to become empty, the group will be deleted. If this parameter is not NULL, it overrides the group's property DeleteOnEmptyElement.
• Job: If a Job is created as a side-effect of the execution of the method, then a reference to that Job is returned through this parameter (may be NULL if job is completed). • Synchronization: Refers to the created association between the source and the target element. If a job is created, this parameter may be NULL, unless the association is actually formed. • TargetSettingGoal: The definition for the StorageSetting to be maintained by the target storage object (the replica).
[IN, Required] CIM_LogicalElement REF SourceElements[], [IN] CIM_ServiceAccessPoint REF SourceAccessPoint, [IN, OUT] CIM_LogicalElement REF TargetElements[], [IN] CIM_ServiceAccessPoint REF TargetAccessPoint, [IN, EmbeddedInstance("CIM_ReplicationSettingData")] string ReplicationSettingData, [OUT] CIM_ConcreteJob REF Job, [OUT] CIM_ConcreteJob REF Jobs[], [OUT] CIM_Synchronized REF Synchronizations[], [IN] CIM_SettingData REF TargetSettingGoal, [IN] CIM_ResourcePool REF TargetPool, [IN] uint16 WaitForCopySt
• • • TargetSettingGoal: The definition for the StorageSetting to be maintained by the target storage object (the replica). ◦ For snapshots only the following properties are applicable: BaseID, ExpirationTimer and RetentionTimer. ◦ For clones only the following properties are applicable: ThinlyProvisioned, UserDSPName, SnapDSPName. TargetPool: The underlying storage for the target element (the replica) will be drawn from TargetPool if specified, otherwise the allocation is implementation specific.
CIM API SMI-S Support SyncType Clone Snapshot What to create Physicalcopy Virtual copy (snapshot volume) Optional (default Optional (if is Synchronous) NULL, a name will be auto-generated) Mandatory Optional Mandatory (applicable only if TargetElement is not supplied; if NULL, a name will be auto-generated) Asynchronous SourceElements Optional Mandatory (applicable only if TargetElement is not supplied; if NULL, a name will be auto-generated) ElementNames Synchronous (default) Mode Tabl
CreateGroupReplica uint32 ReplicationService.
• Jobs[]: HP defined parameter. If one or more Jobs is created as a side-effect of the execution of the method, then a reference to those Jobs is returned through this parameter (may be NULL if job is completed). For physical copy if vv sets, HP 3PAR OS actually spawns one job for each of the vv pairs and not one job for the whole set. The jobs parameter contains an array of references to each job.
Table 97 Parameter Matrix for CreateGroupReplica (continued) will be created that detach automatically TPD_CreateGroupReplica Due to the inadequacies of the SMI-S defined CreateGroupReplica in supporting vv set replication and consistent volume list replication, a couple of proprietary methods are defined. uint32 ReplicationService.
Table 98 Parameter Matrix for CreateConsistentReplicaList What to Create: Consistent list of async physical copies Consistent list of Consistent list of virtual independent physical copies copies CLI equivalence: creategroupvvcopy -p creategroupvvcopy -p creategroupsv -s :... :...
• Force: Some operations may cause an inconsistency among the target elements. If true, the client is not warned and the operation is performed if possible. This should always be NULL since we do not support this.
• Force: Some operations may cause an inconsistency among the target elements. If true, the client is not warned and the operation is performed if possible. This shall always be NULL since we do not support this. • WaitForCopyState This is similar to ModifyReplicaSynchronization, but allows for operation on multiple replica pairs in one request. TPD_ModifyGroupReplicaSynchronization uint32 ReplicationService.
GetReplicationRelationships uint32 ReplicationService.GetReplicationRelationships( [IN] uint16 Type, [IN] uint16 SyncType, [IN] uint16 Mode, [IN] uint16 Locality, [IN] uint16 CopyState, [OUT] CIM_ConcreteJob REF Job, [OUT] CIM_Synchronized REF Synchronizations[] ); Use to get all of the synchronization relationships known to the processing replication service. Parameters are: • Type: The type of synchronization relationships, for example, StorageSynchronized or GroupSynchronized.
Operation CLI Command Which Method to Use (in ReplicationService class, unless specified otherwise) Output Job(s)? CreateListReplica (if SourceElements array has only one member) • SyncType = Clone (8) • Mode = Synchronous (2) • WaitForCopyState=Synchronized (4) Create clone physical copy vvset createvvcopy -p set: set: CreateGroupReplica Y CreateGroupReplicaFromElements – first creates vvsets for source and destination elements if not provided TPD_CreateGroupReplica (deprecated) • SyncTy
Operation CLI Command Which Method to Use (in ReplicationService class, unless specified otherwise) Output Job(s)? TPD_CreateConsistentReplicaList • SyncType = Clone (8) • Mode = Synchronous(2) • WaitForCopyState=Synchronized (4) Create async group physical copies creategroupvvcopy -s :… CreateListReplica Y TPD_CreateConsistentReplicaList • SyncType = Clone (8) • Mode = Asynchronous (3) • WaitForCopyState=Inactive (8) Resync group physical copies creategroupvvcopy -r
Operation CLI Command Which Method to Use (in ReplicationService class, unless specified otherwise) Output Job(s)? TPD_ReplicationServiceCapabilities This class defines all of the capability properties for the replication services. Table 100 Relevant Properties of ReplicationServiceCapabilities Properties Value Description SupportedReplicationTypes Synchronous Mirror Remote (4), Enumeration indicating the supported SyncType/Mode/ Local-or-Remote combinations.
Table 101 Alignment of ReplicationServiceCapabilities.SupportedReplicationType and StorageReplicationCapabilities.SupportedSynchronizationType SupportedReplicationType SupportedSynchronizationType Notes Asynchronous Clone Local UnsyncUnassoc Async physical copy that retains association with parent Synchronous Snapshot Local UnsyncAssoc - Delta Snapshot volume Synchronous Clone Local UnsyncUnassoc Independent physical copy ConvertSyncTypeToReplicationType uint32 ReplicationServiceCapabilities.
GetSupportedFeatures uint32 ReplicationServiceCapabilities.GetSupportedFeatures( [IN] uint16 ReplicationType, [OUT] uint16 Features[]); For a given ReplicationType, this method returns the supported features. Table 103 SupportedFeatures for ReplicationType ReplicationType Features Description Synchronous Snapshot Local (6) Replication Groups (2) Elements in a replication group are supported in a replication operation.
GetSupportedGroupFeatures uint32 ReplicationServiceCapabilities.GetSupportedGroupFeatures( [IN] uint16 ReplicationType, [OUT] uint16 GroupFeatures[]); For a given ReplicationType, this method returns the supported replication group features.
Table 104 SupportedGroupFeatures for ReplicationType (continued) ReplicationType Features Description Group is nameable (14) This method will return Not Supported (2) error code for any other ReplicationType not listed in the table above. GetSupportedCopyStates uint32 ReplicationServiceCapabilities.
Table 105 SupportedCopyStates for ReplicationType (continued) Inactive (8) True FailedOver (10) True Skewed (13) True This method will return Not Supported (2) error code for any other ReplicationType not listed in the table above. GetSupportedGroupCopyStates uint32 ReplicationServiceCapabilities.GetSupportedGroupCopyStates( [IN] uint16 ReplicationType, [OUT] uint16 SupportedCopyStates[] ); For a given ReplicationType, this method returns the supported replication group CopyStates.
Table 107 Possible SupportedCopyStates for Various ReplicationType/MethodName Replication Type Method Name CreateElementReplica (2) CreateGroupReplica ModifyReplicaSynchron (3) ization (4) ModifyListSyn chronization (5) Synchronized (4) Synchronized (4) NULL NULL Asynchronous Clone Inactive (8) Local (11) Inactive (8) Inactive (8) Inactive (8) Synchronous Snapshot Local (6) Synchronized (4) Synchronized (4) Synchronized (4) Synchronous Clone Local (10) Synchronized (4) This method will ret
GetSupportedGroupOperations uint32 ReplicationServiceCapabilities.GetSupportedGroupOperations( [IN] uint16 ReplicationType, [OUT] uint16 SupportedOperations[] ); For a given ReplicationType this method returns the supported replication group Operations on a GroupSynchronized association that can be supplied to the ModifyReplicaSynchronization method. Since remote replication implementation is read only, no group operations are supported.
GetSupportedMaximum uint32 ReplicationServiceCapabilities.GetSupportedMaximum( [IN] uint16 ReplicationType, [IN] uint16 Component, [OUT] uint64 MaxValue ); This method accepts a ReplicationType and a component, it then returns a static numeric value representing the maximum number of the specified component that the service supports. A value of 0 indicates unlimited components of the given type. In all cases the maximum value is bounded by the availability of resources on the computer system.
GetDefaultGroupPersistency uint32 ReplicationServiceCapabilities.GetDefaultGroupPersistency( [OUT] uint16 DefaultGroupPersistency ); This method returns the default persistency for a newly created group. We will always return Persistent (2) in DefaultGroupPersistency parameter for all supported ReplicationTypes.
Table 110 Possible SupportedValues for Various ReplicationType/PropertyName ReplicationType PropertyName Asynchronous Mirror Remote (5) Synchronous Mirror Remote (4) Synchronous Clone Local (10) Asynchronous Clone Local (11) Synchronous Snapshot Local (6) ConsistentPointIn Time (2) True (3) True (3) True (3) True (3) True (3) DesiredCopy Delta-Update (8) Methodology (3) Difference based Control what replication where copy initially the source methodology the element is copied service should to t
Table 110 Possible SupportedValues for Various ReplicationType/PropertyName (continued) ReplicationType PropertyName Asynchronous Mirror Remote (5) Synchronous Mirror Remote (4) Synchronous Clone Local (10) Asynchronous Clone Local (11) Synchronous Snapshot Local (6) before all entries in the group or list is processed.
This method, for a given ReplicationType, returns the default ReplicationSettingData as an instance. The output DefaultInstance will be constructed according to the table in the section on GetSupportedReplicationSettingData. TPD_RemoteStorageSynchronized TPD_RemoteStorageSynchronized, sub-classed from CIM_StorageSynchronized, represents the remote replication association between each volume pair in the remote replication group pairs.
Table 111 Relevant Properties of RemoteStorageSynchronized (continued) Properties Description • Failing Over (11) • Failing Back (12) • Requires Activate (19) RequestedCopyState RequestedCopyState is an integer enumeration that indicates the last requested or desired state for the association. The actual state of the association is represented by CopyState. Note that when CopyState reaches the requested state, this property will be set to 'Not Applicable.
Table 111 Relevant Properties of RemoteStorageSynchronized (continued) Properties Description the group must be restarted manually after the links come back up (default). • over_per_alert - If a synchronization of a periodic Remote Copy group takes longer to complete than its synchronization period then an alert will be generated. This is the default behavior.
Table 113 CopyState/SyncState/ProgressStatus Transitions During Disaster Recovery (continued) Sequence of Events Showrcopy Group Info Role/SyncStatus CopyState SyncState ProgressStatus Broken Broken Completed State of Primary 3PAR Secondary-Rev/Stopped Broken array after it is brought back up Broken Completed State of Secondary Primary-Rev/Syncing 3PAR array after setrcopygroup recover is issued on it Unsynchronized RestoreInProgress Restoring State of Primary 3PAR Secondary-Rev/Syncing Unsync
Table 113 CopyState/SyncState/ProgressStatus Transitions During Disaster Recovery (continued) Sequence of Events Showrcopy Group Info Role/SyncStatus CopyState SyncState ProgressStatus Synchronized Synchronized Completed State of Primary 3PAR Secondary-Rev/Synced Synchronized array if setrcopygroup restore failed Synchronized Completed State of Primary 3PAR Primary/Synced array if setrcopygroup restore is done Synchronous Long Distance (SLD) Backup Link For SLD configuration in which a primary 3P
Table 114 Relevant Properties of TPD_ReplicationEntity (continued) Property Description EntityID Remote volume name OtherTypeDescription NULL Since there is no full-blown support for ReplicationEntity, in the replication service capabilities the SupportedFeatures property will still include “Requires full discovery of target ComputerSystem“ which indicates that the service does not support undiscovered resources.
Table 116 Relevant Properties of RemoteGroupSynchronized (continued) Property Description • Broken (5) • Suspended (9) • FailedOver (10) • Skewed (13) • Mixed (14) If any of the member volumes have different CopyState, this property will be set to Mixed. Mode Mode describes whether the target elements will be updated synchronously or asynchronously. Possible values are: • Synchronous (2) • Asynchronous (3) PercentSynced Percent of the individual volumes in the group synced.
TPD_OrderedMemberOfRemoteReplicationGroup This is the association between RemoteReplicationGroup and a member StorageVolume, sub-classed from CIM_OrderedMemberOfCollection. Property Description Collection Reference to a RemoteReplicationGroup Member Reference to a member StorageVolume AssignedSequence (uint64) Position of the volume in the group Please note that this association exists only for the RemoteReplicationGroup residing on the local array.
TPD_SAPAvailableForRemoteReplicationGroup This is the association between RemoteReplicationGroup and the SCSIProtocolEndpoint, sub-classed from CIM_SAPAvailableForElement. The endpoints denotes the port used for remote replication. Property Description ManagedElement Reference to RemoteReplicationGroup AvailableSAP Reference to: • TPD_SCSIProtocolFCEndpoint if RCFC • TPD_IPProtocolEndpoint if RCIP Please note that this association exists only for the RemoteReplicationGroup residing on the local array.
Table 118 Methods for TPD_SASPort Method Description RequestStateChange() Can be used to reset SAS port or set it offline. Supported RequestState includes: • Offline (6) • Reset (11) ReloadFirmware() Can be used to reload firmware on all the SAS ports on an HBA. ModifyInstance() Can be used to modify the InterruptCoalescing property.
5 CIM Indications SMI-S provides for asynchronous notification of events that indicate changes in the CIM server or the managed elements controlled by the CIM server. CIM indications are the mechanism for delivery of such events. A CIM client must subscribe to indications it wants to receive event notifications from the CIM server. For detailed information regarding Indications, refer to SMI S at www.snia.org. When creating the IndicationFilter, the QueryLanguage property should be set to “DMTF:CQL”.
TPD_DynamicStoragePoolInstDeletion The 3PAR CIM Server currently supports indication subscriptions for deletion of DynamicStoragePool. Clients must send the following query string to the HP 3PAR CIM Server: SELECT * FROM CIM_InstDeletion WHERE SourceInstance ISA CIM_StoragePool TPD_DynamicStoragePoolInstModification The 3PAR CIM Server currently supports indication subscriptions for changes in the RemainingManagedSpace of DynamicStoragePool.
Or they can send any of the following to choose the specific indication(s) they want to receive: SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT * * * * * * * * * * * * FROM FROM FROM FROM FROM FROM FROM FROM FROM FROM FROM FROM TPD_StoragePoolGrowWarningAlert TPD_StoragePoolGrowLimitAlert TPD_StoragePoolGrowFailureAlert TPD_StoragePoolOverUsedWarningAlert TPD_StorageVolumeAllocationFailureAlert TPD_StorageVolumeAllocationWarningAlert TPD_StorageVolumeAllocationLimitA
Property Type Description Value 3 - Quality of Service Alert. An Indication of this type is principally associated with a degradation or errors in the performance or function of an entity. 4 - Processing Error. An Indication of this type is principally associated with a software or processing fault. 5 - Device Alert. An Indication of this type is principally associated with an equipment or hardware fault. 6 - Environmental Alert.
Property Type Description Value uniquely identified, within the scope of the OwningEntity, by MessageID. SystemCreation string The scoping System's CreationClassName for “TPD_StorageSystem” the Provider generating this indication. ProviderName string The name of the Provider generating this Indication. EventID string An instrumentation or provider specific value Message code will be that describes the underlying “real-world” in hex format, e.g., “0x01e00de”.
Property Value EventID Message code will be in hex format, e.g., “0x01e00de”.
6 CIM-API Extensions Health Management The CIM Server provides the ability to retrieve health information about the physical devices that comprise the HP 3PAR Storage System.
Properties for TPD_NodeSystem Table 122 TPD_NodeSystem Properties Property Description Position The position of the controller node in the storage system (i.e., node number). ElementName User friendly-name of the controller node. OperationalStatus Overall status of the controller node. Refer to SMI-S for possible values of this property. OtherOperationalStatus 3PAR-specific operational status for the NodeSystem.
Supported Methods Table 127 Supported Methods for TPD_StorageSystem Method Description modifyInstance() Provides the ability to set owner and contact information for the StorageSystem. UML Diagram Figure 11 controller node Subsystem Disk Enclosure Subsystem The CIM Server provides the ability to manage the health of physical devices that comprise the backend Disk Enclosure portion of the storage system.
Properties for TPD_StorageSystem Table 129 TPD_StorageSystem Properties Property Description Name The node WWN for the storage system. ElementName User-friendly name of the storage system. OperationalStatus Overall status of the storage system. Refer to the SMI-S for possible values of this property. OtherOperationalStatus 3PAR-specific operational status for the StorageSystem.
Table 133 TPD_DiskDrive Properties (continued) Property Description Position The position of this disk drive in the drive magazine. ID ID assigned to this Disk Drive by the system. OperationalStatus Overall status of the disk drive. Refer to SMI-S for possible values of this property. OtherOperationalStatus 3PAR-specific operational status for the DiskDrive.
Table 135 Power and Cooling Key CIM Classes (continued) Class Description TPD_DriveCage Provides information about storage system drive cages. TPD_PowerSupply Provides information about power supplies for both controller nodes and disk cages. TPD_Battery Provides information about batteries attached to controller node power supplies. TPD_Fan Provides information about fans, including fans within each power supply and external fans connected to controller nodes.
Properties for TPD_PowerSupply Table 139 TPD_PowerSupply Properties Property Description Position The position of the PowerSupply in the storage system (such as the PS number). OperationalStatus Overall status of the PowerSupply. Please refer to SMI-S for possible values of this property. OtherOperationalStatus 3PAR-specific operational status for the PowerSupply. ACStatus Provides information about the AC status of a power supply.
UML Diagram Figure 13 Power and Cooling Inventory Management The CIM Server provides the ability to retrieve inventory information for controller nodes and all of the components that comprise the controller node Subsystem portion of the storage system. Controller Node Subsystem The CIM Server provides the ability to retrieve inventory information about the physical devices that comprise the storage system.
Table 143 Controller Node Subsystem CIM Key Classes (continued) Class Description TPD_PhysicalMemory Provides information about the physical memory contained within each controller node. TPD_IDEDrive Provides information about the onboard IDE drive contained within each controller node. Properties for TPD_StorageSystem Table 144 TPD_StorageSystem Properties Property Description Name The Node WWN for the storage system. ElementName User friendly-name of the storage system.
Table 148 TPD_PCICard Properties (continued) Property Description SerialNumber Serial number of the PCI Card. Revision The revision of the PCI Card. FirmwareVersion Revision of the firmware running on the card. Properties for TPD_NodeCPU Table 149 TPD_NodeCPU Properties Property Description Position The position/CPU number of this component. Manufacturer Manufacturer of the CPU. Model Model number for the CPU. SerialNumber Serial number for the CPU.
UML Diagram Figure 14 UML Diagram Disk Enclosure Subsystem The CIM Server provides the ability to retrieve inventory information for all of the components that comprise the backend Disk Enclosure portion of the storage system. Disk Enclosure Subsystem CIM Classes Table 153 Disk Enclosure Subsystem Key Classes Class Description TPD_StorageSystem The storage array. TPD_DriveCage Provides information about storage system drive cages.
Properties for TPD_DriveCage Table 155 TPD_DriveCage Properties Property Description Position The position of the drive cage in the storage system (such as the cage number). ElementName User-friendly name of the Drive Cage. Manufacturer Manufacturer of the Drive Cage. Model Model of the Drive Cage. SerialNumber Serial number of the Drive Cage.
Properties for TPD_DiskDrivePackage Table 159 TPD_DiskDrivePackage Properties Property Description Manufacturer Manufacturer of the DiskDrive. Model Model of the DiskDrive. SerialNumber Serial number of the DiskDrive. Properties for TPD_DiskSoftwareIdentity Table 160 TPD_DiskSoftwareIdentity Properties Property Description Manufacturer Manufacturer of the DiskDrive firmware. VersionString Version of the firmware running on the DiskDrive.
Power and Cooling CIM Classes Table 162 Power and Cooling CIM Key Classes Class Description TPD_StorageSystem The storage array. TPD_NodeSystem Provides information about the controller nodes that make up the storage system. TPD_DriveCage Provides information about storage system drive cages. TPD_PowerSupply Provides information about power supplies for both controller nodes and disk cages. TPD_Battery Provides information about batteries attached to controller node power supplies.
Properties for TPD_PowerSupply Table 166 TPD_PowerSupply Properties Property Description Position The position of the PowerSupply in the storage system (such as the PS number). Manufacturer Manufacturer of the PowerSupply. Model Model of the PowerSupply. SerialNumber Serial number of the PowerSupply. Properties for TPD_Battery Table 167 TPD_Battery Properties Property Description Position The position of the Battery in the storage system (such as the battery number).
UML Diagram Figure 16 UML Diagram Domain, User and Licenses Description The 3PAR CIM Server provides the ability to retrieve domain and privilege information about the user. This information can be broken down into the following areas: • Licenses • User Domains • User Privileges • Domains • Domain Sets These informations are available in TPD_StorageSystem class and TPD_StorageDomainGroup. CIM Classes The key classes are as follows: Class Description TPD_StorageSystem The Storage array.
Properties for TPD_StorageSystem Property Description Licenses Array of all the licenses enabled on the system. LicenseIssueDate Date on which the licenses were issued. LicenseExpirationDate Date on which the licenses will expire. CurrentUserDomains Domains that the current user belongs to. If the user is not a domain user, value will show 'all'. CurrentUserPrivileges Privileges of the current user.
7 Support and Other Resources Contacting HP For worldwide technical support information, see the HP support website: http://www.hp.
For information about: See: Migrating data from one HP 3PAR storage system to another HP 3PAR-to-3PAR Storage Peer Motion Guide Configuring the Secure Service Custodian server in order to monitor and control HP 3PAR storage systems HP 3PAR Secure Service Custodian Configuration Utility Reference Using the CLI to configure and manage HP 3PAR Remote Copy HP 3PAR Remote Copy Software User’s Guide Updating HP 3PAR operating systems HP 3PAR Upgrade Pre-Planning Guide Identifying storage system components
For information about: See: Planning for HP 3PAR storage system setup Hardware specifications, installation considerations, power requirements, networking options, and cabling information for HP 3PAR storage systems HP 3PAR 7200, 7400, and 7450 storage systems HP 3PAR StoreServ 7000 Storage Site Planning Manual HP 3PAR StoreServ 7450 Storage Site Planning Manual HP 3PAR 10000 storage systems HP 3PAR StoreServ 10000 Storage Physical Planning Manual HP 3PAR StoreServ 10000 Storage Third-Party Rack Physic
Typographic conventions Table 170 Document conventions Convention Element Bold text • Keys that you press • Text you typed into a GUI element, such as a text box • GUI elements that you click or select, such as menu items, buttons, and so on Monospace text • File and directory names • System output • Code • Commands, their arguments, and argument values • Code variables • Command variables Bold monospace text • Commands you enter into a command line interface • Syst
8 Documentation feedback HP is committed to providing documentation that meets your needs. To help us improve the documentation, send any errors, suggestions, or comments to Documentation Feedback (docsfeedback@hp.com). Include the document title and part number, version number, or the URL when submitting your feedback.
A Managed Object Format Files This appendix provides the contents of the Managed Object Format (MOF) files for the HP 3PAR Storage System. These MOF files derive from the standard MOF files contained in CIM, version 2.23. Note: The InServ Storage Server has been rebranded as HP 3PAR Storage System. There are instances in this document where menu items and command output refer to the HP 3PAR Storage System as InServ or InServ Storage Server. For information regarding standard MOF files, refer to DMTF at www.
class TPD_SubProfileRequiresProfile : CIM_SubProfileRequiresProfile { [Override ( "Antecedent" ), Min ( 1 ), Description ( "The RegisteredProfile that is referenced/required by the " "subprofile.")] TPD_RegisteredProfile REF Antecedent; [Override ( "Dependent" ), Description ( "A RegisteredSubProfile that requires a scoping profile, for " "context.
TPD_ObjectManager REF Dependent; }; // ================================================================== // Namespace // ================================================================== [Description ( "Namespace provides a domain (in other words, a container), in " "which the instances [of a class] are guaranteed to be unique " "per the KEY qualifier definitions. It is named relative to the " "TPD_ObjectManager implementation that provides such a domain.
"class. The latter describes a possible encoding/protocol/ set " "of operations for accessing the referenced ObjectManager.")] class TPD_CommMechanismForManager : CIM_CommMechanismForManager { [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description ( "The HP 3PAR CIM server ObjectManager whose communication mechanism is " "described.
"The RegisterdProfile or RegisteredSubProfile.")] CIM_RegisteredProfile REF Dependent; }; 3PAR_TPD.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted.
class TPD_DynamicStoragePool: SNIA_StoragePool { [Description ( "Type of disk drives that are in this pool. Not applicable " "to primordial pool."), ValueMap {"0", "1", "2", "4"}, Values {"Unknown", "FC", "Nearline", "SSD"} ] uint16 DiskDeviceType; [Description ( "The size of each allocation when the pool grows."), Units ( "Bytes" )] uint64 AllocationUnit; [Description ( "This is the nominal number of bytes allocated on disk for Snapshot " "data (SD) of this pool, not including RAID overhead.
"Describe the RAID type of the pool. This value makes it easy" " for traversing CapabilitiesOfStoragePool association."), ValueMap {"0", "10", "50", "60"}, Values {"RAID0", "RAID10", "RAID50", "RAID60"} ] uint16 RaidType; [Description ( "Issue warning alert when space allocation exceeds this amount." "A size of 0 means no warning limit is enforced. Default is 0."), Units( "Bytes" )] uint64 SnapDataSpaceWarningLimit = 0; [Description ( "Name of the administrative domain that this pool belongs " "to.
[Description ( "Describe the type of the volume."), ValueMap {"0", "1", "2", "3", "4"}, Values {"Unknown", "Base", "Physical Copy", "Virtual Copy", "Remote Copy"} ] uint16 VolumeType; [Description ( "Total number of logically contiguous blocks, of size Block " "Size, which form Raw Size Admin. The total size " "can be calculated by multiplying BlockSize by RawAdminBlocks.
"DisallowStaleSnapshot - When copy-on-write fails, don't write to r/w " " base so that r/o snapshots remain valid/consistent with r/w " " base. This means failures to update snapshot will be " " considered a failure to write to the base volume as well. " "AllowStaleSnapshot - When copy-on-write fails, allow write to r/w base " " to succeed, but snapshot becomes invalid or stale.
"Describes the preferred availability of the volume. " "This value might be different from CurrentAvailability."), ValueMap {"0", "8", "9", "10", "11", "12"}, Values {"Unknown", "Port", "Cage", "Magazine", "Disk", "Chunklet"} ] uint16 PreferredAvailability; [Description ( "Describes the current availability of the volume. " "This value might be different from PreferredAvailability.
"This is applicable only for a thin-provisioned volume.")] uint64 ProvisionedConsumableBlocks; [Description ( "Name of the administrative domain that this volume belongs " "to.\n")] String Domain; [Description ( "Number of chunklets in a set. " "For RAID 0 volume, this is always 1. " "For RAID 10 volume, this is equal to StorageSetting.DataRedundancy. " "Minimum value for RAID 10 volume is 2, maximum value is 4. " "For RAID 50 volume, this is also known as the parity " "set size.
" 0x00001000 - Removing" " 0x00000800 - Closing" " 0x00000400 - Tuning" " 0x00000200 - Copying" " 0x00000100 - Promoting"), BitMap { "20","17","16","14","13","12","11","10","9", "8" }, BitValues {"Importing", "Resyncing", "Removing Expired", "Copy Source", "Creating", "Removing", "Closing", "Tuning", "Copying", "Promoting"}] uint32 Activity; }; // ================================================================== // HP 3PAR HostedStoragePool // ===============================================================
{ [Override ( "Antecedent" ), Description ( "The concrete StoragePool." )] TPD_StoragePool REF Antecedent; [Override ( "Dependent" ), Description ( "The subsidiary DynamicStoragePool." )] TPD_DynamicStoragePool REF Dependent; }; #pragma include ("3PAR_TPDCopySvcs.
}; // ================================================================== // HP 3PAR VolumeAllocatedFromDynamicPool // ================================================================== [Association, Description ( "TPD_VolumeAllocatedFromDynamicPool is an association between " "StorageVolume and the DynamicStoragePool from which the " "the capacity of StorageVolume is allocated.
"value varies depending on the number of cages. " "This option has no meaning for RAID-0 volume.\n"), ValueMap { "8", "9", "10" }, Values { "Port", "Cage", "Magazine" }] uint16 HighAvailability; [Write, Description ( "Chunklet location preference. Allows chunklets to " "be placed physically close to other chunklets with " "the same location preference.\n" " First - attempt to use the lowest numbered\n" " available chunklets.\n" " Last - attempt to use the highest numbered\n" " available chunklets.
"UserSpaceLimit is the consumption limit for the allocated " "user space of the associated StorageVolumes. Please note " "that SpaceLimit refers to the consumption limit of the " "allocated space of a DynamicStoragePool or the snap space " "(DeltaReplicaStoragePool) of the associated StorageVolumes. " "Applicable only to thin provisioned volumes. " "If UserSpaceLimit = 0 (the default) then no limits are asserted " "on the amount of space consumed.
" 0x80000000 - DisallowStaleSnapshot" " 0x40000000 - AllowStaleSnapshot" " 0x20000000 - System" " 0x10000000 - NoSystem" " 0x02000000 - OneHost" " 0x01000000 - NoOneHost" " 0x00200000 - ZeroDetection" " 0x00100000 - NoZeroDetection" ), BitMap { "31","30","29","28","25","24","21","20" }, BitValues {"DisallowStaleSnapshot", "AllowStaleSnapshot", "System", "NoSystem", "OneHost", "NoOneHost", "ZeroDetection", "NoZeroDetection"} ] uint32 Policy; [Write, Description ( "Define the VV geometry sectors_per_track val
[Write, Description ( "Specifies the PCI or PCIe slot, the list of PCI, PCIe slots or " "the range of PCI or PCIe slots the disks must have their " "primary path on.\n" "Each element in this array represents one instance of " "pattern for candidate disks; multiple array element adds " "additional candidate disks that match the pattern.\n" "Empty string means that the value is not specified for " "this particular set of patterns.
"The string must be in one of the following formats:\n" " - nb is an integer\n" " , - a list of integer\n" " , - a range of integers\n"), ArrayType ( "Indexed" ), ModelCorrespondence { "TPD_TopLevelStorageSetting.DiskPrimPathPCISlots", "TPD_TopLevelStorageSetting.DiskPrimPathPorts", "TPD_TopLevelStorageSetting.DiskPrimPathNodes", "TPD_TopLevelStorageSetting.DiskMagazines", "TPD_TopLevelStorageSetting.DiskMagPositions", "TPD_TopLevelStorageSetting.DiskIDs", "TPD_TopLevelStorageSetting.
"TPD_TopLevelStorageSetting.DiskMagazines", "TPD_TopLevelStorageSetting.DiskCages", "TPD_TopLevelStorageSetting.DiskIDs", "TPD_TopLevelStorageSetting.DiskTotalChunkletGT", "TPD_TopLevelStorageSetting.DiskTotalChunkletLT", "TPD_TopLevelStorageSetting.DiskFreeChunkletGT", "TPD_TopLevelStorageSetting.DiskFreeChunkletLT", "TPD_TopLevelStorageSetting.DiskRPM", "TPD_TopLevelStorageSetting.
"less than this value.\n" "Each element in this array represents one instance of " "pattern for candidate disks; multiple array element adds " "additional candidate disks that match the pattern.\n" "A value of -1 means that the value is not specified for " "this particular set of patterns. All other negative integers " "are invalid.\n"), ArrayType ( "Indexed" ), ModelCorrespondence { "TPD_TopLevelStorageSetting.DiskPrimPathPCISlots", "TPD_TopLevelStorageSetting.
"TPD_TopLevelStorageSetting.DiskTotalChunkletLT", "TPD_TopLevelStorageSetting.DiskFreeChunkletGT", "TPD_TopLevelStorageSetting.DiskCages", "TPD_TopLevelStorageSetting.DiskRPM", "TPD_TopLevelStorageSetting.DiskPackageModels" }] sint32 DiskFreeChunkletLT[]; [Write, Description ( "Disks must have package models that match one of the " "specified list of models.
"system:" " Number of Nodes Default " 1-2 32G " 3-4 64G " 5-6 96G " 7-8 128G "Applicable only if TemplateType equals to 3, " "\"DynamicStoragePool\"."), Units("Bytes")] uint64 AllocationUnit; Minimum 8G 16G 24G 32G " " " " " [Write, Description ( "The max amount of disk space created on each auto-grow. If this value " "is non-zero it must be 8192 or bigger. " "Applicable only if TemplateType equals to 3, " "\"DynamicStoragePool\", and AllocationUnit is not equal " "to zero.
"and ChangeableType equals to 2, \"Changeable-Persistent\"."), ValueMap { "1", "2", "3" }, Values { "Thin Provisioned StorageVolume", "Common Provisioned Virtual Volumes", "Any" }] uint16 TemplateForVolumeType; [Write, Description ( "Size of the volume in bytes. Used only as a template property." "Applicable only if ChangeableType equals to 2, " "\"Changeable-Persistent\".")] uint64 TemplateVolumeSize; [Write, Description ( "Device type of the volume. Either FC (Fast Class) or NL " "(Nearline).
"overriden by the properties in Goal parameter when invoking the " "TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method." "If false, RAID type of the volume (combination of DataRedundancyGoal " "and PackageRedundancyGoal values) in this template can be " "overriden by the corresponding properties in the Goal parameter " "when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method." "Default is true.
[Write, Description ( "If true, HighAvailability value in this template is read-only " "and cannot be overriden by the corresponding property in " "the Goal parameter when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method." "If false, HighAvailability value in this template can be " "overriden by the corresponding property in the Goal parameter " "when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method.
"TPD_TopLevelStorageSetting.DiskPrimPathNodes", "TPD_TopLevelStorageSetting.DiskMagazines", "TPD_TopLevelStorageSetting.DiskMagPositions", "TPD_TopLevelStorageSetting.DiskIDs", "TPD_TopLevelStorageSetting.DiskTotalChunkletGT", "TPD_TopLevelStorageSetting.DiskTotalChunkletLT", "TPD_TopLevelStorageSetting.DiskFreeChunkletGT", "TPD_TopLevelStorageSetting.DiskCages", "TPD_TopLevelStorageSetting.DiskPackageModels", "TPD_TopLevelStorageSetting.
"overriden by the corresponding property in the Goal parameter " "when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method." "Default is true.\n" "Applicable only if TemplateType equals to 1, \"Virtual Volumes\", " "and ChangeableType equals to 2, \"Changeable-Persistent\".
[Write, Description ( "If true, SpaceLimit or TemplateSnapSpaceAllocationLimit value " "in this template is read-only " "and cannot be overriden by the corresponding property in " "the Goal parameter when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method.
[Write, Description ( "If true, DSPSnapSpaceGrowWarning or SpaceLimitWarningThreshold " "value in this template is read-only " "and cannot be overriden during the creation of DSP." "If false, DSPSnapSpaceGrowWarning or SpaceLimitWarningThreshold " "value in this template can be " "overriden during the creation of DSP." "Default is true.\n" "Applicable only if TemplateType equals to 3, " "\"DynamicStoragePool\", and ChangeableType equals to 2, " "\"Changeable-Persistent\".
[Description ("The time specifies the volume needs to be retained and " "can not remove until the retention time is expired.") ] datetime RetentionTime; }; // ================================================================== // HP 3PAR StorageSetting // ================================================================== [Description ( "HP 3PAR StorageSetting.
"0 is returned, then the task completed successfully and the " "use of ConcreteJob was not required. If the task will take " "some time to complete, a ConcreteJob will be created and " "its reference returned in the output parameter Job. " "For HP 3PAR provider, only TPD_DynamicStoragePool " "can be created from a concrete pool."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", "4097", "4098..32767", "32768..
"nearest possible size. If 0 is returned, the function " "completed successfully and no ConcreteJob instance was " "required. If 4096/0x1000 is returned, a ConcreteJob will be " "started to create the element. The Job's reference will be " "returned in the output parameter Job." "A proprietary out parameter ResultString is added for HP 3PAR."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096", "4097", "4098..32767", "32768..
"the resulting element.")] CIM_LogicalElement REF TheElement, [OUT, Description ( "A descriptive text of the result of the operation.")] string ResultDescription); [Description ( "A HP 3PAR-specific method that can be used to create a " "thin-provisioned or full-provisioned volume from a " "TPD_DynamicStoragePool. " "To create a thin-provisioned volume, Goal.ThinlyProvisioned " "property must be set to true. If Goal is NULL or if " "Goal.
"to a Setting or Profile appropriate to the element being " "created. If not NULL, this parameter will supply a new " "Goal when modifying an existing element.")] CIM_StorageSetting REF Goal, [IN, OUT, Description ( "As an input parameter Size specifies the desired size. " "If not NULL, this parameter will supply a new size when " "modifying an existing element. As an output parameter " "Size specifies the size achieved.
"parameter will supply a new name when modifying an " "existing element.")] string ElementName, [IN, Description ( "A reference to an existing instance of persistent " "TPD_StorageSetting to be used as the template for " "creation. This must be specified and cannot " "be NULL.")] CIM_StorageSetting REF Template, [IN, Description ( "If provided, the StorageSetting properties to be created " "or modified for the volume. Properties specified here will " "override those specified in Template.
TPD_StorageVolume REF TheElements[]); [Description ( "Start a job to update the actual space used by delta " "snapshot volumes. This will cause the system to start updating " "the actual space allocated from TPD_DeltaReplicaStoragePool to " "the specified delta snapshot(s). If one or more delta snapshots " "are specified in the SnapshotVolumes array, then only the specified " "volumes will be updated. If none are specified, all delta snapshot " "volumes will be updated.
"The underlying storage for the target element (the " "replica) will be drawn from TargetPool if specified, " "otherwise the allocation is implementation specific.")] CIM_StoragePool REF TargetPool, [IN, Description ( "CopyType describes the type of copy that will be made. " "Values are: \n" "Async: Create and maintain an asynchronous copy of the " "source. \n" "Sync: Create and maintain a synchronized copy of the " "source.
// ================================================================== // HP 3PAR CapabilitiesOfStoragePoolConfiguration // ================================================================== [Association, Description ( "TPD_CapabilitiesOfStoragePoolConfiguration is an association " "between StoragePoolConfigurationCapabilities and " "StoragePool. This association is used to query " "the features and functions supported by " "StoragePool.
[Description ("Mode of the port"), ValueMap {"0", "1", "2"}, Values {"Suspended", "Target", "Initiator"} ] uint16 Mode; [Description ("Shows if the mode change is allowed or not.")] boolean ModeChangeAllowed; [Description ("Node WWN of the port.") ] uint64 NodeWWN; [Description ("Describes device type this port is connected to."), ValueMap {"0", "1", "2", "3", "4"}, Values {"Free", "Host", "Disk", "IPort", "FCRC"} ] uint16 DeviceTypeConnected; [Description ("List of devices, this port is connected to.
"Min(1), Max(1). This cardinality mandates the instantiation of the " "ElementStatisticalData association for the referenced instance " "of CIM_StatisticalData. ElementStatisticalData describes the " "existence requirements and context for the " "CIM_StatisticalData, relative to a specific ManagedElement.")] class TPD_FCPortLESBElementStatisticalData : CIM_ElementStatisticalData { [Key, Min ( 1 ), Max ( 1 ), Description ( "The ManagedElement for which statistical or metric data is " "defined.
Description ("The SCSI Protocol Controller.") ] TPD_SCSIController REF Antecedent; [Override ("Dependent"), Weak, Description ( "The storage volume controlled by the SCSI protocol controller.") ] TPD_StorageVolume REF Dependent; }; // ================================================================== // HP 3PAR SCSIProtocolEndpoint (front-end FC port) // ================================================================== [Description ("HP 3PAR Storage System SCSIProtocolEndpoint (front-end FC port).
"implementation on FC port.")] class TPD_FCPortSCSIEndpointImplementation: CIM_DeviceSAPImplementation { [Override ( "Antecedent" ), Description ( "The FC port.")] TPD_FCPort REF Antecedent; // CIM_FCPort REF Antecedent; -- reenable this line if we support TPD_SCSIInitTargetLUPath [Override ( "Dependent" ), Description ( "The SCSIProtocolEndpoint implemented using the FC port.
"status or a CIM_Error. \n" "\n" "For modifying an SPC, the HP 3PAR Storage System supports only " "the Add LUs to a view use case." "Add LUs to a view requires that the LUNames and DeviceNumbers " "parameters not be null and that the InitiatorIDs and TargetPortIDs " "parameters be null. \n" "\n" "The relevant rules of SCSI semantics are: \n" "- an SPC MAY NOT be exposed through a particular " "host/target port pair that is in use by another SPC.
"other parameters). If the LUNames parameter is null, " "then this parameter MUST be null. Otherwise, if this " "parameter is null, all LU numbers are assigned by the " "hardware or instrumentation."), ModelCorrespondence { "CIM_ProtocolControllerForUnit.DeviceNumber"}] string DeviceNumbers[], [IN, Description ( "A list of permissions to assign to the corresponding " "logical unit in the LUNames parameter.
"HP 3PAR version of the HidePaths operation, adding an extra " "property ResultDescription to better describe the result " "of the hide path operation, and DeviceNumbers for more " "efficient HidePaths operation.\n" "\n" "Hide a list of SCSI logical units (such as a RAID volume or " "tape drive) from a list of initiators and/or target ports " "on a SCSIProtocolController (SPC). \n" "\n" "The parameters for this method are: Job - null if no job " "created, otherwise this is a reference to the job.
[IN, Description ( "IDs of target ports. See the method description for " "conditions where this MAY be null."), ModelCorrespondence { "CIM_SCSIProtocolEndpoint.Name" }] string TargetPortIDs[], [IN, Description ( "A list of logical unit numbers that corresponds to " "logical unit in the LUNames parameter. " "(within the context of the elements specified in the " "other parameters). This parameter is a vendor-specific " "extension for HP 3PAR.
"- the list of names of the logical units to use. " "TargetPortIDs - the names of the target ports to use. " "DeviceNumbers - the device numbers (LUNs) to use. " "DeviceAccesses - permissions for the logical units. " "ProtocolControllers - SPCs involved in this operation. \n" "\n" "There are two modes of operation, create and modify. If a " "NULL value is passed in for the SPC, then the " "instrumentation will attempt to create a new default view.
"An array of IDs of logical unit instances. The LU " "instances MUST already exist. The members of this array " "MUST match the Name property of LogicalDevice instances " "that represent SCSI logical units. See the method " "description for conditions where this MAY be null."), ModelCorrespondence { "CIM_LogicalDevice.Name"}] string LUNames[], [IN, Description ( "IDs of target ports. See the method description for " "conditions where this MAY be null."), ModelCorrespondence { "CIM_SCSIProtocolEndpoint.
"Do not issue a VLUN (Virtual Logical Unit Number) Change " "Notification (VCN) after export. For direct connect or " "loop configuration, a VCN consists of a Fibre Channel " "Loop Initialization Primitive (LIP). For fabric " "configuration a VCN consists of Registered State Change " "Notification (RSCN) being sent to the fabric controller. " "This parameter is a vendor-specific extension for HP 3PAR. " "The default value is false.
CIM_ConcreteJob REF Job, [Required, IN, Description ( "A list of IDs of logical units. Each LU instance MUST " "already exist. See the method description for conditions " "where this MAY be null."), ModelCorrespondence { "CIM_LogicalDevice.Name"}] string LUNames[], [IN, Description ( "IDs of target ports. See the method description for " "conditions where this MAY be null."), ModelCorrespondence { "CIM_SCSIProtocolEndpoint.
"to InitiatorPortIDs that are member of the " "StorageHardwareIDCollections and that are connected to/zoned with " "the target ports (matched set vluns).\n" "\n" "The parameters for this method are: Job - null if no job " "created, otherwise this is a reference to the job. LUNames " "- the list of names of the logical units to use. " "HostNames - the names of the StorageHardwareIDCollection to use. " "DeviceNumbers - the device numbers (LUNs) to use. " "DeviceAccesses - permissions for the logical units.
"ProtocolControllerForUnit DeviceAccess description."), ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", "4097", "4098", "4099", "4100", "4101", "4102", "4103..32767", "32768..
"CIM_ProtocolControllerForUnit.DeviceAccess" }] uint16 DeviceAccesses[], [Required, IN, OUT, Description ( "An array of references to SCSIProtocolControllers " "(SPCs). On input, this can be null, or contain exactly " "one element; there MAY be multiple references on output. " "If null on input, the instrumentation will create one or " "more new SPC instances. If an SPC is specified, the " "instrumentation will attempt to add associations to one " "or more existing SPCs.
"Remove LUs from a view requires that the " "LUNames parameter not be null.\n" "\n" "The SPC is automatically deleted when the last logical unit " "is removed since SPCAllowsNoLUs is false."), ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", "4097", "4098", "4099", "4100..32767", "32768..
"hide default LU operation.")] string ResultDescriptions[]); }; // ================================================================== // ProtocolControllerMaskingCapabilities // ================================================================== [Description ("A subclass of Capabilities that defines the Masking-related " "capabilities of the HP 3PAR Storage System.
class TPD_SystemVolume : CIM_SystemDevice { [Override ("GroupComponent"), Aggregate, Max (1), Min (1), Description ("The storage system.") ] TPD_StorageSystem REF GroupComponent; [Override ("PartComponent"), Weak, Description ( "The storage volume on storage system.
[Override ("Antecedent"), Description ("The HP 3PAR Storage System physical package.") ] TPD_SystemPackage REF Antecedent; [Override ("Dependent"), Description ( "The HP 3PAR Storage System.") ] TPD_StorageSystem REF Dependent; }; // ================================================================== // HP 3PAR StorageCapabilities // ================================================================== [Description ( "HP 3PAR StorageCapabilities. This class defines the capabilities " "of a StoragePool.
"Triggered when " " SpaceConsumed >= (SpaceLimit*SpaceLimitWarningThreshold)/100." " MinValue = 0, MaxValue = 100 " "This is 0 for both concrete pool and DynamicStoragePool.
"capabilities of the associated StorageCapabilities. The " "associated StorageSetting may not define the operational " "characteristics (through settings properties) of any storage " "element. StorageSettingsGeneratedFromCapabilities is the " "association between instances of StorageCapabilities and those " "instances of StorageSetting that have been created from the " "StorageCapabilities instance using the StorageCapabilities " "\"CreateSetting\" method. These settings have a " "StorageSetting.
// ================================================================== [Description ( "StorageHardwareID represents the host HBA.")] class TPD_StorageHardwareID : CIM_StorageHardwareID { [Description ( "IP Address for this HBA.
[Override ( "Privilege" ), Description ( "The AuthorizedPrivilege affecting the SCSIProtocolController " "resource.")] TPD_AuthorizedPrivilege REF Privilege; [Override ( "TargetElement" ), Description ( "The SCSIProtocolController resources to which the " "AuthorizedPrivilege applies.
[Key, Description ( "The aggregated member of the " "MemberOfStorageHardwareIDCollection.")] TPD_StorageHardwareID REF Member; }; // ================================================================== // StorageHardwareIDManagementService // ================================================================== [Description ( "StorageHardwareIDManagementService provides methods for " "manipulating instances of StorageHardwareIDs and manipulating " "the trust of these IDs in the underlying storage system.
[Description ( "Sets the initiator and/or target CHAP authentication information " "on the host as specified in Collection."), ValueMap { "0", "4", "5", "0x1000" }, Values { "Success", "Failed", "Invalid Parameter", "Non-existent Collection" }] uint32 SetISCSICHAP( [IN, Description ( "The initiator CHAP name. If this value is not " "specified, then the CHAP name defaults to the " "host name. Applicable only if InitiatorSecret is set.")] string InitiatorCHAPName, [IN, Description ( "The target CHAP name.
ValueMap { "1", "2" }, Values { "Target", "Both Target and Initiator" }] Uint16 RemovalScope, [IN, Description ( "Reference to the iSCSI StorageHardwareIDCollection.
// ================================================================== // PrivilegeManagementService // ================================================================== [Description ( "HP 3PAR PrivilegeManagementService is responsible for creating, " "deleting, and associating AuthorizedPrivilege instances. " "References to 'subject' and 'target' define the entities that " "are associated with an AuthorizedPrivilege instance via the " "relationships, AuthorizedSubject and AuthorizedTarget, " "respectively.
[Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description ( "The HP 3PAR Storage System.")] TPD_StorageSystem REF Antecedent; [Override ( "Dependent" ), Weak, Description ( "The ControllerConfigurationService hosted on the HP 3PAR Storage System.")] TPD_ControllerConfigurationService REF Dependent; }; // ================================================================== // HP 3PAR SFP // ================================================================== [Description ( "HP 3PAR SFP for Node FC ports.
[Description ("Low voltage alarm threshold")] sint16 VoltLowAlarm; [Description ("High voltage warning threshold")] sint16 VoltHighWarn; [Description ("Low voltage warning threshold")] sint16 VoltLowWarn; [Description ("High transmit bias alarm threshold")] uint16 BiasHighAlarm; [Description ("Low transmit bias alarm threshold")] uint16 BiasLowAlarm; [Description ("High transmit bias warning threshold")] uint16 BiasHighWarn; [Description ("Low transmit bias warning threshold")] uint16 BiasLowWarn; [Descript
[Description ("Transmit power units")] string TxPowerUnit; [Description ("Current receive power")] uint16 RxPower; [Description ("Receive power units")] string RxPowerUnit; [Description ("System name")] string SystemName; [Description ("Caption")] string Caption; [Description ("Element name")] string ElementName; }; // ================================================================== // HP 3PAR Port SFP // ================================================================== [Association, Description ( "A rel
[Override ("ManagedElement"), Description ( "The CmputerSystem.")] TPD_StorageSystem REF ManagedElement; [Override ("SettingData"), Description ( "The StorageClientSettingData.
class TPD_HostedStorageDomainGroup : CIM_HostedCollection { [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description ( "The 3PAR StorageSystem.")] TPD_StorageSystem REF Antecedent; [Override ( "Dependent" ), Description ( "The group of domain in the context of the StorageSystem.
[Description ("Position of the cage in the node."), Read ] uint16 Position; [Description ("Location of the cage.") ] string Location; [Description ("Shows if the loop is split."), Read ] boolean LoopSplit; [Description ("Chain position of the A Loop."), Read ] uint16 ChainPositionLoopA; [Description ("Chain position of the B Loop."), Read ] uint16 ChainPositionLoopB; [Description ("Shows if the locate is ON."), Read ] boolean LocateON; [Description ("HP 3PAR saleable serial number.
[Description ("Value of the temperature sensor."), Read ] uint16 TempSensorValue; [Description ("Status of the temperature sensor threshold."), Read, ValueMap {"0", "1", "2", "3", "4", "5"}, Values {"Unknown", "OK", "Under Warning Threshold", "Under Failure Threshold", "Over Warning Threshold", "Over Failure Threshold"} ] uint16 TempSensorThreshold; [Description ("Status of the operators panel.
uint16 AudibleAlarmState; [Description ("Status of the temperature sensor."), Read, ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"}, Values {"Unknown", "OK", "Over Threshold", "Over/Under Threshold", "Communication Error", "Not Present", "IM Sync failed", "Not Available"} ] uint16 TempSensorState; [Description ("Value of the temperature sensor.
string PortsLoopA[]; [Description ("Location of the initiator ports connecting to the cage ports" " which are on loop B. Array index 0 represents port B0, index 1" " represents B1. If the value is string 0, it represents no connection.")] string PortsLoopB[]; [Description ("HP 3PAR spare part number."), Read] string SparePartNumber; [Description ("HP 3PAR model name."), Read] string ModelName; [Description ("HP 3PAR assembly revision number.
[Description ("Loop A link LED status." " Array index 0 is Loop A0, array index 1 is Loop A1."), ValueMap {"0", "1", "2", "3", "4", "5"}, Values {"Unknown", "Off", "Green", "Green Blinking", "Amber", "Amber Blinking"} ] uint16 LoopALinkLED[]; [Description ("Loop B link LED status." " Array index 0 is Loop B0, array index 1 is Loop B1.
Delta Threshold", "Manual Bypass,Mirror Configuration", "Manual Bypass,Host Management Rules", "Manual Bypass,Trunked Cabling Errors", "Manual Bypass,TBD", "Manual Bypass,Looped Back", "Manual Bypass,Insert Oscillation", "Manual Bypass,Burst LIP Threshold", "Manual Bypass,High LIP Threshold", "Manual Bypass, Diagnostic Transmit", "Manual Bypass,Drive Bypass", "Manual Bypass,Drive Fault", "Unknown"} ] uint16 LoopState[]; [Description ("Status of the firmware on the Interface Card processor.
uint16 HotplugLED; [Description ("Loop A sfp link RX status." " Array index 0 is Loop A0, array index 1 is Loop A1."), ValueMap {"0", "1", "2", "3", "4", "5"}, Values {"Unknown", "Off", "Green", "Green Blinking", "Amber", "Amber Blinking"} ] uint16 LoopALinkRX[]; [Description ("Loop B sfp link RX status." " Array index 0 is Loop A0, array index 1 is Loop A1.
"0x0437", "0x0438", "0x0439", "0x043B", "0x043C", "0x043E", "0x043F", "0x0440", "0x0441", "0x0442", "0x044F", "0x0450", "0x0451", "0x04FF"}, Values {"OK", "Warning,High LIP", "Warning,Burst Word Errors", "Warning,High Word Errors", "Warning,High CRC Errors", "Warning,High Clock Delta", "Bypass", "No SFP Present", "Bypass,Tx Fault", "Bypass,LIP", "Bypass,Data Timeout", "Bypass,RX Loss", "Bypass,Sync Loss", "Bypass,PTFI", "Manual Bypass, System Manager", "Manual Bypass,Redundant Port Connection", "Manual Bypa
uint16 Position; [Description ("Type of the cage this magazine is in."), ValueMap {"0", "2", "3", "4", "5", "6", "7", "8"}, Values {"Unknown", "DC1", "DC2", "DC3", "DC4", "DCS1", "DCS2", "DCN1"} ] uint16 CageType; [Description ("State of Magazine on Loop A.
Description ( "The SystemPackage that contains DriveCage(s)")] TPD_SystemPackage REF GroupComponent; [Override ( "PartComponent" ), Description ( "The TPD_DriveCage which is contained in the SystemPackage.
// software are not permitted. // // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : HP 3PAR_TPDCopySvcs.mof // // Purpose : This MOF contains HP 3PAR Copy Services classes that will be loaded // into root/tpd namespace.
class TPD_StorageReplicationCapabilities : CIM_StorageReplicationCapabilities { [Description ( "Maximum number of replicas that can be associated " "with one read-only source volume. This applies only " "to SupportedSynchronizationType of UnsyncAssoc-Delta " "since only snapshot volume can be read-only.")] uint16 MaximumReplicasPerReadOnlySource; [Description ( "Maximum number of replicas that can be associated " "with one read-write source volume.
[Description ("Position of the Drive in the Magazine.") ] uint16 Position; [Description ("Type of the cage this disk is in."), ValueMap {"0", "2", "3", "4", "5", "6", "7", "8"}, Values {"Unknown", "DC1", "DC2", "DC3", "DC4", "DCS1", "DCS2", "DCN1"} ] uint16 CageType; [Description ("System id number of the Drive.") ] uint32 ID; [Description ("Type of the Disk. Taken from SMI-S 1.5.0 draft.
"0x0441", "0x0442", "0x044F", "0x0450", "0x0451"}, Values {"Unknown", "Not Present", "Offloop", "New Onloop", "Spinning Up", "OK", "Spin Up Failed", "Loop Failed", "Drive Error Bit On", "Bypass, System Manager", "Manual Bypass, Port", "Not Ready", "Spundown, System Manager", "Spundown, Port", "Spundown, Over Temperature", "Spinning Down Fail", "I2C Transaction Failed", "Warning,High LIP", "Warning,Word Error Burst", "Warning,Word Error High", "Warning,High CRC", "Warning,High Clock Delta", "Bypass", "Bypass
uint64 CorrectableWriteErrors; [Description ("Number of Uncorrectable WRITE Errors.
[Override ( "Antecedent" ), Description ( "The physical component that implements the Device.")] TPD_DiskDrivePackage REF Antecedent; [Override ( "Dependent" ), Description ( "The Disk Drive.
[Association, Aggregation, Description ( "The MagazineContainer association represents the relationship between " "a TPD_Magazine and TPD_DiskDrivePackage.")] class TPD_MagazineContainer : CIM_Container { [Aggregate, Override ( "GroupComponent" ), Max ( 1 ), Description ( "The Magazine that contains DiskDrivePackage(s)")] TPD_Magazine REF GroupComponent; [Override ( "PartComponent" ), Description ( "The DiskDrivePackage which is contained in the Magazine.
"The component StorageExtent in the association.")] TPD_DiskStorageExtent REF PartComponent; }; // =================================================================== // SCSIInitiatorTargetLogicalUnitPath // Comment this class out as it is still experimental // =================================================================== // [Association, Description ( // "An association that models a host driver path to a SCSI " // "logical unit.
TPD_StorageVolume REF Dependent; 3PAR_TPDNode.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted.
[Description ("Minor part of BIOS version.") ] uint16 BiosMinor; [Description ("Revision part of BIOS version.") ] uint16 BiosRevision; [Description ("Build part of BIOS version.") ] uint16 BiosBuild; [Description ("BIOS Version in String format.") ] string BiosVersion; [Description ("System LED status."), ValueMap {"0", "1", "2", "3", "4", "5"}, Values {"Unknown", "Off", "Green", "Green Blinking", "Amber", "Amber Blinking"} ] uint16 SystemLED; [Description ("Percentage of the node cache enabled.
[Override ("Dependent"), Description ( "The HP 3PAR Node system.") ] TPD_NodeSystem REF Dependent; }; // ================================================================== // HP 3PAR NodeRedundancySet // ================================================================== [Description ( "HP 3PAR Controller Node redundancy set.
}; // ================================================================== // HP 3PAR NodeSetIdentity // ================================================================== [Association, Description ( "TPD_NodeSetIdentity associates two elements representing " "different aspects of the same underlying entity: TPD_NodePairSystem" " and TPD_NodeRedundancySet.
[Aggregate, Override ( "GroupComponent" ), Description ( "The ComputerSystem that contains and/or aggregates other " "Systems.")] TPD_StorageSystem REF GroupComponent; [Override ( "PartComponent" ), Description ( "The contained (Sub)ComputerSystem.
[Description ("Single or double sided. ValueMap {"0"}, Values {"Unknown"} ] uint16 SideType; Not supported yet."), [Description ("Standard or stacked chips. Not supported yet."), ValueMap {"0"}, Values {"Unknown"} ] uint16 ChipsType; [Description ("CAS latency. Format: CL/, in nS.") ] string CASLatency; [Description ("JEDEC ID.") ] string JedecID; [Description ("Revision code.
Description ( "The NodePackage that contains IDE Drive(s).")] TPD_NodePackage REF GroupComponent; [Override ( "PartComponent" ), Description ( "The IDE Drive which is contained in the NodePackage.")] TPD_IDEDrive REF PartComponent; }; // ================================================================== // TPD PCI or PCIe Card // ================================================================== [Description ( "HP 3PAR PCI or PCIe Card.
[Override ( "Dependent" ), Weak, Description ( "The SCSIProtocolEndpoint representing front end port " "on the system.
3PAR_TPDEnv.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted. // // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : HP 3PAR_TPDEnv.
"Capabilities and management of the HP class TPD_CagePowerSupply : TPD_PowerSupply { [Description ("Type of the cage this Power ValueMap {"0", "2", "3", "4", "5", "6", Values {"Unknown", "DC1", "DC2", "DC3", uint16 CageType; 3PAR Cage PowerSupply.")] Supply is in."), "7", "8"}, "DC4", "DCS1", "DCS2", "DCN1"} ] [Description ("If TRUE, user can not modify model.
uint16 Speed; [Description ("HP 3PAR specific operational state for the Fan"), ValueMap {"0", "1", "2", "4", "5", "6", "7" }, Values {"Unknown", "OK", "Error", "Critical", "Non Critical", "Not Installed", "Not Available"} ] uint16 OtherOperationalStatus; [Description ("Fan LED status. This is ONLY available for system fans.
uint16 Position; [Description ("Maximum battery life in minutes.") ] uint32 MaxLife; [Description ("If TRUE, MAX life is low and battery is failed.") ] boolean MaxLifeLow; [Description ("Manufacturing date of the Battery.") ] datetime ManufacturingDate; [Description ("Expiration date of the Battery.") ] datetime ExpirationDate; [Description ("Charge start date of the Battery.") ] datetime ChargeStartDate; [Description ("Vendor name of the Battery.
[Description ("HP 3PAR assembly revision number."), Read] string AssemblyRevision; [Description ("HP 3PAR check sum."), Read] string Checksum; }; // =================================================================== // TPD_PowerSupplyBattery // =================================================================== [Association, Description ( "A Node PowerSupply may use or require one or more Batteries. This " "relationship is described by the PowerSupplyBattery dependency.
[Association, Aggregation, Composition, Description ( "The SystemPowerSupply association represents a relationship between " "a TPD_PowerSupply and CIM_ComputerSystem (TPD_NodeSystem or " "TPD_StorageSystem).")] class TPD_SystemPowerSupply : CIM_SystemDevice { [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ), Description ( "The parent system in the Association. Could be either " "StorageSystem or NodeSystem.
// All Rights Reserved. This software is the property of HPDC. Distribution // or deployment of the source or derived binaries of this // software are not permitted. // // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : 3PAR_TPDIndication.mof // // Purpose : This MOF contains HP 3PAR indication classes that will be loaded // into root/tpd namespace.
{ [Override ( "EventID" ), Description ( " Contains alert message code that identifies the alert. Please consult the Alerts chapter of " "the HP 3PAR InForm Messages and Operator's Guide") ] String EventID; }; // ================================================================== // ThinProvisioning indications // ================================================================== [Indication, Description ( "Indication specifying that the state of an alert condition " "has changed.
{ }; [Indication, Description ( "Indication specifying that a storage volume has reached its " "allocation warning threshold..") ] class TPD_StorageVolumeAllocationWarningAlert : CIM_AlertIndication { }; [Indication, Description ( "Indication specifying that a storage volume has reached its " "its allocation limit threshold.
}; [Indication, Description ( "Indication indicating that the previous alert condition " "regarding a delta replica storage pool has cleared.") ] class TPD_DeltaReplicaStoragePoolCapacityClearAlert: CIM_AlertIndication { }; [Indication, Description ( "Indication specifying that a storage volume has has failed to " "allocate snapshot space for user data.") ] class TPD_SnapshotUserSpaceAlert : CIM_AlertIndication { }; 3PAR_TPDLocation.
[Override ( "Element" ), Description ( "The PhysicalElement whose Location is specified.")] TPD_SystemPackage REF Element; [Override ( "PhysicalLocation" ), Max ( 1 ), Description ( "The PhysicalElement's Location.")] TPD_SystemLocation REF PhysicalLocation; }; 3PAR_TPDEthPort.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc.
"implemented.")] class TPD_EthPortSAPImplementation : CIM_DeviceSAPImplementation { [Override ( "Antecedent" ), Description ( "The Ethernet Port.")] TPD_EthernetPort REF Antecedent; [Override ( "Dependent" ), Description ( "The IP Protocol Endpoint implemented using the Ethernet Port.
"TCPProtocolEndpoint on an underlying IPProtocolEndpoint, on the same " "system.")] class TPD_BindsToIPEndpoint : CIM_BindsTo { [Override ( "Antecedent" ), Description ( "The underlying IPProtocolEndpoint, which is depended upon.")] TPD_IPProtocolEndpoint REF Antecedent; [Override ( "Dependent" ), Description ( "The TCPProtocolEndpoint dependent on the IPProtocolEndpoint.
// software are not permitted. // // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : HP 3PAR_TPDiSCSI.mof // // Purpose : This MOF contains HP 3PAR iSCSI classes that will be loaded // into root/tpd namespace.
"HP 3PAR NodeSystem and IPProtocolEndpoint association." "This is a subclass of CIM_HostedAccessPoint. There are many " "subclasses of CIM_HostedAcessPoint in the system. This class is " " named TPD_SystemIPEndpoint to distinguish with other subclasses. ")] class TPD_SystemiSCSIEndpoint : CIM_HostedAccessPoint { // Indicate that this is one-to-many association [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description ( "The node controller that hosted the protocol endpoint.
"The iSCSIProtocolController resources to which the " "AuthorizedPrivilege applies.")] TPD_iSCSIController REF TargetElement; }; // ================================================================== // HP 3PAR ConfigServicesForiSCSIController Association // ================================================================== [Association, Description ( "TPD_ConfigServicesForiSCSIController is an association between " "TPD_iSCSIController and ControllerConfigurationService.
"The managed element.")] TPD_iSCSIProtocolEndpoint REF ManagedElement; [Override ( "SettingData" ), Description ( "The SettingData object associated with the element.
[Override ( "ManagedElement" ), Description ( "The managed element.")] TPD_TCPProtocolEndpoint REF ManagedElement; [Override ( "SettingData" ), Description ( "The SettingData object associated with the element.
// HP 3PAR iSCSIConnection // ================================================================== [Description ( "This class contains the attributes of and negotiated values " "for, an iSCSI Connection which is modeled as a subclass of " "NetworkPipe. The original settings that are a starting point " "for negotiation are found in the class " "iSCSIConnectionSettings.
[Association, Description ( "CIM_ElementStatisticalData is an association that relates a " "ManagedElement to its StatisticalData. Note that the " "cardinality of the ManagedElement reference is Min(1), Max(1). " "This cardinality mandates the instantiation of the " "ElementStatisticalData association for the referenced instance " "of CIM_StatisticalData. ElementStatisticalData describes the " "existence requirements and context for the " "CIM_StatisticalData, relative to a specific ManagedElement.
"is assumed to be generally available. If instantiated, the SAP " "is available only for the associated ManagedElements. For " "example, a device might provide management access through a " "URL. This association allows the URL to be advertised for the " "device.")] class TPD_iSCSISAPAvailableForElement : CIM_SAPAvailableForElement { [Key, Description ( "The Service Access Point that is available.
[Association, Description ( "CIM_ElementStatisticalData is an association that relates a " "ManagedElement to its StatisticalData. Note that the " "cardinality of the ManagedElement reference is Min(1), Max(1). " "This cardinality mandates the instantiation of the " "ElementStatisticalData association for the referenced instance " "of CIM_StatisticalData. ElementStatisticalData describes the " "existence requirements and context for the " "CIM_StatisticalData, relative to a specific ManagedElement.
// // Date created: 3/19/2007 // /////////////////////////////////////////////////////////////////////////// // ================================================================== // HP 3PAR Concrete Job // ================================================================== [Description ( "HP 3PAR Concrete Job")] class TPD_ConcreteJob : CIM_ConcreteJob { [Description ("Type of the job.
// ================================================================== // HP 3PAR MethodResult // ================================================================== [Description ( "Jobs are sometimes used to represent extrinsic method " "invocations that execute for times longer than the length of " "time is reasonable to require a client to wait. The method " "executing continues beyond the method return to the client.
// // File : HP 3PAR_TPDReplicationSvcs.mof // // Purpose : This MOF contains HP 3PAR Replication Services classes that will be loaded // into root/tpd namespace.
"Mode describes whether the target elements will be " "updated synchronously or asynchronously. If NULL, " "implementaton decides the mode." ), ValueMap { "2", "3", "..", "0x8000.." }, Values { "Synchronous", "Asynchronous", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_Synchronized.Mode" }] uint16 Mode, [IN, Description ( "A group of source storage objects which may be a " "StorageVolume or storage object. If this parameter " "is not supplied, SourceElement is required.
[IN ( false ), OUT, Description ( "Reference to the job (may be NULL if job is completed)." )] CIM_ConcreteJob REF Job, [IN ( false ), OUT, Description ( "Reference to the list of jobs (may be NULL if jobs are completed)." )] CIM_ConcreteJob REF Jobs[], [IN ( false ), OUT, Description ( "Reference to the created group association between " "the source and the target elements. If a job is " "created, this parameter may be NULL until the " "association is actually formed.
"Unknown", "Timeout", "Failed", "Invalid Parameter", "In Use", "DMTF Reserved", "Method Parameters Checked - Job Started", "Method Reserved", "Vendor Specific" }] uint32 CreateGroupReplicaFromElements( [IN, Description ( "A user relevant name for the relationship between " "the source and target groups or between a source " "element and a target group (i.e. one-to-many). If " "NULL, the implementation assigns a name.
"CreateGroupReplicaFromElements.TargetPool" }] CIM_ServiceAccessPoint REF TargetAccessPoint, [IN, Description ( "Overrides the default group consistency." ), ValueMap { "2", "3", "..", "0x8000.." }, Values { "No Consistency", "Sequential Consistency", "DMTF Reserved", "Vendor Specific" }] uint16 Consistency, [IN, Description ( "If provided, it overrides the default replication " "setting data for the given SyncType. If not " "provided, the management server uses the default " "replication setting data.
"objects (SourceElements). Note that using the input " "parameter, SyncType, this function can be used to " "instantiate the replicas, and to create an ongoing " "association between the source and replica elements. If " "0 is returned, the function completed successfully and " "no ConcreteJob instance created. If 4096/0x1000 is " "returned, one or more ConcreteJob are started, a reference " "to which is returned in the Jobs output parameter.
"elements (i.e., the replicas). If a job is " "created, the target elements may not be available " "immediately." ), ModelCorrespondence { "CIM_ReplicationService.CreateListReplica.SourceElements" }] CIM_LogicalElement REF TargetElements[], [IN, Description ( "Reference to target access point information. If " "NULL, service does not need access information to " "access the target elements. This parameter applies " "to all elements in the target list." ), ModelCorrespondence { "CIM_ReplicationService.
"before the method returns." ), ModelCorrespondence { "CIM_Synchronized.CopyState" }] uint16 WaitForCopyState); [Description ( "Create (or start a job to create) a new group of storage " "objects which are replicas of the specified source " "storage or a group of source storage objects " "(SourceElements). Note that using the input parameter, " "SyncType, this function can be used to instantiate the " "replicas, and to create ongoing associations between " "the source(s) and replicas.
"Asynchronous, i.e., physical copy")] CIM_ReplicationGroup REF TargetGroup, [IN ( false), OUT, Description ( "Array of references to the created target volumes, matched with " "with SourceElements, valid only for Snapshot/Synchronous " "replicas (virtual copy).")] TPD_StorageVolume REF TargetElements[], [IN ( false ), OUT, Description ( "Reference to the list of jobs (may be NULL if job is completed).
"copied while the other remains in production. \n" "RemoveSyncPair: Remove the pair associated via " "StorageSynchronized from the source and target " "groups. The pair continue to remain associated but " "not in the groups. \n" "Resync Replica: Re-establish the synchronization. " "This will negate the action of a previous " "Fracture/Split operation. Recreate a Point In Time " "image for a Snapshot or a Clone replication. " "Restart a Broken or Aborted synchronization " "relationship.
uint32 TPD_CreateConsistentReplicaList( [Required, IN, Description ( "SyncType describes the type of copy that will be made." ), ValueMap { "..", "6", "7", "8", "..", "0x8000.." }, Values { "DMTF Reserved", "Mirror", "Snapshot", "Clone", "DMTF Reserved", "Vendor Specific" }, ModelCorrespondence { "CIM_Synchronized.SyncType" }] uint16 SyncType, [IN, Description ( "Mode describes whether the target elements will be " "updated synchronously or asynchronously. If NULL, " "implementaton decides the mode.
}; // ================================================================== // HP 3PAR Replication Service Capabilities // ================================================================== [Description ( "A subclass of Capabilities that defines the Capabilities of a " "ReplicationService. An instance of " "ReplicationServiceCapabilities is associated with a " "ReplicationService using ElementCapabilities.
}; // ================================================================== // MemberOfReplicationGroup // ================================================================== [Association, Aggregation, Description ( "MemberOfReplicationGroup is an aggregation used " "to establish membership of StorageVolume in a ReplicationGroup, " "i.e., volume set.")] class TPD_MemberOfReplicationGroup : CIM_MemberOfCollection { [Key, Aggregate, Description ( "The MemberOfReplicationGroup that aggregates StorageVolume .
// // Date created: 4/18/2006 // /////////////////////////////////////////////////////////////////////////// // ================================================================== // Statistics Collection // ================================================================== [Description ( "Statistics collection")] class TPD_StatisticsCollection : CIM_StatisticsCollection { }; // ================================================================== // Hosted Statistics Collection // =============================
// ================================================================== // Block Statistics Manifest // ================================================================== [Description ( "Block Statistics manifest")] class TPD_BlockStatisticsManifest : CIM_BlockStatisticsManifest { }; // ================================================================== // Member Of Block Statistics Manifest Collection // ================================================================== [Association, Aggregation, Description
// ================================================================== [Description ( "Statistical data for the Array")] class TPD_ArrayStatisticalData : CIM_BlockStorageStatisticalData { }; // ================================================================== // Array Element Statistical Data // ================================================================== [Association, Description ( "An association that relates a " "ManagedElement to its StatisticalData.
"Number of dirty pages that have been modified exactly 1 time. " "A page is dirty when it has been modified in cache but " "not written to disk.")] uint32 Write1CachePages; [Description ( "Number of dirty pages that have been modified more than " "1 time.")] uint32 WriteNCachePages; [Description ( "Number of pages scheduled to be written to disk.")] uint32 WriteScheduledCachePages; [Description ( "Number of pages being currently written by the flusher to disk.
[Description ( "Number of delayed acknowledgements to the host in order to " "throttle the host's IO writes due to cache resource constraints " "for the 10k RPM FC disk type.")] uint32 FC10kRPMDelayedAck; [Description ( "Number of delayed acknowledgements to the host in order to " "throttle the host's IO writes due to cache resource constraints " "for the 15k RPM FC disk type.
class TPD_NodeElementStatisticalData : CIM_ElementStatisticalData { [Key, Min ( 1 ), Max ( 1 ), Description ( "The ManagedElement for which statistical or metric data is " "defined.")] TPD_NodeSystem REF ManagedElement; [Key, Description ( "The statistic information/object.
[Key, Description ( "The statistic information/object.
uint32 QueueLength; [Description ( "Percent of current busy use."), Units( "Percent" )] uint32 PercentBusy; [Description ( "The cumulative count of all Read Cache misses.")] uint64 ReadMissIOs; [Description ( "The cumulative count of all Write Cache misses.
[Override ( "Dependent" ), Description ( "The collection defined in the context of a system.
// into root/tpd namespace.
// ========================================= // Operations // ========================================= [Description ( "This method reloads firmware of the port." "The method should return 0 if successful, 1 if the request is not " "supported, and some other value if any other error occurred.
class TPD_SystemSASPort : CIM_SystemDevice { [Override ("GroupComponent"), Aggregate, Max (1), Min (1), Description("The node controller that hosted the SAS port.")] TPD_NodeSystem REF GroupComponent; [Override ("PartComponent"), Weak, Description ( "The SAS port.
// HP 3PAR HostedSASProtocolEndpoint: association between NodeSystem and // SASProtocolEndpoint // ================================================================== [Association, Description ("HP 3PAR NodeSystem and SASProtocolEndpoint association.")] class TPD_HostedSASProtocolEndpoint : CIM_HostedAccessPoint { // Indicate that this is one-to-many association [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description ( "The node controller that hosted the protocol endpoint.