SAN Volume Controller: CIM Agent Developer`s Guide

IBM System Storage SAN Volume Controller
Version 6.4.0
CIM Agent Developer's Guide
GC27-2288-03
Note
Before using this information and the product it supports, read the information in “Notices” on page 69.
This edition applies to IBM System Storage SAN Volume Controller, Version 6.4.0, and to all subsequent releases
and modifications until otherwise indicated in new editions.
This edition replaces GC27-2288-02.
© Copyright IBM Corporation 2003, 2012.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
Figures . . . . . . . . . . . . . . . v
Chapter 2. Performing storage
configuration tasks . . . . . . . . . 31
Tables . . . . . . . . . . . . . . . vii
Adding a candidate node to a cluster .
Creating a new storage pool . . . .
Modifying a storage pool . . . . .
Creating a new storage volume . . .
Creating a RAID array. . . . . .
About this guide . . . . . . . . . . . ix
Who should use this guide . . . . . . . . . ix
Accessibility . . . . . . . . . . . . . . ix
Summary of changes . . . . . . . . . . . ix
Summary of changes for GC27-2288-03 SAN
Volume Controller CIM Agent Developer's Guide . x
Summary of changes for GC27-2288-02 SAN
Volume Controller CIM Agent Developer's Guide . x
Emphasis . . . . . . . . . . . . . . . x
SAN Volume Controller library and related
publications . . . . . . . . . . . . . . xi
How to order IBM publications . . . . . . . xiv
Sending your comments . . . . . . . . . . xiv
Chapter 1. Introduction to CIM agent . . 1
Storage Management Initiative Specification . . . . 1
CIM agent . . . . . . . . . . . . . . . 2
CIM agent concepts . . . . . . . . . . . . 2
CIM agent components . . . . . . . . . . . 3
CIM agent for the SAN Volume Controller . . . . 3
Examples of how the CIM agent works . . . . 3
SAN Volume Controller CIMOM programming . . . 6
How SAN Volume Controller concepts map to CIM
concepts . . . . . . . . . . . . . . . . 7
Functional diagrams of the Common Information
Model agent . . . . . . . . . . . . . . 9
Access point subprofile . . . . . . . . . . 9
Block server performance subprofile . . . . . 9
Block services profile . . . . . . . . . . 11
Clustered system subprofile . . . . . . . . 13
Copy Services . . . . . . . . . . . . 14
Disk drive lite profile . . . . . . . . . . 15
Disk-drive sparing . . . . . . . . . . . 16
Extent composition subprofile . . . . . . . 18
FC port profile . . . . . . . . . . . . 19
Interop profile . . . . . . . . . . . . 20
iSCSI relationships . . . . . . . . . . . 21
Job control profile . . . . . . . . . . . 23
Location subprofile . . . . . . . . . . . 23
Masking and mapping profile . . . . . . . 24
Multiple computer system profile . . . . . . 25
Object manager adapter profile . . . . . . . 26
Physical package . . . . . . . . . . . 27
Server profile . . . . . . . . . . . . . 27
Software profile . . . . . . . . . . . . 28
Storage volume mirroring . . . . . . . . 29
© Copyright IBM Corp. 2003, 2012
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
32
32
33
34
Chapter 3. Establishing Copy Services
relationships . . . . . . . . . . . . 37
|
|
Copy Services . . . . . . . . . . . .
Creating a new FlashCopy relationship between
storage volumes . . . . . . . . . . . .
Creating a new target StorageVolume for a
FlashCopy relationship . . . . . . . . .
Creating a FlashCopy relationship for a
synchronized set. . . . . . . . . . . .
Creating a synchronous copy relationship between
volumes in the same clustered system . . . .
Creating a synchronous copy relationship between
volumes in different clustered systems . . . .
Sample code to create and start a FlashCopy
mapping . . . . . . . . . . . . . .
. 37
. 37
. 38
. 39
. 40
. 41
. 42
Chapter 4. CIM agent network
considerations . . . . . . . . . . . 49
RemoteServiceAccessPoint instance
.
.
.
.
.
. 49
Chapter 5. Maintenance and diagnostic
tasks . . . . . . . . . . . . . . . 51
Using the indication service . .
Getting performance statistics .
Collecting CIM log files . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 51
. 51
. 52
Chapter 6. CIM agent classes, methods,
and SMI-S profiles supported . . . . . 53
Chapter 7. Return codes . . . . . . . 55
Appendix. Accessibility features for
IBM SAN Volume Controller . . . . . . 67
Notices . . . . . . . . . . . . . . 69
Trademarks .
.
.
.
.
.
.
.
.
.
.
.
.
. 71
Index . . . . . . . . . . . . . . . 73
iii
iv
SAN Volume Controller: CIM Agent Developer's Guide
Figures
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
A typical CIM agent at work . . . . . . . 4
CIMOM on the clustered system . . . . . . 6
Java program for connecting to a SAN Volume
Controller CIMOM . . . . . . . . . . 7
High-level overview of the access point
subprofile of the CIM agent . . . . . . . 9
Block server performance subprofile . . . . 10
High-level overview of block services. . . . 12
RAID support for block services . . . . . 13
Class diagram of clustered-system instance
14
Class diagram of copy services instances
15
Overview of the Unified Modeling Language
elements of the disk drive lite profile . . . . 16
Disk-drive sparing CIM structure . . . . . 17
IsSpare association . . . . . . . . . . 17
Association during failure. . . . . . . . 18
Extent composition subprofile . . . . . . 19
Class diagram of FC port instances . . . . 20
Class diagram of interop instances . . . . . 21
© Copyright IBM Corp. 2003, 2012
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Overview of iSCSI-specific aspects of a target
device . . . . . . . . . . . . . .
Class diagram of job control instances. . . .
Overview of the relationship between location
and physical package . . . . . . . . .
Class diagram of masking and mapping
instances . . . . . . . . . . . . .
Class diagram of multiple computer system
instances . . . . . . . . . . . . .
Overview of the Unified Modeling Language
elements of the object manager adapter profile .
High-level overview of the physical package of
the CIM agent for the SAN Volume Controller..
High-level overview of the server profile of the
CIM agent for the SAN Volume Controller. . .
Class diagram of software instances . . . .
Classes and associations in mirroring storage
volumes. . . . . . . . . . . . . .
22
23
24
25
26
27
27
28
28
29
v
vi
SAN Volume Controller: CIM Agent Developer's Guide
Tables
1.
2.
3.
4.
SAN Volume Controller library . . . . .
Other IBM publications . . . . . . . .
IBM documentation and related websites
Relating SAN Volume Controller concepts to
CIM concepts . . . . . . . . . . .
© Copyright IBM Corp. 2003, 2012
. xi
xiii
xiv
5.
6.
SMI-S profiles and subprofiles supported by
CIM . . . . . . . . . . . . . .
Common Information Model return codes
. 53
55
. 7
vii
viii
SAN Volume Controller: CIM Agent Developer's Guide
About this guide
This publication introduces the Common Information Model (CIM) agent for the
IBM® System Storage®SAN Volume Controller.
This section describes:
Content and intended audience of this book
Typefaces that are used to show emphasis
Information that is related to this book
Websites that provide information about the SAN Volume Controller or related
products or technologies
v How to order IBM publications
v How to send in your feedback on this book
v
v
v
v
Who should use this guide
This reference book is for application programmers who are developing with the
Common Information Model.
This reference book is for CIM-based application programmers who want to
perform the following tasks:
v Understand the CIM agent for the SAN Volume Controller
v Discover and connect to the CIM agent service
v Retrieve and extract the CIM agent object classes, attributes, and methods
v Create new object instances for basic storage configuration, logical unit number
(LUN) masking, and Copy Services on the SAN Volume Controller
Accessibility
IBM has a long-standing commitment to people with disabilities. In keeping with
that commitment to accessibility, IBM strongly supports the U.S. Federal
government's use of accessibility as a criterion in the procurement of Electronic
Information Technology (EIT).
IBM strives to provide products with usable access for everyone, regardless of age
or ability.
This product uses standard Windows navigation keys.
For more information, see “Accessibility features for IBM SAN Volume Controller,”
on page 67.
Summary of changes
This document contains terminology, maintenance, and editorial changes.
Technical changes or additions to the text and illustrations are indicated by a
vertical line to the left of the change. This summary of changes describes new
functions that have been added to this release.
© Copyright IBM Corp. 2003, 2012
ix
Summary of changes for GC27-2288-03 SAN Volume
Controller CIM Agent Developer's Guide
The summary of changes provides a list of new, modified, and changed
information since the last version of the guide.
New information
This topic describes the changes to this guide since the previous edition of this
guide, GC27-2288-02. The following section summarizes the changes implemented
from the previous version.
This version includes the following general new information:
v Creating a new storage volume: added new ElementType to Autoexpand
parameter
v Creating a new storage volume: added new parameter, AccessIOGrpList
v Created new topic: Creating a new target StorageVolume for a FlashCopy
relationship.
Summary of changes for GC27-2288-02 SAN Volume
Controller CIM Agent Developer's Guide
The summary of changes provides a list of new, modified, and changed
information since the last version of the guide.
New information
This topic describes the changes to this guide since the previous edition of this
guide, GC27-2288-01. The following section summarizes the changes that have
since been implemented from the previous version.
This version includes the following general new information:
v The FCPort profile has been updated.
Emphasis
Different typefaces are used in this guide to show emphasis.
The following typefaces are used to show emphasis:
x
Boldface
Text in boldface represents menu items.
Bold monospace
Text in bold monospace represents command
names.
Italics
Text in italics is used to emphasize a word.
In command syntax, it is used for variables
for which you supply actual values, such as
a default directory or the name of a system.
Monospace
Text in monospace identifies the data or
commands that you type, samples of
command output, examples of program code
or messages from the system, or names of
command flags, parameters, arguments, and
name-value pairs.
SAN Volume Controller: CIM Agent Developer's Guide
SAN Volume Controller library and related publications
Product manuals, other publications, and websites contain information that relates
to SAN Volume Controller.
SAN Volume Controller Information Center
The IBM System Storage SAN Volume Controller Information Center contains all of
the information that is required to install, configure, and manage the SAN Volume
Controller. The information center is updated between SAN Volume Controller
product releases to provide the most current documentation. The information
center is available at the following website:
publib.boulder.ibm.com/infocenter/svc/ic/index.jsp
SAN Volume Controller library
Unless otherwise noted, the publications in the SAN Volume Controller library are
available in Adobe portable document format (PDF) from the following website:
www.ibm.com/storage/support/2145
Each of the PDF publications in Table 1 is available in this information center by
clicking the number in the “Order number” column:
Table 1. SAN Volume Controller library
Title
Description
Order number
IBM System Storage SAN
Volume Controller Model
2145-CG8 Hardware
Installation Guide
This guide provides the
GC27-3923
instructions that the IBM
service representative uses to
install the hardware for SAN
Volume Controller model
2145-CG8.
IBM System Storage SAN
Volume Controller Hardware
Maintenance Guide
This guide provides the
GC27-2283
instructions that the IBM
service representative uses to
service the SAN Volume
Controller hardware,
including the removal and
replacement of parts.
IBM System Storage SAN
Volume Controller
Troubleshooting Guide
GC27-2284
This guide describes the
features of each SAN Volume
Controller model, explains
how to use the front panel,
and provides maintenance
analysis procedures to help
you diagnose and solve
problems with the SAN
Volume Controller.
About this guide
xi
Table 1. SAN Volume Controller library (continued)
xii
Title
Description
IBM System Storage SAN
Volume Controller Software
Installation and Configuration
Guide
GC27-2286
This guide provides
guidelines for configuring
your SAN Volume Controller.
Instructions for backing up
and restoring the cluster
configuration, using and
upgrading the management
GUI, using the CLI,
upgrading the SAN Volume
Controller software, and
replacing or adding nodes to
a cluster are included.
IBM System Storage SAN
Volume Controller CIM Agent
Developer's Guide
This guide describes the
concepts of the Common
Information Model (CIM)
environment. Procedures
describe such tasks as using
the CIM agent object class
instances to complete basic
storage configuration tasks,
establishing new Copy
Services relationships, and
performing CIM agent
maintenance and diagnostic
tasks.
IBM System Storage SAN
Volume Controller Safety
Notices
GA32-0844
This guide contains
translated caution and
danger statements. Each
caution and danger
statement in the SAN
Volume Controller
documentation has a number
that you can use to locate the
corresponding statement in
your language in the IBM
System Storage SAN Volume
Controller Safety Notices
document.
IBM System Storage SAN
Volume Controller Read First
Flyer
GA32-0843
This document introduces
the major components of the
SAN Volume Controller
system and describes how to
get started installing the
hardware and software.
IBM System Storage SAN
Volume Controller and IBM
Storwize® V7000
Command-Line Interface User's
Guide
This guide describes the
commands that you can use
from the SAN Volume
Controller command-line
interface (CLI).
GC27-2287
IBM Statement of Limited
Warranty (2145 and 2076)
This multilingual document
provides information about
the IBM warranty for
machine types 2145 and
2076.
Part number: 85Y5978
SAN Volume Controller: CIM Agent Developer's Guide
Order number
GC27-2288
Table 1. SAN Volume Controller library (continued)
Title
Description
Order number
IBM License Agreement for
Machine Code
This multilingual guide
contains the License
Agreement for Machine
Code for the SAN Volume
Controller product.
SC28-6872 (contains
Z125-5468)
Other IBM publications
Table 2 lists IBM publications that contain information related to the SAN Volume
Controller.
Table 2. Other IBM publications
Title
Description
Order number
IBM System Storage
Productivity Center
Introduction and Planning
Guide
This guide introduces the IBM
System Storage Productivity
Center hardware and software.
SC23-8824
Read This First: Installing the
IBM System Storage
Productivity Center
This guide describes how to
install the IBM System Storage
Productivity Center hardware.
GI11-8938
IBM System Storage
Productivity Center User's
Guide
This guide describes how to
configure the IBM System
Storage Productivity Center
software.
SC27-2336
GC52-1309
IBM System Storage Multipath This guide describes the IBM
Subsystem Device Driver
System Storage Multipath
User's Guide
Subsystem Device Driver for IBM
System Storage products and
how to use it with the SAN
Volume Controller.
GC27-3909
IBM Storage Management
Pack for Microsoft System
Center Operations Manager
User Guide
This guide describes how to
install, configure, and use the
IBM Storage Management Pack
for Microsoft System Center
Operations Manager (SCOM).
IBM Storage Management
Console for VMware vCenter,
version 3.0.0, User Guide
This publication describes how to GA32-0929
install, configure, and use the
publibfp.dhe.ibm.com/
IBM Storage Management
epubs/pdf/a3209295.pdf
Console for VMware vCenter,
which enables SAN Volume
Controller and other IBM storage
systems to be integrated in
VMware vCenter environments.
publibfp.dhe.ibm.com/
epubs/pdf/c2739092.pdf
IBM documentation and related websites
Table 3 on page xiv lists websites that provide publications and other information
about the SAN Volume Controller or related products or technologies.
About this guide
xiii
Table 3. IBM documentation and related websites
Website
Address
Support for SAN Volume Controller www.ibm.com/storage/support/2145
(2145)
Support for IBM System Storage
and IBM TotalStorage products
www.ibm.com/storage/support/
IBM Publications Center
www.ibm.com/e-business/linkweb/publications/
servlet/pbi.wss
IBM Redbooks® publications
www.redbooks.ibm.com/
Related accessibility information
To view a PDF file, you need Adobe Acrobat Reader, which can be downloaded
from the Adobe website:
www.adobe.com/support/downloads/main.html
How to order IBM publications
The IBM Publications Center is a worldwide central repository for IBM product
publications and marketing material.
The IBM Publications Center offers customized search functions to help you find
the publications that you need. Some publications are available for you to view or
download at no charge. You can also order publications. The publications center
displays prices in your local currency. You can access the IBM Publications Center
through the following website:
www.ibm.com/e-business/linkweb/publications/servlet/pbi.wss
Sending your comments
Your feedback is important in helping to provide the most accurate and highest
quality information.
To submit any comments about this book or any other SAN Volume Controller
documentation:
v Go to the feedback page on the website for the SAN Volume Controller
Information Center at publib.boulder.ibm.com/infocenter/svc/ic/
index.jsp?topic=/com.ibm.storage.svc.console.doc/feedback.htm. There you can
use the feedback page to enter and submit comments or browse to the topic and
use the feedback link in the running footer of that page to identify the topic for
which you have a comment.
v Send your comments by email to starpubs@us.ibm.com. Include the following
information for this publication or use suitable replacements for the publication
title and form number for the publication on which you are commenting:
– Publication title: IBM System Storage SAN Volume Controller CIM Agent
Developer's Guide
– Publication form number: GC27-2288-01
– Page, table, or illustration numbers that you are commenting on
– A detailed description of any information that should be changed
xiv
SAN Volume Controller: CIM Agent Developer's Guide
Chapter 1. Introduction to CIM agent
The Common Information Model (CIM) provides an open approach to the design
and implementation of storage systems, applications, databases, networks, and
devices. The CIM agent is a set of standards that is developed by the Distributed
Management Task Force (DMTF).
The following information introduces the Storage Management Initiative
Specification (SMI-S), the CIM agent, the IBM SAN Volume Controller, and the
CIM agent for the SAN Volume Controller. Functional views of the CIM agent
object models illustrate the architecture and specific functions of the CIM agent.
Storage Management Initiative Specification
The Storage Management Initiative Specification (SMI-S) is a design specification of
the Storage Management Initiative (SMI) that is launched by the Storage
Networking Industry Association (SNIA).
The SMI-S specifies a secure and reliable interface that is used by storage
management systems to identify, classify, monitor, and control physical and logical
resources in a storage area network (SAN). The interface integrates the various
devices to be managed in a SAN and the tools used to manage them.
SMI-S is based on a number of existing technologies or industry standards that
include the following:
Common Information Model (CIM)
An object model for data storage and management that is developed by
the Distributed Management Task Force (DMTF). CIM makes it possible to
organize devices and components of devices in an object-oriented pattern.
Web-Based Enterprise Management (WBEM)
A tiered enterprise management architecture that is also developed by the
DMTF. This architecture provides the management design framework that
consists of devices, device providers, the object manager, and the
messaging protocol for the communication between client applications and
the object manager. In the case of the CIM, the object manager is the CIM
Object Manager (CIMOM) and the messaging protocol is the CIM over
HTTP technology. The CIM over HTTP approach specifies that the CIM
data is encoded in XML and sent in specific messages between the client
applications and the CIMOM over the Internet Protocol network in a SAN.
Service Location Protocol (SLP)
A directory service that the client application uses to locate the CIMOM.
Intended to be an industry standard, SMI-S extends the generic capabilities of the
CIM, the WBEM, and the SLP to implement storage networking interoperability.
For example, the WBEM provides provisions for security, resource-locking
management, event notification, and service discovery.
For more information about SMI-S conforming profiles that are supported by CIM
agent for the SAN Volume Controller and writing standards-based
implementations, see the following website:
© Copyright IBM Corp. 2003, 2012
1
www.snia.org/forums/smi/tech_programs/smis_home/
CIM agent
The Common Information Model (CIM) agent is a set of standards that is
developed by the Distributed Management Task Force (DMTF).
The CIM provides an open approach to the design and implementation of storage
systems, applications, databases, networks, and devices.
The CIM specifications provide the language and the methodology for describing
management data. For example, CIM schema 2.7 for Managing Storage Arrays
specifies how to configure the management environment for data management in a
common way. The CIM defines common object classes, associations, and methods.
Member vendors can use those objects and extend them to specify how data can be
processed and organized in a specific managed environment.
CIM agent concepts
This information describes the basic terminology and functions of the Common
Information Model (CIM) agent object models.
The CIM agent specifications use the following concepts and terminology to
describe the object models:
Association
A class with two references that define a relationship between two
referenced objects.
Class
The definition of an object within a specific hierarchy. An object class can
have properties and methods and serve as the target of an association.
Indication
An object representation of an event.
Instance
An individual object that is the member of a class. In object-oriented
programming, an object that is created by instantiating a class.
Managed Object Format (MOF)
A language for defining Common Information Model (CIM) schemas.
Method
A way to implement a function on a class.
Namespace
The scope within which a CIM schema applies.
Object path
An object that consists of a namespace path and a model path. The
namespace path provides access to the CIM implementation that the CIM
agent manages, and the model path provides navigation within the
implementation.
Property
An attribute that is used to characterize instances of a class.
Qualifier
A value that provides additional information about a class, association,
indication, method, method parameter, instance, property, or reference.
2
SAN Volume Controller: CIM Agent Developer's Guide
Reference
A pointer to another instance that defines the role and scope of an object in
an association.
Schema
A group of object classes defined for and applicable to a single namespace.
Within the CIM agent, the supported schemas are the ones that are loaded
through the Managed Object Format (MOF) compiler.
CIM agent components
With a Common Information Model (CIM) agent, application programmers can use
common building blocks rather than proprietary software or device-specific
programming interfaces to manage CIM-compliant devices. Standardization of the
way that applications manage storage provides easier storage management.
Components
A CIM agent involves the following components:
agent code
An open-systems standard that interprets CIM requests and responses as
they transfer between the client application and the device.
CIM object manager (CIMOM)
The common conceptual framework for data management that receives,
validates, and authenticates the CIM requests from the client application. It
then directs the requests to the appropriate component or device provider.
SAN Volume Controller 5.1.0 and later is based on the Open Pegasus
version 2.9.0 CIMOM. SAN Volume Controller 4.3.1 is based on the Open
Pegasus version 2.7.0 CIMOM.
client application
A storage management program that initiates CIM requests to the CIM
agent for the device.
device The storage server that processes and hosts the client application requests.
device provider
A device-specific handler that serves as a plug-in for the CIM. That is, the
CIMOM uses the handler to interface with the device.
Service Location Protocol (SLP)
A directory service that the client application calls to locate the CIMOM.
CIM agent for the SAN Volume Controller
The Common Information Model (CIM) agent for the SAN Volume Controller
serves as a configuration interface for the SAN Volume Controller.
The CIM agent consists of the following main components:
v CIM object manager (CIMOM)
v Service Location Protocol (SLP) agent
v SAN Volume Controller provider
Examples of how the CIM agent works
The Common Information Model (CIM) agent can be used to provide common
building blocks to manage CIM-compliant devices.
Chapter 1. Introduction to CIM agent
3
Typical CIM agent configuration
Figure 1 shows how a typical CIM agent works.
Client
Application
CIMMessages encoded
within XML
CIMOM
CIM Agent
Method calls made from
CIMOM to Provider
Device Provider
Device
svc00573
Proprietary calls
Figure 1. A typical CIM agent at work
A typical configuration for your CIM client is to use the CIMOM that is located at
https://cluster_ip port 5989 with namespace=/root/ibm. The standard secure port is
5989. You can also use namespace=interop, which is the standard SMI-S namespace.
The client application sends CIM requests to the CIMOM. As requests arrive, the
CIMOM validates and authenticates each request. It then directs the requests to the
appropriate functional component of the CIMOM or to a device provider. To
satisfy client application requests, the provider makes calls to a device-unique
programming interface on behalf of the CIMOM.
The management application can obtain an instance of the
RemoteServiceAccessPoint from the CIMOM. This instance is used by the
management application to access the web user interface.
CIM agent configuration with Service Location Protocol
If you use Service Location Protocol (SLP) to discover the CIMOM, the client
application locates the CIMOM by calling an SLP directory service. When the
CIMOM is first invoked, it registers itself to the SLP Service agent and supplies its
location, IP address, port number, and the type of service that it provides. A string
that describes the CIM agent access point is registered.
The following output provides an example of the registered string:
service:wbem:https://<CIM Agent IP>:<port number>
4
SAN Volume Controller: CIM Agent Developer's Guide
The SLP provides the following attributes:
template-type=wbem
template-version=1.0
template-description=This template describes the attributes used for
advertising WBEM servers.
template-url-syntax=https://9.47.24.91:5989
service-location-tcp=https://9.47.24.91:5989
service-hi-name=IBM SAN Volume Controller CIMOMservice-hi-description=IBM SVC CIM Agent Version 6.2.0.xxxservice-hi-description=IBM Storwize V7000 CI
service-id=IBMTSSVC:9.47.24.91
ProtocolVersion=1.2
CommunicationMechanism=cim-xml
FunctionalProfilesSupported=Basic Read, Basic Write, Instance Manipulation,
Association, Traversal, Query Execution, Qualifier Declaration, Indications
AuthenticationMechanismSupported=Basic
Namespace=/root/ibm
Interop=/root/ibm
MultipleOperationsSupported=false
RegisteredProfilesSupported=SNIA:Storage Virtualizer,SNIA:Storage Virtualizer:
Access Points,SNIA:Storage Virtualizer:Block Services,SNIA:Storage Virtualizer:
Cascading,SNIA:Storage Virtualizer:Copy Services,SNIA:Storage Virtualizer:
FC Initiator Ports,SNIA:Storage Virtualizer:FC Target Ports,SNIA:Storage
Virtualizer:Health,SNIA:Storage Virtualizer:Masking and Mapping,SNIA:Storage
Virtualizer:Multiple Computer System,SNIA:Storage Virtualizer:Physical Package,
SNIA:Storage Virtualizer:Software,SNIA:Storage Virtualizer:Location,SNIA:
Storage Virtualizer:Block Server Performance,SNIA:Storage Virtualizer:iSCSI
Target Ports,SNIA:Storage Virtualizer:Disk Drive Lite,SNIA:Storage Virtualizer:
Extent Composition,SNIA:Storage Virtualizer:Disk Sparing,SNIA:Server,SNIA:Server:
Profile Registration,SNIA:Server:Object Manager Adapter,SNIA:Server:Indication,
SNIA:SMI-S
With this information, the client application starts to directly communicate with the
CIMOM.
CIM agent configuration on the console and the clustered
system
The CIMOM resides on the SAN Volume Controller clustered system. The
management GUI does not use the CIMOM that is on the clustered system. Other
IBM storage management tools continue to use the CIMOM that is on the clustered
system.
Figure 2 on page 6 shows how this CIMOM configuration is defined.
Chapter 1. Introduction to CIM agent
5
Storage Management
Initiative Specification
IBM System
Storage
Productivity Center
SAN Volume
Controller clustered system
HTTPS
SAN Volume
Controller clustered system
CIMOM
CIMOM
CIM requests
CIM requests
Storage
Management tools
Storage
Management tools
svc00553
HTTPS
Figure 2. CIMOM on the clustered system
SAN Volume Controller CIMOM programming
CIM object manager (CIMOM) programming provides the opportunity to handle
multiple connections from multiple sources while maintaining security. CIM clients
connect to the CIMOM with a user name and password and then invoke methods
to run commands.
The creation of a CIM client requires a suitable framework such as the Java™
WBEM Service project and the SBLIM CIM Client for Java. There are also
implementations in other languages, including C++ and Python. For more
information, see the Java WBEM Services website at:
wbemservices.sourceforge.net/
Figure 3 on page 7 shows a simple Java program that connects to a SAN Volume
Controller CIMOM.
6
SAN Volume Controller: CIM Agent Developer's Guide
import java.util.*;
import javax.wbem.cim.*;
import javax.wbem.client.*;
public class ITSOClient {
public static void main(String[] args)
{
String username = args[0];
String password = args[1];
String masterConsoleIP = args[2];
String masterConsoleSecurePort = args[3];
UserPrincipal user = new UserPrincipal(username);
PasswordCredential pwd = new PasswordCredential(password);
CIMNameSpace ns = new CIMNameSpace("https://”+
masterConsoleIP+”:”+
masterConsoleSecurePort+”/root/ibm");
CIMClient client = null;
try
{
System.out.println("Connecting to CIMOM");
client = new CIMClient(ns,user,pwd);
}
catch (CIMException e)
{
// Handle the CIM Exception
e.printStackTrace();
}
}
Figure 3. Java program for connecting to a SAN Volume Controller CIMOM
To view the complete Managed Object Format (MOF) documentation, including the
CIM agent style pages, select the documentation information from the following
website:
www.ibm.com/storage/support/2145
How SAN Volume Controller concepts map to CIM concepts
To administer the SAN Volume Controller through the CIM object manager
(CIMOM), it is important to understand the relationship between SAN Volume
Controller and Common Information Model (CIM) concepts.
Table 4 shows how these concepts relate to one another.
Table 4. Relating SAN Volume Controller concepts to CIM concepts
CIM
SAN Volume
Controller concept
CIM name
CIM concept
System
IBMTSSVC_Cluster
Class
SystemName
ElementName
Property
System ID
Name
Property
VDisk
IBMTSSVC_StorageVolume
Class
DeviceID
Property
IBMTSSVC_FlashCopyStorageSynchronizedSet
Class
VDisk ID
®
FlashCopy
Consistency Group
(regular)
Chapter 1. Introduction to CIM agent
7
Table 4. Relating SAN Volume Controller concepts to CIM concepts (continued)
SAN Volume
Controller concept
FlashCopy
Consistency Group
(autodelete)
8
CIM
CIM name
CIM concept
IBMTSSVC_CloneCopyStorageSynchronizedSet
Class
FlashCopy Mapping IBMTSSVC_LocalStorageSynchronized
Association
FlashCopy Mapping SyncState
Status
Property
mkfcmap
AttachReplica
Method
preparefcmap
ModifySynchronization
Method
startfcmap
ModifySynchronization
Method
Remote Copy
Consistency Group
(Global Mirror)
IBMTSSVC_AsyncCopyStorageSynchronizedSet
Class
Remote Copy
Consistency Group
(Metro Mirror)
IBMTSSVC_SyncCopyStorageSynchronizedSet
Class
Remote Copy
relationship
IBMTSSVC_RemoteStorageSynchronized
Association
Remote Copy
relationship state
NativeState
Property
mkrcrelationship
AttachReplica
Method
startrcrelationship
ModifySynchronization
Method
mdisk
IBMTSSVC_BackendVolume
Class
mdiskgrp
IBMTSSVC_ConcreteStoragePool
Class
mkvdisk
CreateOrModifyElementFromStoragePool
Method
mkmdiskgrp
CreateOrModifyStoragePool
Method
rmvdisk
ReturnToStoragePool
Method
rmmdiskgrp
DeleteStoragePool
Method
Host (with regard to IBMTSSVC_StorageHardwareID
ports)
Class
Host (with regard to IBMTSSVC_ProtocolController
volume (VDisk)
mapping)
Class
mkvdiskhostmap
ExposePaths
Method
rmvdiskhostmap
HidePaths
Method
mkhost
CreateStorageHardwareID
Method
rmhost
DeleteStorageHardwareID
Method
DiskDrive
IBMTSSVC_DiskDrive
Class
Array
IBMTSSVC_Array
Class
mkarray
CreateOrModifyElementFromElements
Method
charray
CreateOrModifyElementFromElements
Method
rmarray
DeleteArray
Method
Enclosure
IBMTSSVC_Enclosure
Class
SAN Volume Controller: CIM Agent Developer's Guide
Functional diagrams of the Common Information Model agent
The functional diagrams of the Common Information Model (CIM) agent object
model show specific functions that the CIM agent provides, including storage
configuration service, Copy Services, LUN masking, and security. The diagrams
also illustrate the architecture of the CIM Agent for the SAN Volume Controller.
Access point subprofile
The access point subprofile of the Common Information Model (CIM) agent for the
SAN Volume Controller consists of several basic classes.
Figure 4 shows the basic classes (building blocks) for the model.
Figure 4. High-level overview of the access point subprofile of the CIM agent
Block server performance subprofile
The block server performance subprofile describes performance statistics.
Figure 5 on page 10 describes the performance statistics of IBMTSSVC_Node,
IBMTSSVC_StorageVolume, IBMTSSVC_BackendVolume, and
IBMTSSVC_DiskDrive.
Chapter 1. Introduction to CIM agent
9
<<CIM_BlockStatisticsManifest>>
IBMTSSVC_NodeManifest
<<CIM_BlockStatisticsManifest>> <<CIM_BlockStatisticsManifest>> <<CIM_BlockStatisticsManifest>>
IBMTSSVC_
IBMTSSVC_Backend
IBMTSSVC_Storage
DiskDriveManifest
VolumeManifest
VolumeManifest
<<CIM_MemberOfCollection>>
IBMTSSVC_NodeManifest
MemberOfCollection
<<CIM_ComputerSystem>>
IBMTSSVC_Node
<<CIM_BlockStorage
<<CIM_BlockStorage
StatisticalData>>
StatisticalData>>
IBMTSSVC_NodeStatistics
IBMTSSVC_DiskDriveStatistics
<<CIM_MemberOfCollection>> <<CIM_MemberOfCollection>>
IBMTSSVC_DiskDrive
IBMTSSVC_NodeStats
StatsMemberOfCollection
MemberOfCollection
<<CIM_MemberOfCollection>>
IBMTSSVC_StorageVolume
StatsMemberOfCollection
<<CIM_BlockStorage
StatisticalData>>
IBMTSSVC_BackendVolume
Statistics
<<CIM_ElementStatisticalData>>
IBMTSSVC_BackendVolume
StatisticalData
<<CIM_BlockStatistics
ManifestCollection>>
IBMTSSVC_BlockStatistics
ManifestCollection
<<CIM_ComputerSystem>>
IBMTSSVC_DiskDrive
<<CIM_ElementStatisticalData>> <<CIM_ElementStatisticalData>>
IBMTSSVC_Node
IBMTSSVC_DiskDrive
StatisticalData
StatisticalData
<<CIM_MemberOfCollection>>
IBMTSSVC_BackendVolume
StatsMemberOfCollection
<<CIM_MemberOfCollection>>
IBMTSSVC_Backend
VolumeManifestMember
OfCollection
<<CIM_MemberOfCollection>>
IBMTSSVC_StorageVolume
ManifestMemberOfCollection
<<CIM_MemberOfCollection>>
IBMTSSVC_DiskDrive
ManifestMemberOfCollection
<<CIM_BlockStatistics
Capabilities>>
IBMTSSVC_Performance
StatisticsCapabilities
<<CIM_AssociatedBlockStatistics
ManifestCollection>>
IBMTSSVC_AssociatedBlock
StatisticsManifestCollection
<<CIM_ElementCapabilities>>
IBMTSSVC_Performance
StatisticsServiceToCapabilities
<<CIM_StatisticsCollection>>
IBMTSSVC_Performance
StatisticsCollection
<<CIM_BlockStatisticsService>>
IBMTSSVC_Performance
StatisticsService
<<CIM_HostedCollection>>
IBMTSSVC_Hosted
PerformanceStatistics
Collection
<<CIM_HostedService>>
IBMTSSVC_Hosted
PerformanceStatisticsService
<<CIM_BlockStorageStatisticalData>>
IBMTSSVC_Storage
VolumeStatistics
<<CIM_ElementStatisticalData>>
IBMTSSVC_Storage
VolumeStatisticalData
<<ComputerSystem>>
IBMTSSVC_Cluster
<<CIM_HostedCollection>>
IBMTSSVC_
HostedBlockStatisicsManifestCollection
<<CIM_ComputerSystem>>
IBMTSSVC_BackendVolume
<<CIM_ComputerSystem>>
IBMTSSVC_StorageVolume
Denotes Association relationship between classes
Figure 5. Block server performance subprofile
.
10
SAN Volume Controller: CIM Agent Developer's Guide
ClassName1
Denotes Element classes
ClassName2
Denotes Association classes
svc00594
<<CIM_BlockStatisticsManifestCollection>>
IBMTSSVC_
BlockStatisticsManifestCollection
Block services profile
You can use several object classes to manipulate storage pools.
The block services profile allocates back-end storage volumes into storage pools
and then creates storage volumes.
Figure 6 on page 12 provides a high-level overview of the object classes that you
can use for pool manipulation.
Chapter 1. Introduction to CIM agent
11
<<CIM_StorageCapabilities>>
IBMTSSVC_ConcreteStorageCapabilities
<<CIM_SystemDevice>>
IBMTSSVC_StorageVolumeOnCluster
svc00388
<<CIM_HostedStoragePool>>
IBMTSSVC_HostedPrimordialPool
Figure 6. High-level overview of block services.
12
SAN Volume Controller: CIM Agent Developer's Guide
RAID support for block services
RAID array classes provide support for the block services profile.
This diagram illustrates the classes and their relationships in regard to RAID
(array) functions in the block services profile.
<<CIM_BasedOn>>
IBMTSSVC_VolumeBasedOn
<<CIM_Cluster>>
IBMTSSVC_Cluster
<<CIM_SystemDevice>>
IBMTSSVC_StorageVolumeOnCluster
<<CIM_StorageVolume>>
IBMTSSVC_StorageVolume
<<CIM_BasedOn>>
IBMTSSVC_VolumeBasedOnCompositeExtent
<<CIM_BasedOn>>
IBMTSSVC_ VolumeBasedOnArray
<<CIM_SystemDevice>>
IBMTSSVC_ ArrayOnCluster
<<CIM_CompositeExtent>>
IBMTSSVC_CompositeExtent
<<CIM_StorageExtent>>
IBMTSSVC_Array
<<CIM_StorgaeCapabilities>>
IBMTSSVC_ StorageCapabilities
<<CIM_CompositeExtentBasedOn>>
IBMTSSVC_CompositeExtentBasedOn
<<CIM_LogicalIdentity>>
IBMTSSVC_ ArrayIsABackendVolume
<<CIM_StorageSettingsGeneratedFromCapabilities>>
IBMTSSVC_RAIDSettingToCapabilities
<<CIM_StorageSetting>>
IBMTSSVC_RAIDSetting
<<CIM_ElementSettingData>>
IBMTSSVC_ArrayElementSettingData
<<CIM_StorageExtent>>
IBMTSSVC_DiskDriveExtent
<<CIM_StorageExtent>>
IBMTSSVC_BackendVolume
svc00683
<<CIM_BasedOn>>
IBMTSSVC_ArrayBasedOnDiskDrive
Figure 7. RAID support for block services
.
Clustered system subprofile
There are several classes and associations that provide the function of a
clustered-system service.
Figure 8 on page 14 shows the classes and associations that provide the function of
a clustered-system service.
Chapter 1. Introduction to CIM agent
13
Figure 8. Class diagram of clustered-system instance
Copy Services
The IBMTSSVC_StorageConfigurationService class provides the methods to create
copy relationships.
Figure 9 on page 15 shows the object classes that provide FlashCopy, Metro Mirror,
and Global Mirror Copy Services.
14
SAN Volume Controller: CIM Agent Developer's Guide
Figure 9. Class diagram of copy services instances
Disk drive lite profile
The disk drive is the primary hardware element of the disk drive lite profile.
Figure 10 on page 16 shows the basic elements of the disk drive lite profile.
Chapter 1. Introduction to CIM agent
15
<<CIM_MediaPresent>>
IBMTSSVC_DiskDrivePresent
<<CIM_StorageExtent>>
IBMTSSVC_DiskDriveExtent
+ DeviceID
<<CIM_Realizes>>
IBMTSSVC_DiskDriveRealizes
<<CIM_PhysicalPackage>>
IBMTSSVC_DiskDrivePackage
+ Tag
- Manufacturer
- Model
<<CIM_DiskDrive>>
IBMTSSVC_DiskDrive
+ OperationalStatus
- DeviceID
<<CIM_ElementSoftwareIdentity>>
IBMTSSVC_SoftwareIdentityToDiskDrive
<<CIM_SoftwareIdentity>>
IBMTSSVC_DiskDriveSoftwareIdentity
+ InstanceID
<<CIM_StorageSystem>>
IBMTSSVC_Cluster
svc00590
<<CIM_SystemDevice>>
IBMTSSVC_StorageSystemToDiskDrive
Figure 10. Overview of the Unified Modeling Language elements of the disk drive lite profile
.
Disk-drive sparing
Disk-drive sparing has a basic structure associated with RedundancySet.
The disk-drive sparing RedundancySet structure is composed of one instance class
and three association classes:
Instance class:
v IBMTSSVC_StorageRedundancySet (Extended from CIM_StorageRedundancySet)
Association classes:
v IBMTSSVC_StoragePoolExtentDependency represents the association between
IBMTSSVC_DiskDriveExtent and IBMTSSVC_ConcreteStoragePool.
v IBMTSSVC_HostedRedundancySet represents the association between
IBMTSSVC_StorageRedundancySet and IBMTSSVC_Cluster.
v IBMTSSVC_MemberOfRedundancySet represents the association between
IBMTSSVC_DiskDriveExtent and IBMTSSVC_StorageRedundancySet. The
DiskDriveExtents form the redundancy set of a StoragePool.
Disk-drive sparing CIM structure
The disk-drive sparing CIM structure consists primarily of the DiskDriveExtent
and the StorageRedundancySet.
The interrelationships of the various components are shown in Figure 11 on page
17.
16
SAN Volume Controller: CIM Agent Developer's Guide
CIM_StorageExtent
CIM_StorageRedundancySet
IBMTSSVC_
IBMTSSVC_
DiskDriveExtent <<CIM_MemberOfCollection>>
StorageRedundancySet
IBMTSSVC_
MemberOfRedundancySet
<<CIM_HostedCollection>>
IBMTSSVC_HostedRedundancySet
IBMTSSVC_
ConcreteStoragePool
IBMTSSVC_Cluster
CIM_StoragePool
CIM_ComputerSystem
svc00587
<<CIM_ConcreteDependency>>
IBMTSSVC_StoragePoolExtentDependency
Figure 11. Disk-drive sparing CIM structure
Spare disk-drive extents
The DiskDriveExtents are used with a failed realization.
The DiskDriveExtents used to replace a DiskDriveExtent whose realization has
failed are associated to the RedundancySet using an IsSpare association, as shown
in Figure 12.
IBMTSSVC_
DiskDriveExtent
CIM_StorageRedundancySet
<<CIM_IsSpare>>IBMTSSVC_IsSpare
IBMTSSVC_
StorageRedundancySet
svc00588
CIM_StorageExtent
Figure 12. IsSpare association
Class IBMTSSVC_IsSpare represents the association between the
IBMTSSVC_DiskDriveExtent to be used as spares and the
IBMTSSVC_StorageRedundancySet.
Disk-drive failure association
A failed DiskDriveExtent can be spared.
The DiskDriveExtents associated can be used to spare or replace other
DiskDriveExtents that might fail, as shown in Figure 13 on page 18.
Chapter 1. Introduction to CIM agent
17
CIM_StorageExtent(failed)
IBMTSSVC_Array
<<CIM_Spared>>IBMTSSVC_Spared
IBMTSSVC_
DiskDriveExtent
svc00589
CIM_StorageExtent(new)
CIM_CompositeExtent
Figure 13. Association during failure
In this relationship between the new DiskDriveExtent and the array being rebuilt, a
failed DiskDriveExtent is being spared by the new one. The IBMTSSVC_Spared
associations remain until the sparing process is complete.
Extent composition subprofile
The extent composition subprofile links CompositeExtents and StorageExtents.
The extent composition subprofile is used by the block services package to
optionally virtualize exposable block storage elements from the underlying
primordial storage pool. The abstraction is presented as a representative hierarchy
of extents. Figure 14 on page 19 represents the relationships among the disk drive
lite, extent composition, and array subprofiles.
18
SAN Volume Controller: CIM Agent Developer's Guide
Array
<<CIM_StorageExtent>>
IBMTSSVC_ Array
<<CIM_CompositeExtentBasedOn>>
IBMTSSVC_ ArrayBasedOnDiskDriveExtent
<<CIM_BasedOn>>
IBMTSSVC_ ArrayBasedOnDiskDrive
<<CIM_Cluster>>
IBMTSSVC_Cluster
<<IBMTSSVC_PrimordialPoolComponent>>
IBMTSSVC_ PrimordialDiskDrivePoolComponent
<<IBMTSSVC_PrimordialPoolComponent>>
IBMTSSVC_ PrimordialDiskDrivePoolComponent
<<CIM_SystemDevice>>
IBMTSSVC_ DiskDriveExtentOnCluster
<<CIM_SystemDevice>>
IBMTSSVC_DiskDriveExtentOnCluster
Extent Composition
<<CIM_StoragePool>>
IBMTSSVC_PrimordialStoragePool
<<CIM_StorageExtent>>
IBMTSSVC_DiskDriveExtent
<<CIM_MediaPresent>>
IBMTSSVC_DiskDrivePresent
<<CIM_MediaPresent>>
IBMTSSVC_ DiskDrivePresent
<<CIM_DiskDrive>>
IBMTSSVC_DiskDrive
svc00585
DiskDriveLite
Figure 14. Extent composition subprofile
These extents are instances of CompositeExtents and StorageExtents linked by a
combination of CompositeExtentBasedOn and BasedOn associations. In Figure 14,
the blue blocks represent classes and the red blocks represent associations.
FC port profile
The FC port profile models the Fibre Channel connection relationship between the
SAN Volume Controller and the back-end storage that the SAN Volume Controller
virtualizes.
Figure 15 on page 20 shows the classes and associations for the FC port profile.
Chapter 1. Introduction to CIM agent
19
IBMTSSVC_BackendTargetSCSIProtocolEndpoint
<<CIM_SCSIInitatorTargetLogicalUnitPath>>
<<CIM_FCPortStatistics>>
IBMTSSVC_FCPortStatistics
svc00743
<<CIM_ElementStatisticalData>>
IBMTSSVC_FCPortStatisticalData
Figure 15. Class diagram of FC port instances
Interop profile
The interop profile contains the classes that are used to find the registration
profiles from the interop namespace.
Figure 16 on page 21 shows the classes and associations for the interop profile. In
this profile, IBMTSSVC_HostedAccessPointInterop represents the relationship of
IBMTSSVC_CIMXMLCommunicationMechanismInterop and
IBMTSSVC_MasterConsole.
IBMTSSVC_CIMXMLCommunicationMechanismInterop is registered in the
interop namespace. IBMTSSVC_MasterConsole is registered in the root/ibm
namespace.
20
SAN Volume Controller: CIM Agent Developer's Guide
<<CIM_CIMXMLCommunicationMechanism>>
<<CIM_HostedAccessPoint>>
<<CIM_ComputerSystem>>
IBMTSSVC_CIMXMLCommunicationMechanismInterop
IBMTSSVC_HostedAccessPointInterop
IBMTSSVC_MasterConsole
<<CIM_CommMechanismForManager>>
IBMTSSVC_CommMechanismForManagerInterop
<<CIM_ObjectManager>>
IBMTSSVC_ObjectManagerInterop
<<CIM_RegisteredProfile>>
<<CIM_ElementConformsToProfile>>
IBMTSSVC_RegisteredProfileInterop
IBMTSSVC_ObjectManagerConformsToProfileInterop
<<CIM_NamespaceInManager>>
<<CIM_ElementSoftwareIdentity>>
<<CIM_SubProfileRequiresProfile>>
IBMTSSVC_NamespaceInManagerInterop IBMTSSVC_RegisteredProfileSoftwareIdentityInterop IBMTSSVC_SubProfileRequiresProfileInterop
<<CIM_Namespace>>
<<CIM_SoftwareIdentity>>
<<CIM_RegisteredSubProfile>>
IBMTSSVC_NameSpaceInterop
IBMTSSVC_ProviderSoftwareIdentityInterop
IBMTSSVC_RegisteredSubProfileInterop
<<CIM_ElementSoftwareIdentity>>
ClassName1
Denotes Element classes
ClassName2
Denotes Association classes
svc00725
IBMTSSVC_RegisteredSubProfileSoftwareIdentityInterop
Figure 16. Class diagram of interop instances
iSCSI relationships
The iSCSI-specific aspects of a target device include instance and association
classes.
Figure 17 on page 22 shows the iSCSI-specific aspects of a target device.
Chapter 1. Introduction to CIM agent
21
<<CIM_iSCSICapabilities>>
IBMTSSVC_iSCSICapabilities
<<CIM_IPProtocolEndpoint>>
IBMTSSVC_IPProtocolEndpoint
<<CIM_EthernetCapabilities>>
IBMTSSVC_iSCSIClusterCapabilities
<<CIM_HostedAccessPoint>>
IBMTSSVC_
HostedIPProtocolEndpoint
<<CIM_Capabilities>>
IBMTSSVC_iSCSIConfigurationCapabilities
<<CIM_ElementCapabilities>>
IBMTSSVC_
SystemiSCSIConfigurationCapabilities
<<CIM_ElementCapabilities>>
IBMTSSVC_
iSCSIClusterConfigurationCapabilities
<<CIM_ElementCapabilities>>
IBMTSSVC_iSCSIConfigurationServiceCapabilities
<<CIM_BindsTo>>
IBMTSSVC_
BindsToTCPProtocolEndpoint
<<CIM_Service>>
IBMTSSVC_iSCSIConfigurationService
<<CIM_ComputerSystem>>
IBMTSSVC_Node
<<CIM_SystemDevice>>
IBMTSSVC_
SystemEthernetPort
<<CIM_HostedService>>
IBMTSSVC_
iSCSConfigurationServiceForSystem
<<CIM_HostedAccesssPoint>>
IBMTSSVC_
HostedTCPProtocolEndpoint
<<CIM_EthernetPort>>
IBMTSSVC_EthernetPort
<<CIM_DeviceSAPImplementation>>
IBMTSSVC_iSCSIDeviceSAPImplementation
<<CIM_Cluster>>
IBMTSSVC_Cluster
<<CIM_HostedAccesssPoint>>
IBMTSSVC_
HostediSCSIProtocolEndpoint
<<CIM_ElementSettingData>>
IBMTSSVC_SystemSessionElementSettingData
<<CIM_TCPProtocolEndpoint>>
IBMTSSVC_TCPProtocolEndpoint
<<CIM_iSCSISessionSettings>>
IBMTSSVC_iSCSISessionSettings
<<CIM_ElementSetting>>
IBMTSSVC_SCSISessionElementSettingData
<<CIM_ElementSettingData>>
IBMTSSVC_iSCSISessionElementSettingData
<<CIM_BindsTo>>
IBMTSSVC_BindsToiSCSIProtocolEndpoint
<<CIM_SCSIProtocolController>>
IBMTSSVC_ProtocolController
<<CIM_SAPAvailableForElement>>
IBMTSSVC_iSCSIAPAvailableForElement
<<CIM_iSCSIProtocolEndpoint>>
IBMTSSVC_iSCSIProtocolEndpoint
<<CIM_iSCSISession>>
IBMTSSVC_iSCSISession
svc00586
<<CIM_EndpointOfNetworkPipe>>
IBMTSSVC_iSCSISessionEndpointOfNetworkPipe
Figure 17. Overview of iSCSI-specific aspects of a target device
In Figure 17, the classes in yellow and relevant associations are now supported.
.
22
SAN Volume Controller: CIM Agent Developer's Guide
Job control profile
The job control profile contains classes that are used to monitor asynchronous
commands that format, migrate, or run copy operations on a device.
Figure 18 shows the classes and associations for the job control profile.
Figure 18. Class diagram of job control instances
Location subprofile
The location subprofile represents the relationship between location and physical
package.
Figure 19 on page 24 shows the basic elements of the location subprofile.
Chapter 1. Introduction to CIM agent
23
ClassName 1
Denotes Element classes
ClassName 2
Denotes Association classes
Denotes Inheritance relationship between classes
Denotes Association relationship between classes
<<CIM_Cluster>>
IBMTSSVC_Cluster
<<CIM_ComputerSystemPackage>>
IBMTSSVC_SystemEthernetPortPackage
<<CIM_PhysicalPackage>>
IBMTSSVC_FCPortPackage
<<CIM_ComputerSystemPackage>>
IBMTSSVC_SystemFCPortPackage
<<CIM_PhysicalPackage>>
IBMTSSVC_EthernetPortPackage
<<CIM_Realizes>>
IBMTSSVC_FCPortRealizes
<<CIM_PhysicalElementLocation>>
IBMTSSVC_FCPortPackageLocation
<<CIM_Location>>
IBMTSSVC_FCPortLocation
<<CIM_PhysicalEthernetLocation>>
IBMTSSVC_EthernetPortPackageLocation
<<CIM_LogicalDevice>>
IBMTSSVC_EthernetPort
<<CIM_Location>>
IBMTSSVC_EthernetPortLocation
svc00593
<<CIM_LogicalDevice>>
IBMTSSVC_FCPort
<<CIM_Realizes>>
IBMTSSVC_EthernetPortRealizes
Figure 19. Overview of the relationship between location and physical package
In Figure 19, the class in yellow blocks denotes the association class. For example,
IBMTSSVC_FCPortRealizes is the association between IBMTSSVC_FCPort and
IBMTSSVC_FCPortPackage. The class in blue blocks denotes the element class.
.
Masking and mapping profile
The masking and mapping profile provides an interface to create, modify, delete,
and mask hosts.
Figure 20 on page 25 shows the classes and associations for the masking and
mapping profile.
24
SAN Volume Controller: CIM Agent Developer's Guide
IBMTSSVC_AuthorizedStorageSubject
svc00396
e
Figure 20. Class diagram of masking and mapping instances
Multiple computer system profile
The multiple computer system profile uses multiple systems to present a virtual
computer system.
Figure 21 on page 26 shows the classes and associations for the multiple computer
system profile.
Chapter 1. Introduction to CIM agent
25
O
svc00397
O
Figure 21. Class diagram of multiple computer system instances
Object manager adapter profile
The primary function of the object manager adapter profile is to turn the indication
service on or off.
Figure 22 on page 27 shows the basic elements of the Object Manager Adapter
profile.
26
SAN Volume Controller: CIM Agent Developer's Guide
<<CIM_ObjectManagerAdapter>>
IBMTSSVC_ObjectManagerAdapter
+ Name
+ Handle
+ AdapterType
<<CIM_CommMechanismForObjectManagerAdapter>>
IBMTSSVC_CommMechanismForObjectManagerAdapter
svc00592
<<CIM_CIMXMLCommunicationMechanism>>
IBMTSSVC_CIMXMLCommunicationMechanism
+ CommunicationMechanism : String
+ Name : String
Figure 22. Overview of the Unified Modeling Language elements of the object manager adapter profile
.
Physical package
The physical package of the Common Information Model (CIM) agent for the SAN
Volume Controller consists of two classes and two association classes.
Figure 23 shows the basic classes (building blocks) for the model.
Figure 23. High-level overview of the physical package of the CIM agent for the SAN Volume Controller.
Server profile
The server profile of the Common Information Model (CIM) agent for the SAN
Volume Controller consists of several basic classes.
Figure 24 on page 28 shows the basic classes (building blocks) for the model.
Chapter 1. Introduction to CIM agent
27
T
svc00426
r
Figure 24. High-level overview of the server profile of the CIM agent for the SAN Volume Controller.
Software profile
The software profile is used by the CIM agent to model the software for the SAN
Volume Controller clustered system and for the CIM agent.
Figure 25 shows the classes and associations for the software profile.
Figure 25. Class diagram of software instances
28
SAN Volume Controller: CIM Agent Developer's Guide
Storage volume mirroring
You can create two mirrored copies of a storage volume to increase data
availability. The volume remains online and available as long as one copy is
available.
Figure 26 shows the classes and associations that are involved in mirroring storage
volumes.
Figure 26. Classes and associations in mirroring storage volumes
Chapter 1. Introduction to CIM agent
29
30
SAN Volume Controller: CIM Agent Developer's Guide
Chapter 2. Performing storage configuration tasks
Storage configuration is the mapping of the back-end storage to the storage pools
and the allocation of volumes from those pools. After you complete the initial
setup of the SAN Volume Controller, you use the Common Information Model
(CIM) agent object class instances to complete basic storage configuration tasks.
In the CIM agent for the SAN Volume Controller, storage configuration involves
three layers of objects: back-end, middle, and front-end. The objects in the back-end
layer contain the back-end controllers and volumes, those in the middle layer
contain the storage pools, and those in the front-end layer contain the storage
volumes that are exposed to the hosts.
The IBMTSSVC_StorageConfigurationService class provides the
CreateOrModifyStoragePool() and CreateOrModifyElementFromStoragePool()
methods for performing basic storage configuration.
You can use the CreateOrModifyStoragePool() method to create an
IBMTSSVC_StoragePool and add or remove an IBMTSSVC_BackendVolume. You
can use the CreateOrModifyElementFromStoragePool() method to allocate, expand,
or shrink an IBMTSSVC_StorageVolume from an IBMTSSVC_ConcreteStoragePool.
To complete basic storage configuration, perform the following tasks:
1.
2.
3.
4.
5.
Add a node to the clustered system.
Add a candidate control enclosure to the system.
Create an array from the disk drive.
Create a storage pool.
Modify the storage pool.
6. Create a storage volume.
7. Modify a storage volume.
Adding a candidate node to a cluster
You can add an IBMTSSVC_CandidateNode to an existing IBMTSSVC_Cluster.
About this task
To add an IBMTSSVC_CandidateNode to an existing IBMTSSVC_Cluster, follow
these steps:
Procedure
1. Obtain the reference (CIMObjectPath) of the IBMTSSVC_Cluster to which you
want to add an IBMTSSVC_CandidateNode.
2. Obtain the reference for the IBMTSSVC_CandidateNode instance.
3. Obtain the IBMTSSVC_ClusteringService instance using one of the following
two methods:
v Obtain the IBMTSSVC_ClusteringService instance directly. There will be only
one instance obtained by enumeration because the CIMOM is embedded on
the cluster.
© Copyright IBM Corp. 2003, 2012
31
v Locate the IBMTSSVC_ClusteringService instance that is associated with the
IBMTSSVC_Cluster by traversing the IBMTSSVC_ClusteringServiceForSystem
association.
4. Invoke the IBMTSSVC_ClusteringService.AddNode() method. The AddNode
method has the parameter CandidateNode Ref, and the IOGroup Ref to which
you want to add the node. Every node must be in an IOGroup and each
IOGroup can only contain two nodes.
Creating a new storage pool
The IBMTSSVC_StorageConfigurationService class provides the methods for
creating a new IBMTSSVC_ConcreteStoragePool.
About this task
To create a new IBMTSSVC_ConcreteStoragePool instance, follow these steps:
Procedure
1. Obtain the reference (CIMObjectPath) of an
IBMTSSVC_StorageConfigurationService instance that is associated with the
IBMTSSVC_Cluster in which you will create the new storage pool using one of
the following two methods:
v Obtain the reference of the IBMTSSVC_StorageConfigurationService instance
directly. There is only one instance obtained by enumeration because
CIMOM is embedded in the clustered system.
v Obtain the reference of the IBMTSSVC_StorageConfigurationService instance
by traversing the IBMTSSVC_HostedStorageConfigurationService association.
2. Invoke the
IBMTSSVC_StorageConfigurationService.CreateOrModifyStoragePool method
while you specify the InExtents[] parameter with a list of
IBMTSSVC_BackendVolume instances.
The InExtents[] parameter is a string array that contains the representation of
the CIMObjectPath to an IBMTSSVC_BackendVolume.
You can also just specify the size, and the CIM agent performs a best-fit
heuristic to match it. You can specify the name of the pool by using the
ElementName parameter and the block size by using the BlockSize parameter.
Modifying a storage pool
You can modify an IBMTSSVC_ConcreteStoragePool instance by changing the pool
name and adding or removing an IBMTSSVC_BackendVolume instance from the
pool.
About this task
To modify an IBMTSSVC_ConcreteStoragePool instance, follow these steps:
Procedure
1. Select the IBMTSSVC_ConcreteStoragePool instance that you want to modify
from an IBMTSSVC_Cluster.
2. Identify the IBMTSSVC_StoragePoolSetting instance that contains the parameter
settings of the IBMTSSVC_ConcreteStoragePool Setting instance. You can do
this by calling the IBMTSSVC_StorageCapabilities.CreateSetting() method or by
enumerating the IBMTSSVC_StoragePoolSetting that is associated through
32
SAN Volume Controller: CIM Agent Developer's Guide
IBMTSSVC_StorageSettingsGeneratedFromCapabilities to the
IBMTSSVC_StorageCapabilities that is associated to the
IBMTSSVC_ConcreteStoragePool that is being modified.
3. Modify the name of the selected IBMTSSVC_ConcreteStoragePool by calling
IBMTSSVC_StorageConfigurationService.CreateOrModifyPool with a new
element name.
4. If necessary, you can further modify the IBMTSSVC_ConcreteStoragePool by
adding or removing an IBMTSSVC_BackendVolume instance to the pool.
Creating a new storage volume
In the Common Information Model (CIM) agent for the SAN Volume Controller,
the IBMTSSVC_StorageConfigurationService class provides all the methods that are
required for creating, modifying, and deleting an IBMTSSVC_StorageVolume
instance.
About this task
To create a new IBMTSSVC_StorageVolume instance, follow these steps:
Procedure
Apply the CreateOrModifyElementFromStoragePool() method on the
IBMTSSVC_Cluster that you will use to create the new IBMTSSVC_StorageVolume,
with the following parameter specifications:
v Virtualization Type: 0,1,2 for striped, sequential, or image.
v Format flag: specifies the volume is formatted on creation or expansion.
|
v BackendVolume REF: specifies the BackendVolumes to place the extents for the
volume.
v PreferredNode: sets the preferred node for the volume.
v UnitDeviceID: sets the Volume's Unit Device ID on clustered systems running
software level 4.1.0 or higher.
v ElementName: sets the Volumes Name at creation.
v Autoexpand:
1. Set ElementType to 2 or 8:
v An ElementType of 2 creates a standard storage volume.
v An ElementType of 8 creates a compressed storage volume.
2. Set Size to the preferred volume size in bytes.
3. Obtain the reference (CIMObjectPath) of the IBMTSSVC_ConcreteStoragePool
instance from which you allocate an IBMTSSVC_StorageVolume.
4. Set InPool to the reference (obtained in the previous step) of the pool from
which the volume is allocated.
What to do next
The following additional parameters are examples of those that are available as
part of the Volume Mirroring feature or Thin-Provisioned Volume feature.
Autoexpand
Used to attempt to maintain a fixed amount of unused real capacity on the
volume, which is called the contingency capacity. The capacity is initially set
to the real capacity, which is assigned when the volume is created. If you
Chapter 2. Performing storage configuration tasks
33
modify the real capacity, the contingency capacity is reset to be the
difference between the used capacity and the real capacity.
Copies
Indicates the number of mirrored copies to create. Specify either 1 or 2.
Grainsize
Sets the grain size of a thin-provisioned volume. This is valid only if
RealSize is set. Valid options include 32, 64, 128, or 256.
Import
Used to request the SAN Volume Controller to import a thin-provisioned
storage volume from the storage pool.
IsSpaceEfficient
Flag that is used to indicate that the created volumes are thin-provisioned
volumes. This does not apply to a modify operation.
RealSizeBytes and RealSizePercent
Indicates the real size of a thin-provisioned copy. These parameters cannot
be used together.
WarningSizeBytes
Indicates the set point of used capacity at which point a warning is
triggered. This parameter cannot be used with the WarningSizeBytes
parameter.
WarningSizePercent
Indicates the ratio of used capacity versus the volume virtual capacity that
triggers a warning. This parameter cannot be used with the
WarningSizeBytes parameter.
AccessIOGrpList
Indicates the storage volume's access IO group list.
|
|
Creating a RAID array
You can create a RAID array using local drives.
About this task
To create a RAID array, follow these steps:
Procedure
1. Obtain the reference (CIMObjectPath) of an
IBMTSSVC_StorageConfigurationService instance that is associated with the
IBMTSSVC_Cluster in which you will create the new RAID array using one of
the following two methods:
v Obtain the reference of the IBMTSSVC_StorageConfigurationService instance
directly. There is only one instance obtained by enumeration because
CIMOM is embedded in the clustered system.
v Obtain the reference of the IBMTSSVC_StorageConfigurationService instance
by traversing the IBMTSSVC_HostedStorageConfigurationService association.
2. Invoke the IBMTSSVC_StorageConfigurationService
CreateOrModifyElementFromElements method.
You must specify the following parameters:
v The InElements [] parameter with a list of IBMTSSVC_DiskDriveExtent
instances. The Extent [] parameter is a string array that contains the
34
SAN Volume Controller: CIM Agent Developer's Guide
representation of the CIMObjectPath to an IBMTSSVC_ DiskDriveExtent.
Only a disk drive with role of candidate is available for use in an array. To
change the role of a disk drive, complete the following steps:
a. Obtain the reference (CIMObjectPath) of an
IBMTSSVC_StorageConfigurationService instance that is associated with
the IBMTSSVC_Cluster
b. Invoke the IBMTSSVC_StorageConfigurationService ChangeDriveRole
method. You must specify the DiskDrive parameter with the reference of
the IBMTSSVC_DiskDrive, and set Use parameter to 1.
v StoragePool parameter with an instance of IBMTSSVC_ConcreteStoragePool,
which identifies the StoragePool to add the created RAID array to.
v Goal parameter with an instance of IBMTSSVC_RAIDSetting, which contains
the RAID-level information.
You can also specify the StripSize, WriteVerify, and SpareGoal. Also see the
BlockServices.mof file for more details. To view the complete Managed Object
Format (MOF) documentation, select the documentation information from the
following website:
www.ibm.com/storage/support/2145
Chapter 2. Performing storage configuration tasks
35
36
SAN Volume Controller: CIM Agent Developer's Guide
Chapter 3. Establishing Copy Services relationships
Use the Common Information Model agent object class instances to establish new
Copy Services relationships.
Copy Services
FlashCopy, Global Mirror, and Metro Mirror are copy services functions provided
by the SAN Volume Controller.
These copy services are available to all supported hosts that are connected to the
SAN Volume Controller.
The FlashCopy service enables you to make an instant, point-in-time copy of a
source IBMTSSVC_StorageVolume instance to a target IBMTSSVC_StorageVolume
instance.
The synchronous copy service (Metro Mirror) provides a consistent copy of the
source IBMTSSVC_StorageVolume on the target IBMTSSVC_StorageVolume. Data is
written to the target volume synchronously after it is written to the source volume,
both of which can belong to the same IBMTSSVC_Cluster instance or different
IBMTSSVC_Cluster instances.
The asynchronous copy service (Global Mirror) provides a copy of the source
IBMTSSVC_StorageVolume on the target IBMTSSVC_StorageVolume. Data is
written to the target volume asynchronously after it is written to the source
volume, both of which can belong to the same IBMTSSVC_Cluster instance or
different IBMTSSVC_Cluster instances.
Creating a new FlashCopy relationship between storage volumes
The IBMTSSVC_StorageConfigurationService class provides the methods for
establishing a FlashCopy relationship between two IBMTSSVC_StorageVolume
instances that are the same size and belong to the same IBMTSSVC_Cluster
instance.
About this task
To create a FlashCopy relationship between two IBMTSSVC_StorageVolume
instances, perform the following steps:
Procedure
1. Select an IBMTSSVC_StorageVolume instance as the source volume for the
preferred FlashCopy relationship.
2. Select a valid IBMTSSVC_StorageVolume as a target.
Make sure that the source IBMTSSVC_StorageVolume and target
IBMTSSVC_StorageVolume instances belong to the same IBMTSSVC_Cluster
instance.
3. Retrieve the IBMTSSVC_StorageConfigurationService instance that is associated
with the IBMTSSVC_Cluster instance to which the selected
IBMTSSVC_StorageVolume instances belong.
© Copyright IBM Corp. 2003, 2012
37
4. Invoke the IBMTSSVC_StorageConfigurationService.AttachReplica() method
with the following parameter specifications:
a. Set SourceElement to the reference (CIMObjectPath) of the source
IBMTSSVC_StorageVolume.
b. Set TargetElement to the reference (CIMObjectPath) of the target
IBMTSSVC_StorageVolume.
c. Optionally set ElementName to the name of the synchronization.
d. Optionally set BackgroundCopyRate to the preferred priority of the
background copy rate (0 - 100).
e. Optionally specify Set to add the newly created FlashCopySynchronization
to the set. If you specify a null value, the newly created
FlashCopySynchronization will not be a member of a synchronized set.
f. Optionally set CopyType to 5. This sets AutoDelete to true, which
automatically deletes the FlashCopy mapping after the background copy is
complete.
g. If you do not want to automatically delete FlashCopy mappings, Set
CopyType to 4.
Results
The source IBMTSSVC_StorageVolume and target IBMTSSVC_StorageVolume
instances are now connected through the IBMTSSVC_LocalStorageSynchronized
association.
|
Creating a new target StorageVolume for a FlashCopy relationship
|
|
|
|
The IBMTSSVC_StorageConfigurationService class provides the methods for
creating a new FlashCopy relationship between IBMTSSVC_StorageVolume and
target IBMTSSVC_StorageVolume instances, connected through an
IBMTSSVC_FlashCopyStorageSynchronized association.
|
About this task
|
|
To create a new target StorageVolume, which is a replica of the source
StorageVolume, perform the following steps:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Procedure
1. Select an IBMTSSVC_StorageVolume instance as the source volume for the
preferred FlashCopy relationship.
2. Retrieve the IBMTSSVC_StorageConfigurationService instance that is associated
with the IBMTSSVC_Cluster instance to which the selected
IBMTSSVC_StorageVolume instances belong.
3. Invoke the IBMTSSVC_StorageConfigurationService.CreateReplica() method
with the following parameter specifications:
a. Set SourceElement to the reference (CIMObjectPath) of the source
IBMTSSVC_StorageVolume.
b. Optionally set TargetSettingGoal to the reference (CIMObjectPath) of the
target setting goal IBMTSSVC_StorageVolumeSetting. CIM client can create
a thinly provisioned target volume replica or thinly provisioned compressed
target volume replica by setting the relevant reference of
IBMTSSVC_StorageVolumeSetting. If TargetSettingGoal is null, a target
storage volume with the same properties as source storage volume is
created.
38
SAN Volume Controller: CIM Agent Developer's Guide
|
|
|
|
|
|
|
c. Optionally set ElementName to the name of the synchronization.
d. Optionally set TargetPool to the reference (CIMObjectPath) of the target
storage pool IBMTSSVC_ConcreteStoragePool from which the target storage
volume is created.
e. Optionally set CopyType to 5. This sets AutoDelete to true, which
automatically deletes the FlashCopy mapping after the background copy is
complete.
|
|
|
Tip: If you do not want to automatically delete FlashCopy mappings, Set
CopyType to 4. The target storage volume will be returned to CIM client by
TargetElement.
|
Results
|
|
The source IBMTSSVC_LocalStorageSynchronized association now connects the
IBMTSSVC_StorageVolume and target IBMTSSVC_StorageVolume instances.
Creating a FlashCopy relationship for a synchronized set
The IBMTSSVC_StorageConfigurationService class provides the methods for
establishing a FlashCopy relationship between two IBMTSSVC_StorageVolume
instances and then adding it to an IBMTSSVC_FlashCopyStorageSynchronizedSet
instance.
About this task
To create a FlashCopy relationship between two IBMTSSVC_StorageVolume
instances and add it to an IBMTSSVC_FlashCopyStorageSynchronizedSet instance,
perform the following steps:
Procedure
1. Select an IBMTSSVC_StorageVolume instance as the source volume for the
preferred FlashCopy relationship.
2. Select a valid IBMTSSVC_StorageVolume as a target. Valid volumes can be
determined using IBMTSSVC_CandidateVolume.
Make sure that the source IBMTSSVC_StorageVolume and target
IBMTSSVC_StorageVolume instances belong to the same IBMTSSVC_Cluster
instance.
3. Retrieve the IBMTSSVC_StorageConfigurationService instance that is associated
with the IBMTSSVC_Cluster instance to which the selected
IBMTSSVC_StorageVolume instances belong.
4. Invoke the IBMTSSVC_StorageConfigurationService.AttachReplica() method
with the following parameter specifications:
a. Set SourceElement to the reference (CIMObjectPath) of the source
IBMTSSVC_StorageVolume.
b. Set TargetElement to the reference (CIMObjectPath) of the target
IBMTSSVC_StorageVolume.
c. Optionally set ElementName to the name of the synchronization.
d. Optionally set BackgroundCopyRate to the preferred priority of the
background copy rate in percent (0 - 100%).
e. Optionally specify Set to add the newly created FlashCopySynchronization
to the set. If you specify a null value, the newly created
FlashCopySynchronization will not be a member of a synchronized set.
Chapter 3. Establishing Copy Services relationships
39
f. Optionally set CopyType to 5. This sets AutoDelete to true, which
automatically deletes the FlashCopy mapping after the background copy is
complete.
g. If you do not want to automatically delete FlashCopy mappings, set
CopyType to 4.
5. Create an IBMTSSVC_FlashCopyStorageSynchronizedSet instance by invoking
the IBMTSSVC_StorageConfigurationService.CreateSynchronizedSet() method
with the following parameter specifications:
a. Set CopyType to 4 (flash).
b. Optionally set ElementName to the name of the newly created
IBMTSSVC_FlashCopyStorageSynchronizedSet instance.
6. Add the IBMTSSVC_StorageSynchronized instance to the
IBMTSSVC_FlashCopySynchronizedSet instance by invoking the
IBMTSSVC_StorageConfigurationService.ModifySynchronizedSet() method with
the Operation parameter set to 0 (add). If the FlashCopy added to the set is
CopyType 5, the set becomes CopyType 5, and any other FlashCopy mappings
that are added to the set must have CopyType 5, or the add fails. Similarly, if a
set contains a FlashCopy of CopyType 4, all other FlashCopy mappings in the
set must be of CopyType 4 or the modification operation fails.
Remember: The synchronization must belong to the same clustered system as
the hosting service.
Creating a synchronous copy relationship between volumes in the
same clustered system
The IBMTSSVC_StorageConfigurationService class provides the methods for
creating a synchronous copy relationship between a source
IBMTSSVC_StorageVolume and a target IBMTSSVC_StorageVolume.
About this task
Perform the following steps to create the synchronous copy relationship:
Procedure
1. Select an IBMTSSVC_StorageVolume instance as the source volume for the
preferred source volume.
2. Select an IBMTSSVC_StorageVolume instance as the target volume.
3. Obtain the reference (CIMObjectPath) of the
IBMTSSVC_StorageConfigurationService instance that is associated with the
IBMTSSVC_Cluster instance to which the selected volumes belong.
4. Invoke the IBMTSSVC_StorageConfigurationService.AttachReplica() method
with the following parameter specifications:
a. Set SourceElement to the reference (CIMObjectPath) of the source
IBMTSSVC_StorageVolume instance.
b. Set TargetElement to the reference (CIMObjectPath) of the target
IBMTSSVC_StorageVolume.
c. Optionally set ElementName to the name of the synchronization.
d. Set CopyType to 3 for Synchronous and 2 for Asynchronous.
40
SAN Volume Controller: CIM Agent Developer's Guide
Results
The source IBMTSSVC_StorageVolume instance and the target
IBMTSSVC_StorageVolume are now connected through the
RemoteStorageSynchronized association.
Creating a synchronous copy relationship between volumes in
different clustered systems
The IBMTSSVC_StorageConfigurationService class provides the methods for
creating a synchronous copy relationship between a source
IBMTSSVC_StorageVolume instance and a target
IBMTSSVC_RemoteStorageVolume instance belonging to different
IBMTSSVC_Cluster instances.
About this task
To create a synchronous copy relationship between two volumes with the source
located in a local clustered system and the target located in a remote clustered
system, perform the following steps:
Procedure
1. Identify an IBMTSSVC_Cluster instance as the source clustered system for the
preferred synchronous copy relationship.
2. Obtain the reference (CIMObjectPath) of the
IBMTSSVC_StorageConfigurationService instance that is associated with the
source clustered system.
3. Identify the IBMTSSVC_RemoteCluster on which you want the synchronous
copy to reside by traversing the IBMTSSVC_RemotePartnership association.
4. Create a remote clustered system partnership by invoking the
IBMTSSVC_CascadingAllocationService.Allocate() method with the following
parameter specifications:
a. Set RemoteCluster to the reference (CIMObjectPath) of the
IBMTSSVC_RemoteCluster instance.
b. Optionally set Bandwidth to the preferred bandwidth in megabytes (MB).
Make sure to issue the method from both the source and candidate clustered
systems to establish a fully configured partnership; otherwise, the synchronous
copy relationship cannot be established.
5. Select an IBMTSSVC_StorageVolume as the source volume from the source
IBMTSSVC_Cluster.
6. Select an IBMTSSVC_CandidateVolume as the target volume from the
IBMTSSVC_RemoteCluster. To determine a candidate volume, use the
IBMTSSVC_CopyCandidate association from the source volume.
Note: IBMTSSVC_StorageVolume instances on the remote clustered system are
seen on the local clustered system as a IBMTSSVC_CandidateVolume instance.
7. Invoke the IBMTSSVC_StorageConfigurationService.AttachReplica() method
with the following parameter specifications:
a. Set SourceElement to the reference (CIMObjectPath) of the source
IBMTSSVC_StorageVolume instance.
b. Set TargetElement to the reference (CIMObjectPath) of the target
IBMTSSVC_CandidateVolume.
Chapter 3. Establishing Copy Services relationships
41
c. Optionally set ElementName to the name of the synchronization.
d. Set CopyType to 3 for Synchronous, and 2 for Asynchronous.
Results
The source IBMTSSVC_StorageVolume instance and the target
IBMTSSVC_StorageVolume or IBMTSSVC_RemoteStorageVolume instance are now
connected through the IBMTSSVC_MasterRemoteStorageSynchronized association.
Sample code to create and start a FlashCopy mapping
This information demonstrates how CIMOM methods control the clustered system.
The sample code includes a main method from a Java class, designed to create and
start a FlashCopy mapping, and other methods called from the main method.
In this topic, the term method refers to a Java method. The term Method (initial
capital) refers to a CIM Method.
Java main method
This example shows the Java main method for creating and starting a FlashCopy
mapping. The assumption in this example is that the Java program is designed to
control the same clustered system every time. It is a relatively simple process to
make it more flexible, but that decision is left to the user.
/*
* FC Mapping states
*/
private static UnsignedInt16 INITIALIZED = new UnsignedInt16(2);
private static UnsignedInt16 PREPARING = new UnsignedInt16(3);
private static UnsignedInt16 PREPARED = new UnsignedInt16(4);
public static void main(String[] args) throws CIMException
{
/*
* First step is to connect to the CIMOM
*/
UserPrincipal user = new UserPrincipal("superuser");
PasswordCredential pwd = new PasswordCredential("itso13sj");
CIMNameSpace ns = new CIMNameSpace("https://9.43.86.115:5989/root/ibm");
CIMClient client = null;
client = new CIMClient(ns,user,pwd);
/*
* Next, select the clustered system that we are interested in
*/
CIMInstance chosenCluster = getCluster("ITSOCL1",client);
/*
* At this point, the relevant clustered system has been selected
* and ’chosenCluster’ is a CIMInstance of this clustered system
*
* Get the Config Service of this clustered system
*/
CIMObjectPath cService = getConfigService(chosenCluster, client);
/*
* Now, get all of the Volumes in this clustered system
*/
Map<Integer,CIMObjectPath> volumesById = getVolumes(chosenCluster,client);
42
SAN Volume Controller: CIM Agent Developer's Guide
/*
* Select the FlashCopy Source
*
* In this case, Volume 10 is our source
* Volume 11 is our target
*/
CIMObjectPath fcSrc = volumesById.get(new Integer(10));
CIMObjectPath fcTgt = volumesById.get(new Integer(11));/*
/*
* Now create FC Mapping
*/
CIMValue rc = makeFlashCopyMapping("CIMOMTestMap", fcSrc, fcTgt, cService,
client,false);
/*
* Now that this has been created, we need to get an
* Object Path to the newly created Association
*/
List<CIMObjectPath> fcMaps = getFCMappings(fcSrc, client);
CIMObjectPath fcMapping = fcMaps.get(0);
/*
* Now we prepare the FC Mapping
*/
CIMArgument[] outArgs = new CIMArgument[2];
rc = prepareFCMapping(cService, fcMapping, client, outArgs);
System.out.println("Got value:"+
Integer.toHexString(Integer.parseInt(rc.toString())));
/*
* Loop until it is prepared
*/
CIMValue fcMapState = new CIMValue(PREPARING);
while(fcMapState.equals(new CIMValue(PREPARING)))
{
CIMInstance fcMapInfo = client.getInstance(fcMapping);
fcMapState = fcMapInfo.getProperty("SyncState").getValue();
}
/*
* Now start the FC Mapping
*/
rc = startFCMapping(cService, fcMapping, client, outArgs);
System.out.println("Got value:"+
Integer.toHexString(Integer.parseInt(rc.toString())));
}
getCluster method
The getCluster method returns the CIM instance corresponding to the clustered
system with the supplied name. It does this by enumerating all of the instances of
the class IBMTSSVC_Cluster and then checking the name of each instance. When
an instance is found that matches the supplied name, an object path to that
instance is returned.
static private CIMInstance getCluster(String clusterName, CIMClient client) throws
CIMException
{
CIMInstance chosenCluster = null;
Enumeration<CIMInstance> clusters =
client.enumerateInstances(new CIMObjectPath("/root/ibm:IBMTSSVC_Cluster"));
while(clusters.hasMoreElements())
{
CIMInstance possibleCluster = clusters.nextElement();
Chapter 3. Establishing Copy Services relationships
43
String possibleName =
possibleCluster.getProperty("ElementName").getValue().toString();
if(possibleName.equals("\""+clusterName+"\""))
{
chosenCluster = possibleCluster;
}
}
return chosenCluster;
}
getConfigService method
The CIM_StorageConfigurationService class has no direct equivalent in a SAN
Volume Controller, but an instance of this class is required for invoking methods
against the system.
In this method, all of the instances associated with the supplied clustered system
are requested. The association connecting a clustered system to its configuration
service is CIM_HostedService. Because a clustered system has only the
configuration service associated with it, the first object path in the enumeration is
selected.
static private CIMObjectPath getConfigService(CIMInstance cluster, CIMClient
client) throws CIMException
{
Enumeration<CIMObjectPath> configServices = null;
configServices = client.associatorNames(
cluster.getObjectPath(),
"CIM_HostedService",
"CIM_StorageConfigurationService",
null,
null);
return configServices.nextElement();
}
getVolumes method
This method returns a map relating Volume IDs (as integers) to
IBMTSSVC_StorageVolume object paths. The method requests all of the
IBMTSSVC_StorageVolume instances associated with the provided clustered system
instance.
static private Map<Integer,CIMObjectPath> getVolumes(CIMInstance cluster, CIMClient
client) throws CIMException
{
Enumeration<CIMObjectPath> volumes = client.associatorNames(
cluster.getObjectPath(),
null,
"IBMTSSVC_StorageVolume",
null,
null);
Map<Integer,CIMObjectPath> volumesById = new HashMap<Integer, CIMObjectPath>();
while(volumes.hasMoreElements())
{
CIMObjectPath volumeOP = volumes.nextElement();
CIMValue volumesId = volumeOP.getKey("DeviceID").getValue();
String idAsString = volumeId.toString();
String idNoQuotes = idAsString.substring(1, idAsString.length()-1);
volumesById.put(Integer.parseInt(idNoQuotes), volumeOP);
}
return volumesById;
}
44
SAN Volume Controller: CIM Agent Developer's Guide
makeFlashCopyMapping method
This example invokes the AttachReplica against the clustered system configuration
service. CIM Methods take typed parameters; this method makes use of the argRef,
argString, and argUint16 methods. These methods act as shortcuts to generating
the required arguments for the CIM Method. The AttachReplica method is used for
FlashCopy, Metro Mirror and Global Mirror. The CopyType argument indicates
which type is required.
static private CIMValue makeFlashCopyMapping(
String name,
CIMObjectPath source,
CIMObjectPath target,
CIMObjectPath configService,
CIMClient client,
boolean autodelete) throws CIMException
{
CIMArgument src = argRef("SourceElement", source, "IBMTSSVC_StorageVolume");
CIMArgument tgt = argRef("TargetElement", target, "IBMTSSVC_StorageVolume");
CIMArgument fcName = argString("ElementName",name);
CIMArgument type = argUint16("CopyType",autodelete?5:4);
CIMArgument[] inArgs = {src,tgt,fcName,type};
CIMArgument[] outArgs = new CIMArgument[1];
CIMValue rc = client.invokeMethod(configService,
"AttachReplica",
inArgs,
outArgs);
return rc;
}
getFCMappings method
The getFCMappings method returns a list of all the FCMappings associated with
the provided VDisk. This method requests a list of all of the associations that
reference the provided IBMTSSVC_StorageVolume. Currently, all of the Java
WBEM Services methods of this type return enumerations; this method converts
this to a list for ease of use.
static private List<CIMObjectPath> getFCMappings(CIMObjectPath volume, CIMClient
client) throws CIMException
{
Enumeration<CIMObjectPath> assocs = client.referenceNames(
volume,
"IBMTSSVC_LocalStorageSynchronized",
null);
return Collections.list(assocs);
}
prepareFCMapping method
The prepareFCMapping method prepares a FlashCopy mapping. Much like the
AttachReplica Method, the ModifySynchronization Method controls FlashCopy,
Metro Mirror and Global Mirror. The operation parameter indicates what is
actually to be done.
private static CIMValue prepareFCMapping(
CIMObjectPath configService,
CIMObjectPath fcMapping,
CIMClient client,
CIMArgument[] outArgs) throws CIMException
{
CIMArgument operation = argUint16("Operation", 6);
CIMArgument synch = argRef("Synchronization",
Chapter 3. Establishing Copy Services relationships
45
fcMapping,"IBMTSSVC_FlashCopyStorageSynchronized");
CIMArgument[] inArgs = new CIMArgument[]{operation,synch};
outArgs = new CIMArgument[2];
return client.invokeMethod(configService,
"ModifySynchronization",
inArgs,
outArgs);
startFCMapping method
The startFCMapping method starts a FlashCopy mapping. This method invokes
the ModifySynchronization Method as in “prepareFCMapping method” on page 45
but uses a different operation parameter.
private static CIMValue startFCMapping(
CIMObjectPath configService,
CIMObjectPath fcMapping,
CIMClient client,
CIMArgument[] outArgs) throws CIMException
{
CIMArgument operation = argUint16("Operation", 4);
CIMArgument synch = argRef("Synchronization",
fcMapping,"IBMTSSVC_FlashCopyStorageSynchronized");
CIMArgument[] inArgs = new CIMArgument[]{operation,synch};
outArgs = new CIMArgument[2];
return client.invokeMethod(configService,
"ModifySynchronization",
inArgs,
outArgs);
}
Argument generators class
This class uses the following argument generators:
v The argUint16 method returns an unsigned 16-bit integer typed argument.
static private CIMArgument argUint16(String name, int arg)
{
return new CIMArgument(
name,
new CIMValue(
new UnsignedInt16(arg),
new CIMDataType(CIMDataType.UINT16)
)
);
}
v The argString method returns a string-typed argument.
static private CIMArgument argString(String name, String str )
{
return new CIMArgument(
name,
new CIMValue(
str,
new CIMDataType(CIMDataType.STRING)
)
);
}
v The argRef method returns a reference typed argument. It is a reference to the
instance that the provided object path indicates.
46
SAN Volume Controller: CIM Agent Developer's Guide
static private CIMArgument argRef(
String name,
CIMObjectPath path,
String className )
{
return new CIMArgument(
name,
new CIMValue(
path,
new CIMDataType(className)
)
);
}
Chapter 3. Establishing Copy Services relationships
47
48
SAN Volume Controller: CIM Agent Developer's Guide
Chapter 4. CIM agent network considerations
You can manually set the CIM agent service or the user interface connection
information for remote connection access. If the Secure Sockets Layer (SSL)
certificate is expired or not valid, you can regenerate the SSL certificate file if the
SAN Volume Controller cluster is running a version earlier than Version 4.3.1.
Attempting to perform the SSL procedure on Version 4.3.1 or later can result in
corruption of the GUI application which might require a complete reinstallation of
the GUI..
RemoteServiceAccessPoint instance
In an environment with multiple network adapters, it might be necessary to
manually set the connection data of the RemoteServiceAccessPoint (RSAP)
instance.
About this task
The IBMTSSVC_RemoteServiceAccessPoint class hosts the information necessary
for connection to the web user interface. Management applications can obtain an
instance of the RSAP from the CIMOM to launch the user interface through the
web.
You can manually set the connection data of the RSAP. This is helpful in an
environment with multiple network cards.
To set the connection data, follow these steps:
Procedure
1. Obtain the IBMTSSVC_Cluster instance.
2. Modify the ConsoleIP and ConsolePort properties through the Modify instance
on the clustered system with a property list that contains the Properties that
have changed.
The CIM agent automatically updates the RSAP.
© Copyright IBM Corp. 2003, 2012
49
50
SAN Volume Controller: CIM Agent Developer's Guide
Chapter 5. Maintenance and diagnostic tasks
Perform maintenance, informational and diagnostic tasks.
You can perform tasks that provide information about your system.
Using the indication service
You can turn the indication service on or off.
About this task
The IBMTSSVC_ObjectManagerAdapter class provides the methods for accessing
the indication service. To turn the indication service on or off, perform the
following steps:
Procedure
1. Retrieve the IBMTSSVC_ObjectManagerAdapter instance that is associated with
the IBMTSSVC_Cluster instance.
2. Invoke the IBMTSSVC_ObjectManagerAdapter.StartService() to start the
indication service, and the IBMTSSVC_ObjectManagerAdapter.StopService()
method to stop the indication service.
Getting performance statistics
The IBMTSSVC_PerformanceStatisticsService class provides the method for getting
the performance statistics for IBMTSSVC_Node, IBMTSSVC_DiskDrive,
IBMTSSVC_StorageVolume, and IBMTSSVC_BackendVolume.
About this task
To get the performance statistics instance, follow these steps:
Procedure
1. Obtain the reference (CIMObjectPath) of an
IBMTSSVC_PerformanceStatisticsService instance that is associated with the
IBMTSSVC_Cluster in which you will get the performance statistics by
traversing the IBMTSSVC_HostedPerformanceStatisticsService association.
|
|
|
|
2. Invoke the IBMTSSVC_PerformanceStatisticsService.GetStatisticsCollection()
method to get the performance statistics. Use the following parameter
specifications:
v The ElementTypes parameter is used to set the preferred statistics that would
be returned according to the preferred source:
– 8 to return the performance statistics of IBMTSSVC_StorageVolume
– 10 to return the performance statistics of the IBMTSSVC_DiskDrive
– 9 to return the performance statistics of the IBMTSSVC_BackendVolume
– 32768 to return the performance statistics of the IBMTSSVC_Node
v Set ManifestCollection to the reference (CIMObjectPath) of
CIM_BlockStatisticsManifestCollection.
v Set StatisticsFormat to 2 (which will return a comma-separated value [CSV]).
© Copyright IBM Corp. 2003, 2012
51
The order of statistic properties returned by the GetStatisticsCollection method
is the same as the order of properties definitions in the Managed Object Format
(MOF) file.
What to do next
The IBMTSSVC_FCPortStatistics instance, which extends from the
CIM_FCPortStatistics instance, provides the statistics for the FCPort. It is defined in
Fibre Channel Initiator Port Profile instead of the Block Server Performance profile.
The CIM client can get the statistics for the FCPort by enumerating
IBMTSSVC_FCPortStatistics instances.
Collecting CIM log files
You can generate CIM log files for diagnostic reporting to the IBM Support Center.
Before you begin
CIMOM logs are collected from the management GUI.
About this task
To collect all clustered system logs and CIMOM logs, complete the following steps:
Procedure
1. Launch the management GUI.
2. Click Troubleshooting > Support > Download Support Package.
3. Select the type of log you need and click Download.
Note: Setting the highest level of logging on the CIMOM significantly
decreases the performance of the CIMOM.
52
SAN Volume Controller: CIM Agent Developer's Guide
Chapter 6. CIM agent classes, methods, and SMI-S profiles
supported
The CIM agent classes are the building blocks of the Common Information Model
(CIM) agent and use functions such as storage configuration, Copy Services, and
logical unit number (LUN) masking. The Storage Management Initiative
Specification (SMI-S) is based on a number of existing technologies that include the
CIM.
To view the complete Managed Object Format (MOF) documentation of these
classes and methods, select the documentation information from the following
website:
www.ibm.com/storage/support/2145
Table 5 identifies the SMI-S profiles that CIM agent for SAN Volume Controller
supports.
Table 5. SMI-S profiles and subprofiles supported by CIM
Profiles
Subprofiles
SNIA:Storage Virtualizer
SNIA:Storage Virtualizer:Access Points
Storage virtualizers act in a manner
similar to RAID arrays but can use
storage that is provided by systems that
are external to the storage virtualizer and
local disks. A storage virtualizer system
combines both remote and local storage to
create a seamless pool. The virtualization
system allocates volumes from the pool
for host systems to use.
SNIA:Storage Virtualizer:Block Server
Performance
SNIA:Storage Virtualizer:Block Services
SNIA:Storage Virtualizer:Cascading
SNIA:Storage Virtualizer:Copy Services
SNIA:Storage Virtualizer:Disk Drive Lite
SNIA:Storage Virtualizer:Disk Sparing
SNIA:Storage Virtualizer:Extent Composition
The basic virtualizer system profile
provides a read-only view of the system. SNIA:Storage Virtualizer:FC Initiator Ports
The various subprofiles extend this
SNIA:Storage Virtualizer:FC Target Ports
description and also enable configuration.
SNIA:Storage Virtualizer:Health
SNIA:Storage Virtualizer:iSCSI
SNIA:Storage Virtualizer:Location
SNIA:Storage Virtualizer:Masking and
Mapping
SNIA:Storage Virtualizer:Multiple Computer
System
SNIA:Storage Virtualizer:Physical Package
SNIA:Storage Virtualizer:RAID
SNIA:Storage Virtualizer:Software
© Copyright IBM Corp. 2003, 2012
53
Table 5. SMI-S profiles and subprofiles supported by CIM (continued)
Profiles
Subprofiles
SNIA:Server
SNIA:Server:Profile Registration
SNIA:Server:Indication Object Manager
The server profile is mandatory for all
Adapter
compliant SMI-S servers. The object
manager part of the model defines the
capabilities of a CIM object manager
based on the communication mechanisms
that it supports.
54
SAN Volume Controller: CIM Agent Developer's Guide
Chapter 7. Return codes
The Common Information Model (CIM) return codes provide information on the
status of CIM agent operations.
Common Information Model
Table 6 is a condensed list of possible CIM return codes.
Table 6. Common Information Model return codes
CIM return code
Description
Method
Explanation
0
Success
GetFreeExtends()
ListConfiguration
Backups()
The parameters are valid.
The method completed
successfully.
AddNode()
The node was successfully
added.
CheckValidity()
The information about the
certificate was successfully
obtained.
DeleteAccount()
The account was
successfully deleted.
GenerateCIMOM
Certificate()
EnableAuto
Generation()
DisableAuto
Generation()
The certificate was
successfully deleted.
CreateCode()
The new account was
successfully created.
SetDefault
Validity()
The validity was
successfully set.
GrantGlobal
Access()
GrantSystem
Access()
The role was successfully
changed.
CreateGatewayID()
AddHardwareIDs
ToCollection()
The collection was
successfully created.
DeleteStorage
HardwareID()
The StorageHardwareID
was successfully deleted.
CreateStorage
HardwareID()
The StorageHardwareID
was successfully created.
© Copyright IBM Corp. 2003, 2012
55
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
Explanation
0
Success (continued)
AttachDevice()
The volume was
successfully attached.
DeleteProtocol
Controller()
The controller was
successfully deleted.
CreateProtocol
ControllerWith
Ports()
A clone was successfully
created.
DeleteRemote
Cluster
Partnership()
The clustered system
partnership was
successfully deleted.
CreateRemote
Cluster
Partnership()
The clustered system
partnership was
successfully established.
DeleteHardwareID
Collection()
The collection was
successfully created.
DeleteCertificate()
The certificate was
successfully deleted.
DeleteSynchronized
Set()
The SynchronizedSet was
successfully deleted.
Modify
Synchronisation()
The method was
successfully run.
EvictNode()
The node was successfully
evicted.
56
SAN Volume Controller: CIM Agent Developer's Guide
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
Explanation
0
Success (continued)
RestartService()
The CIMOM reboots.
Shutdown()
The shutdown for the
node/clustered system was
successfully initiated.
SetLocale()
The locale was set.
SetTimezone()
The time zone for the
clustered system was
successfully set.
SetPasswords()
ModifyReset
Password
ChangeFeature()
The passwords were
changed.
GetResetPassword
ChangeFeature
Status()
The feature status was
successfully retrieved.
StartStatistics
Collection()
The statistics collection was
started.
DetachDevice()
The volume was
successfully detached.
StopStatistics
Collection()
The statistics collection was
stopped.
Backup
Configuration()
A backup was successfully
created.
Reload
Configuration()
The configuration was
reloaded.
Restore
Configuration()
Delete
Configuration
Backup()
A restore was successfully
made.
AttachReplica()
The copy relationship was
successfully established.
CreateSynchronized
Set()
The SynchronizedSet was
successfully created.
SetPassword()
The password was
successfully changed.
Chapter 7. Return codes
57
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
0
Job completed with no error CreateOrModify
StoragePool()
Explanation
The pool was successfully
created.
CreateOrModify
ElementFrom
StoragePool()
The volume was
successfully created. The
pool was successfully
modified.
DeleteStorage
Pool()
The pool was successfully
deleted.
ReturnToStorage
Pool()
The volume was
successfully deleted.
RequestDiscovery()
BackendVolume discovery
was successful.
SetIOGroup()
The change was successful.
SetQuorum()
The method was successful.
IncludeBackend
Volume()
The volume was
successfully included.
ModifySynchronized
Set()
The CLI command was
successfully run.
0
Job started successfully
MigrateVolume()
MigrateVolumeTo
lmageMode()
The migration job was
started.
1
Not supported
SetLocales()
The clustered system does
not support locales.
SetPasswords()
The clustered system does
not support password
change (CISCO).
ModifyReset
PasswordChange
Feature()
GetResetPassword
ChangeFeature
Status()
The clustered system does
not support the reset
password change feature.
Upgrade()
The method was called on a
2145 clustered system
configuration service.
58
SAN Volume Controller: CIM Agent Developer's Guide
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
Explanation
2
Failed
An unexpected error
Dump() Clean() Enter()
occurred. A CLI command
Exit() Clean() GetDump()
failed.
ClearLog() GetRecord()
GetAllRecords() FixRecord()
UnfixRecord()
ModifyError
Settings()
Create2062
Cluster()
2
4
Unknown error
Failed
GetDump()
Failure during command
processing. The file was not
found.
Reload
Configuration()
Failed to reload the
configuration.
CreateCode()
Failed to create the account.
GrantGlobal
Access()
GrantSystem
Access()
Failed to change the role.
SetPassword()
Failed to change the
password.
DeleteAccount()
Failed to delete the account.
GenerateCIMOM
Certificate()
DeleteCertificate()
Failed to generate new
certificate due to provider
internal reasons.
EnableAuto
Generation()
DisableAuto
Generation()
Failed due to provider
internal reasons.
SetDefault
Validity()
Failed to set validity.
CheckValidity()
Failed to obtain information
about certificate.
GenerateCIMOM
Certificate()
DeleteCertificate()
Unexpected error occurred.
Failed to generate new
certificate due to truststore
problems.
Chapter 7. Return codes
59
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
Explanation
5
Wrong Parameter Set
Delete
Configuration
Backup()
The wrong number or type
of parameters were passed.
The given backup could not
be found.
Modify
Synchronisation()
The wrong number or type
of parameters were passed
or other parameter checking
failed.
CreateCode()
GrantGlobal
Access()
SetPassword()
GrantSystem
Access()
DeleteAccount()
DeleteCertificate()
SetDefault
Validity()
CheckValidity()
One of the parameters is
not valid.
Dump(),
GetDump()
PositionToFirst
RecordRoot()
GetRecord()
FixRecord()
UnfixRecord()
One of the mandatory
parameters is missing.
ModifyIP
Address()
Create2062
Cluster()
Add2062Cluster()
Add2145Cluster()
Reset2062Node()
Reload2062Node()
One of the mandatory
parameters is missing or
not valid.
CreateOrModify
StoragePool()
CreateOrModify
ElementFrom
StoragePool()
Delete
StoragePool()
ReturnTo
StoragePool()
At least one of the
parameters is not valid.
CreateGatewayID()
GenerateCIMOM
Certificate()
One of the parameters was
not valid.
PositionAtRecord()
One of the mandatory
parameters is missing or
having a negative number
of records is not supported.
ModifySynchronized
Set()
The type of copy passed in
was different from 3 or 4.
5
6
60
Parameter not valid
CopyType not supported
SAN Volume Controller: CIM Agent Developer's Guide
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
Explanation
6
Operation not supported
ModifySynchronized
Set()
The operation code
submitted is not valid for
the copy type of the
synchronized set.
6
SynchronizedSet is not
empty
DeleteSynchronized
Set()
There are still
StorageSynchronized
associations in the set. All
StorageSynchronized
associations must be
removed before deletion of
the set can be run or the
Force flag must be set.
6
User ID already exists
CreateCode()
The user ID that you
submitted exists in another
account.
6
In use
GenerateCIMOM
Certificate()
Failed to generate new
certificate. Existing
certificate is still valid and
in use.
7
StorageSynchronized not in
the Set
The synchronized storage
does not exist in the set.
8
StorageSynchronized
already in the Set
The synchronized storage
already exists in the set and
cannot be added.
9
StorageSynchronized
incompatible with Set
The synchronized storage is
not compatible with the Set.
For example, a FlashCopy
is synchronized to a Sync
Copy set.
0x1000
Parameters checked – Job
started
The CLI copy command
was run and a job object
was returned.
0x1000
LogicalDevices associated to DeleteProtocol
Controller()
other ProtocolControllers
not deleted
At least one of the attached
storage volumes is attached
to another controller so it
cannot be deleted.
0x1000
LogicalDevice instance not
valid
AttachDevice()
The device is not a volume
of the RedundancyGroup of
the controller.
0x1000
LogicalDevice not
associated to Controller
DetachDevice()
The device has no
ProtocolControllerForUnit
association to this
controller.
0x1000
ID already created
CreateStorage
HardwareID()
The WWPN is already
assigned to an existing
storage hardware ID.
0x1000
Specified instance not
found
DeleteStorage
HardwareID()
The storage hardware ID
could not be found.
0x1000
HardwareID instance not
valid
CreateGateway
ID()
AddHardwareIDs
ToCollection()
The storage hardware ID
could not be found or is
already a member of
another collection.
Chapter 7. Return codes
61
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
Explanation
0x1001
Size not supported
CreateOrModify
ElementFrom
StoragePool()
The requested size is not
supported by the
primordial pools. The size
parameter contains the
nearest supported size
larger than the requested
one. The size requested was
not a multiple of 512. The
nearest supported size that
can be requested is returned
in size.
0x1001
Device Number Conflict
AttachDevice()
The specified device
number is already occupied.
0x1001
Hardware implementation
does not support specified
IDType
CreateStorage
HardwareID()
The type of ID is different
from 2.
0x8000
ComputerSystem not valid
AddNode()
The submitted
ComputerSystem was not a
IBMTSSVC_
CandidateNode.
EvictNode()
The submitted
ComputerSystem was not a
IBMTSSVC_Node.
Shutdown()
The submitted
ComputerSystem was not a
IBMTSSVC_Node of
IBMTSSVC_Cluster.
0x8000
Locale not valid
SetLocale()
The submitted Locale was
greater than 9.
0x8000
Type not valid
Dump()
A type greater than 2 was
passed in.
0x8000
Connection refused
GetDump()
A connection was lost to
the clustered system or
failed to connect to a node
(CISCO only).
0x8000
Backup not found
Restore
Configuration()
The specified backup was
not found.
0x8000
Delete failed
Delete
Configuration
Backup()
The deletion of the backup
directory failed. The failure
might have been caused by
a sharing violation.
0x8000
IOGroup must have Nodes
aggregated
SetIOGroup()
The I/O group does not
have any nodes.
0x8000
ID not valid
SetQuorum()
The quorum ID is a number
greater than 2.
0x8000
Volume not valid
IncludeBackend
Volume()
The volume is not expelled.
0x8000
CopyType not supported
AttachReplica()
The type of copy passed in
was different from 2 or 3.
CreateReplica()
The type of copy passed in
was different from 3 or 4.
62
SAN Volume Controller: CIM Agent Developer's Guide
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
Explanation
0x8000
Ports are from multiple
IOGroups
CreateProtocol
ControllerWith
Ports()
All ports are required to
belong to the same I/O
group.
0x8000
HardwareID still bound to
AuthorizationSubject. Force
required
DeleteStorage
HardwareID()
The hardware ID has access
granted to a storage volume
and Force was not
specified.
0x8000
Host is member of a LUN
mapping
DeleteHardware
IDCollection()
To delete this host either
use this host to run the
RemoveAccess method for
each privilege and
controller this host is
associated to or set “Force”
equal to “True.”
0x8000
Record(s) not found
GetRecord()
GetAllRecords()
No records were found.
0x8000
Cannot connect to clustered Create2062
system
Cluster()
Add2062
Cluster()
Unable to connect to the
clustered system.
0x8000
Connection to clustered
system refused
Add2145Cluster()
The connection to the
clustered system was
refused.
0x8000
Connection to switch
refused
Reset2062Node()
Reload2062Node()
The connection to the
switch was refused.
0x8000
Management IP not found
RemoveCluster()
The IP for the clustered
system cannot be found.
0x8001
Maximum number of nodes AddNode()
for clustered system
exceeded
All I/O groups already
have two nodes assigned to
them.
0x8001
Prefix not valid
Dump()
A file prefix and feature log
type were passed in at the
same time.
0x8001
File not found
GetDump()
The given file path was not
found (CISCO).
0x8001
Backup script failed
Backup
Configuration()
The backup script returned
with an error.
0x8001
Restore script failed
Restore
Configuration()
The backup script returned
with an error.
0x8001
Operation not supported
for current state
Modify
Configuration()
The operation submitted is
not supported in the
current state of the
synchronized storage. For
example, you cannot have a
“prepare” operation on a
synchronized storage in
“synchronized” state.
0x8001
Operation not supported
for current SyncState
Modify
Synchronized
Set()
The operation is not
supported with the current
SyncState of the set.
Chapter 7. Return codes
63
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
Explanation
0x8001
Unsupported protocol
CreateProtocol
ControllerWith
Ports()
Protocol != 2.
0x8001
Syntax error in
ClusterName
Create2062
Cluster()
Add2062Cluster()
Reset2062Node()
Reload2062Node()
The clustered system name
is not valid because of a
syntax error.
0x8002
ExtraCapacitySet not valid
AddNode()
The submitted
ExtraCapacitySet was not a
IBMTSSVC_ IOGroupSet.
0x8002
Secure copy failed
Backup
Configuration()
The download of the
backup file using secure
copy failed.
0x8002
Secure copy failed
Upload
Configuration()
The upload of the backup
file using secure copy
failed.
CreateStorage
HardwareID()
The name of the element
and setting are required to
be null.
0x8002
Syntax error in Node or
Node is not valid
Create2062
Cluster()
Add2062Cluster()
Reset2062Node()
Reload2062
Node()
The node contains a syntax
error, or the specified node
is not valid.
0x8003
Maximum number of
Nodes for IOGroup
exceeded
AddNode()
The submitted I/O group
set already has two nodes
assigned to it.
0x8003
Creation of backup dir
failed
Backup
Configuration()
The backup directory
cannot be created.
0x8003
Clear command failed
Upload
Configuration()
The clustered system /tmp/
directory cannot be cleared.
0x8003
Username or password not
valid (only ResetNode)
Add2062Cluster()
Reset2062Node()
Reload2062Node()
The user name or password
are not valid.
0x8004
Delete/rename of old
backup files failed
N/A
The backup directory
cannot be renamed or
deleted.
0x8004
Wrong SwitchIP / cant
connect to switch
Create2062
Cluster()
Add2062Cluster()
The IP for the switch is not
correct, so a connection to
the switch cannot be made.
0x8004
SwitchIP is not configured
Reset2062Node()
Reload2062Node()
The IP for the switch is not
configured.
0x8005
Syntax error in IP of
clustered system
N/A
The IP for the clustered
system contains a syntax
error.
0x8006
Slot not valid
N/A
The slot is not valid.
0x8007
Cannot upload public key
to switch
N/A
The public key cannot be
uploaded to the switch.
64
SAN Volume Controller: CIM Agent Developer's Guide
Table 6. Common Information Model return codes (continued)
CIM return code
Description
Method
Explanation
0x8100
Clustered system scope
violation
N/A
One or more parameters
were out of the clustered
system scope.
0x8200
N/A
N/A
The method was run
successfully but one or
more parameters were
ignored.
Chapter 7. Return codes
65
66
SAN Volume Controller: CIM Agent Developer's Guide
Appendix. Accessibility features for IBM SAN Volume Controller
Accessibility features help a user who has a physical disability, such as restricted
mobility or limited vision, to use software products successfully.
Accessibility features
These are the major accessibility features associated with the SAN Volume Controller
Information Center:
v You can use screen-reader software and a digital speech synthesizer to hear what
is displayed on the screen. PDF documents have been tested using Adobe
Reader version 7.0. HTML documents have been tested using JAWS version 13.0.
v This product uses standard Windows navigation keys.
Keyboard navigation
You can use keys or key combinations to perform operations and initiate menu
actions that can also be done through mouse actions. You can navigate the SAN
Volume Controller Information Center from the keyboard by using the shortcut keys
for your browser or screen-reader software. See your browser or screen-reader
software Help for a list of shortcut keys that it supports.
IBM and accessibility
See the IBM Human Ability and Accessibility Center for more information about
the commitment that IBM has to accessibility.
© Copyright IBM Corp. 2003, 2012
67
68
SAN Volume Controller: CIM Agent Developer's Guide
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user's responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not grant you
any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
For license inquiries regarding double-byte character set (DBCS) information,
contact the IBM Intellectual Property Department in your country or send
inquiries, in writing, to:
Intellectual Property Licensing
Legal and Intellectual Property Law
IBM Japan Ltd.
1623-14, Shimotsuruma, Yamato-shi
Kanagawa 242-8502 Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this statement may not apply
to you.
This information could include technical inaccuracies or typographical errors.
Changes are periodically made to the information herein; these changes will be
incorporated in new editions of the publication. IBM may make improvements
and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this IBM
product and use of those Web sites is at your own risk.
© Copyright IBM Corp. 2003, 2012
69
IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
Almaden Research
650 Harry Road
Bldg 80, D3-304, Department 277
San Jose, CA 95120-6099
U.S.A.
Such information may be available, subject to appropriate terms and conditions,
including in some cases, payment of a fee.
The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement or any equivalent agreement
between us.
Any performance data contained herein was determined in a controlled
environment. Therefore, the results obtained in other operating environments may
vary significantly. Some measurements may have been made on development-level
systems and there is no guarantee that these measurements will be the same on
generally available systems. Furthermore, some measurements may have been
estimated through extrapolation. Actual results may vary. Users of this document
should verify the applicable data for their specific environment.
Information concerning non-IBM products was obtained from the suppliers of
those products, their published announcements or other publicly available sources.
IBM has not tested those products and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the
suppliers of those products.
All statements regarding IBM's future direction or intent are subject to change or
withdrawal without notice, and represent goals and objectives only.
This information is for planning purposes only. The information herein is subject to
change before the products described become available.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which
illustrate programming techniques on various operating platforms. You may copy,
modify, and distribute these sample programs in any form without payment to
IBM, for the purposes of developing, using, marketing or distributing application
70
SAN Volume Controller: CIM Agent Developer's Guide
programs conforming to the application programming interface for the operating
platform for which the sample programs are written. These examples have not
been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or
imply reliability, serviceability, or function of these programs. The sample
programs are provided "AS IS", without warranty of any kind. IBM shall not be
liable for any damages arising out of your use of the sample programs.
If you are viewing this information softcopy, the photographs and color
illustrations may not appear.
Trademarks
IBM trademarks and special non-IBM trademarks in this information are identified
and attributed.
IBM, the IBM logo, and ibm.com® are trademarks or registered trademarks of
International Business Machines Corp., registered in many jurisdictions worldwide.
Other product and service names might be trademarks of IBM or other companies.
A current list of IBM trademarks is available on the web at Copyright and
trademark information at www.ibm.com/legal/copytrade.shtml.
Adobe and the Adobe logo are either registered trademarks or trademarks of
Adobe Systems Incorporated in the United States, and/or other countries.
Intel, Intel logo, Intel Xeon, and Pentium are trademarks or registered trademarks
of Intel Corporation or its subsidiaries in the United States and other countries.
Linux is a registered trademark of Linus Torvalds in the United States, other
countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of
Microsoft Corporation in the United States, other countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other
countries.
Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Oracle and/or its affiliates.
Notices
71
72
SAN Volume Controller: CIM Agent Developer's Guide
Index
A
configuration (continued)
creating a storage volume 33
modifying a storage pool 32
connection data, setting manually 49
copy services
creating a FlashCopy between storage
volumes 37
creating a FlashCopy for synchronized
set 39
creating synchronous relationship
between volumes in different
clustered system 41
creating synchronous relationship
between volumes in same clustered
system 40
diagram 14
FlashCopy (instant) 37
Global Mirror (asynchronous) 37
Metro Mirror (synchronous) 37
relationships 37
about this document
sending comments xiv
access point subprofile 9
accessibility
disability ix, 67
features 67
keyboard ix, 67
navigation 67
overview ix
repeat rate
up and down buttons 67
shortcut keys 67
accessing
publications 67
agent code, defined 3
Aperi 6
architectural diagrams 9
argument generators class 42
array creation
RAID 34
association, defined 2
D
B
block server performance subprofile
block services profile 11
9
C
candidate node, adding 31
CIM client frameworks 6
CIM object manager (CIMOM),
defined 3
CIMOM programming 6
class, defined 2
classes
supported 53
client application, defined 3
clustered system
creating synchronous relationship
between volumes in different
clustered system 41
creating synchronous relationship
between volumes in same clustered
system 40
mapping 42
subprofile 13
comments, sending xiv
Common Information Model (CIM),
defined 1
concepts 7
CIM agent 2
comparing CIM and SAN Volume
Controller 7
defined 2
configuration
adding candidate node to cluster 31
creating a RAID array 34
creating a storage pool 32
© Copyright IBM Corp. 2003, 2012
device provider, defined 3
device, defined 3
diagnostic tasks 51
collecting log files 52
diagrams 9
access point subprofile 9
block server performance
subprofile 9
block services profile 11
CIMOM on the clustered system 4
clustered system subprofile 13
copy services 14
disk drive lite profile 15
disk-drive failure association 17
disk-drive sparing CIM structure 16
extent composition subprofile 18
FC port profile 19
interop profile 20
iSCSI relationships 21
IsSpare association 17
job control profile 23
location subprofile 23
masking and mapping profile 24
multiple computer system profile 25
object manager adapter profile 26
physical package overview 27
RAID support 13
server profile 27
software profile 28
storage volume mirroring 29
typical CIM agent at work 4
disability
accessibility ix, 67
disk drive
failure association 17
spare extents 17
sparing 16
sparing CIM structure 16
disk drive lite profile 15
DiskDriveExtent failure 17
documentation
improvement xiv
E
error codes 55
examples
typical configuration 4
extent composition subprofile
18
F
FC port profile 19
FC port statistics 51
features
accessibility 67
FlashCopy
about 37
creating between storage volumes 37
creating for synchronized set 39
creating new target
StorageVolume 38
sample code
argument generators class 42
getCluster method 42
getConfigService method 42
getFCMappings method 42
getVolumes method 42
Java main method 42
makeFlashCopyMapping
method 42
prepareFCMapping method 42
startFCMapping method 42
functional diagrams 9
access point subprofile 9
block server performance
subprofile 9
block services profile 11
clustered system subprofile 13
copy services 14
disk drive lite profile 15
disk-drive failure association 17
disk-drive sparing CIM structure 16
extent composition subprofile 18
FC port profile 19
interop profile 20
iSCSI relationships 21
IsSpare association 17
job control profile 23
location subprofile 23
masking and mapping profile 24
multiple computer system profile 25
object manager adapter profile 26
physical package overview 27
RAID support 13
server profile 27
software profile 28
storage volume mirroring 29
73
G
Metro Mirror (synchronous) 37
multiple computer system profile
getCluster method 42
getConfigService method 42
getFCMappings method 42
getVolumes method 42
Global Mirror (asynchronous)
N
37
I
indication service 26, 51
indication, defined 2
information
center xi
instance, defined 2
interop profile 20
introduction 1
iSCSI relationships diagram
IsSpare association 17
namespace, defined 2
navigation
accessibility 67
network considerations
nodes
adding 31
49
O
21
object manager adapter profile
object path, defined 2
overview 2, 3
26
P
J
Java main method 42
Java WBEM Service project
job control profile 23
6
K
keyboard
accessibility
ix, 67
L
legal notices
Notices 69
trademarks 71
location subprofile 23
log files 52
M
main components 3
maintenance tasks 51
makeFlashCopyMapping method 42
Managed Object Format (MOF)
documentation 6, 53
Managed Object Format (MOF),
defined 2
mapping 7
CIM concepts to SAN Volume
Controller concepts 7
sample code, FlashCopy
argument generators class 42
getCluster method 42
getConfigService method 42
getFCMappings method 42
getVolumes method 42
Java main method 42
makeFlashCopyMapping
method 42
prepareFCMapping method 42
startFCMapping method 42
masking and mapping profile 24
method, defined 2
methods, supported 53
74
25
performance statistics 51
physical package overview diagram 27
prepareFCMapping method 42
profiles and subprofiles
access point subprofile 9
block server performance
subprofile 9
block services profile 11
clustered system subprofile 13
copy services 14
disk drive lite profile 15
extent composition subprofile 18
FC port profile 19
interop profile 20
job control profile 23
location subprofile 23
masking and mapping profile 24
multiple computer system profile 25
object manager adapter profile 26
RAID support 13
server profile 27
SMI-S, supported 53
software profile 28
property, defined 2
publications
accessing 67
Q
qualifier, defined
2
R
RAID
array creation 34
support diagram 13
reader feedback, sending xiv
reference, defined 2
related information xi
remote connection access 49
RemoteServiceAccessPoint (RSAP)
instance 49
return codes 55
SAN Volume Controller: CIM Agent Developer's Guide
S
SAN Volume Controller library
related publications xi
SBLIM CIM Client for Java 6
schema, defined 2
Secure Sockets Layer (SSL) 49
sending
comments xiv
server profile 27
Service Location Protocol (SLP) 4
defined 1, 3
services
FlashCopy (instant) 37
Global Mirror (asynchronous) 37
Metro Mirror (synchronous) 37
setting connection data manually 49
shortcut keys
accessibility 67
keyboard 67
SMI-S 1
SMI-S profiles 53
software profile 28
startFCMapping method 42
statistics, performance 51
storage configuration
adding
candidate node to cluster 31
storage configuration tasks 31
Storage Management Initiative
Specification (SMI-S) 1
supported profiles 53
storage pool
creating 32
modifying 32
storage volume
creating 33
creating a FlashCopy 37
creating a FlashCopy for synchronized
set 39
creating new target StorageVolume for
FlashCopy 38
creating synchronous relationship
between volumes in different
clustered system 41
creating synchronous relationship
between volumes in same clustered
system 40
parameters 33
storage volume mirroring diagram 29
subprofile
access point 9
block server performance 9
clustered system 13
extent composition 18
location 23
T
tasks, storage configuration
trademarks 71
31
W
Web-Based Enterprise Management
(WBEM), defined 1
Printed in USA
GC27-2288-03
Download PDF