Software Subprofile. HP API
Publicitate
Publicitate
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
.
Software Subprofile CIM Classes
Table 64 Software Subprofile CIM Classes
Class
TPD_StorageSystem
TPD_SoftwareIdentity
Description
The storage array on which the software is installed.
Information on installed software on the specified
TPD_ComputerSystem .
Supported Methods
Table 65 Methods for TPD_StorageSystem
Method modifyInstance()
Description
Provides the ability to set owner and contact information for the StorageSystem.
Masking and Mapping Subprofile
The Masking and Mapping subprofile is used to determine which LUNs are visible to which initiators through which target ports. The effect is that a given exported volume is only visible to specific hosts through specific target ports. Per SMI-S, the ability to limit access is defined as Device Masking; the ability to specify the device address seen by particular initiators is defined as Device Mapping.
The subprofile also specifies methods to allow administrators to actively manage (export and delete)
LUNs. The CIM Server supports the Masking and Mapping subprofile and allows for both the display and active management of LUNs.
For detailed information regarding the Masking and Mapping subprofile, refer to SMI-S at http:// www.snia.org
.
Masking and Mapping Subprofile CIM Classes
Table 66 Masking and Mapping Subprofile CIM Classes
Class
TPD_AuthorizedPrivilege
TPD_StorageSystem
TPD_SCSIController
TPD_iSCSIController
TPD_ControllerConfigurationService
TPD_StorageHardwareID
TPD_StorageHardwareIDCollection
Description
Represents the access permission that a
StorageHardwareID is allowed on a
SCSIProtocolController .
The storage array.
Represents the SCSI view of ports as seen by SCSI initiators.
Represents the iSCSI view of ports as seen by iSCSI initiators.
Provides methods that allow a client to export and delete
LUNs on an HP 3PAR Storage System.
An initiator port identifier, i.e., a host path.
A collection of related host paths. This is equivalent to a
Host as seen on an HP 3PAR Storage System.
76 CIM API SMI-S Support
Table 66 Masking and Mapping Subprofile CIM Classes (continued)
Class
CIM_StorageHardwareIDManagementService
TPD_ProtocolControllerMaskingCapabilities
TPD_StorageVolume
Description
Provides methods that allow a client to create, add/or delete hosts or host paths.
Defines the masking related capabilities of the HP 3PAR
Storage System.
The storage volume to be exported.
Supported Methods
-
shows the supported methods of the masking and mapping subprofile:
Table 67 Methods for TPD_StorageSystem
Method modifyInstance()
Description
Provides the ability to set owner and contact information for the StorageSystem.
Table 68 Methods for TPD_StorageHardwareIDManagementService
Method
CreateStorageHardwareID()
DeleteStorageHardwareID()
CreateStorageHardwareIDCollection()
DeleteStorageHardwareIDCollection()
Description
Expose SCSI Logical units.
Hide a list of SCSI logical units.
Create a collection of StorageHardwareIDs.
Delete a collection ofStorageHardwareIDs.
Table 69 Methods for TPD_StorageHardwareIDCollection
Method
DeleteInstance()
Description
Delete a collection of StorageHardwareIDCollection (host)
Table 70 Methods for TPD_ControllerConfigurationService
Method
ExposePaths()
HidePath()
ExportDefaultLUs()
HideDefaultLUs()
ExposeLUsToStorageHardwareIDCollection()
HideLUsFromStorageHardwareIDCollection()
Description
Expose SCSI Logical units.
Hide a list of SCSI logical units.
Expose a list of SCSI logical units (such as RAID volumes) through a “default view” SCSIProtocolController
(SPC) through a list of target ports. The “default view” SPC exposes logical units to all initiators. This SPC is identified by an association to a StorageHardwareID with Name property set to the empty string.
Hide a list of SCSI Logical Units (such as RAID volumes) through a default view SCSIProtocolController through a list of target ports on a default view
SCSIProtocolController .
Expose a list of SCSI logical units to a list of
StorageHardwareIDCollections (hosts).
Hide a list of SCSI logical units through a list of
StorageHardwareIDCollections (hosts).
Masking and Mapping Subprofile 77
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. In the HP 3PAR Storage System, storage volumes must be explicitly exported to be visible to hosts or they are not accessible to any host.
A view is a list of logical units exposed through a list of target ports, modeled as
SCSIProtocolController (SPC) with associated StorageVolume, StorageHardwareIDs
(host WWN/iSCSIName), and SCSIProtocolEndPoints (port WWNs/iscsiNames). A path is a combination of one each: logical unit (volume), initiator port (host port), and target port. An
SPC serves as a collection of paths.
Three kinds of SPCs are supported in the HP 3PAR Storage System environment:
•
Matched-Set SPC, its deviceID format is MS:<n:s:p>:<host id>, where <n:s:p> is the notation of the target port and <host_id> is the system assigned ID of the host where initiator port(s) reside. For this kind of view, a volume is exposed to the specified host only through the specified target port. The host can contain multiple 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.
◦ Supported ExposePaths Use Cases:
– Create new view
– Add LU to view
– Add initiator port to view — allowed only if the initiator port is zoned together with the target port
◦ Supported HidePaths Use Cases:
– Remove view
– Remove LU from view
– Remove initiator port from view
•
Host-See SPC, its deviceID format is HS:<host id>, where the <host_id> is the system assigned ID of the host where initiator port(s) reside. For this kind of view, a volume is exposed to the specified host regardless of the target port. The host can contain multiple initiator ports, hence this kind of view can have associations to more than one StorageHardwareIDs. This view can also have associations to multiple StorageVolumes and target ports.
◦ Supported ExposePaths Use Cases:
– Create new view
– Add LU to view
– Add initiator port to view
◦ Supported HidePaths Use Cases:
– Remove view
– Remove LU from view
– Remove initiator port from view
•
Port-Present SPC, its deviceID format is PP:<n:s:p>, where <n:s:p> is the notation of the target port. For this kind of view, a volume is exposed through the specified target port regardless of the host the port is connected to or zoned with. The host can contain multiple
78 CIM API SMI-S Support
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.
◦ Supported ExposePaths Use Cases:
– Create new view
– Add LU to view
◦ Supported HidePaths Use Cases:
– Remove view
– Remove LU from view
Figure 7 Masking and Mapping Example 1 (Direct Attached Host)
Example 1 shows that there are views from 2 FC hosts with same volumes:
•
SPC_1: Volume_1 is exported to Server 1 via Port_WWN_1 (target port on the storage system) as LUN 1 and Volume_2 as LUN 2. The host HBA is represented as Host_WWN_1.
•
SPC_2: Volume_2 is exported to Server 2 via Port_WWN_2 (target port on the system) as
LUN 5 and Volume_2 as LUN 6. The host HBA is represented as Host_WWN_2. Different LU numbers are used in this example, but they can be assigned the same LUNs as in SPC_1.
Masking and Mapping Subprofile 79
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. The following settings are fixed and cannot be modified:
•
PortsPerView: All Ports share the same view (4); this reflects the fact that Host-See SPC is supported which means that TargetPortIDs do not need to be specified when calling
ExposePaths.
•
ClientSelectableDeviceNumbers: true; LUN ID can be selected by a client.
•
AttachDeviceSupported: false.
•
OneHardwareIDPerView: false.
•
UniqueUnitNumbersPerPort: false.
80 CIM API SMI-S Support
•
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.
•
MaximumMapCount: 0 (unlimited); a virtual volume can be exported unlimited number of times.
•
SPCAllowsNoLUs: false; clients cannot create SPC that has no associations to LUs (volumes).
•
SPCAllowsNoTargets: true; a host-sees SPC might not have associations to any target port if it is in a dormant OperationalStatus.
•
SPCAllowsNoInitiators: true; a port–present SPC (port-present type) might not have associations to any initiator port if it is in a dormant OperationalStatus.
•
SPCSupportDefaultViews: false.
ControllerConfigurationService
ControllerConfigurationService (CCS) is the main class of Masking and Mapping (MM) subprofile. This class enables clients to export and delete VLUNs. A client can get a handle of CCS by using a HostedService association from ComputerSystem (StorageSystem).
provides a brief summary of the CSS methods and their corresponding CLI commands:
Table 71 CCS Methods and CLI Command Equivalents
Methods
ExposePaths
CLI Equivalences createvlun vvname lunID hostname n:s:p createvlun vvname lunID hostname
Comments
Host HBA WWN/iSCSIName
(StorageHardwareID) is specified for
ExposePaths method; host name
(StorageHardwareIDCollection.ElementName) is specified for the CLI createvlun command, not the individual HBA
WWN/iSCSIName.
Host-sees type vlun can be created by
ExposePaths by setting
TargetPortIDs to NULL or empty array.
HidePaths createvlun vvname lunID n:s:p removevlun vvname lunID hostname n:s:p
Host HBA WWN/iSCSIName
(StorageHardwareID) is specified for
HidePaths method; host name
(StorageHardwareIDCollection.ElementName) is specified for the CLI removevlun command, not the individual HBA
WWN/iSCSIName.
Remove a host-sees vlun.
removevlun vvname lunID hostname removevlun vvname lunID n:s:p
ExposeLUsToStorageHardwareIDCollection createvlun vvname lunID hostname
HideLUsFromStorageHardwareIDCollection removevlun vvname lunID hostname
Masking and Mapping Subprofile 81
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. Host-sees VLUNs can also be created by ExposeLUsToStorageHardwareIDCollection. One difference between this method and the CLI createvlun command is that for this method, the host
StorageHardwareID (FC port WWN or iSCSI name) is specified in InitiatorPortIDs parameter, whereas for the createvlun command, the name of the host is specified, not the StorageID itself.
The method signature is described below: uint32 ExposedPaths (
[Out] CIM_ConcreteJob ref Job,
[In] String LUNames[],
[In] String InitiatorPortIDs[],
[In] String TargetPortIDs[],
[In] String DeviceNumbers[],
[In] uint16 DeviceAccesses[],
[In/Out] CIM_SCSIProtocolController ref ProtocolController[],
[In] boolean Override,
[In] boolean NoVCN,
[Out] String ResultDescriptions[]);
•
Job: This is ignored since storage system does not support job control.
•
LUNames[]: 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 StorageVolume instances.
•
InitiatorPortIDs[]: IDs of initiator ports (host HBA WWNs or iSCSI names). If an existing
StorageHardwareID instance exist, it is used. If no StorageHardwareID instance matches, one is implicitly created as is usually done from SMI-S.
•
TargetPortIDs[]: IDs of target ports (the system’s front-end FC port). If this is NULL or contains an empty array during creation mode, then a host-sees SPC is created; if array contains actual values, then a matched-set SPC is created
•
DeviceNumbers[]: A list of logical unit numbers to assign to the corresponding logical unit in the LUNames parameter. (within the context of the elements specified in the other parameters).
If the LUNames parameter is null, then this parameter must be null. If this parameter is NULL, the logical unit number is assigned by the system.
•
DeviceAccesses[]: A list of permissions to assign to the corresponding logical unit in the
LUNames parameter. This specifies the permission to assign within the context of the elements specified in the other parameters. This is mandatory only because SMI-S requires it. For the storage system, access permissions cannot be specified when creating a VLUN. Rather, each volume has its own access permission. The ControllerConfigurationService provider checks the passed in DeviceAccesses values against the permission of the specified LU
(volume), and the operation fails if the two values do not match.
•
ProtocolControllers: An array of references to SCSIProtocolControllers (SPCs). On input, this can be null, or contains exactly one element; there may be multiple references on output. If null on input, the instrumentation creates one or more new SPC instances. If SPC is included on input, this can either be a reference to TPD_SCSIController for an FC host or TPD_iSCSIController orTPD_iSCSICNode for an iSCSI host.
82 CIM API SMI-S Support
•
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). 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. The default value is false.
•
ResultDescriptions[]: An array of descriptive text of the result of the operation, with each entry containing the result of each expose path operation. This parameter is a vendor-specific extension.
Table 72 ExposePath Use Cases
Use Cases LUNames InitiatorPortIDs TargetPortIDs
Create a new view
Mandatory Mandatory if creating a matched-set or host-see SPC,
NULL if creating a port-present
SPC
Mandatory if creating a matched-set or port-present
SPC; NULL if creating a host-sees SPC
Mandatory NULL
DeviceNumbers DeviceAccesses ProtocolControllers
(On input)
Optional Mandatory NULL
NULL NULL Contains a single SPC ref
Add
InitiatorIDs to
View (valid only for host-see SPC, and matched-set
SPC only if initiator port is already zoned with the target port)
NULL
Add LUs to view
Mandatory NULL NULL Optional NULL Contains a single SPC ref; if this is a
TPD_iSCSINode, this operation is equivalent to creating a port-present SPC for that iSCSI port
Parameters “Override” and “NoVCN” are optional. All other combinations of the parameters are rejected.
HidePaths (Removing VLUNs)
HidePaths() is the inverse of ExposePaths. It hides a list of storage volumes from a list of initiators through a list of target ports, through one or more SCSIProtocolControllers (SPCs).
This operation is similar to removevlun. Host-sees VLUNs can also be removed by
HideLUsFromStorageHardwareIDCollection . One difference between this method and the CLI removevlun command is that for this method, the exact host WWN/iscsiName is specified
(InitiatorPortIDs), whereas for the removevlun command, the name of the host is specified, not the WWN/iscsiName itself.
Masking and Mapping Subprofile 83
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. The members of this array must match the Name property of the StorageVolume instances.
•
InitiatorPortIDs[]: IDs of initiator ports (host HBA WWNs)
•
TargetPortIDs[]: IDs of target ports (the storage system’s front-end FC port).
•
DeviceNumbers[]: A list of logical unit numbers corresponding to the logical unit in the LUNames parameter. This is a vendor-specific extension and therefore is optional.
•
ProtocolControllers[]: An array of references to SCSIProtocolControllers (SPCs). On input, this contains exactly one element; there may be multiple references on output. If SPC is included on input, this can either be a reference to TPD_SCSIController for FC host or
TPD_iSCSIController orTPD_iSCSINode for iSCSI host.
•
NoVCN: Do not issue a VLUN (Virtual Logical Unit Number) Change Notification (VCN) after removal. 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. The default value is false.
•
ResultDescriptions[]: An array of descriptive text of the result of the operation, with each entry containing the result of each hide path operation. This parameter is a vendor-specific extension
.
Table 73 HidePaths Use Cases
Use Cases LUNames InitiatorPortIDs TagetPortIDs
Remove LUs from a view
Mandatory
Hide full paths from a view
Mandatory
Remove Initiator IDs from view
NULL
NULL
Mandatory
Mandatory
NULL
Mandatory
NULL
ProtocolControllers
(On input)
Contains a single SPC ref; if this is a
TPD_iSCSINode, this operation is equivalent to removing an LU from a port-present
SPC for that iSCSI port.
Contains a single SPC ref
Contains a single SPC ref
Parameters DeviceNumbers and NoVCN are optional. All other combinations of the parameters are rejected.
84 CIM API SMI-S Support
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.
ExposeLUsToStorageHardwareIDCollection (Creating Host-Sees VLUNs) (3PAR proprietary method)
ControllerConfigurationService ExposeLUsToStorageHardwareIDCollection() is similar to ExposePaths, except ExposeLUsToStorageHardwareIDCollection exposes volumes to all the initiator ports (StorageHardwareID) on the specified hosts
(StorageHardwareIDCollection) regardless of which target ports they are connected to.
The parameter, TargetPortLIPDs, which if specified, also allows for creation of matched-set
VLUNs; this allows for more flexibility in creating template VLUNs to target ports that might not exist yet.
The method signature is described below: uint32 ExposedLUsToStorageHardwareIDCollection (
[Out] CIM_ConcreteJob ref Job,
[In] String LUNames[],
[In] String HostNames[],
[In] string TargetPortLPIDs[],
[In] String DeviceNumbers[],
[In] uint16 DeviceAccesses[],
[In/Out] CIM_SCSIProtocolController ref ProtocolController[],
[In] boolean Override,
[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. The members of this array must match the Name property of StorageVolume instances.
•
HostNames[]: An array of names for the hosts (StorageHardwareIDCollection). Instances
MUST already exist. The members of this array MUST match the ElementName property of
TPD_StorageHardwareIDCollection .
•
TargetPortLPIDs[]: An array of target port LPIDs, in '<node>:<slot>:<port>' format. If this is empty, then host-sees vlun is created; otherwise matched set vlun(s) is created.
•
DeviceNumbers[]: A list of logical unit numbers to assign to the corresponding logical unit in the LUNames parameter. (within the context of the elements specified in the other parameters).
If the LUNames parameter is null, then this parameter must be null. If this parameter is NULL, the logical unit number will be assigned by the system.
•
DeviceAccesses[]: A list of permissions to assign to the corresponding logical unit in the
LUNames parameter. This specifies the permission to assign within the context of the elements specified in the other parameters. This is mandatory only to be consistent with other methods.
For the storage system, access permissions cannot be specified when creating a VLUN. Rather, each volume has its own access permission. The ControllerConfigurationService provider checks the passed in DeviceAccesses value against the permission of the specified
LU (volume), and the operation fails if the two values do not match.
•
ProtocolControllers[]: An array of references to SCSIProtocolControllers (SPCs). On input, this can be null, or contain exactly one SPC; there may be multiple references on output.
If null on input, the instrumentation creates one or more new SPC instances. If SPC is included
Masking and Mapping Subprofile 85
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. 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. The default value is false.
•
ResultDescriptions[]: An array of descriptive text of the result of the operation, with each entry containing the result of each expose path operation. This parameter is a vendor-specific extension.
Table 74 ExposeLUsToStorageHardwareIDCollection Use Cases
Use Cases LUNames HostNames
Create a new view
Mandatory Mandatory
TargetPortLPIDs
Optional
DeviceNumbers DeviceAccesses ProtocolControllers
(On input)
NULL Mandatory for
2.2.4 and before, optional for
2.3.1 and beyond.
Mandatory
Parameters “Override” and “NoVCN” are optional. All other combinations of the parameters are rejected.
There is one use case of ExposeLUsToStorageHardwareIDCollection() method (See
• Creating a new view: this creates host-sees VLUN if TargetPortLPIDs is NULL, or matched-set
VLUN if TargetPortLPIDs is specified. ProtocolControllers parameter must be NULL.
HideLUsFromStorageHardwareIDCollection(Removing Host-Sees VLUNs)
HideLUsFromStorageHardwareIDCollection() is a method that is similar to HidePaths, except that it hides volumes from all host HBA initiator ports on the specified hosts.
This operation is similar to removevlun of host-sees VLUNs. For matched-set VLUNs, see
HidePaths . For port-present VLUNs, see HideDefaultLUs.
The method signature is described below: uint32 HideLUsFromStorageHardwareIDCollection (
[Out] CIM_ConcreteJob ref Job,
[In] String LUNames[],
[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. The members of this array must match the Name property of StorageVolume instances.
•
DeviceNumbers[]: A list of logical unit numbers corresponding to the logical unit in the LUNames parameter. This is a vendor-specific extension and is optional.
86 CIM API SMI-S Support
•
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. 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. The default value is false.
•
ResultDescriptions[]: An array of descriptive text of the result of the operation, with each entry containing the result of each hide path operation. This parameter is a vendor-specific extension
.
Table 75 HideLUsFromStorageHardwareIDCollection Use Cases
Use Cases
Remove LUs from a view
LUNames
Mandatory
ProtocolControllers (On input)
Contains a single SPC ref
Parameters “DeviceNumbers” and “NoVCN” are optional. All other combinations of the parameters are rejected.
The use cases are:
•
Remove volumes from a view: the volume has been exported to an SPC, it’ll be removed from the SPC (e.g., it won’t be accessible from host HBA anymore).
StorageHardwareIDManagementService
StorageHardwareIDManagementService provides methods for manipulating instances of
StorageHardwareIDs and manipulating the trust of these IDs in the underlying storage system.
This class enables clients to create and delete StorageHardwareID, create
StorageHardwareIDCollection and add StorageHardwareID to a collection. A client can get a handle of StorageHardwareIDManagementService by using a HostedService association from ComputerSystem (StorageSystem).
Here is a brief summary of the methods and their corresponding CLI commands:
Table 76 StorageHardwareIDManagementService Methods and CLI Equivalents
Methods
CreateStorageHardwareID
DeleteStorageHardwareID
CLI Equivalence createhost hostname WWN removehost hostname WWN
Comments
Only 1 host HBA WWN/iscsiName
(StorageID) can be specified at a time for CreateStorageHardwareID method.
Only 1 host HBA WWN/iscsiName
(StorageID ) can be deleted at a time for DeleteStorageHardwareID method.
CreateStorageHardwareIDCollection
AddHardwareIDsToCollection createhost hostname [WWN …] createhost –add hostname WWN…
StorageHardwareIDCollection.DeleteInstance
removehost hostname Delete the entire host and any path to the host (StorageHardwareID).
Masking and Mapping Subprofile 87
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 <hostname> <wwn>” or “createhost –iscsi
<hostname> <iscsiName> ”. If ElementName is NULL, a new host with a system-generated
ElementName will be created first and the StorageID will be added to the host. If a host already exists with the same ElementName, then the StorageID will be added to that host. Otherwise a new host will be created with the ElementName and StorageID will be added to the host.
The method signature is described below: uint32 CreateStorageHardwareID (
[In] String ElementName,
[In] String StorageID,
[In] Uint16 IDType,
[In] String OtherIDType,
[In] CIM_StorageClientSettingData REF Setting,
[Out] CIM_StorageHardwareID REF HardwareID);
•
ElementName: This is the name of the host to create the host HBA WWN/iSCSI name on. If this is NULL, a new host with a system-generated ElementName will be created. If a host already exists with the same ElementName, then the StorageID will be added to that host.
Otherwise a new host will be created with the ElementName and StorageID will be added to the host.
•
StorageID: WWN of the FC host HBA or iscsiName of the iSCSI host HBA to create. This is mandatory.
•
IDType: Type of StorageID property. This must be 2 (Port WWN for FC target port) or 5
(iscsiName for iSCSI target port); all other values are rejected. This is mandatory.
•
OtherIDType: Description of the type of StorageID if IDType is 1 (Other). Since only IDType of 2 and 5 is accepted, this value is ignored.
•
Setting: Reference to the StorageClientSettingData containing the OSType appropriate for this initiator. This refers to an TPD_StorageClientSettingData which is equivalent to a host persona; if not specified then the host persona defaults to Generic. If this operation is being applied to a StorageID on an existing host with a different Setting, then the host will be reconfigured to use this Setting.
•
HardwareID: Reference to the new StorageHardwareID instance. Must be NULL on input.
DeleteStorageHardwareID (Removing a Path from a Host)
This method deletes a named StorageHardwareID (host HBA WWN/iscsiName) from a host, and also tears down the associations that are no longer needed, including
CIM_ConcreteDependency and CIM_AuthorizedSubject.
This operation is similar to “removehost <hostname> <wwn>” or “removehost –iscsi
<hostname> <iscsiName> ”.
The method signature is described below: uint32 DeleteStorageHardwareID (
[In] CIM_StorageHardwareID REF HardwareID);
88 CIM API SMI-S Support
•
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.
This operation is similar to “createhost <hostname>” and “createhost <hostname>
<wwn …> ” or “createhost –iscsi <hostname> <iscsiName>”. The host as specified in
<hostname> must not have existed. If HardwareIDs (WWN/iscsiNames) are not specified, then only the host is created.
The method signature is described below: uint32 CreateStorageHardwareIDCollection (
[In] String ElementName,
[In] String HardwareIDs[],
[In] CIM_StorageClientSettingData REF Setting,
[In] String Domain,
[Out] CIM_SystemSpecificCollection REF Collection);
•
ElementName: This is the name of the host to create the host HBA WWN/iscsiName on. The host must not have existed. This corresponds to the ElementName property of the
StorageHardwareID instance. If the host already exist, use
AddHardwareIDsToCollection instead. This is mandatory.
•
HardwareIDs: A list of WWN’s/iscsiNames to assign to the host. If this is null, only the host
(without WWN/iscsiName assigned) is created.
•
Setting: Reference to the StorageClientSettingData containing the OSType appropriate for this initiator. This refers to an TPD_StorageClientSettingData which is equivalent to a host persona; if not specified then the host persona defaults to Generic.
•
Domain: Name of the domain the host should belong to
•
Collection: Reference to the new StorageHardwareIDCollection (host) instance. Must be NULL on input.
AddStorageHardwareIDsToCollection (Adding a Path to a Host)
This method adds a list of WWNs (StorageHardwareID) to the host
(StorageHardwareIDCollection). This creates the MemberOfCollection instances between the specified Collection and the StorageHardwareIDs.
This operation is similar to “createhost -add <hostname> <wwn …>“ or “createhost
–add –iscsi <hostname> <iscsiName> ”. The host as specified in <hostname> must have existed.
The method signature is described below: uint32 AddHardwareIDsToCollection (
[In] String HardwareIDs[],
[In] CIM_SystemSpecificCollection REF Collection);
•
HardwareIDs: A list of WWN’s/iscsiNames to assign to the host. This is mandatory.
•
Collection: A reference to the StorageHardwareIDCollection (host) to add the
WWN’s/iscsiNames to. This is mandatory.
Masking and Mapping Subprofile 89
SetISCSICHAP
This method sets the initiator or the target host CHAP secrets or both.
This operation is similar to “sethost initchap <secret> <hostname>” or “sethost targetchap <secret> <hostname> ”. The host as specified in <hostname> must have existed.
The method signature is described below: uint32 SetISCSICHAP (
[In] String InitiatorCHAPName,
[In] String TargetCHAPName,
[In] uint16 InitiatorSecretType,
[In] uint16 TargetSecretType,
[In] String InitiatorSecret,
[In] String TargetSecret,
[In] CIM_SystemSpecificCollection REF Collection);
•
InitiatorCHAPName: initiator CHAP name. Defaults to the host name.
•
TargetCHAPName: target CHAP name. Defaults to the system name.
•
InitiatorSecretType: whether initiator secret string is ASCII or hex. If ASCII, the initiator secret string must be printable and 12 to 16 characters in length with no spaces; if hex, the initiator secret string must be 16 bytes in length. Defaults to ASCII.
•
TargetSecretType: whether target secret string is ASCII or hex. If ASCII, the target secret string must be printable and 12 to 16 characters in length with no spaces; if hex, the target secret string must be 16 bytes in length. Defaults to ASCII.
•
InitiatorSecret: CHAP secret for the host
•
TargetSecret: CHAP secret for the target.
•
Collection: A reference to the StorageHardwareIDCollection (host). This is mandatory.
RemoveISCSICHAP
This method removes just the target host CHAP secrets, or both the target and the initiator host
CHAP secrets.
The method signature is described below: uint32 RemoveISCSICHAP (
[In] Uint16 RemovalScope,
[In] CIM_SystemSpecificCollection REF Collection);
•
RemovalScope: Remove target secret only or both initiator and target secrets. Valid values are
1: remove target CHAP only, 2: remove both initiator and target CHAP Defaults to 2 which means remove both.
•
Collection: A reference to the StorageHardwareIDCollection (host). This is mandatory.
StorageHardwareIDCollection.ModifyInstance
The intrinsic method ModifyInstanceis used to modify persona or domain of the host.
StorageHardwareIDCollection.DeleteInstance (Deleting a Host)
The intrinsic method DeleteInstance is used to delete StorageHardwareIDCollection
(host).
90 CIM API SMI-S Support
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.
TPD_SAPAvailableForElement associates TPD_SCSIPrococolController to
TPD_SCSIPrococolEndPoint (FC target port). When a host is directly attached to the storage system, SAPAvailableForElement represents a one-to-one relationship between SPC and
SCSIProtocolEndPoint because only one host can connect to one target port. When one storage system port is connected to a switch in a fabric, there can be multiple hosts connecting to the storage system via the same target port (1-to-many association). When more than one the storage system port are connecting to the fabric with multiple hosts in the same zone, this association becomes n-to-n relationship.
iSCSISAPAvailableForElement
This class replaces PrococolControllerForPort in SMI-S 1.0.2.
TPD_iSCSISAPAvailableForElement associates TPD_iSCSIPrococolController to
TPD_iSCSIPrococolEndPoint (iSCSI target port). When a host is directly attached to the storage system, iSCSISAPAvailableForElement represents a one-to-one relationship between
SPC and iSCSIPrococolEndPoint because only one host can connect to one target port.
When one storage system port is connected to a switch in a fabric, there can be multiple hosts connecting to the system via the same target port (1-to-many association). When more than one system port are connecting to the fabric with multiple hosts in the same zone, this association becomes n-to-n relationship.
SCSIPrococolController
SCSIPrococolController (SPC) represents the view described in
for a
Fiber-channel host.
iSCSIPrococolController
iSCSIPrococolController (SPC) represents the view described in
for an iSCSI host.
SCSIPrococolEndpoint
SCSIPrococolEndpoint (subclass of LogicalPort) models SCSI aspect of an FC port. It is associated with one or more FCPorts. One instance of this class must be created for each target port (connecting to host or fabric).
Table 77 Properties for
Properties string Name
Uint16 ProtocolIFType
Values
Target port WWN
56 (Fibre Channel)
Masking and Mapping Subprofile 91
Table 77 Properties for (continued)
Properties
Uint16 ConnectionType
Uint16 Role
Values
2 (Fibre Channel)
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).
Table 78 Properties Values for ISCSIPrococolEndpoint
Properties string Name
Uint16 ProtocolIFType string OtherTypeDescription
Uint16 ConnectionType
Uint16 Role
Values
Target port iSCSIName + ‘t’ + TPGT
1 (other)
“iSCSI”
7 (iSCSI)
3 (target port)
ControllerForUnit
TPD_ControllerForUnit associates TPD_SCSIController for an FC host with
StorageVolumes . The LUN is modeled as the DeviceNumber property of
ProtocolControllerForUnit . The access permission is represented as DeviceAccess property.
Table 79 Property Values for TPD_ControllerForUnit
Properties
TPD_SCSIController Antecedent
TPD_StorageVolume Dependent string DeviceNumber
Uint16 DeviceAccess
Values
Reference to a TPD_SCSIController instance.
Reference to an exported TPD_StorageVolume instance that is visible to protocol controller above.
LUN of the storage volume via the above protocol controller.
This value has to match that of StorageVolume.
Figure 10 Relationships between StorageHardwareID, SCSIProtocolEndpoint and StorageVolume
92 CIM API SMI-S Support
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.
To change the StorageClientSettingData of a host, a client should do a ModifyInstance of the TPD_StorageHardwareIDCollection.Setting property.
StorageHardwareID
StorageHardwareID (subclass of Identity) represents the host HBA WWN/iscsiName.
TPD_StorageHardwareIDCollection
This is sub-classed from SystemSpecificCollection is used to hold a set of
StorageHardwareID objects which can access storage volumes.
Supporting classes
AssociatedPrivilege
AssociatedPrivilege represents an association between a StorageHardwareID instance and a
SCSIProtocolController. TPD_SPCAssociatedPrivilege and TPD_iSPCAssociatedPrivilege are subclassed from AssociatedPrivilege.
The AssociatedPrivilege also represents the access permission (read-write) that a StorageHardwareID
(host HBA) is allowed on a SCSIProtocolController.
The AssociatedPrivilege association is in addition to and replaces the instances of
AuthorizedPrivilege, PrivilegeForStorageHardwareID (AuthorizedSubject), and AuthorizedTarget.
AuthoizedPrivilege, AuthorizedSubject, and AuthorizedTarget are now deprecated.
Table 80 Property Values for AssociatedPrivilege
Properties string UseKey boolean PrivilegeGranted uint16[] Activities
TPD_StorageHardwareID Subject
CIM_SCSIProtocolController Target
Values
Opaque unique identifier.
True – privilege is granted, False – not granted.
SMI-S: this array must contain 5 (read) and 6 (write).
Reference to TPD_StorageHardwareID.
Reference to TPD_SCSIController (for
TPD_SPCAssociatedPrivilege) or TPD_iSCSIController (for
TPD_iSPCAssociatedPrivilege).
AuthorizedPrivilege
AuthorizedPrivilege represents access permission (read-write) that a StorageHardwareID
(host HBA) is allowed on a SCSIProtocolController. This permission is associated with
StorageHardwareID via AuthorizedSubject.
Masking and Mapping Subprofile 93
Table 81 Property Values for AuthorizedPrivilege
Properties string ElementName string InstanceID boolean PrivilegeGranted
Uint16[] Activities
Values
User friendly name.
Opaque unique identifier.
True – privilege is granted, False – not granted.
SMI-S: this array must contain 5 (read) and 6 (write).
PrivilegeForStorageHardwareID
PrivilegeForStorageHardwareID is subclassed from AuthorizedSubject and is an association between StorageHardwareID and the access permission (AuthorizedPrivilege) of the SPC that is exported to it.
PrivilegeForStorageHardwareIDCollection
PrivilegeForStorageHardwareIDCollection is subclassed from AuthorizedSubject and is an association between StorageHardwareIDCollection and the access permission
(AuthorizedPrivilege) of the SPC that is exported to one or more of its member
StorageHardwareID .
AuthorizedSubject
AuthorizedSubject associates StorageHardwareID to its access permission
(AuthorizedPrivilege).
AuthorizedTarget
AuthorizedTarget is an association that ties AuthorizedPrivilege with
SCSIProtocolController .
ConcreteDependency
ConcreteDependency links the SCSIProtocolController to
ControllerConfigurationService .
SystemEndpoint (HostedAccessPoint)
TPD_SystemEndpoint (a subclass of CIM_HostedAccessPoint) is an association between
ComputerSystem and SCSIProtocolEndpoint.
ElementCapabilities
ElementCapabilities is an association between ComputerSystem and
ProtocolControllerMaskingCapabilities .
ElementSettingData
There are two kinds of ElementSettingData associations:
1.
Association between StorageHardwareID and StorageClientSettingData.
2.
Association between StorageHardwareIDCollection and
StorageClientSettingData .
MemberOfCollection
MemberOfCollection is an association between StorageHardwareID and
SystemSpecificCollection . It indicates that a specific StorageHardwareID (host hba wwn/iscsiName) is a member of
SystemSpecificCollection /StorageHardwareIDCollection (host).
94 CIM API SMI-S Support
Descarcă
Publicitate