Summary of Contents for VMware VC-SRM4-A - vCenter Site Recovery Manager
Page 1
Site Recovery Manager API Developer’s Guide VMware vCenter Site Recovery Manager 5.0 EN-000739-01...
Page 2
VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents. VMware is a registered trademark or trademark of VMware, Inc. in the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies.
1 summarizes changes in each release. Table 1. Revision History Revision Date Description 27 January 2012 Added Associated vCenter Server on page 12, corrected array based replication on pages 22‐23. 17 November 2011 Updated Site Recovery Manager API Developer’s Guide published after the SRM 5.0 release. 16 June 2008 Technical note entitled Site Recovery Manager API published with the SRM 1.0 release. Intended Audience This book is intended for developers who need to set up their environment to program applications with the Site Recovery Manager API. SRM developers typically include programmers using the Java or C# language and libraries to perform replication, failover, and reprotection of virtual machines in VMware vSphere. SRM developers should have some familiarity with the Web Services Description Language (WSDL) and the Simple Object Access Protocol (SOAP) for transmitting XML across the network. However the important interfaces are completely visible in Java or C# code. VMware Developer Publications To view the current version of this book as well as other VMware API and SDK public documentation, go to http://www.vmware.com/support/pubs/sdk_pubs.html. VMware Technical Publications Glossary VMware Technical Publications provides a glossary of terms that might be unfamiliar to you. For definitions of terms as they are used in VMware technical documentation go to http://www.vmware.com/support/pubs. Document Feedback VMware welcomes your suggestions for improving our documentation. Send your feedback to docfeedback@vmware.com. VMware, Inc.
Page 6
Site Recovery Manager API Developer’s Guide Technical Support and Education Resources The following sections describe the technical support resources available to you. To access the current versions of other VMware books, go to http://www.vmware.com/support/pubs. Online and Telephone Support To use online support to submit technical support requests, view your product and contract information, and register your products, go to http://www.vmware.com/support. Support Offerings To find out how VMware support offerings can help meet your business needs, go to http://www.vmware.com/support/services. VMware Professional Services VMware Education Services courses offer extensive hands‐on labs, case study examples, and course materials designed to be used as on‐the‐job reference tools. Courses are available onsite, in the classroom, and live online. For onsite pilot programs and implementation best practices, VMware Consulting Services provides offerings to help you assess, plan, build, and manage your virtual environment. To access information about education classes, certification programs, and consulting services, go to http://www.vmware.com/services. VMware, Inc.
“WSDL Programming Environments” on page 10 “Accessing vCenter Site Recovery Manager” on page 12 The SRM 5.0 release provides an extended API with a new set of methods to list and modify protection groups, and a set of revised methods to list, modify, and run recovery plans. Introduction to the API The SRM API provides an interface similar to the vSphere API, which is a object‐oriented Web service that provides access to vSphere and virtual machine management on vCenter Server and ESXi hosts. You program the vSphere API in Java, C#, or any language that supports Web services definition language (WDSL). The SRM API offers a way for third party systems to initiate test, failover, reprotect, or revert operations and collect the results. Protection groups and recovery plans are usually set up from the user interface (UI). Terminology This document defines and uses the following terms: Web service operations – Client interfaces that perform server‐side management and monitoring tasks. Standardized as Web Services Interoperability Organization (WS‐I) Basic Profile 1.0. WSDL – The Web services API is defined in a WSDL file, which is used by client‐side Web services to create proxy code (stubs) that client applications use to interact with the server. Standardized as Web Services Description Language (WSDL) 1.1. SOAP – Client applications invoke operations by sending SOAP formatted messages. When passing data objects between client and server, you need to build or parse a SOAP message that contains the data object properties as XML elements corresponding to the message structures described in the WSDL. Standardized by W3C as Simple Object Access Protocol (SOAP) 1.1. XML – A text representation scheme similar to HTML but with more stringent regularized syntax. Standardized by W3C as Extensible Markup Language (XML) 1.0. vSphere API Documentation For information about the vSphere API from which the SRM API is derived, see the vSphere API Reference and the [Web Services SDK] Programming Guide, both available on the VMware Web site. VMware, Inc.
ProtectionGroupQueryVmProtection Determine whether the specified VMs can be or currently are protected, which must be mapped to recovery site as per ListInventoryMappings. ProtectVms Protect the specified VMs. Each virtual machine’s folder, resource pool, and network must be mapped to the recovery site. UnprotectVms Unprotect the specified VMs. AssociateVms Associate the specified VMs with a group. VR only, a prerequisite for protection. UnassociateVms Unassociate the specified VMs with this group. VR only. Protection Task GetProtectionStatus Get the results of ProtectVms or UnprotectVms. GetTasks Get Task information from the vCenter Server for each virtual machine that was requested to be protected or unprotected. IsComplete Check if this Task has finished. GetResult Get the results of this Task (not in Release Notes). Recovery ListPlans Retrieve all the Recovery Plans for this SRM Server. GetHistory Retrieve the history for a given Recovery Plan. Recovery Plan RecoveryPlanGetInfo Retrieve basic information about the specified Recovery Plan. RecoveryPlanGetPeer Get the peer plan for this Recovery Plan. The returned object refers to a plan at the paired site, not the local site. Start Start the Recovery Plan in a selected mode: failover, reprotect, revert, or test. Requires Run privilege for test, Failover privilege for the others. VMware, Inc.
Retrieve total number of stored results, including both Recovery and peer plans. GetResultLength Get length of XML result document for the requested recovery result. RetrieveStatus Retrieve XML document for an historical run of the specified recovery plan. Old 1.0 Methods SrmLogin, SrmLogout Log in to and out of the SRM server. GetApiVersion Obtain the API version. ListRecoveryPlans Get a list of recovery plans at the SRM site. RecoveryPlanSettings Get the settings of a specific recovery plan at the SRM site. RecoveryPlanStart Start a specific recovery plan in recovery or test mode. RecoveryPlanPause Pause a running recovery plan. RecoveryPlanResume Restart a paused recovery plan. RecoveryPlanAnswerPrompt Answer a prompt. RecoveryPlanCancel Cancel a recovery plan. GetFinalStatus Get the final status of a recovery plan. Managed Object Hierarchy Figure 1‐1 shows the SRM managed object class hierarchy with each managed object’s methods. Figure 1-1. SRM Object Hierarchy VMware, Inc.
Figure 1-2. WSDL programming components WSDL2Java, WSDL wsdl.exe, or files other tool client application SRM server client proxy interface SOAP-encoded WSDL (Java, C#, method method or other) network invocation execution connection SRM Objects as WSDL Figure 1‐3, “SRM managed objects,” on page 11 shows SRM managed entities and class relationships as they fit into the VMware WSDL scheme. Classes with dashed lines are vSphere managed objects; for information about them, see the vSphere API Reference manual. VMware, Inc.
Page 11
Chapter 1 The Site Recovery Manager API Figure 1-3. SRM managed objects VMware, Inc.
The SRM SDK provides legacy sample code that requires Java SE 1.5 or later and Apache Axis 1.4. Samples are set up for stub generation on Windows or on Linux. Accessing vCenter Site Recovery Manager The SRM API provides language‐neutral interfaces to the VMware vCenter Site Recovery Manager (SRM) server management framework. Interfaces are provided for managing protection groups and recovery plans. Both array based replication and vSphere replication (VR) are supported. Location of the API The API is located in the following directory: <installdir>\www The API uses the following default listener port: SOAP – 9007 You can obtain the WSDL for the SRM API by requesting the file /srm.wsdl from the WSDL port. The API is implemented as an industry‐standard Web service running on the SRM server. The API complies with the Web Services Interoperability Organization (WS‐I) Basic Profile 1.0, which includes XML Schema 1.0, SOAP 1.1, and WSDL 1.1. For details about the WS‐I Basic Profile 1.0, see the http://www.ws‐i.org Web site. Associated vCenter Server The Site Recovery Manager API currently does not allow you to get the location of its associated vCenter Server, however you can find the SRM location from the vCenter Server using the vim.extensionManager – look for the com.vmware.vcDr extension. In the returned extensionList URL, use the https address following the vertical bar, probably on port 8095, ending in /dr. Port 8095 is the SOAP port for the SRM server’s internal API, while port 9007 is the SOAP port for the SRM server’s external API. Port 8095 serves internal APIs used by SRM client, and is proxied from vCenter Server with http on port 80 or https on port 8095. SRM clients can create a tunneled SSL connection through either port. Port 9007 serves APIs used by external customers so it has no proxy from vCenter Server. External clients must create an SSL connection directly to port 9007. You log in to SRM using the same credentials as for vCenter Server. Both SOAP ports 9007 and 8095 verify against these credentials. VMware, Inc.
You will need to provide an email address or customer number, with valid password, for authentication on the SRM download site. The SRM SDK is delivered as a ZIP archive (VMware-srm-sdk-<version>-<build>.zip) containing the following items: The WSDL and XML schema files that define the API available for SRM server management. Sample C# code for .NET and Java code for JAX‐WS demonstrating how to deal with a recovery plan. Batch files and shell scripts to automate the process of generating client‐side stubs, and for rebuilding the sample applications. For C# developers, Visual Studio project and solution files are included. Documentation, including the VMware Infrastructure SDK Reference Guide (the previous name for the vSphere API Reference) with language‐neutral descriptive information about object type definitions, properties, and method signatures for the SRM API. SDK Directory Structure After you unzip the Site Recovery Manager SDK, the following directories and sub‐directories appear. Many of the sub‐directories contain helpful readme files. Table 2-1. SDK directory structure Directory or File Description \doc Contains SDK‐README files and reference documentation for the SDK. \doc\ReferenceGuide API Reference for the VMware vCenter Site Recovery Manager API. \doc\ReferenceGuide\index.html To view the API Reference, open index.html with a Web browser. \doc\SDK_Terms_and_Conditions.* End user license agreement for the Site Recovery Manager SDK. VMware, Inc.
For C#, you need one of the Microsoft development environments, such as Visual Studio 2008 or Microsoft Visual C#. VMware recommends using Microsoft Visual Studio 2008, which includes the required .NET Framework. For more information, visit the MSDN Web site. For Java, you need the Java 2 Platform Standard Edition (J2SE) 5.0 or 6.0. VMware recommends the Java Development Kit (JDK) 1.6.0_22 or later. For more information, visit the Oracle Java Web site. Obtain the appropriate Web services client tools (XML parser, WSDL‐to‐proxy‐code generation tools, and runtime) for your programming language. For C#, you need Microsoft .NET Framework 2.0 or 1.1. If you already use Microsoft development tools, it is likely you already have this. You can obtain the .NET Framework 2.0 from MSDN. You also need the .NET 2.0 Software Development Kit, which includes the WSDL‐to‐stub generation tool (wsdl.exe) and the command‐line C# compiler (csc.exe), both of which get called from the gensrmstubs.cmd script. You can get the .NET 2.0 Software Development Kit from Microsoft: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=19988 For Java with JAX‐WS, you can use the JAX‐WS framework that comes with the JDK. For Java Axis, you need the Apache Axis 1.4 client‐side Web service libraries. For documentation and downloads, visit the Axis Apache Web site. The SDK includes sample code to list and prepare to test a recovery plan. To build and run the samples: For C# .NET, see “About the C# .NET Samples” on page 15. For JAX‐WS, see “About the Java JAX‐WS Samples” on page 16. For Java Axis, see “About the Java Axis Samples” on page 17. VMware, Inc.
“C:\Program Files\Microsoft Visual Studio 9.0\Common7” “C:\apps\Microsoft Visual Studio 9.0\Common7” If Visual C# Express is installed in its default folder C:\Program Files\Microsoft Visual Studio 9.0, you do not need to create or set the VSINSTALLDIR environment variable. Open a Visual Studio 2008 command prompt from the Windows Start Menu as follows: Start > Programs > Visual Studio 2008 > Visual Studio Tools > Command Prompt Navigate to the SDK\samples\DotNet sub‐directory. At the command prompt, type Build2008.cmd to execute the build commands. The build process generates the RecoveryPlan sample program, which lists all recovery plans and optionally gets state for the specified recovery plan. A sample build can be executed from the \bin or \debug directory of a project. You can also run samples from within Visual Studio, at the .NET command prompt. To display help text for any application, you can run the application without any parameters. To run the sample code from Visual Studio Start Visual Studio. Open the Sample2008.sln solution file. Change the Project Properties to specify the command line arguments: From the Project menu, select Properties to display the Property Pages dialog. In the Project_Name Property Pages dialog, select Configuration Properties—Debugging on the left. In the right‐hand pane (under Start Options), select Command Line Arguments. Click OK to save your changes. VMware, Inc.
It specifies the wsimport -wsdlLocation command line option to identify the WSDL file location. It copies the WSDL file and related schema files into the srm.jar file. To compile Java code that imports the generated stubs and uses the srm.jar built by the build.bat script, the WSDL file must be in the same location that was specified by the -wsdlLocation command line option. To establish this location, the build script modifies the SrmService class to reference the WSDL location inside the JAR file. You only need to add the srm.jar file to your class path. To run the JAX-WS sample code Change directory to sdk\samples\JAXWS (the JAR files are located) and set CLASSPATH. For example: set CLASSPATH=C:\sdk\samples\JAXWS\srm.jar;C:\sdk\samples\JAXWS\samples.jar;%CLASSPATH% Sometimes %CLASSPATH% has already been set to include %JAVAHOME%\lib or elsewhere. Run the program. Any sample program should print its usage summary if you do not specify an options, or if you specify --help on the command line. java com\vmware\recovery\RecoveryPlan --help run.bat com.vmware.recovery.RecoveryPlan --help The run.bat script accepts arguments to run a specified sample program and uses the VMKEYSTORE environment variable to securely access an SRM server. For more information about VMKEYSTORE, see “SSL Certificates” on page 33. To clean up JAX-WS sample code Change directory to sdk\samples\JAXWS where the build.bat script is located. Run the clean.bat script. VMware, Inc.
Sample Setting AXISHOME Complete path to the top‐level Axis installation directory. C:\Apache\axis1.4 Must be set before using the build.bat script. JAVAHOME Path to the binary directory for the Java JDK. C:\Java\jdk1.5.0_08 Start the Windows command prompt (or Linux shell). On 64‐bit Windows systems, run C:\Windows\SysWOW64\cmd.exe so the sample programs execute under Windows 32‐bit on Windows 64‐bit (WOW64). Navigate to the SDK\samples\Axis sub‐directory. At the command prompt, type build.bat to run the build batch file. The build process generates the RecoveryPlan sample program, which lists all recovery plans and optionally gets state for the specified recovery plan. To run the Java Axis sample code After you generate the sample program, you can run the batch script as follows: run.bat com.vmware.samples.recovery.RecoveryPlan --url <webserviceurl> --username <user> --password <passwd> --planname <planname> If you include the --ignorecert option, the sample code runs the following to get around an untrusted server certificate: System.setProperty("org.apache.axis.components.net.SecureSocketFactory", "org.apache.axis.components.net.SunFakeTrustSocketFactory"); You can remove build files by running the clean.bat batch script. VMware, Inc.
Page 18
Site Recovery Manager API Developer’s Guide VMware, Inc.
_svcRef = new ManagedObjectReference(); _svcRef.type = "SrmServiceInstance"; _svcRef.Value = svcRefVal; The Java code is similar to the C# code. Example 3-2. Java code to create SrmServiceInstance private static final String SVC_INST_NAME = "SrmServiceInstance"; private static ManagedObjectReference SVC_INST_REF = new ManagedObjectReference(); SVC_INST_REF.setType(SVC_INST_NAME); SVC_INST_REF.setValue(SVC_INST_NAME); srmService = new SrmService(); VMware, Inc.
SrmLoginSites The SrmLoginSites API is very similar to SrmLoginLocale, except it takes an additional user name and password combination for the remote (usually recovery) site. The SrmServiceInstance _this is obtained from the local (usually protected) site. Example 3-5. C# and Java for double SRM login /// C# _service.SrmLoginSites(_svcRef, username, password, remoteuser, remotepass, locale); // Java _service.srmLoginSites(_svcRef, username, password, remoteuser, remotepass, locale); Parameters are as follows _svcRef – managed object reference to SrmServiceInstance username – user name authorized for access to the local vCenter Server password – password for that user on the local vCenter Server remoteuser – user name authorized for access to the remote vCenter Server VMware, Inc.
This method gets the API version on the SRM Server that the program is logged into. Note that this is an old version 1.0 method, part of managed object SrmApi, and unlike most other methods local to SrmApi, has no direct replacement in the 5.0 API. Example 3-8. Method to get API version apiversion = _service.GetApiVersion(_svcRef); Parameter and return value: _svcRef – managed object reference to SrmServiceInstance apiversion – a string representing the API version, such as “5.0” Table 3‐1 shows the remaining old 1.0 APIs and their replacement 5.0 APIs. Table 3-1. Replaced APIs SrmApi Replacement 5.0 API ListRecoveryPlans SrmRecovery.ListPlans RecoveryPlanAnswerPrompt SrmRecoveryPlan.AnswerPrompt RecoveryPlanSettings SrmRecoveryPlan.RecoveryPlanGetInfo RecoveryPlanStart, RecoveryPlanCancel SrmRecoveryPlan.Start, SrmRecoveryPlan.Cancel GetFinalStatus SrmRecoveryHistory.GetRecoveryResult VMware, Inc.
Example 3-10. Method to list protection groups SrmProtectionGroup[] = _service.ListProtectionGroups(_svcRef); Parameter and return value: _svcRef – managed object reference to an SrmProtection object SrmProtectionGroup[] – an array of managed object references to all the SrmProtectionGroup managed objects that are currently configured ListReplicatedDatastores This method queries and lists replicated datastores. A datastore is replicated if it contains any virtual machines in a protection group. Example 3-11. Method to list replicated datastores Datastore[] = _service.ListReplicatedDatastores(_svcRef); Parameter and return value: _svcRef – managed object reference to an SrmProtection object Datastore[] – an array of managed object references to the replicated Datastore managed objects You can also query protected virtual machines with “ProtectionGroupQueryVmProtection” on page 26. ProtectVms This method adds virtual machines to a protection group. With array based replication, the protection group is determined by datastore location of the virtual machines. With vSphere replication (VR), you use the AssociateVms method to place virtual machines into a protection group. VMware, Inc.
This method retrieves the task information from vCenter Server after a ProtectVms or UnprotectVms request, which take some time to complete. Example 3-14. Method to get protection tasks SrmProtectionTaskVmTask[] = _service.GetTasks(_svcRef); Parameters and return value: _svcRef – managed object reference to an SrmProtectionTask object SrmProtectionTaskVmTask[] – Array of monitorable task information objects, each containing: task – managed object reference to a task on the SRM server vm – managed object reference to a VirtualMachine IsComplete This method checks whether the protection task has completed. Example 3-15. Method to check protection task isDone = _service.IsComplete(_svcRef); Parameters and return value: _svcRef – managed object reference to an SrmProtectionTask object VMware, Inc.
Example 3-18. Method to get protection group information ptGrpInfo = _service.GetInfo(_svcPtGrp); Parameter and return value: _svcPtGrp – managed object reference to an SrmProtectionGroup object ptGrpInfo – information about the protection group description – protection group description name – protection group name type – either san for array based replication, or vr for vSphere replication GetPeer Given an SrmProtectionGroup on the local site, this method retrieves the SrmProtectionGroup at the peer site. Example 3-19. Method to get peer protection group peerPtGrp = _service.GetPeer(_svcPtGrp); Parameter and return value: _svcPtGrp – managed object reference to the local SrmProtectionGroup object VMware, Inc.
Example 3-21. Method to list protected datastores datastore[] = _service.ListProtectedDatastores(_svcPtGrp); Parameter and return value: _svcPtGrp – managed object reference to the local SrmProtectionGroup object datastore[] – array of managed object references to Datastore objects ListProtectedVms This method retrieves a list of virtual machines that are protected by the specified protection group. Example 3-22. Method to list protected virtual machines protectedVm[] = _service.ListProtectedVms(_svcPtGrp); Parameter and return value: _svcPtGrp – managed object reference to the local SrmProtectionGroup object protectedVm[] – array of SrmProtectionGroupProtectedVm data objects with the following fields: faults – any faults associated with this protected virtual machine needsConfiguration – the protected virtual machine needs to be configured or repaired peerProtectedVm – the protected virtual machine identifier on the remote site peerState – the protection state on the remote site VMware, Inc.
recoveryPlans – any recovery plans the virtual machine will be recovered in status – the current protection status of the virtual machine vm – the virtual machine for which protection status is being returned You can also query replicated datastores with “ListReplicatedDatastores” on page 22. ProtectionGroupListRecoveryPlans This method retrieves a list of all the recovery plans that this protection group is a member of. Example 3-24. Method to list a protection group’s recovery plans plans[] = _service.ProtectionGroupListRecoveryPlans(_svcPtGrp); Parameters and return value: _svcPtGrp – managed object reference to an SrmProtectionGroup object plans[] – array of managed object references to SrmRecoveryPlan objects Recovery Plans and Reprotection This section covers the Site Recovery Manager API methods for recovery plans and reprotection. You can set the recovery point objective (RPO), a desired time period for rerunning replication to avoid data loss, using a slider in the vSphere Client. This is also where you can configure guest OS quiescing. You can also set the recovery priority of virtual machines as part of running a recovery plan. VMware, Inc.
Example 3-27. Method to get recovery plan status status = _service.RecoveryPlanGetInfo(_srm.plan); Parameters and return value: _srm.plan – managed object reference to an SrmRecoveryPlan object status – managed object reference to an SrmRecoveryPlanInfo object, which includes possible states: cancelling – recovery plan is in the process of cancelling error – recovery plan has errors failedOver – recovery plan has failed over needsCleanup – need to cleanup a test run needsFailover – need to re‐run failover needsReprotect – need to re‐run reprotect needsRollback – need to re‐run rollback prompting – recovery plan is running, but requires user‐interaction before it may continue protecting – recovery plan is protecting to the remote site, run peer recovery plan on the remote site ready – recovery plan is not in a running state and may be run running – recovery plan is currently running VMware, Inc.
System.out.println(info.getState()); RecoveryPlanGetPeer This method retrieves a recovery plan peer, which is the plan at the paired site rather than at the local site. Example 3-30. Method to get recovery plan peer peer = _service.RecoveryPlanGetPeer(_srm.plan); Parameters and return value: _srm.plan – managed object reference to an SrmRecoveryPlan object peer – managed object reference to an SrmRecoveryPlanPeer object Start This method starts the specified recovery plan, in the specified mode. Example 3-31. Method to start recovery plan void _service.Start(_srm.plan, mode); There is no return value. Parameters are as follows: _srm.plan – managed object reference to an SrmRecoveryPlan object mode – one of the following recovery modes: VMware, Inc.
Example 3-33. Method to list prompts prompts[] = _service.ListPrompts(_srm.plan); Parameters and return value: _srm.plan – managed object reference to an SrmRecoveryPlan object prompts[] – array of data objects containing the prompt, and the key for responding to the prompt AnswerPrompt This method answers the current prompt step in a recovery plan, and requires test or failover privilege depending on the mode of recovery. Example 3-34. Method to answer prompt void _service.AnswerPrompt(_srm.plan, key, cancel, response); There is no return value. Parameters are as follows: _srm.plan – managed object reference to an SrmRecoveryPlan object key – string with the key value for responding to the prompt cancel – true is you want to halt further processing on this virtual machine, false otherwise response – a text string that will be recorded as the answer to this prompt GetHistory This method retrieves the history of a given recovery plan. VMware, Inc.
executionTimeInSeconds – total execution time in seconds key – unique key for this recovery result, useful for subsequent methods name – the recovery plan’s name at the time of this run plan – recovery plan that this result covers resultState – the result state, which is only the final state indicating completion or failure runMode – mode of recovery when plan was initiated (test, failover, reprotect, revert) startTime, stopTime – time when the recovery was started and when it completed or stopped totalPausedTimeInSeconds – total time the recovery plan was paused warningCount – count of warning‐level faults that were generated by the operation GetResultCount This method retrieves the number of stored (XML) results for the specified recovery plan and peer plan history. Example 3-37. Method to get recovery result history count entries = _service.GetResultCount(_srm.history); Parameters and return value: _srm.history – managed object reference to an SrmRecoveryHistory object entries – integer specifying the number of stored (XML) history results for this plan VMware, Inc.
key – unique key for the plan history, from return value of the GetRecoveryResults method offset – integer specifying the starting line number in the XML file, starting at 0 lines – integer specifying the maximum number of lines to retrieve recoveryhistory – string containing an XML representation of all recovery steps and their results vSphere Replication Methods You can use these methods with vSphere replication (VR) but not with array based replication. For array based replication, SRM organizes datastore groups to collect all files associated with protected virtual machines. You associate datastore groups with protection groups. All virtual machines in a datastore group replicate files together, and all virtual machines failover together. For VR, you can configure replication for one virtual machine by associating it with a protection group, or you can configure multiple virtual machines by associating their folder or datacenter with a protection group. ListAssociatedVms This method lists the virtual machines currently associated with a specified VR protection group. For the method to get a list of protection groups, see “ListProtectionGroups” on page 22. Example 3-40. Method to list associated virtual machines VirtualMachine[] = _service.ListAssociatedVms(_svcPtGrp); Parameter and return value: _svcPtGrp – managed object reference to an SrmProtectionGroup object VirtualMachine[] – an array of managed object references to VirtualMachine objects VMware, Inc.
Example 3-41. Method to associate virtual machines with a protection group void _service.AssociateVms(_svcPtGrp, VirtualMachine[] ); Parameters: _svcPtGrp – managed object reference to an SrmProtectionGroup object VirtualMachine[] – an array of managed object references to VirtualMachine object(s) UnassociateVms This method removes the association of one or more virtual machines with a specified VR protection group. Once a virtual machine is unassociated, it can no longer be protected. Example 3-42. Method to unassociate virtual machines with protection group void _service.UnssociateVms(_svcPtGrp, VirtualMachine[] ); Parameters: _svcPtGrp – managed object reference to an SrmProtectionGroup object VirtualMachine[] – an array of managed object references to VirtualMachine object(s) VMware, Inc.
“SSL Certificates” on page 33 “SNMP Traps” on page 35 SSL Certificates The SRM Web service listens by default on port 9007. It uses SSL to encrypt communications between a client application and the server. The SSL certificate of the target server must reside on the client machine. To access the Web service programmatically, use its URN from a Web services client application, for example: https://<FQDN.hostname.or.IP.Address>:9007 Server Certificate Requirements The SRM API is a secure Web service running on the SRM Server. To develop client applications, you must obtain the vCenter Server certificate, which is used by the SRM Server, and import it into the certificate store of the workstation where you develop client applications. To obtain a vCenter Server certificate: From your development workstation, open Internet Explorer (IE). Navigate to the vCenter Server using HTTPS protocol – https://<servername>. A Security Alert message displays a warning regarding the certificate’s certifying authority. Click View Certificate. Click Install Certificate to launch the Certificate Import wizard. Keep the default settings and click Next. Click Finish. A security warning message displays concerning the certificate’s certifying authority. Click Yes. A Certificate Import wizard “success” message displays. Click OK to dismiss the success message. The Certificate Properties page becomes active again. Click OK in the Certificate dialog box to continue to the server. The initial Security Alert message presented in step 2 becomes active again. Click Yes in the Security Alert message to continue with the original HTTPS request. The server Welcome page displays. The certificate is now installed in the IE certificate cache. Now that you have the certificate, your next task depends on what programming language you use to develop your client applications. VMware, Inc.
VMware. Click the certificate to select it. Click Export... to launch the Certificate Export Wizard. Click Next to continue. The Export File Format dialog displays. 10 Keep the defaults (“DER encoded binary X.509 (.CER)”) and click Next to continue. The File To Export dialog displays, enabling you to enter a unique name for the certificate. 11 Choose a filename and enter it, along with the complete path to the directory: C:\VMware‐Certs\<servername>.cer If you do not enter the complete path, the certificate is stored in your Documents and Settings folder. 12 Click Next to continue with the export. A Completing the Certificate Export Wizard page displays, summarizing the information about the certificate. 13 Click Finish to complete the export. A Certificate Export Wizard “success” message displays. 14 Click OK to dismiss the success message. 15 Click Close. 16 Click Cancel to close the Internet Options properties page. For more information about setting up your Java development environment, see “Setting Up for Java Development” in the Developer’s Setup Guide located at the VMware Web site developer support page under the vSphere Web Services SDK. About the Virtual Machine Keystore A Java KeyStore (JKS) is a repository of security certificates – either authorization certificates or public key certificates – used for SSL encryption and related activities. The Java Development Kit (JDK) maintains a keystore in jre/lib/security/cacerts, and provides the keytool command to manipulate it. The VMKEYSTORE environment variable specifies the path to the JKS. The run.sh and run.bat scripts both refer to it. If you use the --ignorecert argument to run Java samples, you must still set the VMKEYSTORE variable, but you can set it to any location, not the actual JKS location. Sample paths, Windows and Linux: VMKEYSTORE=C:\VMware-Certs\vmware.keystore VMKEYSTORE=/root/vmware-certs/vmware.keystore VMware, Inc.
Signaled on the recovery site when SRM starts to run a Callout command on the SRM server. RecoveryPlanServerCommandEnd Signaled on the recovery site when SRM has finished running a Callout command on the SRM server. RecoveryPlanVmCommandBegin Signaled on the recovery site when SRM has started to run a Callout command on a recovered virtual machine. RecoveryPlanVmCommandEnd Signaled on the recovery site when SRM has finished running a Callout command on a recovered virtual machine. RecoveryPlanExecuteReprotectBegin Signaled on the recovery site when a reprotect is initiated. RecoveryPlanExecuteReprotectEnd Signaled on the recovery site when a reprotect has completed. If an error occurred it is available as [data.Error] RecoveryPlanExecuteCleanupBegin Signaled on the recovery site when a test cleanup is initiated. RecoveryPlanExecuteCleanupEnd Signaled on the recovery site when a test cleanup has completed. If an error occurred it is available as [data.Error] SNMP Traps and Object IDs The MIB objects are listed below with IDs, then the SMNP traps themselves with IDs. MIB_OBJECT oidDrVmName 1.3.6.1.4.1.6876.51.1.1 oidDrRecoveryName 1.3.6.1.4.1.6876.51.1.2 oidDrPromptString 1.3.6.1.4.1.6876.51.1.3 oidDrRecoveryType 1.3.6.1.4.1.6876.51.1.4 oidDrRecoveryState 1.3.6.1.4.1.6876.51.1.5 VMware, Inc.
Page 36
<-- New MIB trap RecoveryPlanVmCommandBegin 1.3.6.1.4.1.6876.51.0.11 <-- New MIB trap RecoveryPlanVmCommandEnd 1.3.6.1.4.1.6876.51.0.12 <-- New MIB trap RecoveryPlanExecuteReprotectBegin 1.3.6.1.4.1.6876.51.0.13 <-- New MIB trap RecoveryPlanExecuteReprotectEnd 1.3.6.1.4.1.6876.51.0.14 <-- New MIB trap RecoveryPlanExecuteCleanupBegin 1.3.6.1.4.1.6876.51.0.15 <-- New MIB trap RecoveryPlanExecuteCleanupEnd 1.3.6.1.4.1.6876.51.0.16 <-- New MIB trap VMware, Inc.
SDK 13 locale, setting local language 20 documentation location of SRM API on Web 12 VMware developer support 5 login to SRM server(s) 19 vSphere API reference 7, 13 Web services SDK 7 downloading the SDK package 13...
Page 38
SDK package 13 vCenter Server SSL security certificate 33 virtual machine protection 8 VMKEYSTORE 16, 34 vmwareSrm names in MIB file 35 Web location of SRM API 12 web service, definition 7 WSDL diagram with SRM server 10 VMware, Inc.
Need help?
Do you have a question about the VC-SRM4-A - vCenter Site Recovery Manager and is the answer not in the manual?
Questions and answers