You are on page 1of 68

Disaster Recovery using

Veritas Storage Foundation Enterprise HA
and IBM System Storage SAN Volume
Controller Metro Mirror & Global Mirror

.

.

Solution Installation and Configuration

.

.

.

.

.

Document SM102-5
September 26, 2008

© Copyright IBM Corporation, 2008. All Rights Reserved.
All trademarks or registered trademarks mentioned herein are the property of their respective holders

.

Table of contents
Abstract........................................................................................................................................4
Introduction .................................................................................................................................4
About High Availability ............................................................................................................................. 4
About Disaster Recovery ......................................................................................................................... 4
About IBM ................................................................................................................................................ 4
About Symantec....................................................................................................................................... 5
About Veritas Storage Foundation HA..................................................................................................... 5
About SAN Volume Controller ................................................................................................................. 5

Overview ......................................................................................................................................7
Test System Configuration ........................................................................................................7
Installing and Configuring SAN Volume Controller ...............................................................11
Fabric Zoning ......................................................................................................................................... 11
SAN Volume Controller Software Installation ........................................................................................ 12
SAN Volume Controller Storage Configuration ..................................................................................... 12
Setting up SAN Volume Controller Cluster Partnership ........................................................................ 13
Create SVC Metro Mirror, SVC Global Mirror and FlashCopy Consistency Groups............................. 14
Create SVC Metro Mirror, SVC Global Mirror Relationship and FlashCopy Mappings......................... 15

Installing Veritas Storage Foundation ....................................................................................16
Symantec Product Licensing ................................................................................................................. 16
Supported AIX Operating Systems........................................................................................................ 16
Database Requirements ........................................................................................................................ 17
Disk Space............................................................................................................................................. 17
Environment Variables........................................................................................................................... 17
Virtual IP Address .................................................................................................................................. 17
Prerequisites for Remote and Cluster Installation ................................................................................. 17
Mounting a Software Disk...................................................................................................................... 18
Installing Using the Veritas Product Installer ......................................................................................... 18
Upgrading Veritas Storage Foundation HA to 5.0MP1RP3................................................................... 21

Installing and Upgrading VCS agent for DB2 .........................................................................22
Installing and Upgrading VCS agent for Oracle .....................................................................23
Installing VCS agent for IBM SVCCopyServices ....................................................................23
Installing and Configuring DB2, Oracle ..................................................................................23
Configuring Applications for Disaster Recovery ...................................................................24
Quick Setup ........................................................................................................................................... 24
General Configuration Steps ................................................................................................................. 25
Setting up SVC Cluster Partnership ...................................................................................................... 25
Configuring SVC Metro / Global Mirror, FlashCopy Relationship.......................................................... 25
Setting up VCS Global Custer ............................................................................................................... 25
Configuring VCS Application Service Group ......................................................................................... 26
Adding the VCS SVC CopyServices Resource ..................................................................................... 28

Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror

2

Setting up Firedrill .................................................................................................................................. 31

Failover Scenarios ....................................................................................................................33
Application Host Failover ....................................................................................................................... 34
Disaster Recovery in a Global Cluster Configuration ............................................................................ 34
Checking Failover Readiness with Firedrill............................................................................................ 35

Summary....................................................................................................................................37
Appendix A: VCS Configuration File (main.cf) with DB2, Oracle Application Service
Group for HA/DR .......................................................................................................................38
Appendix B: Setting up the Database Applications...............................................................56
Setting up the DB2 Database Application.............................................................................................. 56
Setting up the Oracle Database Application.......................................................................................... 59

Appendix C: Veritas Software Filesets Listing.......................................................................66
Trademarks and Special Notices .............................................................................................68

Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror

3

Introduction Infrastructure for mission critical applications must be able to meet the organization's Recovery Time Objective (RTO) and Recovery Point Objective (RPO) for resuming operation in the event of a site disaster. analyzing and optimizing information on demand. For a disaster that affects an entire site. Local clustering provides local failover for each site. From its foundations of virtualization. SAN Volume Controller Metro Mirror and Global Mirror and Veritas Storage Foundation Enterprise HA/DR provide the capability for implementing disaster recovery. This solution addresses environments where the RPOs and RTOs are in the range of minutes to a few hours. openness Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 4 . data and critical services are failed over to a site hundreds or thousands of miles away. replication alone is not enough as having the application data at a DR site is of limited use without also having the ability to start the correct sequence of database management systems. SAN Volume Controller includes High Availability features as well. but generally the term has become associated with clustering. storage. Symantec’s DR solutions Metro Clustering and Global Clustering are extensions of local HA clustering using Veritas Storage Foundation and Veritas Cluster Server. When that decision is made. IBM SAN Volume Controller Global Mirror replicates data asynchronously between sites and applies recovery at the DR sites About High Availability The term high availability (HA) refers to a state where data and applications are highly available because software or hardware is in place to maintain the continued functioning in the event of computer failure. If a disaster affects a local or metropolitan area.Abstract This document describes how Symantec and IBM have installed. About Disaster Recovery Wide area disaster recovery (DR) provides the ultimate protection for data and applications in the event of a disaster. The configuration was extended to a DR configuration using IBM SVC Metro Mirror for synchronous replication and SVC Global Mirror for asynchronous replication with the VCS agent for IBM SVC CopyServices and VCS Global Cluster Option for alternate site failover/failback capability. Also. to deliver more efficient and effective services. About IBM IBM is the world's largest information technology company. This validated and documented solution is an example of Global Clustering. software and services portfolio is designed to help you create new business insight by integrating. These validations include local HA configurations using Veritas Storage Foundation™ and Veritas Cluster Server™. large and small. and business applications. a collection of two or more VCS clusters at separate locations linked together with VCS Global Cluster Option to enable wide area failover and disaster recovery. with over 80 years of leadership in helping businesses innovate by delivering a wide range of solutions and technologies that enable customers. Veritas Storage Foundation Enterprise HA (SF/HA) includes Veritas Storage Foundation and Veritas Cluster Server and provides the capability for local clustering. the application is automatically migrated to a system at the DR site. While backup is the foundation for any DR plan. IBM SAN Volume Controller Metro Mirror replicates data between sites to maintain synchronized copies of storage at the two sites. the customer makes a decision on whether to move operations to the disaster recovery site. application servers. High availability can refer to any software or hardware that provides fault tolerance. configured and validated High Availability (HA) and Disaster Recovery (DR) configurations for DB2® and Oracle with IBM System Storage™ SAN Volume Controller (SVC). Local clustering provides high availability through database and application failover. typical RTOs for tape based backup are well beyond these objectives. IBM's comprehensive server. Each local cluster within the global cluster is connected to its own shared storage.

enabling businesses and consumers to have confidence in a connected world. which helps administrators to focus on managing storage as a resource to meet business requirements and not as a set of boxes. About SAN Volume Controller IBM System Storage SAN Volume Controller (SVC) is a storage virtualization system designed to help users reduce the costs and complexity associated with storage. Cluster Server gracefully shuts down the application. Veritas Storage Foundation provides a complete solution for heterogeneous online storage management. and improve efficiency. By monitoring the status of applications and automatically moving them to another server in the event of a fault. Storage Foundation enables IT organizations to manage their storage infrastructure with one tool. California. non-disruptive configuration and administration. dynamic storage tiering. it provides a standard set of integrated tools to centrally manage explosive data growth. and resumes normal operations. SAN Volume Controller is also designed to hide the boundaries among disk systems. provide data protection and adapt to changing business requirements. Veritas Cluster Server can temporarily move applications to a standby server when routine maintenance such as upgrades or patches requires that the primary server be taken offline. Symantec has operations in more than 40 countries. The company helps customers protect their infrastructure.com. About Symantec Symantec is a global leader in infrastructure software. network. Visit IBM at ibm. connects it to the appropriate storage device. availability. Visit Symantec at symantec. SAN Volume Controller is designed to pool storage volumes from IBM and nonIBM storage systems into reservoirs of capacity for centralized management. When a failure is detected. Veritas Cluster Server can detect faults in an application and all its dependent components. Unlike point solutions. data migration and local and remote replication. including the associated database. maximize storage hardware investments. Based on the industry-leading Veritas Volume Manager™ and Veritas File System™. Headquartered in Cupertino. compliance and performance. operating system. Veritas Cluster Server can dramatically increase the availability of an application or database. Storage Foundation enables organizations to reduce operational costs and capital expenditures across the data center. restarts it on an available server. information and interactions by delivering software and services that address risks to security. and storage resources. IBM can optimize management of information through technology innovations and infrastructure simplification to help achieve maximum business productivity. With advanced features such as centralized storage management. Veritas Cluster Server is an industry leading clustering solution for reducing both planned and unplanned downtime. dynamic multi-pathing. SAN Volume Controller Highlights SVC is designed to… Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 5 .com About Veritas Storage Foundation HA Veritas Storage Foundation HA is a comprehensive solution that delivers data and application availability by bringing together two industry-leading products: Veritas Storage Foundation and Veritas Cluster Server.and innovation through collaboration.

to lower-cost devices and across storage systems from multiple vendors Find SVC on the web at ibm. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 6 . Combine storage capacity from multiple disk systems into a single reservoir of capacity that can be better managed as a business resource and not as separate boxes  Help increase storage utilization by providing host applications with more flexible access to capacity  Help improve productivity of storage administrators by enabling management of heterogeneous storage systems using a common interface  Support improved application availability by insulating host applications from changes to the physical storage infrastructure  Enable a tiered storage environment in which the cost of storage can be better matched to the value of data  Support advanced copy services from higher.com/storage/svc.

and IBM System Storage DS8300 storage attached to the SAN through the switch. Test System Configuration A cluster configuration can be configured as shown in Figure 1. an SVC cluster with 1 iogroup. Once the setup is complete. The document provides instructions for installing and configuring a test setup and then provides procedures for the scenarios. Two sets of volume groups are used for the configuration described above. SAN Volume Controller Global Mirror and VCS Global Cluster Option. A fire drill procedure verifies the fault-readiness of a disaster recovery ® configuration.cf. it is ready for conducting cluster failover and cluster failback across two cluster sites using SAN Volume Controller Metro Mirror. This configuration includes   A cluster at Site A consisting of two AIX System p hosts configured as a 2-node VCS cluster. an SVC cluster with 1-iogroup. Once Site A is restored and becomes available. and IBM System Storage DS8300 storage attached to the SAN through the switch.oradb2 sample configuration. a fault is injected in that node causing the application to failover to a node of a two node cluster at Site B.Overview This whitepaper illustrates the steps involved in installing and configuring Veritas Storage Foundation HA and IBM SAN Volume Controller Metro Mirror and IBM SAN Volume Controller Global Mirror for a host failover and disaster recovery readiness scenario. One set is used for configuring Metro Mirror and another set is used for Global Mirror. VCS configured with GCO brings up the DB2 / Oracle application global service group on that node at Site B. The host failover scenario simulates a fault in a node of a two node VCS cluster at Site A. The disaster recovery readiness scenario simulates a disaster by introducing a fault in the nodes of the cluster and storage at Site A causing the application to failover to a node of a two node cluster at Site B. A cluster at Site B consisting of two AIX System p hosts configured as a 2-node VCS cluster. The VCS IBM SVC Copy Services agent manages the necessary SAN Volume Controller related procedures for failover and failback.VCS Friredrill uses IBM FlashCopy . A third volume group set is used for FlashCopy. To test for DR readiness the VCS Firedrill set is configured. The Failover Scenarios section provides procedural details. using main. Once the DB2 / Oracle application servicegroup fails over to the other node. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 7 . the application is failed back to Site A.

ora). The configuration and hardware and software components are listed in Table 1 and Table 2. The two clusters represent two sites. The cluster at Site A is the active cluster and the cluster at Site B is the standby cluster. Figure 2 shows the test system configuration.cf. The hosts are AIX IBM System p servers. In the test configuration there are only 2 ISLs shown between the remote and local cluster. VCS cluster and IBM SVC Metro and Global Mirror for Disaster Recovery The test configuration setup built for this whitepaper (see Figure 2) consists of four application hosts. There are three VCS configuration files: The first configuration is for an Oracle application (main.cf.oradb2). the second configuration is for a DB2 application (main. Site A and Site B. That is adequate for this demonstration but the design of a production configuration should ensure adequate provisioning of intercluster bandwidth. Table 4 shows the SAN Volume Controller virtual disk map. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 8 . More than 2 ISLs may be required and they may need to be trunked. The four servers are configured to form two 2-node Storage Foundation cluster servers.Disk systems Disk systems Console Console long distance connection switch switch 2 node SVC cluster 2 node SVC cluster 2 node VCS cluster server 2 node VCS cluster server WAN Application Clients Application Clients Site A Site B Figure 1.Db2) and the third configuration is a combination of the first and second and a firedrill resource (main. The scenario explained in the Overview uses the third configuration.cf. In this setup both DB2 and Oracle applications are installed on the same cluster.

3 Veritas SF HA/DR ClustsvcP ClustsvcPNd2 IBM P650 AIX 5.SI1 SVCMetro/Global mdisks Db2.3 Veritas SF HA/DR ClustsvcS (GCO) VCS Cluster Site A ClustsvcS (GCO) VCS Cluster Site B WINDOWS CLIENTS Figure 2. Oracle Application data disks Other Application data disks lss0000 lss0001 lss0002 lss0100 lss0101 lss102 lss0006 lss0007 lss0003 HMC1 Site A SI2 lss0004 75ABNY2 75ABNY1 SVC Vdisks vdisk001 vdisk002 vdisk003 vdisk004 vdisk005 vdisk006 vdisk007 vdisk008 vdisk009 vdisk010 Site B Thunder 9200 SVCMetro/Global mdisks lss0001 lss0005 lss0002 vdisk101 vdisk102 vdisk103 vdisk104 vdisk105 vdisk106 vdisk107 vdisk108 vdisk109 vdisk110 lss0003 lss0004 lss0005 lss0006 lss0007 lss0008 lss0009 lss0004 lss0010 lss0005 lss0011 mdisk01 SVC Vdisks mdisk02 mdisk03 mdisk04 mdisk05 mdisk06 FlashCopy vdisks DS8300 SVC1 node 01 SVC1 node 02 SWITCH 042 SWITCH 044 SVC Console Hitachi SVC Console SVC2 node 01 SVC2 node 02 WAN ClustsvcP ClustsvcPNd1 IBM P650 AIX 5. Test cluster configuration with SVC Metro and Global Mirror Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 9 .

7.688TB(128x146GB HBA Ports Array Model 32 HDS Thunder 9200 Firmware Version Capacity HBA Ports 355L 500GB 2 Switch Model Firmware version Ports SAN SilkWorm 200E v5.14 4.RG060109_ d79e15_r IBM.1.RG06010 9_d79e15_r IBM.abc.def.20071026.com svc003.com ibmsvcM ibmsvcDR nodeM1-1 Yes nodeM1-2 nodeDR2-1 nodeDR2-2 No No Yes io_grp0 io_grp0 Storage Array Model IBM DS8000 (2107 9A2) Firmware Version Capacity 6.0.Table 1 Hardware Configuration Application Host VCS Cluster Servers Cluster Sites VCS Cluster Names System / Cluster Node Names Number Of Processors Processor Clock Speed CPU Type Kernel Type LPAR Info Memory Size Good Memory Size Platform Firmware level Firmware Version Site A ( Primary ) ClustsvcP Site B ( Secondary ) ClustsvcS Nd1 Nd2 Nd1 Nd2 2 2 2 2 1452 MHz 1452 MHz 1452 MHz 1452 MHz 64-bit 64-bit 1 NULL 4096 MB 4096 MB 3F060109 64-bit 64-bit 1 NULL 4096 MB 4096 MB 3F060109 64-bit 64-bit 1 NULL 4096 MB 4096 MB 3F060109 64-bit 64-bit 1 NULL 4096 MB 4096 MB 3F060109 IBM.RG060109_ d79e15_r IBM.0802120000 svc002.abc.3.def.3 build 7.RG06010 9_d79e15_r SAN Volume Controller Cluster Configuration Cluster Sites H/W Model BIOS Version Code level SVC Cluster SVC Cluster Names System / Cluster Node Names Config Node I/O group Site A ( Master ) Site B ( Auxiliary ) 8F4 APE137AUS-1.1 18.2.1.1b 16+16 Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 10 .

FS.com/storage/support/2145 Veritas Storage Foundation Installation Guide (combined VM.0MP1 Agent for Oracle by Symantec Veritas Clustering Support for IBM SVC Copy Services Version 5300-06-04-0748 9. Table 4 shows the switch port mappings and the zones created for this configuration Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 11 .0MP1 Agent for DB2 by Symantec Veritas High Availability 5.0.0MP1 RP3 5.ibm. 5.0MP1 RP3 5. configuration and troubleshooting the setup. Table 3 Required Documents Product IBM DS8000 IBM SAN Volume Controller Veritas Storage Foundation Enterprise HA Veritas Cluster Server Veritas Volume Manager Veritas Cluster Server Agents Use this Guide http://www-03.ibm.html http://www.com/systems/storage/disk/ds8000/index.1 10gR2 5. SFUA install) Veritas Cluster Server Installation Guide Veritas Cluster Server User’s Guide Veritas Volume Manager Administrator's Guide Veritas Cluster Server Agent for Oracle Installation and Configuration Guide Veritas Cluster Server Agent for DB2 Installation and Configuration Guide Veritas Cluster Server Agent for IBM SVCCopyServices Installation and Configuration Guide Installing and Configuring SAN Volume Controller Fabric Zoning Follow the guidelines in chapter 3 of the Software Installation and Configuration Guide to configure the fabric.3 DB2 Oracle Veritas Storage Foundation Enterprise Veritas High Availability 5.0MP1RP3 5.Table 2 Software Configuration Vendor IBM IBM Oracle Corporation Symantec Symantec Symantec Symantec Software AIX 5.0MP1RP3 The following table lists product documentation set required for installation.

5 and 6 of the Software Installation and Configuration Guide to install the SAN Volume Controller cluster and SAN Volume Controller master console. extent pools. create Mdisk groups. SAN Volume Controller Storage Configuration This section assumes that the SAN Volume Controller clusters are up and running. glax0601. svc2dz. HITACHI. Creating Managed Disk groups: IBM_2145:ibmsvcDR:admin> svctask detectmdisk IBM_2145:ibmsvcDR:admin> svcinfo lsmdiskcandidate IBM_2145:ibmsvcDR:admin> svcinfo lsmdisk -delim : -filtervalue mode=unmanaged IBM_2145:ibmsvcDR:admin> svctask mkmdiskgrp -name Global_dg1 -ext 128 -mdisk mdisk4 IBM_2145:ibmsvcDR:admin> svctask addmdisk -mdisk mdisk5 Global_dg1 IBM_2145:ibmsvcDR:admin> svcinfo lsmdiskgrp Creating vdisks: IBM_2145:ibmsvcDR:admin> svctask mkvdisk -name gvdisk1 -iogrp io_grp0 -mdiskgrp Global_dg1 –vtype striped -size 2 -unit gb IBM_2145:ibmsvcDR:admin> svctask mkvdisk -name gvdisk2 -iogrp io_grp0 -mdiskgrp Global_dg1 -vtype striped -size 2 -unit gb Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 12 . You can login to the SVC CLI from any VCS cluster node OR you can connect to the SVC GUI console. This method utilizes SVC CLI utility to create and configure virtual disks from “Mdisks” presented by SAN Volume Controller. SVC discovers LUNS from the storage connected to it and presents them as Mdisks. Create virtual disks and map them to the server hosts. ensure FlashCopy. Metro Mirror and Global Mirror licenses are activated. Hitachi9200. svc2hz ibmsvcM svc1hz. Once SVC completes disk discovery. are created as necessary to meet application needs. svc2dz svc1dz svc1. Table 5 shows the virtual disks configured for Metro and Global Mirror used in this configuration. svc1hz.Table 4 Switch Mapping ISL ISL ISL ISL config zone zone zone zone zone zone Switch Port Map Switch 001 PNd1 nodeM1-1 nodeM1-1 nodeDR2-1 PNd2 nodeM1-1 nodeM1-1 nodeDR2-1 Switch 002 PNd1 SNd1 nodeM1-2 nodeM1-2 PNd2 SNd2 nodeM1-2 nodeM1-2 ibmsvc svc1dz. ISL svc2hz svc20304. glax0701. In this setup the storage arrays attached to the SAN are IBM System Storage DS8300 and HDS Thunder 9200. ISL nodeDR2-1 nodeDR2-1 HDS HDS DS8300 DS8300 SNd1 SNd2 nodeDR2-2 nodeDR2-2 nodeDR2-2 nodeDR2-2 SAN Volume Controller Software Installation Refer to chapters 4. The commands given below provide an example of creating Mdisk groups. glax0401. DS8300. vdisks and mapping vdisks to hosts. Storage elements such as arrays. ranks. The vdisks and host mapping required for this setup is shown below. Table 5 shows the virtual disks configured for Metro and Global Mirror used in this configuration. ISL svc1hz svc10102. From the SAN Volume Controller GUI console or CLI. glax0501. ISL svc2dz svc2. svc1dz ibmsvcDR svc2hz.

or you can connect to the SVC GUI console.abc.def.IBM_2145:ibmsvcDR:admin> svcinfo lsvdisk Map vdisks to hosts: IBM_2145:ibmsvcDR:admin> svctask diskhostmap -host hostname1 –scsi 0 –force 1 IBM_2145:ibmsvcDR:admin> svctask mkvdiskhostmap –hostname2 –scsi 0 -force 2 Table 5 SAN Volume Controller Disk Configuration Vdisks for MM Vdisks for GM Vdisks for FD Master Cluster (Site A) mvdisk001-007 gmvdisk001-007 Auxiliary Cluster (Site B) drvdisk001-007. drGMvdisk001-007 FD_drvdisk0001-007 FD_drGMvdisk0001-007 Master Vdisk Auxiliary Vdisk mvdisk001-007 drvdisk001-007 gmvdisk001-008 drGMvdisk0001-008 FD Vdisk Auxiliary Vdisk FD_drvdisk0001-007 drdisk001-007 FD_drGMvdisk0001-007 drGMdisk001-007 FD_mmappgrp1cg FD_gmappgrp1cg Relationship Name MM Relationship svcmm001-007 GM Relationship svcgm001-008 FC Mappings Name MetroMirror FD_mmappgrp1001-007 GlobalMirror FD_gmappgrp1001-007 Flash Copy Consistency Group Flash Copy Consistency Group MetroMirror & GlobalMirror Consistency Groups Name State Copy Master Auxiliary Primary Relationship Type Cluster Cluster Count svcgmMDR Consistent Global ibmsvcM ibmsvcDR Master 7 synchronized svcmmMDR Consistent Metro ibmsvcM ibmsvcDR Master 7 synchronized Cluster Location State Bandwidth Link InterIntraName Tolerance Cluster Cluster (s) Delay Delay Simulation Simulation (ms) (ms) MetroMirror Cluster Partnership ibmsvcDR Remote Fully 500 0 Configured GlobalMirror Cluster Partnership ibmsvcDR Remote Fully 500 300 20 0 Configured MM MetroMirror GM GlobalMirror FC Flash Copy FD Fire Drill DR Disaster Recovery Setting up SAN Volume Controller Cluster Partnership Login to the SAN Volume Controller console from any VCS cluster node.com Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 13 . #ssh -l admin -i /.ssh/id_dsa svc003.

valid range is 0 to 100 milliseconds. This step is a prerequisite to creating Metro Mirror between VDisks on the clusters. in milliseconds. Default is 0. The link tolerance can be disabled by entering the value 0 for this parameter. and the Mirror relationships stop copying data from the primary to the secondary site. Default is 0. Get the cluster alias. -gminterdelaysimulation inter_cluster_delay_simulation: Is the Inter-cluster delay simulation. Refer to the SAN Volume Controller guides to configure these parameters. -gmlinktolerance link_tolerance: Is the length of time.IBM_2145:ibmsvcDR:admin> To establish a fully functional Metro Mirror issue these commands to both clusters. Therefore create a FlashCopy Consistency Group from the SVC cluster at Site B. IBM_2145:ibmsvcDR:admin>svctask chlicense -flash on Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 14 . This step is a prerequisite to creating Global Mirror relationships between VDisks on the clusters. which simulates Global Mirror round trip delay in milliseconds. there is no assurance that updates to the two separate secondary VDisks will stop in a consistent manner. Make sure the two SVC clusters are up and in communication throughout the create process. and consequently are being managed by separate relationships. the data in all relationships within the group is in a consistent state. for which an inadequate inter-cluster link will be tolerated for Global Mirror operation. Accepts values from 60 to 86400 seconds in steps of 10 sec. SVC Global Mirror and FlashCopy Consistency Groups Create Metro Mirror and Global Mirror Consistency groups by specifying a name and the remote SAN Volume Controller cluster name as shown below. IBM_2145:ibmsvcDR:admin>svctask chcluster -alias 20064E07548 -name ibmsvc -gmlinktolerance 300 -gminterdelaysimulation 20 -gmintradelaysimulation 0 Create SVC Metro Mirror. the primary and secondary sites may become disconnected. in seconds. issue these commands to both clusters. Ensure the SVC FlashCopy license is enabled. This can be important in a database application where data files and log files are held on separate VDisks. valid range is 0 to 100 milliseconds. IBM_2145:ibmsvcDR:admin>svctask mkrcconsistgrp -name svcmmMDR -cluster ibmsvcDR IBM_2145:ibmsvcDR:admin>svctask mkrcconsistgrp -name svcgmMDR -cluster ibmsvcDR The VCS Firedrill function utilizes SVC FlashCopy to create and maintain the snapshot of the application resource. IBM_2145:ibmsvcDR:admin>svcinfo lscluster ibmsvc Update intercluster delay for the Global Mirror configuration. in the event of a disconnection of the relationships. In the event of a disaster. which simulates Global Mirror round trip delay between two clusters. then as the disconnection happens. -gmintradelaysimulation intra_cluster_delay_simulation: Is the Intra-cluster delay simulation. IBM_2145:ibmsvcDR:admin>svctask mkpartnership -bandwidth 500 ibmsvcDR IBM_2145:ibmsvcDR:admin>svctask mkpartnership -bandwidth 500 ibmsvcM To establish a fully functional Global Mirror partnership. Default is 300 seconds. If the relationships associated with the VDisks are not in a consistency group. The new consistency group does not contain any relationships and will be in an empty state. A consistency group is used to ensure that a number of relationships are managed so that.

The auxiliary virtual disk must be identical in size to the master virtual disk. Neither disk can be the target of a FlashCopy mapping. Copy type defaults to metro if -global is not specified. The mkfcmap command creates a new FlashCopy mapping.IBM_2145:ibmsvcDR:admin>svctask mkfcconsistgrp -name FD_mmappgrp1cg IBM_2145:ibmsvcDR:admin>svctask mkfcconsistgrp -name FD_gmappgrp1cg Create SVC Metro Mirror. IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 16 -aux 7 -sync -cluster ibmsvcDR name svcgm001 -consistgrp svcmmMDR IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 1 -aux 50 -sync -cluster ibmsvcDR name svcgm002 -consistgrp svcmmMDR IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 2 -aux 51 -sync -cluster ibmsvcDR name svcgm003 -consistgrp svcmmMDR IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 3 -aux 52 -sync -cluster ibmsvcDR name svcgm004 -consistgrp svcmmMDR IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 4 -aux 53 -sync -cluster ibmsvcDR name svcgm005 -consistgrp svcmmMDR IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 5 -aux 54 -sync -cluster ibmsvcDR name svcgm006 -consistgrp svcmmMDR IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 6 -aux 55 -sync -cluster ibmsvcDR name svcgm007 -consistgrp svcmmMDR IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 7 -aux 56 -sync -cluster ibmsvcDR -name svcgm001 -consistgrp svcgmMDR -global IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 8 -aux 57 -sync -cluster ibmsvcDR name svcgm002 -consistgrp svcgmMDR -global IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 9 -aux 58 -sync -cluster ibmsvcDR name svcgm003 -consistgrp svcgmMDR -global IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 10 -aux 59 -sync -cluster ibmsvcDR -name svcgm004 -consistgrp svcgmMDR -global IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 11 -aux 60 -sync -cluster ibmsvcDR -name svcgm005 -consistgrp svcgmMDR -global IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 12 -aux 61 -sync -cluster ibmsvcDR -name svcgm006 -consistgrp svcgmMDR -global IBM_2145:ibmsvcDR:admin>svctask mkrcrelationship -master 13 -aux 62 -sync -cluster ibmsvcDR -name svcgm007 -consistgrp svcgmMDR –global Create FlashCopy mappings. The master and auxiliary cannot be in an existing relationship. which maps a source virtual disk to a target virtual disk for subsequent copying svctask mkfcmap -source 1--target 50 -consistgrp 1 -name FD_gmappgrp1001 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 2 -target 51 -consistgrp 1 -name FD_gmappgrp1002 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 3 -target 52 -consistgrp 1 -name FD_gmappgrp1003 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 4 -target 53 -consistgrp 1 -name FD_gmappgrp1004 -copyrate 100 incremental -cleanrate 100 -iogrp 0 Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 15 . SVC Global Mirror Relationship and FlashCopy Mappings Now create Metro Mirror and Global Mirror relationships using the following command. This relationship persists until it is deleted.

devices.3 installed with the fix requirements for DS8000 storage microcode level.ibm. The installation process terminates if the target systems do not meet maintenance level requirements.3 TL4 with SP 4 Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 16 . and the following ODM filesets. For any Veritas cluster product.100.3 operating systems. the following commands and their manual pages are available on the system: vxlicinst Installs a license key for a Symantec product vxlicrep Displays currently installed licenses vxlictest Retrieves features and their descriptions encoded in a license key Make sure you have activated the Veritas Storage Foundation Enterprise HA/DR AIX.disk.rte 32.9 COMMITTED IBM FCP Disk Device ibm2105.2 ML6 (legacy) or above ■ AIX 5.0. The minimum system requirements for this release are: ■ AIX 5.svctask mkfcmap -source 5 -target 54 -consistgrp 1 -name FD_gmappgrp1005 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 6 -target 55 -consistgrp 1 -name FD_gmappgrp1006 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 7 -target 56 -consistgrp 2 -name FD_gmappgrp1001 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 8 -target 57 -consistgrp 2 -name FD_gmappgrp1002 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 9 -target 58 -consistgrp 2 -name FD_gmappgrp1003 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 10 -target 59 -consistgrp 2 -name FD_gmappgrp1004 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 11 -target 60 -consistgrp 2 -name FD_gmappgrp1005 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 12 -target 61 -consistgrp 2 -name FD_gmappgrp1006 -copyrate 100 incremental -cleanrate 100 -iogrp 0 svctask mkfcmap -source 13 -target 62 -consistgrp 2 -name FD_gmappgrp1007 -copyrate 100 incremental -cleanrate 100 -iogrp 0 Installing Veritas Storage Foundation Symantec Product Licensing The application hosts have AIX 5.0 license key.29 COMMITTED IBM 2105 Disk Device The installation procedure describes how to activate the key.5.fcp.rte 1.6.2 and AIX 5.0. The VRTSvlic package enables product licensing. all nodes in the cluster must have the same operating system version and update level. After VRTSvlic is installed. Product installation scripts verify required update levels. Supported AIX Operating Systems This release of Veritas Storage Foundation operates on AIX 5.

tfs fileset is not installed.05 Prerequisites for Remote and Cluster Installation Establishing communication between nodes is required to install Veritas software from a remote system.140.xx.140. Add the following directories to your PATH environment variable: ■ If you are using Bourne or Korn shell (sh or ksh). The node from which the installation utility is run must have permissions to run rsh (remote shell) or ssh (secure shell) utilities as root on all cluster nodes or remote systems.04 10. However. DB2 8.xx. See the Veritas Cluster Server installation Guide for more details.01 10. there are additional variables needed in order to use a Veritas Storage Foundation product after installation.xx.02 10.03 10. however. or to install and configure a cluster. Virtual IP Address This configuration will need several IP addresses depending on the products you are enabling.xx.140.txt. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 17 .xx. use the commands: % set path = ( $path /usr/sbin /opt/VRTSvxfs/sbin \/opt/VRTSvcs/bin /opt/VRTSob/bin /opt/VRTS/bin )% setenv MANPATH /usr/share/man:/opt/VRTS/man:$MANPATH Note: The nroff versions of the online manual pages are not readable using the man command if the bos. The list below shows virtual IPs’ required for this configuration.140.2 ESE. Have at least six virtual IPs' allocated for the two clusters. ■ DB2 8. and Oracle 10g R2 (including 64-bit versions) Disk Space Use “Perform a Preinstallation Check” (P) option of the product installer to determine whether there is sufficient space.2.tfs fileset. Oracle 10g R1.2 ESE. DB2 9.140.1 ESE. Make sure that the hosts to be configured as cluster nodes have two or more NIC cards and are connected for heartbeat links.04 ClustsvcS 10.140.Database Requirements The following database version are supported by the respective Veritas High Availability 5. DB2 8. the VRTSvxvm and VRTSvxfs packages install ASCII versions in the /opt/VRTS/ man/catman* directories that are readable without the bos.1 ■ Oracle9i. Environment Variables Most of the commands used in the installation are in the /sbin or /usr/sbin directory.txt. use the commands: $ PATH=$PATH:/usr/sbin:/opt/VRTSvxfs/sbin:/opt/VRTSob/bin:\/opt/VRTSvcs/bin:/opt/VRTS/bin$ MANPATH=/usr/share/man:/opt/VRTS/man:$MANPATH $ export PATH MANPATH ■ If you are using a C shell (csh or tcsh). Purpose DB2 failover Oracle failover GCO ClustsvcP 10.xx.0MP1 Agents for DB2 and Oracle.

1 Make sure the disk is mounted. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 18 . See “Mounting a Software Disk” 2 To invoke the common installer. Note: Veritas products are installed under the /opt directory on the specified host systems. You can use the product installer to install Veritas Storage Foundation and Veritas Storage Foundation enterprise HA. After inserting the disk. To mount the Veritas software disk 1. 2. 6 Enter the Storage Foundation Enterprise HA/DR product license information. Ensure that the directory /opt exists and has write permissions for root before starting an installation procedure. Go to the upgrade procedure explained in the next section. use Control–c to stop and exit the program. run the installer command on the disk as shown in this example: # cd /cdrom/disk_name/installer –rsh ClustsvcPNd1 ClustsvcPNd2 3 Enter I to install a product and press Return to begin. The product installation begins automatically. The installer also enables you to configure the product. At most points during an installation. There is a short delay before the script exits. If an installation procedure hangs. Place the Veritas software disk into a DVD drive connected to your system. Mount the disk by determining the device access name of the DVD drive. 4 When the list of available products is displayed. The Veritas product installer is the recommended method to license and install the product. select the product you want to install and enter the corresponding number and press Return. The format for the device access name is cdX where X is the device number. verify pre-installation requirements. so it returns to the beginning of a grouped section of questions. The back feature of the installation scripts is context-sensitive. you can type b (“back”) to return to a previous section of the installation procedure. 3. type the following commands: # mkdir -p /cdrom # mount -V cdrfs -o ro /dev/cdX /cdrom Installing Using the Veritas Product Installer You can perform an upgrade to Storage Foundation using the Veritas product installer or product installation script if you already have Storage Foundation installed. Log in as superuser. To install a Storage Foundation product execute the steps from one node in each cluster.Mounting a Software Disk You must have superuser (root) privileges to load the Veritas software. and view the product’s description.

You are then prompted to enter the keys for the next system. you can do so manually or run the installsf -configure command.?] (n) n Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 19 .q. It is possible to install SF filesets without performing configuration. License keys for additional product features should also be added at this time.n. 5.?] (n) Enter a product_name license key for ClustsvcPNd2: [?] XXXX-XXXX-XXXX-XXXXXXXX-XXXX-X XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-X successfully registered on ClustsvcPNd2 Do you want to enter another license key for ClustsvcPNd2? [y.b.q.q] (y) Do you want to configure VCS on these systems at this time? [y.n. Enter the unique cluster name and Cluster ID number.Enter a product_name license key for ClustsvcPNd1: [?] XXXX-XXXX-XXXX-XXXXXXXX-XXXX-X XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-X successfully registered on ClustsvcPNd1 Do you want to enter another license key for ClustsvcPNd1? [y.?] en2 Would you like to configure a third private heartbeat link?[y. Enter the unique cluster name: [?] ClustsvcP Enter the unique Cluster ID number between 0-65535: [b.n.?] (y) y Enter the NIC for the second private heartbeat link on ClustsvcPNd1:[b.q. Additional filesets are typically installed to simplify future upgrades. At the installed product list page. Enter the NIC for the first private heartbeat link on ClustsvcPNd1:[b..n.q.?] en1 Would you like to configure a second private heartbeat link?[y. Are you ready to configure SF? [y.q. SF can be installed without optional filesets to conserve disk space. 1) Required Veritas Storage Foundation filesets .discovered en0 en1 en2 7. The installer will ask for details for configuring the VCS cluster for SF.n. Enter private heartbeat NIC information for each host. enter y or press Return to configure the Storage Foundation and VCS products.b.1063 MB required Select the filesets to be installed on all systems? [1-2. If you choose to configure SF later. Note: Each system requires a product license before installation. The installer discovers the NICs available on the first system and reports them: Discovering NICs on ClustsvcPNd1 .?] 8 6.?] (n) Enter n if you have no further license keys to add for a system.?] (2) 4. It is optional to configure SF now. 7 Choose to install all filesets..q] (y) .928 MB required 2) All Veritas Storage Foundation filesets .n.

Do you want to add another user to the cluster? [y.q] (n) Enter n if you want to decline.n. A summary of the information you entered is given. en0 is not selected for use as a private heartbeat NIC because it is already in use as the public network interface. Would you like to configure product_name to use Veritas Security Services? [y. another system must already have Veritas Security Services installed and be operating as a Root Broker. you are prompted to change the password.?] (n) n Are you using the same NICs for private heartbeat links on all systems? [y. Refer to the Veritas Cluster Server Installation Guide for more information on configuring a VxSS Root Broker. When prompted.n. set the user name and /or password for the Administrator.q] (y) If the information is correct.n. press Return.?] (y) y Note: When answering y. 9. Enter y or n to configure the cluster connector. The installer prompts you to enter the information again.n. Note: Before configuring a cluster to operate using Veritas Security Services.q] (n) n 10.n. 12.n. Do you want to configure the Cluster Management Console [y.n. the installer does not verify this. When prompted to configure SNMP notification. If the information is not correct. You are prompted to configure the cluster management console. enter y or n to configure.n. You are prompted to configure the cluster connector. enter y to not configure SMTP. Is this information correct? [y. Notice that in this example. Do you want to configure SNMP notification? [y. Do you want to set the username and/or password for the Admin user (default username = 'admin'.n.q] (n) 15.b. Enter y or n to configure the cluster management console. Do you want to configure SMTP notification? [y.q] (n) 14. enter n. enter y if you want to add another user.q. password='password')? [y.n.q] (n) 11. Enter n if you want to decline. Do you want to configure the cluster connector [y. 8.Do you want to configure an additional low priority heartbeat link? [y. When prompted.q] (n) n 13. confirm that the information is correct.n. If you enter y. When prompted to configure the product to use Veritas Security Services. You are prompted to verify the user. be sure that the same NICs are available on each system.b.q. When prompted to configure SMTP notification.q] (y) Enter y or n to verify if this information is correct. Is this information correct? [y.q] (n) Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 20 . enter y to not configure SMTP notification. A message displays notifying you of the information required to add users. You are prompted to add another user to the cluster.

You declined to set up the name of the default disk group for ClustsvcPNd2.q] (y) 18. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 21 . You are prompted to enter the fully qualified hostname of system clustsvcPNd1. Do you want to set up a default disk group for each system? [y.q] (y). 21. You are prompted to enable Storage Foundation Management Server Management.3 TL5 with SP 1 Product installation scripts verify the required update levels.3 operating systems.2 and AIX 5.0MP1RP3 This release of Veritas products operates on AIX 5. Enter n to enable Storage Foundation Management Server Management. Enter y for the ClustsvcPNd2 domain_name. Do you want to start Veritas Storage Foundation processes now? [y.0MP1RP3 Upgrading Veritas Storage Foundation HA to 5. and response file are saved at: /opt/VRTS/install/logs/installsf-7ai12i When installsf installs software..n.Startup completed successfully on all systems You declined to set up the name of the default disk group for ClustsvcPNd1.n.n.domain_name"? [y.16. summary file.0 to 5. which can be performed later with the -c option of the installp command. enter n to set up the disk group for each system.domain_name.q. Installation log files.domain_name"? [y. You are prompted to start Storage Foundation.n.2 TL8 ■ AIX 5. Enter y for the ClustsvcPNd1. The minimum system requirements for this release are: ■ AIX 5. Is the fully qualified hostname of system "ClustSVCPNd1" ="ClustsvcPNd1. Is the fully qualified hostname of system "ClustsvcNd2" ="clustsvcPNd2.n. It is the responsibility of the system administrator to commit the software.q] (n) 20.?] (n) 17. Proceed to the next section to upgrade Veritas Storage Foundation 5. The installation process terminates if the target systems do not meet the maintenance level requirements.q] (y) 19. 23 You are prompted to enter the fully qualified hostname of system ClustsvcPNd2. Enable Storage Foundation Management Server Management? [y.. some software may be applied rather than committed. When prompted to set up the default disk group for each system.

See “Mounting a Software Disk”. run the product installation scripts from the /opt/VRTS/install directory using the –configure option.You install upgrade packages by running the installmp installation script from the command line. 2. To install the Storage Foundation software.0MP1 agent packages: Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 22 . Navigate to the location of the agent packages: # cd /cdrom/cluster_server_agents/db2_agent/pkgs 3. If you want to configure a product. You must install the DB2 agent on each node in the cluster. To install on more than one system using remote shell (RSH) utilities. See “Mounting a Software Disk”. 1. All Veritas product processes are stopped after running installmp. Make sure the disk is mounted. The installmp script checks for any installed Veritas package and replaces it with the updated package. use the following command to reboot the system: # shutdown -r now Installing and Upgrading VCS agent for DB2 For complete details refer to the Veritas Cluster Server Agent for DB2 Installation and Configuration Guide. Execute the steps from one node in each cluster. To install the Volume Manager rolling patch RP3 on top of 5. Follow steps given the README document. Add the filesets for the software # installp -ac -d VRTSvcsdb. After the installation of the packages is complete. Make sure the disk is mounted. Follow steps below to install the agent.rte. a manual restart or system reboot may be required. To ensure that processes restart correctly. After the initial system checks have completed successfully. or how to uninstall a maintenance pack and return to the previous product level. After the requirement checks have completed successfully./installmp ClustsvcPNd1 ClustsvcPNd2 -rsh 4. enter the following command: # . you must invoke the installmp command from one of your cluster nodes using the option that corresponds to your configuration: 3.bff VRTSvcsdb 4. down load the patch. 8. install the agent on each node in each cluster. To disable io-fencing on each node in the two clusters follow the steps #cd /etc/VRTSvcs/conf/config #echo “vxfen_mode=disabled” > vxfenmode 7. The installmp script is at the top level of the Maintenance Pack disk. 5. See the individual product release notes for information on how to restart processes. These instructions assume that you have already installed Cluster Server. In global cluster environments. 1.0MP1. 2. press Enter to start the requirements checks for the installation. 6. Navigate to the location of the 5. press Enter to begin installing the packages.

Add the filesets for the software # installp -ac -d VRTSvcsor. In global cluster environments. Make sure that the installation prereqs are met and are identical on all nodes. You should be able to list out the filesets in Appendix C on each application host. Navigate to the location of the 5. These instructions assume that the Veritas Cluster Server is already installed. See “Mounting a Software Disk”. Navigate to the location of the agent packages: # cd /cdrom/cluster_server_agents/oracle_agent/pkgs 3. Install Oracle on any one node in Site A. These instructions assume that you have already installed Cluster Server.# cd /cdrom/cluster_server_agents/db2_agent/patches 5.bff VRTSvcsdb Installing and Upgrading VCS agent for Oracle For complete details refer to the Veritas Cluster Server Agent for Oracle Installation and Configuration Guide. 1. install the agent on each node in each cluster.bff VRTSvcsor Installing VCS agent for IBM SVCCopyServices For complete details refer to the Veritas Cluster Server Agent for IBM SVCCopyServices Installation and Configuration Guide. Follow steps below to install the agent. You must install the Oracle agent on each node in the cluster.0 3. especially the user and group id.0MP1 agent packages: # cd /cdrom/cluster_server_agents/oracle_agent/patches 5.rte.rte.3. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 23 . Navigate to the location of the agent packages: # cd /cdrom/aix/replication/svccopyservices_agent /version/pkgs The variable version represents the version of the agent. Make sure the disk is mounted. Add the filesets for the software # installp -ac -d VRTSvcsdb.0. Add the filesets for the software # installp -ac -d VRTSvcsor.rte. Follow the steps below to install the agent. install the agent on each node in each cluster.bff VRTSvcssvc All of the required Software components have now been installed. Oracle This step involves  Installation of DB2 and Oracle software  Creation of a DB2 instance  Creation of Database Install DB2 on all the nodes of the clusters in Site A and Site B. See “Mounting a Software Disk”. In global cluster environments. passwords. owner and group permissions and listener port id. Installing and Configuring DB2. Add the filesets for the software # installp -ac -d VRTSvcssvc. 1.rte. We have installed version 5. 2. Make sure the disk is mounted. 2.bff VRTSvcsor 4. You must install the IBM SVC Copy Services agent on each node in the cluster.

verify and then start the VCS cluster and bring Application resource online on one node in the Primary cluster.oradb2.cf. 1. You will need a workload application to exercise the database load. Quick Setup This section assumes the following tasks have been completed:  The hardware and software configuration is already setup.cf ) in Appendix A.cf. one for DB2 Application resource failover and one for an Application group failover. Configuring Applications for Disaster Recovery Having installed and configured the base system software and applications. There are three configuration samples in Appendix A: One for Oracle Application resource failover. On cluster nodes ClustsvcPNd1. Make sure all of the objects mentioned in VCS configuration file are created and available 2.siteA On cluster nodes ClustsvcSNd1.siteA. containing both Oracle and DB2 application resources and a fire drill resource on the secondary cluster. Select any one configuration (preferably main.ora. The instructions to enable it are included in Appendix B. Cut and paste the VCS configuration files ( main. follow Quick Setup Steps section. Most clustered applications can be adapted to a disaster recovery environment by:       Setting up SVC Cluster partnership Configuring SVC Metro Mirror and Global Mirror relationship Setting up VCS Global cluster Configuring VCS Application failover service group Adding IBM SVC Copy Services resource to the service group Setting up Firedrill To quickly setup this test configuration. ClustsvcPNd2 in Site A as: main.cf. You can follow the General Configuration Steps and refer to the documents mentioned in those sections for detailed configuration steps.oradb2). Copy the sample VCs configuration files. SVC and VCS clusters are up and running.  The SVC and VCS objects in Appendix B are created. Halt the cluster server from any node in the clusters in Site A and Site B #/opt/VRTSvcs/hastop –all 3.siteA. In this configuration a database representing TPC-C schema is built. This procedure lists steps to stop VCS cluster server on all the nodes in both clusters. to files in /etc/VRTSvcs/conf/config directory as shown below. we are now ready for configuring the required Applications for High Availability and Disaster Recovery.Refer to the appropriate sections in Appendix B for instructions to setup the database.db2. main.cf. main. A database workload application is used to populate and simulate the TPC-C workload. Apply required modifications to the config file. ClustsvcSNd2 in Site B as: Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 24 . While configuring VxVM make sure to enable the mode for scsi3 disk discovery.

Configuring SVC Metro / Global Mirror.main. mount points.cf /etc/VRTSvcs/conf/config/ #cp /etc/VRTSagents/ha/conf/Db2udb/Db2udbTypes. 11. SVC Global Mirror and FlashCopy Consistency Groups and Create SVC Metro Mirror.siteA main.cf does not have any errors and fix it if there are any issues.cf On Site B cluster node 1 (ClustsvcPNd1) #cd /etc/VRTSvcs/con/config #cp main.cf /etc/VRTSvcs/conf/config/ #cp /etc/VRTSvcs/conf/SVCCopyServicesTypes. main.cf ClustsvcSNd2:/etc/VRTSvcs/conf/config/main. Cluster names.cf ClustsvcPNd2:/etc/VRTSvcs/conf/config/main. Login to one of the nodes as admin/password #export DISPLAY=xhost:xx. To test HA and DR scenarios. main. command returns with exit code 0.siteB. make a copy of the configuration file as shown below For example main. Start the cluster on each node in the clusters in Site A and B.cf.0 #/opt/VRTSvcs/hagui & 10.db2. FlashCopy Relationship Refer to sections Create SVC Metro Mirror. Refer to the documents listed in Table 3 for additional details of configuration procedures. SVC Global Mirror relationship and FlashCopy Mappings Setting up VCS Global Custer Linking clusters Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 25 .oradb2.oradb2: On Site A cluster node 1 (ClustsvcPNd1) #cd /etc/VRTSvcs/con/config #cp main. #/opt/VRTSvcs/hastart –all #/opt/VRTSvcs/hastart –all 9.oradb2. to match your configuration.cf.siteB main. 5. 8.cf.cf /etc/VRTSvcs/conf/config/ 6.cf #rcp main. Start the cluster Manager from any node in the cluster SiteA.oradb2.cf #rcp main.cf.cf.ora. Depending on which application you want to test. Verify that the main. You will need the following guides: Veritas Cluster Server User’s Guide Veritas Cluster Server Bundled Agents Reference Guide Veritas Cluster Server Agent for DB2 Installation and Configuration Guide Veritas Cluster Server Agent for Oracle Installation and Configuration Guide Veritas Cluster Server Agent for IBM SVCCopyServices installation and Configuration Guide Setting up SVC Cluster Partnership Refer to section Setting up Cluster Partnership.cf. IP addresses. volumes and disk group resources. #cp /etc/VRTSagents/ha/conf/Oracle/OracleTypes. proceed to Failover Scenarios section and follow the steps. Copy the VCS agent type definition files. if they are not present in the destination directory. On ClustsvcPNd1 login to the cluster manager and online the app_grp1 service group if it is not already online.cf 7.siteB 4.siteB. General Configuration Steps In this section the six steps mentioned above are explained in detail. #/opt/VRTSvcs/bin/hacf –verify If there are no errors. Modify the values of hostnames. Now you are ready to manage the clusters from the cluster manager GUI. passwords etc.

Enter y if it is the public NIC. #export DISPLAY=xhost:xx. Invoke the Cluster manager (java console) from the node in the cluster. the wizard prompts you to enter the names of NICs on all systems. The wizard detects the netmask. The complete listing of the configuration files (main. As an alternative configuration you can include both applications into a single configuration. Follow the instructions in the GUI to complete adding the remote cluster. In this setup both Applications (DB2 and Oracle) are installed on the same cluster.cf) are provided in Appendix A. the wizard asks you whether the specified NIC will be the public NIC used by all systems. Refer to the Veritas Cluster Server Agent for DB2 Installation and Configuration Guide and the Veritas Cluster Server Agent for Oracle Installation and Configuration Guide for adding and configuring the DB2 and Oracle resource types. Have the following information ready: The active host name or IP address of each cluster in the global configuration and of the cluster being added to the configuration. If you entered n. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 26 . Figure 3 shows the dependency graph of the VCS resources within each service group. The Remote Cluster Configuration wizard provides an easy interface to link clusters. Enter the virtual IP to be used for the global cluster which you already have identified. If you do not have IP resources in your configuration. It involves the following steps. Various messages indicate the status of these commands. the wizard prompts you for the netmask associated with the virtual IP. The DiskGroup resources depend on the Svc Copy Services resource. After running these commands. Specify the name of the device and press Enter.cf) are created for each application. There are two service groups. Two separate VCS configuration files (main.0 #/opt/VRTSvcs/hagui & From the cluster manager. Before linking clusters. The Application service group and the Cluster service group.Refer to the section Linking clusters in the Veritas Cluster Server User’s Guide. Use the same IP address as the one assigned to the IP resource in the ClusterService group. The wizard starts running commands to create or update the ClusterService group. the wizard brings the ClusterService group online. The failover scenarios are performed for one configuration at a time. The Application group is a Global service group. Configure Application service group on the primary and secondary clusters. The wizard verifies your configuration and validates it for a global cluster setup. otherwise enter n. Configuring Global Cluster From any node in the clusters in Site A and Site B run the GCO Configuration wizard to create or update the ClusterService group. If you do not have NIC resources in your configuration. you can accept the suggested value or enter another value. Configuring VCS Application Service Group The DB2 and Oracle VCS service groups can be setup once the VCS agents have been installed. #/opt/VRTSvcs/bin/gcoconfig The wizard discovers the NIC devices on the local system and prompts you to enter the device to be used for the global cluster. the administrator login name and password for each cluster in the configuration. verify the virtual IP address for the ClusterAddress attribute for each cluster is set. click Edit>Add/Delete Remote Cluster.

cf. Add the resources mentioned in the app_grp1 service group in the main.oradb2 for the respective cluster. /etc/VRTSvcs/conf/SVCCopyServicesTypes.cf. /etc/VRTSagents/ha/conf/Oracle/OracleTypes. 5.cf 3. Configure the resources as mentioned in the main. Refer to chapter 4 of the guides mentioned above to create the Service group. 4. choose Import Types and select the appropriate types file for the agent in the following directory path : /etc/VRTSagents/ha/conf/Db2udb/Db2udbTypes.cf by changing the values for your installation 8. Click Import. Create the Service groups. Start Cluster Manager and log on to the cluster. #/opt/VRTS/vcs/bin/hagui & 2. add it. Save the configuration. From the Cluster Manager File menu. 9. If the agent resource type (Oracle / DB2 / SVC CopyServices ) is not added to your configuration.cf . 7. Configure the service group as a global group using the Global Group Configuration Wizard.1. VCS dependency tree for App_grp1 Application service group resources Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 27 . 6. See the Veritas Cluster Server User’s Guide for more information. In this case you can create the app_grp1 service group. Figure 3.

if required. The VCS enterprise agent for IBM SVCCopyServices manages replication relationships and consistency groups that are defined on SVC clusters.  Verify the hardware setup for the agent. Use the SSH keygen. which describe the agent’s type definition and attributes. Adding the agent resource type Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 28 . Generate a public and private key pair using the ssh-keygen utility. VCS dependency tree for FD_App_grp1 firedrill service group resources Adding the VCS SVC CopyServices Resource Refer to chapter 3 of Veritas Cluster Server Agent for IBM SVCCopyServices installation and Configuration Guide for detailed configuration of Firedrill resource.Figure 4. review the following information:  Set up the SSH identity file on the VCS hosts prior to configuring the service group.  Verify that you have installed the agent on all nodes in the cluster.  Make sure that the cluster has an effective heartbeat mechanism in place. An SVC cluster brings storage devices together in a virtual pool to make all storage appear as one logical device to centrally manage and to allocate capacity as needed. Before you configure the agent for SVC CopyServices Before configuring the agent. Copy the public key on the SVC cluster.  Review the configuration concepts.

Required attributes You must assign values to required attributes. 1. SSHPathToIDFile. Next section describes details of the Resource type definition and attributes.cf. add it. From the Cluster Manager File menu.cf 3. type SVC CopyServices ( str GroupName int IsConsistencyGroup = 1 str SSHBinary = "/usr/bin/ssh" str SSHPathToIDFile str SVCClusterIP str SVCUserName = admin int StopTakeover = 0 int DisconnectTakeover = 0 static str ArgList[] = {GroupName. GroupName Type-dimension IsConsistency Name of the replication relationship or consistency group that is managed by the agent. use the GUI or the command line.XX. IsConsistencyGroup. Start Cluster Manager and log on to the cluster. string-scalar Indicates whether the value specified in the GroupName Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 29 . See the main. follow the resource names from the example and create the app_svccp resource #hares –add app_svccp SVCCopyServices app_grp1  Configuring the attributes of the SVC Copy Services resource. which you have already done in the previous section by creating app_grp1 service group. Now you can configure the SVC Copy Services resource by creating   Service groups for SVC Copy Services. SVCUserName. StopTakeover. DisconnectTakeover} ) Attribute definitions for the SVCCopyServices agent Review the description of the agent attributes. If the agent resource type is not added to your configuration. SVCClusterIP.oradb2 as an example. #export DISPLAY=xhost:xx. #hares –modify app_svccp GroupName svcgmMDR #hares –modify app_svccp ClusterIP 10. SSHBinary. In this example add the GoupName and Cluster IP attribute values. choose Import Types and select /etc/VRTSvcs/conf/SVCCopyServicesTypes.0 #/opt/VRTSvcs/hagui & 2.Perform these steps on every node in the cluster. Adding and configuring the agent manually in a global cluster involves the following tasks. Adding a resource of type SVC Copy Services at the bottom of the service group. Click Import. If you are adding the resource. Save the configuration.140.XXX SVCCopyServices resource type definition The IBM SVCCopyServices agent is represented by the SVC CopyServices type in VCS. 4.

the agent does not enable read-write access for the SVC cluster. The status of the replication goes into a disconnected state when the primary and secondary SVC clusters lose communication with each other. the secondary SVC cluster does not have up-to-date data on it. string-scalar Contains the absolute path to the SSH binary. there is a possibility for data loss. The possible stopped states are: inconsistent_stopped and consistent_stopped When the state of the replication is consistent_stopped and StopTakeover = 1 .Group Type-dimension SSHBinary Type-dimension SSHPathToID File SVCClusterIP Type-dimension SVCUserName StopTakeover Type-dimension Disconnect Takeover attribute is the name of a single replication relationship or of a consistency group consisting of several replication relationships. string-scalar User name that authenticates the SSH connection with the SVC cluster. if after the replication was stopped. the application continues to write data on the Primary. Thus. The status of the replication goes into a stopped state when the user fires the stoprcrelationship or the stoprcconsistgrp command.e. SSH is the mode of communication with the SVC cluster that is connected to the node. Thus. Default value is 0. string-scalar Determines whether the agent makes read-write access available to the host when the replication is in a disconnected state (i. Thus. no replication occurs between the primary and secondary SVC clusters. If it is set to 1. Determines whether the agent makes read-write access available to the host when the replication is in a stopped state (i. Default is 0. Default is "/usr/bin/ssh". consistent_disconnected). Attribute value is either 0 or 1. The possible disconnected states are: idling_disconnected inconsistent_disconnected Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 30 . Default is admin. string-scalar Contains the absolute path to the identity file used for authenticating the host with the SVC cluster. Attribute value is either 0 or 1. no replication occurs between the primary and secondary SVC clusters.e. When the state of the replication is inconsistent_stopped. Default is 1. Attribute value is either 0 or 1. The agent uses this IP address to communicate with the SVC cluster. consistent_stopped). The IP address of the SVC cluster in the dot notation. The corresponding public key must be uploaded on the SVC cluster so that the SVC cluster can correctly authenticate the host. when the agent enables read/write access on the secondary SVC cluster. the agent enables read-write access for the SVC cluster.

VCS supports the Gold.cf: This example is a copy of the one in main. UseSnapshot.Type-dimension consistent_disconnected When the state of the replication is consistent_disconnected and DisconnectTakeover = 1. The SVCCopyServicesSnap agent is the fire drill agent for IBM SVCCopyServices. which is a component of Veritas Storage Foundation.ssh/id_dsa " GroupName = svcgmMDR SVCClusterIP = "10. but uses a fire drill resource in place of the replication agent resource.0 MP1 RP2. in place of the SVCCopyServices resource.XXX" DisconnectTakeover = 1 ) Setting up Firedrill Refer to Chapter 5 in the Veritas Cluster Server Agent for IBM SVCCopyServices installation and Configuration Guide for detailed configuration procedure of Firedrill resource. About Firedrill Resource A fire drill procedure verifies the fault-readiness of a disaster recovery configuration. SVCCopyServicesSnap resource type definition The IBM SVCCopyServicesSnap agent is represented by the SVC CopyServicesSnap type in VCS. The agent manages the replication relationship between the source and target arrays when running a fire drill. the agent does not enable read-write access for the SVC cluster. A fire drill is performed at the secondary site using a special service group for fire drills. type SVCCopyServicesSnap ( static int MonitorInterval = 300 static int OpenTimeout = 180 static int NumThreads = 1 static int OfflineMonitorInterval = 0 static int OnlineTimeout = 6000 static int RestartLimit = 1 static str ArgList[] = { TargetResName.140. then the agent enables read/write access for the SVC cluster.cf. Silver and Bronze fire drill configurations for the agent. When the state of the replication is idling_disconnected. The fire drill service group is identical to the application service group. The SVCCopyServicesSnap agent supports fire drills for storage devices that are managed using Veritas Volume Manager 5. It is included in the VCS Agent for IBM SVCCopyServices agent package. RequireSnapshot. Refer to the guide for more details. Configure the SVCCopyServicesSnap resource in the fire drill service group. FCMapGroupName } Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 31 . MountSnapshot. The fire drill service group uses a copy of the data that is used by the application service group.oradb2 given in Appendix A SVCCopyServices app_svccp ( SSHPathToIDFile = " /. string-scalar A resource of type SVCCopyServices may be configured as follows in main.XX. In clusters employing IBM SVCCopyServices. the SVCCopyServicesSnap resource manages the replication relationship during a fire drill. This procedure is done without stopping the application at the primary site and disrupting user access. Bringing the Firedrill service group online demonstrates the ability of the application service group to come online at the remote site when a failover occurs.

Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 32 . Set this attribute to 0 if you do want the resource to come online even if it fails to take a snapshot. Note: Set this attribute to 1 only if UseSnapshot is set to 1. Setting this attribute to 0 creates the Bronze configuration. Used by the agent to keep track of desynchronizing snapshots. For example. For Silver and Bronze configurations. set the attribute to 0. integer-scalar Do not modify. Set this attribute to 1 for Gold and Silver configurations. in a typical Oracle setup. you might replicate data files and redo logs. string-scalar Specifies whether the SVCCopyServicesSnap resource takes a local snapshot of the target array. Set this attribute to the name of the SVCCopyServices resource if you want to take a snapshot of replicated data. TargetResName Type-dimension UseSnapshot Type-dimension RequireSnapshot Type-dimension MountSnapshot Type-dimension Responsibility Type-dimension FCMapGroupName Type-dimension Name of the resource managing the LUNs that you want to take snapshot of.cf: Also check the configuration and note that it is in Gold configuration. Set this attribute to the name of the DiskGroup resource if the data is not replicated. For Bronze. If the target SVCCopyServices resource contains a consistency group. For internal use only.str TargetResName int MountSnapshot int UseSnapshot int RequireSnapshot str FCMapGroupName temp str Responsibility ) Attribute definitions for the SVCCopyServicesSnap agent Review the description of the agent attributes. but you may choose to avoid replicating temporary tablespaces. Set this attribute to 1 for Gold configuration. set FCMapGroupName to a FlashCopy mapping. set FCMapGroupName to a FlashCopy consistency group. Note: Set this attribute to 1 only if UseSnapshot is set to 1 integer-scalar Specifies whether the resource uses the snapshot to bring the service group online. integer-scalar Specifies whether the SVCCopyServicesSnap resource must take a snapshot before coming online. set this attribute to 0. Required attributes You must assign values to required attributes. If the target SVCCopyServices resource contains a relationship. temporary string Name of the FlashCopy mapping or FlashCopy consistency group. This attribute is optional for Bronze configurations. Set this attribute to 1 if you want the resource to come online only after it succeeds in taking a snapshot. string-scalar A resource of type SVCCopyServicesSnap may be configured as follows in main. The temporary tablespace must still exist at the DR site and may be part of its own disk group.

Make sure the switch zoning configuration requirements are met for Global Mirror.SVCCopyServicesSnap FD_app_svccpsnap ( TargetResName = app_svccp MountSnapshot = 1 UseSnapshot = 1 RequireSnapshot = 1 FCMapGroupName = FD_gmappgrp1cg ) Configure the fire drill service group On one node of the secondary VCS cluster: 1. click Show All Attributes. Right-click the SVCCopyServices resource and click Delete. In the Edit Attribute dialog box. right-click the type to be edited. Enable the FireDrill attribute 1. The example uses a SVC Global Mirror setup. svcgmMDR by svcmmMDR and the SVCCopyServiceSnap. 6. In Cluster Explorer. 2. For example. Verify that the This action validates your disaster recovery service group can fail over to the secondary failure (disaster) at the primary site Failover Scenarios The section describes the procedures for perform the failover scenarios. 2. Click the fire drill service group in the left pane and click the Resources tab in the right pane. For the SVC Global Mirror configuration the SVCCopyServicesSnap FCMapGroupName attribute is FD_gmappgrp1cg. Add a resource of type SVCCopyServicesSnap and configure its attributes. Double click FireDrill. The setup contains one service group containing Oracle and DB2 resource types. Repeat the process of enabling the FireDrill attribute for all required resource types. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 33 . enable FireDrill as required. To use the SVC Metro Mirror configuration. 4. In Cluster Explorer. 4. click the Types tab in the left pane. For the SVC Global Mirror configuration the SVCCopyservices GroupName attribute is svcgmMDR. 3. If a resource to be edited does not appear in the pane. Edit attributes to reflect the configuration at the remote site. 5. For the SVC Metro Mirror configuration the SVCCopyservices GroupName attribute is svcmmMDR. 6. click the Service Group tab in the left pane. 3. change the Mount resources so that they point to the volumes that are used in the fire drill service group. 5. and click OK. Bring the fire drill service group online application running. replace the SVCCopyservices GroupName attribute. and click View > Properties View. Right-click the resource to be edited and click View > Properties View. For the SVC Metro Mirror configuration the SVCCopyServicesSnap FCMapGroupName attribute is FD_mmappgrp1cg. Click Show All Attributes.

Enable the switch ports of the two cluster nodes at Site A . choose say ClustsvcSNd1. Offline the Firedrill service group at Site B if it is online. the “Clusterservice” group is online on a node at each site and the “app_grp1” service group is online on a cluster node at Site A. Next. that node is also lost. from the SVC console ensure the Global Mirror consistency group is in consistent_synchronized state and the Primary is the Master Cluster (ibmsvcM). check that the DB application data is consistent Disaster Recovery in a Global Cluster Configuration Test cluster failover in case of a disaster and failback after restoration of the cluster at the disaster site ( Site A).e. right-click the service group. Login to a site A and site B cluster node and issue the following command. perform the following steps: 1. From any node switch the service group to its original host i. ClustsvcPNd2 pf the cluster at Site A. ensure the cluster comes up and the service group is offline. 3. While the Application is running. since all nodes in the cluster are down the application fails over to a cluster node at Site B. 6.Before you start the scenarios make sure that the both clusters in Site A and Site B are up and running. Wait till the service group comes online on ClustsvcPNd2. check that the DB application data is consistent. This action introduces a fault. from the SVC console ensure the Global Mirror consistency group is in consistent_synchronized state and the Primary is the Master Cluster (ibmsvcM). While the Application is running. In the Service Groups tab of the Cluster Manager Configuration tree. 5. and click the ClustsvcPNd1 on which the service group was originally online. A cluster down alert appears and gives the admin opportunity to fail over the service group manually to one of the cluster nodes at Site B. Disable the host port on the switch of cluster node ClustsvcPNd2 4. The service group comes online on ClustsvcPNd1. 8. To test the host failure across nodes and clusters. a node in the cluster at Site A where the application is online is lost. Wait till the service group comes online on ClustsvcPNd2. The application fails over to the second node in the cluster. Click Switch To. ClustsvcPNd1. 7. #/opr/VRTSvcs/bin/hastatus Start the Cluster management GUI #export DISPLAY=xhost:xx. 9. The service group fails over to the second node i. In this case simulate a disaster by introducing fault to all nodes in the cluster and storage at Site A simultaneously. Wait till the service group comes online on ClustsvcSNd1. While the Application is running. #IBM_2145:ibmsvcM:admin>svcinfo lsrcconsistgrp 2. from the SVC console ensure the Global Mirror consistency group is in consistent_synchronized state and the Primary is the Master Cluster ( ibmsvcM ). Follow step 1 to failover the application to ClustsvcSNd2 and verify the status.e. Check from the SVC console that the Master console becomes the Primary again. Application Host Failover In this scenario. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 34 . check that the DB application data is consistent.0 #/opt/VRTSvcs/bin/hagui & Make sure that. Disable a host port of cluster node on the switch for say ClustsvcPNd1 at site A where the application is online.

The SVC Global Mirror consistency group lists Primary as the Auxiliary Cluster (ibmsvcDR). Ensure the cluster comes up and the ClusterService group goes online. 5. #hagrp –offline firedrill_appgrp1 –sys gl-ax06 –localclus Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 35 . 1. If the fire drill service group does not come online. stop the replication manually (if it is not stopped already). check that the DB application data is consistent Checking Failover Readiness with Firedrill In this example the Firedrill service group is in Gold configuration. 4. 6. ClustsvcPNd1 in Site A. #hagrp –online firedrill_appgrp1 –sys gl-ax06 –localclus This action validates your disaster recovery configuration. Bring the fire drill service “FD_app_svccpsnap“ online on a node (ClustsvcSNd1) at site B. The service group comes online on ClustsvcPNd1. 8. If the current primary is retained as the primary for the replication relationship and the replication is not in a stopped state. Offline the Firedrill service group at Site B if it is online. use the update action entry point with exactly one argument that is the SVC cluster. Check from the SVC console that the Master console becomes the Primary again. Use the startrcrelationship or the startrcconsistgrp command with both the -force and primary options. choose say ClustsvcSNd1. which the user retains as primary. 2. Enable the disabled switch ports of cluster Site A.To test the cluster failover and failback. 2. switch application to the cluster at Site A . A local snapshot of the target LUN is taken and the fire drill service group in brought online by mounting the replication target LUN. Take the fire drill offline after its functioning has been validated. 3. Enable read / write access on both SVC clusters by using the stoprcrelationship or the stoprcconsistgrp command with the –access option. 3. Disable the host ports and storage switch ports of cluster site A. You can also check the status from the VCS log at /var/VRTSvcs/log/engine_A. Use the stoprcrelationship or the stoprcconsistgrp command. Make sure the Application is up and running on one of the cluster node. Alternatively. Manually resynchronize the data between the primary and secondary sites. VCS creates a lock file to indicate that the resource is online. without the -access option.log. 7. Use the startrcrelationship or the startrcconsistgrp command with the -force option on the SVC cluster that the user wants to retain as primary. perform the following steps: 1. After the resynchronization is complete. stop the replication manually. The production service group can fail over to the secondary site in the event of an actual failure (disaster) at the primary site. The application service group is offline. Wait till the service group p comes online on ClustsvcPNd2. review the VCS engine log for more information. Use the update action entry point with no arguments specified. Ensure the application service group “app_grp1” is offline at cluster Site B. say. Alternatively. A cluster down alert appears and gives the admin opportunity to fail over the service group manually to one of the cluster nodes at Site B. If you change the primary for the replication relationship.

For example. there would be resource conflicts. it can failover to another node in the cluster. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 36 .Note: Failing to take fire drill service group offline could cause failures in your environment. resulting in both service groups faulting and based on failover policy for the application service group. if the application service group fails over to the node hosting fire drill service group.

merely shipping backup tapes to an offsite location is not adequate. like Veritas Cluster Server. The IBM SVC Metro Mirror and Global Mirror features are utilized to add data replication capabilities to the solution.Summary Clustering software. VCS Wizards are used to convert two independent clusters (at two different locations) into a global cluster with automated failover capability between locations in the event of a site disaster. As more and more organizations look to add robust disaster recovery capabilities to their mission critical systems. The result is a robust DR environment capable of meeting stringent Recovery Time Objectives. has for many years been the standard approach to protect against failures of individual hardware or software components. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 37 . This whitepaper has shown how a local HA cluster can be extended with DR capabilities.

cf.xxx. Oracle Application Service Group for HA/DR Site A : Primary Cluster Site B : Secondary Cluster Nodes : ClustsvcPNd1 ClustsvcPNd2 Nodes : ClustsvcSNd1 .xx.cf.siteB include "types.05" } ) system ClustsvcPNd1 ( ) system ClustsvcSNd1 ( ) system ClustsvcPNd2 ( ) system ClustsvcSNd2 ( ) group ClusterService ( SystemList = { ClustsvcPNd1 = 0.0" ) NIC gconic ( Device = en0 ) NIC gconic ( Device = en0 ) gcoip requires gconic wac requires gcoip gcoip requires gconic wac requires gcoip Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 38 .xx.cf" cluster ClustsvcP ( UserNames = { admin = bIJbIDiFJeJJhRJdIG } ClusterAddress = "10.0" ) IP gcoip ( Device = en0 Address = "10.cf" include "types. ClustsvcSNd2 = 0 } AutoStartList = { ClustsvcSNd1.xx.cf" include "Db2udbTypes.140.siteA main.140.05" NetMask = "255.cf" include "Db2udbTypes.db2.255.06" } ) heartbeat Icmp ( ClusterList = { ClustsvcP } AYATimeout = 30 Arguments @ClustsvcP = { "10.06" NetMask = "255.xx.05" Administrators = { admin } ) cluster ClustsvcS ( UserNames = { admin = IpqIpkPmqLqqOyqKpn } ClusterAddress = "10.Appendix A: VCS Configuration File (main.140.cf) with DB2.140. ClustsvcSNd2 VCS configuration file for DB2 main.xx.140.255.06" Administrators = { admin } ) remotecluster ClustsvcS ( ClusterAddress = "10.xxx.cf" include "SVCCopyServicesTypes.xx. ClustsvcPNd2 } OnlineRetryLimit = 3 OnlineRetryInterval = 3 ) group ClusterService ( SystemList = { ClustsvcSNd1 = 0.05" ) heartbeat Icmp ( ClusterList = { ClustsvcS } AYATimeout = 30 Arguments @ClustsvcS = { "10.140.xx.06" ) remotecluster ClustsvcP ( ClusterAddress = "10. ClustsvcSNd2 } OnlineRetryLimit = 3 OnlineRetryInterval = 3 ) Application wac ( StartProgram = "/opt/VRTSvcs/bin/wacstart" StopProgram = "/opt/VRTSvcs/bin/wacstop" MonitorProcesses = { "/opt/VRTSvcs/bin/wac" } ) Application wac ( StartProgram = "/opt/VRTSvcs/bin/wacstart" StopProgram = "/opt/VRTSvcs/bin/wacstop" MonitorProcesses = { "/opt/VRTSvcs/bin/wac" } ) IP gcoip ( Device = en0 Address = "10.140.cf" include "SVCCopyServicesTypes. ClustsvcPNd2 = 0 } AutoStartList = { ClustsvcPNd1.db2.140.xx.

255.0" ) Mount db2udb_mnt0 ( MountPoint = "/db2inst" BlockDevice = "/dev/vx/dsk/db2dg1/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt0 ( MountPoint = "/db2inst" BlockDevice = "/dev/vx/dsk/db2dg1/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt1 ( MountPoint = "/db2inst/db/mnt1" BlockDevice = "/dev/vx/dsk/db2dg1/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt1 ( MountPoint = "/db2inst/db/mnt1" BlockDevice = "/dev/vx/dsk/db2dg1/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt2 ( MountPoint = "/db2inst/db/mnt2" BlockDevice = "/dev/vx/dsk/db2dg1/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt2 ( MountPoint = "/db2inst/db/mnt2" BlockDevice = "/dev/vx/dsk/db2dg1/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt3 ( MountPoint = "/db2inst/db/mnt3" BlockDevice = "/dev/vx/dsk/db2dg1/mnt3" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt3 ( MountPoint = "/db2inst/db/mnt3" BlockDevice = "/dev/vx/dsk/db2dg1/mnt3" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt4 ( MountPoint = "/db2inst/db/mnt4" BlockDevice = "/dev/vx/dsk/db2dg1/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt4 ( MountPoint = "/db2inst/db/mnt4" BlockDevice = "/dev/vx/dsk/db2dg1/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt5 ( MountPoint = "/db2inst/db/temp" BlockDevice = "/dev/vx/dsk/db2dg1/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt5 ( MountPoint = "/db2inst/db/temp" BlockDevice = "/dev/vx/dsk/db2dg1/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt6 ( Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 39 .xx.02" NetMask = "255.0" ) IP db2udb_ip ( Device = en0 Address = "10.01" NetMask = "255.group db2udb_grp1 ( SystemList = { ClustsvcPNd1 = 0.xx. ClustsvcSNd2 = 1 } ClusterList = { ClustsvcP = 0. ClustsvcS = 1 } AutoStartList = { ClustsvcSNd1.255. ClustsvcSNd2 } ) Db2udb db2udb ( DB2InstOwner = db2inst DB2InstHome = "/db2inst/instance" IndepthMonitor = 1 DatabaseName = TPCC1 ) Db2udb db2udb ( DB2InstOwner = db2inst DB2InstHome = "/db2inst/instance" IndepthMonitor = 1 DatabaseName = TPCC1 ) DiskGroup db2udb_dg1 ( DiskGroup = db2dg1 ) DiskGroup db2udb_dg1 ( DiskGroup = db2dg1 ) IP db2udb_ip ( Device = en0 Address = "10.xxx.xxx.140. ClustsvcS = 1 } Authority = 1 AutoStartList = { ClustsvcPNd1. ClustsvcPNd2 = 1 } ClusterList = { ClustsvcP = 0. ClustsvcPNd2 } ) group db2udb_grp1 ( SystemList = { ClustsvcSNd1 = 0.140.

ssh/id_dsa " GroupName = svcmmMDR SVCClusterIP = "10.xx.xx.5".xxx" DisconnectTakeover = 1 ) Volume db2udb_vol00 ( Volume = base DiskGroup = db2dg1 ) Volume db2udb_vol00 ( Volume = base DiskGroup = db2dg1 ) Volume db2udb_vol01 ( Volume = mnt1 DiskGroup = db2dg1 ) Volume db2udb_vol01 ( Volume = mnt1 DiskGroup = db2dg1 ) Volume db2udb_vol02 ( Volume = mnt2 DiskGroup = db2dg1 ) Volume db2udb_vol02 ( Volume = mnt2 DiskGroup = db2dg1 ) Volume db2udb_vol03 ( Volume = mnt3 DiskGroup = db2dg1 ) Volume db2udb_vol03 ( Volume = mnt3 DiskGroup = db2dg1 ) Volume db2udb_vol04 ( Volume = mnt4 DiskGroup = db2dg1 ) Volume db2udb_vol04 ( Volume = mnt4 DiskGroup = db2dg1 ) Volume db2udb_vol05 ( Volume = dbtemp DiskGroup = db2dg1 ) Volume db2udb_vol05 ( Volume = dbtemp DiskGroup = db2dg1 ) Volume db2udb_vol06 ( Volume = log DiskGroup = db2dg1 ) Volume db2udb_vol06 ( Volume = log DiskGroup = db2dg1 ) Volume db2udb_vol07 ( Volume = backup DiskGroup = db2dg1 ) Volume db2udb_vol07 ( Volume = backup DiskGroup = db2dg1 ) db2udb requires db2udb_ip db2udb requires db2udb_mnt0 db2udb requires db2udb_ip Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 40 . "10.MountPoint = "/db2inst/db/log" BlockDevice = "/dev/vx/dsk/db2dg1/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt6 ( MountPoint = "/db2inst/db/log" BlockDevice = "/dev/vx/dsk/db2dg1/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt7 ( MountPoint = "/db2inst/backup" BlockDevice = "/dev/vx/dsk/db2dg1/backup" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt7 ( MountPoint = "/db2inst/backup" BlockDevice = "/dev/vx/dsk/db2dg1/backup" FSType = vxfs FsckOpt = " -y -o full " ) NIC db2udb_nic ( Device = en0 NetworkType = ether NetworkHosts = { "10.ssh/id_dsa " GroupName = svcmmMDR SVCClusterIP = "10.7".xx.140.140.xx. "10.xxx" DisconnectTakeover = 1 ) SVCCopyServices db2udb_svccp ( SSHPathToIDFile = " /.8" } ) NIC db2udb_nic ( Device = en0 NetworkType = ether NetworkHosts = { "10.140.xx.140.140.xx.140.6" } ) SVCCopyServices db2udb_svccp ( SSHPathToIDFile = " /.

xx. ClustsvcSNd2 = 0 } AutoStartList = { ClustsvcSNd1.cf" include "types.cf" include "OracleTypes.140. ClustsvcSNd2 } OnlineRetryLimit = 3 OnlineRetryInterval = 3 ) Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 41 .05" } ) system ClustsvcPNd1 ( ) system ClustsvcSNd1 ( ) system ClustsvcPNd2 ( ) system ClustsvcSNd2 ( ) group ClusterService ( SystemList = { ClustsvcPNd1 = 0.siteA VCS configuration file for Oracle main.cf.06" ) remotecluster ClustsvcP ( ClusterAddress = "10.06" } ) heartbeat Icmp ( ClusterList = { ClustsvcP } AYATimeout = 30 Arguments @ClustsvcP = { "10.06" Administrators = { admin } ) remotecluster ClustsvcS ( ClusterAddress = "10.xx.siteB include "types.cf" include "SVCCopyServicesTypes.cf" include "SVCCopyServicesTypes.05" ) heartbeat Icmp ( ClusterList = { ClustsvcS } AYATimeout = 30 Arguments @ClustsvcS = { "10.cf" include "OracleTypes.cf" include "Db2udbTypes.05" Administrators = { admin } ) cluster ClustsvcS ( UserNames = { admin = IpqIpkPmqLqqOyqKpn } ClusterAddress = "10.ora.140.xx.140.cf" include "Db2udbTypes.140.140.xx.ora. ClustsvcPNd2 } OnlineRetryLimit = 3 OnlineRetryInterval = 3 ) group ClusterService ( SystemList = { ClustsvcSNd1 = 0.xx.db2udb requires db2udb_mnt1 db2udb requires db2udb_mnt2 db2udb requires db2udb_mnt3 db2udb requires db2udb_mnt4 db2udb requires db2udb_mnt5 db2udb requires db2udb_mnt6 db2udb requires db2udb_mnt7 db2udb_dg1 requires db2udb_svccp db2udb_ip requires db2udb_nic db2udb_mnt0 requires db2udb_vol00 db2udb_mnt1 requires db2udb_mnt0 db2udb_mnt1 requires db2udb_vol01 db2udb_mnt2 requires db2udb_mnt0 db2udb_mnt2 requires db2udb_vol02 db2udb_mnt3 requires db2udb_mnt0 db2udb_mnt3 requires db2udb_vol03 db2udb_mnt4 requires db2udb_mnt0 db2udb_mnt4 requires db2udb_vol04 db2udb_mnt5 requires db2udb_mnt0 db2udb_mnt5 requires db2udb_vol05 db2udb_mnt6 requires db2udb_mnt0 db2udb_mnt6 requires db2udb_vol06 db2udb_mnt7 requires db2udb_mnt0 db2udb_mnt7 requires db2udb_vol07 db2udb_vol00 requires db2udb_dg1 db2udb_vol01 requires db2udb_dg1 db2udb_vol02 requires db2udb_dg1 db2udb_vol03 requires db2udb_dg1 db2udb_vol04 requires db2udb_dg1 db2udb_vol05 requires db2udb_dg1 db2udb_vol06 requires db2udb_dg1 db2udb_vol07 requires db2udb_dg1 db2udb requires db2udb_mnt0 db2udb requires db2udb_mnt1 db2udb requires db2udb_mnt2 db2udb requires db2udb_mnt3 db2udb requires db2udb_mnt4 db2udb requires db2udb_mnt5 db2udb requires db2udb_mnt6 db2udb requires db2udb_mnt7 db2udb_dg1 requires db2udb_svccp db2udb_ip requires db2udb_nic db2udb_mnt0 requires db2udb_vol00 db2udb_mnt1 requires db2udb_mnt0 db2udb_mnt1 requires db2udb_vol01 db2udb_mnt2 requires db2udb_mnt0 db2udb_mnt2 requires db2udb_vol02 db2udb_mnt3 requires db2udb_mnt0 db2udb_mnt3 requires db2udb_vol03 db2udb_mnt4 requires db2udb_mnt0 db2udb_mnt4 requires db2udb_vol04 db2udb_mnt5 requires db2udb_mnt0 db2udb_mnt5 requires db2udb_vol05 db2udb_mnt6 requires db2udb_mnt0 db2udb_mnt6 requires db2udb_vol06 db2udb_mnt7 requires db2udb_mnt0 db2udb_mnt7 requires db2udb_vol07 db2udb_vol00 requires db2udb_dg1 db2udb_vol01 requires db2udb_dg1 db2udb_vol02 requires db2udb_dg1 db2udb_vol03 requires db2udb_dg1 db2udb_vol04 requires db2udb_dg1 db2udb_vol05 requires db2udb_dg1 db2udb_vol06 requires db2udb_dg1 db2udb_vol07 requires db2udb_dg1 main.cf" cluster ClustsvcP ( UserNames = { admin = bIJbIDiFJeJJhRJdIG } ClusterAddress = "10. ClustsvcPNd2 = 0 } AutoStartList = { ClustsvcPNd1.140.cf.xx.

xxx.140.xx.0" ) IP gcoip ( Device = en0 Address = "10.0" ) IP oracle_ip ( Device = en0 Address = "10. ClustsvcSNd2 } ) DiskGroup oracle_dg0 ( DiskGroup = oracle1 ) DiskGroup oracle_dg0 ( DiskGroup = oracle1 ) DiskGroup oracle_dg1 ( DiskGroup = oradata1 ) DiskGroup oracle_dg1 ( DiskGroup = oradata1 ) IP oracle_ip ( Device = en0 Address = "10.xx.04" NetMask = "255. ClustsvcPNd2 } ) group oracle_grp1 ( SystemList = { ClustsvcSNd1 = 0.140.05" NetMask = "255.Application wac ( StartProgram = "/opt/VRTSvcs/bin/wacstart" StopProgram = "/opt/VRTSvcs/bin/wacstop" MonitorProcesses = { "/opt/VRTSvcs/bin/wac" } ) Application wac ( StartProgram = "/opt/VRTSvcs/bin/wacstart" StopProgram = "/opt/VRTSvcs/bin/wacstop" MonitorProcesses = { "/opt/VRTSvcs/bin/wac" } ) IP gcoip ( Device = en0 Address = "10.140.140.03" NetMask = "255.xx.xxx.255.06" NetMask = "255.xxx.xx. ClustsvcSNd2 = 1 } ClusterList = { ClustsvcP = 0.xxx.0" ) Mount oracle_mnt0 ( MountPoint = "/oracle" BlockDevice = "/dev/vx/dsk/oracle1/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt0 ( MountPoint = "/oracle" BlockDevice = "/dev/vx/dsk/oracle1/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt1 ( MountPoint = "/oradata" BlockDevice = "/dev/vx/dsk/oradata1/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt1 ( MountPoint = "/oradata" BlockDevice = "/dev/vx/dsk/oradata1/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt2 ( MountPoint = "/oradata/tpcc/mnt2" BlockDevice = "/dev/vx/dsk/oradata1/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt2 ( MountPoint = "/oradata/tpcc/mnt2" BlockDevice = "/dev/vx/dsk/oradata1/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt3 ( MountPoint = "/oradata/tpcc/mnt3" BlockDevice = "/dev/vx/dsk/oradata1/mnt3" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt3 ( MountPoint = "/oradata/tpcc/mnt3" BlockDevice = "/dev/vx/dsk/oradata1/mnt3" FSType = vxfs FsckOpt = " -y -o full " Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 42 .255.255.0" ) NIC gconic ( Device = en0 ) NIC gconic ( Device = en0 ) gcoip requires gconic wac requires gcoip gcoip requires gconic wac requires gcoip group oracle_grp1 ( SystemList = { ClustsvcPNd1 = 0. ClustsvcPNd2 = 1 } ClusterList = { ClustsvcP = 0. ClustsvcS = 1 } AutoStartList = { ClustsvcSNd1. ClustsvcS = 1 } Authority = 1 AutoStartList = { ClustsvcPNd1.255.

140.7".5".xxx" DisconnectTakeover = 1 ) Volume oracle_vol00 ( Volume = base DiskGroup = oracle1 ) Volume oracle_vol00 ( Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 43 .xx.ssh/id_dsa " GroupName = svcmmMDR SVCClusterIP = "10.140.6" } ) Netlsnr oracle_lsnr ( Owner = oracle Home = "/oracle/orahome/" TnsAdmin = "/oracle/orahome/network/admin/" Listener @ClustsvcSNd1 = LISTENER_CLUSTSVCSND1 Listener @ClustsvcSNd2 = LISTENER_CLUSTSVCSND2 EnvFile = "/oracle/.140.xx. "10.profile" DetailMonitor = 1 User = tpcc Pword = aoeOamDmd Table = test ) SVCCopyServices oracle_svccp ( SSHPathToIDFile = " /.profile" DetailMonitor = 1 User = tpcc Pword = aoeOamDmd Table = test ) Oracle oracle ( Sid = tpcc Owner = oracle Home = "/oracle/orahome" StartUpOpt = STARTUP EnvFile = "/oracle/.xx.8" } ) NIC oracle_nic ( Device = en0 NetworkType = ether NetworkHosts = { "10.140. "10.xx.ssh/id_dsa " GroupName = svcmmMDR SVCClusterIP = "10.profile" LsnrPwd = DRHrDPgPG ) Oracle oracle ( Sid = tpcc Owner = oracle Home = "/oracle/orahome" StartUpOpt = STARTUP EnvFile = "/oracle/.140.xxx" DisconnectTakeover = 1 ) SVCCopyServices oracle_svccp ( SSHPathToIDFile = " /.140.xx.xx.) Mount oracle_mnt4 ( MountPoint = "/oradata/tpcc/mnt4" BlockDevice = "/dev/vx/dsk/oradata1/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt4 ( MountPoint = "/oradata/tpcc/mnt4" BlockDevice = "/dev/vx/dsk/oradata1/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt5 ( MountPoint = "/oradata/tpcc/log" BlockDevice = "/dev/vx/dsk/oradata1/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt5 ( MountPoint = "/oradata/tpcc/log" BlockDevice = "/dev/vx/dsk/oradata1/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt6 ( MountPoint = "/oradata/tpcc/dbtemp" BlockDevice = "/dev/vx/dsk/oradata1/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt6 ( MountPoint = "/oradata/tpcc/dbtemp" BlockDevice = "/dev/vx/dsk/oradata1/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt7 ( MountPoint = "/oradata/backup" BlockDevice = "/dev/vx/dsk/oradata1/backup" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt7 ( MountPoint = "/oradata/backup" BlockDevice = "/dev/vx/dsk/oradata1/backup" FSType = vxfs FsckOpt = " -y -o full " ) NIC oracle_nic ( Device = en0 NetworkType = ether NetworkHosts = { "10.profile" LsnrPwd = DRHrDPgPG ) Netlsnr oracle_lsnr ( Owner = oracle Home = "/oracle/orahome/" TnsAdmin = "/oracle/orahome/network/admin/" Listener @ClustsvcPNd1 = LISTENER_CLUSTSVCPND1 Listener @ClustsvcPNd2 = LISTENER_CLUSTSVCPND2 EnvFile = "/oracle/.

Volume = base DiskGroup = oracle1 ) Volume oracle_vol01 ( Volume = mnt1 DiskGroup = oradata1 ) Volume oracle_vol01 ( Volume = mnt1 DiskGroup = oradata1 ) Volume oracle_vol02 ( Volume = mnt2 DiskGroup = oradata1 ) Volume oracle_vol02 ( Volume = mnt2 DiskGroup = oradata1 ) Volume oracle_vol03 ( Volume = mnt3 DiskGroup = oradata1 ) Volume oracle_vol03 ( Volume = mnt3 DiskGroup = oradata1 ) Volume oracle_vol04 ( Volume = mnt4 DiskGroup = oradata1 ) Volume oracle_vol04 ( Volume = mnt4 DiskGroup = oradata1 ) Volume oracle_vol05 ( Volume = log DiskGroup = oradata1 ) Volume oracle_vol05 ( Volume = log DiskGroup = oradata1 ) Volume oracle_vol06 ( Volume = dbtemp DiskGroup = oradata1 ) Volume oracle_vol06 ( Volume = dbtemp DiskGroup = oradata1 ) Volume oracle_vol07 ( Volume = backup DiskGroup = oradata1 ) Volume oracle_vol07 ( Volume = backup DiskGroup = oradata1 ) oracle requires oracle_mnt0 oracle requires oracle_mnt1 oracle requires oracle_mnt2 oracle requires oracle_mnt3 oracle requires oracle_mnt4 oracle requires oracle_mnt5 oracle requires oracle_mnt6 oracle requires oracle_mnt7 oracle_dg0 requires oracle_svccp oracle_dg1 requires oracle_svccp oracle_ip requires oracle_nic oracle_lsnr requires oracle oracle_lsnr requires oracle_ip oracle_mnt0 requires oracle_vol00 oracle_mnt1 requires oracle_vol01 oracle_mnt2 requires oracle_mnt1 oracle_mnt2 requires oracle_vol02 oracle_mnt3 requires oracle_mnt1 oracle_mnt3 requires oracle_vol03 oracle_mnt4 requires oracle_mnt1 oracle_mnt4 requires oracle_vol04 oracle_mnt5 requires oracle_mnt1 oracle_mnt5 requires oracle_vol05 oracle_mnt6 requires oracle_mnt1 oracle_mnt6 requires oracle_vol06 oracle_mnt7 requires oracle_mnt1 oracle_mnt7 requires oracle_vol07 oracle_vol00 requires oracle_dg0 oracle_vol01 requires oracle_dg1 oracle_vol02 requires oracle_dg1 oracle_vol03 requires oracle_dg1 oracle_vol04 requires oracle_dg1 oracle requires oracle_mnt0 oracle requires oracle_mnt1 oracle requires oracle_mnt2 oracle requires oracle_mnt3 oracle requires oracle_mnt4 oracle requires oracle_mnt5 oracle requires oracle_mnt6 oracle requires oracle_mnt7 oracle_dg0 requires oracle_svccp oracle_dg1 requires oracle_svccp oracle_ip requires oracle_nic oracle_lsnr requires oracle oracle_lsnr requires oracle_ip oracle_mnt0 requires oracle_vol00 oracle_mnt1 requires oracle_vol01 oracle_mnt2 requires oracle_mnt1 oracle_mnt2 requires oracle_vol02 oracle_mnt3 requires oracle_mnt1 oracle_mnt3 requires oracle_vol03 oracle_mnt4 requires oracle_mnt1 oracle_mnt4 requires oracle_vol04 oracle_mnt5 requires oracle_mnt1 oracle_mnt5 requires oracle_vol05 oracle_mnt6 requires oracle_mnt1 oracle_mnt6 requires oracle_vol06 oracle_mnt7 requires oracle_mnt1 oracle_mnt7 requires oracle_vol07 oracle_vol00 requires oracle_dg0 oracle_vol01 requires oracle_dg1 Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 44 .

xxx. gl-ax05 } ) group app_grp1 ( SystemList = { gl-ax06 = 0.siteB include "types. gl-ax05 = 0 } AutoStartList = { gl-ax04.cf. gl-ax05 } OnlineRetryLimit = 3 OnlineRetryInterval = 3 ) group ClusterService ( SystemList = { gl-ax06 = 0.255. gl-ax07 = 1 } ClusterList = { ClustsvcP = 0.xx.oradb2.cf" include "SVCCopyServicesTypes. ClustsvcS = 1 } AutoStartList = { gl-ax06.xx.05" Administrators = { admin } ) cluster ClustsvcS ( UserNames = { admin = IpqIpkPmqLqqOyqKpn } ClusterAddress = "10.0" ) NIC gconic ( Device = en0 ) NIC gconic ( Device = en0 ) gcoip requires gconic wac requires gcoip gcoip requires gconic wac requires gcoip group app_grp1 ( SystemList = { gl-ax04 = 0.cf" include "OracleTypes.cf" include "Db2udbTypes.140.140.oradb2.cf" include "OracleTypes.xxx.siteA main. gl-ax07 } OnlineRetryLimit = 3 OnlineRetryInterval = 3 ) Application wac ( StartProgram = "/opt/VRTSvcs/bin/wacstart" StopProgram = "/opt/VRTSvcs/bin/wacstop" MonitorProcesses = { "/opt/VRTSvcs/bin/wac" } ) Application wac ( StartProgram = "/opt/VRTSvcs/bin/wacstart" StopProgram = "/opt/VRTSvcs/bin/wacstop" MonitorProcesses = { "/opt/VRTSvcs/bin/wac" } ) IP gcoip ( Device = en0 Address = "10.05" ) heartbeat Icmp ( ClusterList = { ClustsvcS } AYATimeout = 30 Arguments @ClustsvcS = { "10.140.06" Administrators = { admin } ) remotecluster ClustsvcS ( ClusterAddress = "10.cf.255.xx.140.140. ClustsvcS = 1 } Authority = 1 AutoStartList = { gl-ax04. gl-ax05 = 1 } ClusterList = { ClustsvcP = 0.05" } ) system gl-ax04 ( ) system gl-ax06 ( ) system gl-ax05 ( ) system gl-ax07 ( ) group ClusterService ( SystemList = { gl-ax04 = 0. gl-ax07 = 0 } AutoStartList = { gl-ax06.140.xx.06" } ) heartbeat Icmp ( ClusterList = { ClustsvcP } AYATimeout = 30 Arguments @ClustsvcP = { "10.06" NetMask = "255.xx. gl-ax07 } ) Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 45 .140.cf" cluster ClustsvcP ( UserNames = { admin = bIJbIDiFJeJJhRJdIG } ClusterAddress = "10.05" NetMask = "255.cf" include "Db2udbTypes.oracle_vol05 requires oracle_dg1 oracle_vol06 requires oracle_dg1 oracle_vol07 requires oracle_dg1 oracle_vol02 requires oracle_dg1 oracle_vol03 requires oracle_dg1 oracle_vol04 requires oracle_dg1 oracle_vol05 requires oracle_dg1 oracle_vol06 requires oracle_dg1 oracle_vol07 requires oracle_dg1 VCS configuration file for combined Oracle and Db2 Application Service group and Firedrill main.0" ) IP gcoip ( Device = en0 Address = "10.xx.xx.cf" include "types.140.06" ) remotecluster ClustsvcP ( ClusterAddress = "10.cf" include "SVCCopyServicesTypes.xx.

140.0" ) Mount db2udb_mnt0 ( MountPoint = "/db2inst" BlockDevice = "/dev/vx/dsk/db2dg1/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt0 ( MountPoint = "/db2inst" BlockDevice = "/dev/vx/dsk/db2dg1/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt1 ( MountPoint = "/db2inst/db/mnt1" BlockDevice = "/dev/vx/dsk/db2dg1/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt1 ( MountPoint = "/db2inst/db/mnt1" BlockDevice = "/dev/vx/dsk/db2dg1/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt2 ( MountPoint = "/db2inst/db/mnt2" BlockDevice = "/dev/vx/dsk/db2dg1/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt2 ( MountPoint = "/db2inst/db/mnt2" BlockDevice = "/dev/vx/dsk/db2dg1/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt3 ( MountPoint = "/db2inst/db/mnt3" BlockDevice = "/dev/vx/dsk/db2dg1/mnt3" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt3 ( MountPoint = "/db2inst/db/mnt3" BlockDevice = "/dev/vx/dsk/db2dg1/mnt3" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt4 ( MountPoint = "/db2inst/db/mnt4" BlockDevice = "/dev/vx/dsk/db2dg1/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt4 ( MountPoint = "/db2inst/db/mnt4" BlockDevice = "/dev/vx/dsk/db2dg1/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt5 ( MountPoint = "/db2inst/db/temp" Mount db2udb_mnt5 ( Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 46 .03" NetMask = "255.xx.0" ) IP oracle_ip ( Device = en0 Address = "10.xxx.xxx.0" ) IP db2udb_ip ( Device = en0 Address = "10.255.01" NetMask = "255.255.04" NetMask = "255.140.140.xx.0" ) IP oracle_ip ( Device = en0 Address = "10.xxx.02" NetMask = "255.xxx.255.Db2udb db2udb ( DB2InstOwner = db2inst DB2InstHome = "/db2inst/instance" IndepthMonitor = 1 DatabaseName = TPCC1 ) Db2udb db2udb ( DB2InstOwner = db2inst DB2InstHome = "/db2inst/instance" IndepthMonitor = 1 DatabaseName = TPCC1 ) DiskGroup db2udb_dg1 ( DiskGroup = db2dg1 ) DiskGroup db2udb_dg1 ( DiskGroup = db2dg1 ) DiskGroup oracle_dg0 ( DiskGroup = oracle1 ) DiskGroup oracle_dg0 ( DiskGroup = oracle1 ) DiskGroup oracle_dg1 ( DiskGroup = oradata1 ) DiskGroup oracle_dg1 ( DiskGroup = oradata1 ) IP db2udb_ip ( Device = en0 Address = "10.255.140.xx.xx.

BlockDevice = "/dev/vx/dsk/db2dg1/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) MountPoint = "/db2inst/db/temp" BlockDevice = "/dev/vx/dsk/db2dg1/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt6 ( MountPoint = "/db2inst/db/log" BlockDevice = "/dev/vx/dsk/db2dg1/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt6 ( MountPoint = "/db2inst/db/log" BlockDevice = "/dev/vx/dsk/db2dg1/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt7 ( MountPoint = "/db2inst/backup" BlockDevice = "/dev/vx/dsk/db2dg1/backup" FSType = vxfs FsckOpt = " -y -o full " ) Mount db2udb_mnt7 ( MountPoint = "/db2inst/backup" BlockDevice = "/dev/vx/dsk/db2dg1/backup" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt0 ( MountPoint = "/oracle" BlockDevice = "/dev/vx/dsk/oracle1/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt0 ( MountPoint = "/oracle" BlockDevice = "/dev/vx/dsk/oracle1/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt1 ( MountPoint = "/oradata" BlockDevice = "/dev/vx/dsk/oradata1/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt1 ( MountPoint = "/oradata" BlockDevice = "/dev/vx/dsk/oradata1/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt2 ( MountPoint = "/oradata/tpcc/mnt2" BlockDevice = "/dev/vx/dsk/oradata1/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt2 ( MountPoint = "/oradata/tpcc/mnt2" BlockDevice = "/dev/vx/dsk/oradata1/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt3 ( MountPoint = "/oradata/tpcc/mnt3" BlockDevice = "/dev/vx/dsk/oradata1/mnt3" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt3 ( MountPoint = "/oradata/tpcc/mnt3" BlockDevice = "/dev/vx/dsk/oradata1/mnt3" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt4 ( MountPoint = "/oradata/tpcc/mnt4" BlockDevice = "/dev/vx/dsk/oradata1/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt4 ( MountPoint = "/oradata/tpcc/mnt4" BlockDevice = "/dev/vx/dsk/oradata1/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt5 ( MountPoint = "/oradata/tpcc/log" BlockDevice = "/dev/vx/dsk/oradata1/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt5 ( MountPoint = "/oradata/tpcc/log" BlockDevice = "/dev/vx/dsk/oradata1/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt6 ( MountPoint = "/oradata/tpcc/dbtemp" BlockDevice = "/dev/vx/dsk/oradata1/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt6 ( MountPoint = "/oradata/tpcc/dbtemp" BlockDevice = "/dev/vx/dsk/oradata1/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 47 .

140.profile" DetailMonitor = 1 User = tpcc Pword = aoeOamDmd Table = test ) Oracle oracle ( Sid = tpcc Owner = oracle Home = "/oracle/orahome" StartUpOpt = STARTUP EnvFile = "/oracle/.140.profile" LsnrPwd = DRHrDPgPG ) Oracle oracle ( Sid = tpcc Owner = oracle Home = "/oracle/orahome" StartUpOpt = STARTUP EnvFile = "/oracle/.profile" DetailMonitor = 1 User = tpcc Pword = aoeOamDmd Table = test ) SVCCopyServices app_svccp ( SSHPathToIDFile = " /.xxx" DisconnectTakeover = 1 ) Volume db2udb_vol00 ( Volume = base DiskGroup = db2dg1 ) Volume db2udb_vol00 ( Volume = base DiskGroup = db2dg1 ) Volume db2udb_vol01 ( Volume = mnt1 DiskGroup = db2dg1 ) Volume db2udb_vol01 ( Volume = mnt1 DiskGroup = db2dg1 ) Volume db2udb_vol02 ( Volume = mnt2 DiskGroup = db2dg1 ) Volume db2udb_vol02 ( Volume = mnt2 DiskGroup = db2dg1 ) Volume db2udb_vol03 ( Volume = mnt3 DiskGroup = db2dg1 ) Volume db2udb_vol03 ( Volume = mnt3 DiskGroup = db2dg1 ) Volume db2udb_vol04 ( Volume = mnt4 DiskGroup = db2dg1 ) Volume db2udb_vol04 ( Volume = mnt4 DiskGroup = db2dg1 ) Volume db2udb_vol05 ( Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 48 .profile" LsnrPwd = DRHrDPgPG ) Netlsnr oracle_lsnr ( Owner = oracle Home = "/oracle/orahome/" TnsAdmin = "/oracle/orahome/network/admin/" Listener @gl-ax04 = LISTENER_CLUSTSVCPND1 Listener @gl-ax05 = LISTENER_CLUSTSVCPND2 EnvFile = "/oracle/. "10.ssh/id_dsa " GroupName = svcgmMDR SVCClusterIP = "10.6" } ) Netlsnr oracle_lsnr ( Owner = oracle Home = "/oracle/orahome/" TnsAdmin = "/oracle/orahome/network/admin/" Listener @gl-ax06 = LISTENER_CLUSTSVCSND1 Listener @gl-ax07 = LISTENER_CLUSTSVCSND2 EnvFile = "/oracle/.140. "10.xx.8" } ) NIC app_nic ( Device = en0 NetworkType = ether NetworkHosts = { "10.140.ssh/id_dsa " GroupName = svcgmMDR SVCClusterIP = "10.xx.140.xx.7".xxx" DisconnectTakeover = 1 ) SVCCopyServices app_svccp ( SSHPathToIDFile = " /.Mount oracle_mnt7 ( MountPoint = "/oradata/backup" BlockDevice = "/dev/vx/dsk/oradata1/backup" FSType = vxfs FsckOpt = " -y -o full " ) Mount oracle_mnt7 ( MountPoint = "/oradata/backup" BlockDevice = "/dev/vx/dsk/oradata1/backup" FSType = vxfs FsckOpt = " -y -o full " ) NIC app_nic ( Device = en0 NetworkType = ether NetworkHosts = { "10.140.xx.5".xx.xx.

Volume = dbtemp DiskGroup = db2dg1 ) Volume db2udb_vol05 ( Volume = dbtemp DiskGroup = db2dg1 ) Volume db2udb_vol06 ( Volume = log DiskGroup = db2dg1 ) Volume db2udb_vol06 ( Volume = log DiskGroup = db2dg1 ) Volume db2udb_vol07 ( Volume = backup DiskGroup = db2dg1 ) Volume db2udb_vol07 ( Volume = backup DiskGroup = db2dg1 ) Volume oracle_vol00 ( Volume = base DiskGroup = oracle1 ) Volume oracle_vol00 ( Volume = base DiskGroup = oracle1 ) Volume oracle_vol01 ( Volume = mnt1 DiskGroup = oradata1 ) Volume oracle_vol01 ( Volume = mnt1 DiskGroup = oradata1 ) Volume oracle_vol02 ( Volume = mnt2 DiskGroup = oradata1 ) Volume oracle_vol02 ( Volume = mnt2 DiskGroup = oradata1 ) Volume oracle_vol03 ( Volume = mnt3 DiskGroup = oradata1 ) Volume oracle_vol03 ( Volume = mnt3 DiskGroup = oradata1 ) Volume oracle_vol04 ( Volume = mnt4 DiskGroup = oradata1 ) Volume oracle_vol04 ( Volume = mnt4 DiskGroup = oradata1 ) Volume oracle_vol05 ( Volume = log DiskGroup = oradata1 ) Volume oracle_vol05 ( Volume = log DiskGroup = oradata1 ) Volume oracle_vol06 ( Volume = dbtemp DiskGroup = oradata1 ) Volume oracle_vol06 ( Volume = dbtemp DiskGroup = oradata1 ) Volume oracle_vol07 ( Volume = backup DiskGroup = oradata1 ) Volume oracle_vol07 ( Volume = backup DiskGroup = oradata1 ) db2udb requires db2udb_ip db2udb requires db2udb_mnt0 db2udb requires db2udb_mnt1 db2udb requires db2udb_mnt2 db2udb requires db2udb_mnt3 db2udb requires db2udb_mnt4 db2udb requires db2udb_mnt5 db2udb requires db2udb_mnt6 db2udb requires db2udb_mnt7 db2udb_dg1 requires app_svccp db2udb_ip requires app_nic db2udb_mnt0 requires db2udb_vol00 db2udb_mnt1 requires db2udb_mnt0 db2udb_mnt1 requires db2udb_vol01 db2udb requires db2udb_ip db2udb requires db2udb_mnt0 db2udb requires db2udb_mnt1 db2udb requires db2udb_mnt2 db2udb requires db2udb_mnt3 db2udb requires db2udb_mnt4 db2udb requires db2udb_mnt5 db2udb requires db2udb_mnt6 db2udb requires db2udb_mnt7 db2udb_dg1 requires app_svccp db2udb_ip requires app_nic db2udb_mnt0 requires db2udb_vol00 db2udb_mnt1 requires db2udb_mnt0 Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 49 .

gl-ax07 = 1 } AutoFailOver = 0 ) Db2udb FD_db2udb ( DB2InstOwner = db2inst DB2InstHome = "/db2inst/instance" IndepthMonitor = 1 DatabaseName = TPCC1 ) Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 50 .db2udb_mnt2 requires db2udb_mnt0 db2udb_mnt2 requires db2udb_vol02 db2udb_mnt3 requires db2udb_mnt0 db2udb_mnt3 requires db2udb_vol03 db2udb_mnt4 requires db2udb_mnt0 db2udb_mnt4 requires db2udb_vol04 db2udb_mnt5 requires db2udb_mnt0 db2udb_mnt5 requires db2udb_vol05 db2udb_mnt6 requires db2udb_mnt0 db2udb_mnt6 requires db2udb_vol06 db2udb_mnt7 requires db2udb_mnt0 db2udb_mnt7 requires db2udb_vol07 db2udb_vol00 requires db2udb_dg1 db2udb_vol01 requires db2udb_dg1 db2udb_vol02 requires db2udb_dg1 db2udb_vol03 requires db2udb_dg1 db2udb_vol04 requires db2udb_dg1 db2udb_vol05 requires db2udb_dg1 db2udb_vol06 requires db2udb_dg1 db2udb_vol07 requires db2udb_dg1 oracle requires oracle_mnt0 oracle requires oracle_mnt1 oracle requires oracle_mnt2 oracle requires oracle_mnt3 oracle requires oracle_mnt4 oracle requires oracle_mnt5 oracle requires oracle_mnt6 oracle requires oracle_mnt7 oracle_dg0 requires app_svccp oracle_dg1 requires app_svccp oracle_ip requires app_nic oracle_lsnr requires oracle oracle_lsnr requires oracle_ip oracle_mnt0 requires oracle_vol00 oracle_mnt1 requires oracle_vol01 oracle_mnt2 requires oracle_mnt1 oracle_mnt2 requires oracle_vol02 oracle_mnt3 requires oracle_mnt1 oracle_mnt3 requires oracle_vol03 oracle_mnt4 requires oracle_mnt1 oracle_mnt4 requires oracle_vol04 oracle_mnt5 requires oracle_mnt1 oracle_mnt5 requires oracle_vol05 oracle_mnt6 requires oracle_mnt1 oracle_mnt6 requires oracle_vol06 oracle_mnt7 requires oracle_mnt1 oracle_mnt7 requires oracle_vol07 oracle_vol00 requires oracle_dg0 oracle_vol01 requires oracle_dg1 oracle_vol02 requires oracle_dg1 oracle_vol03 requires oracle_dg1 oracle_vol04 requires oracle_dg1 oracle_vol05 requires oracle_dg1 oracle_vol06 requires oracle_dg1 oracle_vol07 requires oracle_dg1 db2udb_mnt1 requires db2udb_vol01 db2udb_mnt2 requires db2udb_mnt0 db2udb_mnt2 requires db2udb_vol02 db2udb_mnt3 requires db2udb_mnt0 db2udb_mnt3 requires db2udb_vol03 db2udb_mnt4 requires db2udb_mnt0 db2udb_mnt4 requires db2udb_vol04 db2udb_mnt5 requires db2udb_mnt0 db2udb_mnt5 requires db2udb_vol05 db2udb_mnt6 requires db2udb_mnt0 db2udb_mnt6 requires db2udb_vol06 db2udb_mnt7 requires db2udb_mnt0 db2udb_mnt7 requires db2udb_vol07 db2udb_vol00 requires db2udb_dg1 db2udb_vol01 requires db2udb_dg1 db2udb_vol02 requires db2udb_dg1 db2udb_vol03 requires db2udb_dg1 db2udb_vol04 requires db2udb_dg1 db2udb_vol05 requires db2udb_dg1 db2udb_vol06 requires db2udb_dg1 db2udb_vol07 requires db2udb_dg1 oracle requires oracle_mnt0 oracle requires oracle_mnt1 oracle requires oracle_mnt2 oracle requires oracle_mnt3 oracle requires oracle_mnt4 oracle requires oracle_mnt5 oracle requires oracle_mnt6 oracle requires oracle_mnt7 oracle_dg0 requires app_svccp oracle_dg1 requires app_svccp oracle_ip requires app_nic oracle_lsnr requires oracle oracle_lsnr requires oracle_ip oracle_mnt0 requires oracle_vol00 oracle_mnt1 requires oracle_vol01 oracle_mnt2 requires oracle_mnt1 oracle_mnt2 requires oracle_vol02 oracle_mnt3 requires oracle_mnt1 oracle_mnt3 requires oracle_vol03 oracle_mnt4 requires oracle_mnt1 oracle_mnt4 requires oracle_vol04 oracle_mnt5 requires oracle_mnt1 oracle_mnt5 requires oracle_vol05 oracle_mnt6 requires oracle_mnt1 oracle_mnt6 requires oracle_vol06 oracle_mnt7 requires oracle_mnt1 oracle_mnt7 requires oracle_vol07 oracle_vol00 requires oracle_dg0 oracle_vol01 requires oracle_dg1 oracle_vol02 requires oracle_dg1 oracle_vol03 requires oracle_dg1 oracle_vol04 requires oracle_dg1 oracle_vol05 requires oracle_dg1 oracle_vol06 requires oracle_dg1 oracle_vol07 requires oracle_dg1 group firedrill_app_grp1 ( SystemList = { gl-ax06 = 0.

DiskGroup FD_db2udb_dg1 ( DiskGroup = db2dg1_fd ) DiskGroup FD_oracle_dg0 ( DiskGroup = oracle1_fd ) DiskGroup FD_oracle_dg1 ( DiskGroup = oradata1_fd ) IP FD_db2udb_ip ( Device = en0 Address = "10.xx.04" NetMask = "255.255.0" ) IP FD_oracle_ip ( Device = en0 Address = "10.xxx.140.xx.255.xxx.0" ) Mount FD_db2udb_mnt0 ( MountPoint = "/db2inst" BlockDevice = "/dev/vx/dsk/db2dg1_fd/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_db2udb_mnt1 ( MountPoint = "/db2inst/db/mnt1" BlockDevice = "/dev/vx/dsk/db2dg1_fd/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_db2udb_mnt2 ( MountPoint = "/db2inst/db/mnt2" BlockDevice = "/dev/vx/dsk/db2dg1_fd/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_db2udb_mnt3 ( MountPoint = "/db2inst/db/mnt3" BlockDevice = "/dev/vx/dsk/db2dg1_fd/mnt3" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_db2udb_mnt4 ( MountPoint = "/db2inst/db/mnt4" BlockDevice = "/dev/vx/dsk/db2dg1_fd/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_db2udb_mnt5 ( MountPoint = "/db2inst/db/temp" BlockDevice = "/dev/vx/dsk/db2dg1_fd/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_db2udb_mnt6 ( Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 51 .140.02" NetMask = "255.

MountPoint = "/db2inst/db/log" BlockDevice = "/dev/vx/dsk/db2dg1_fd/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_db2udb_mnt7 ( MountPoint = "/db2inst/backup" BlockDevice = "/dev/vx/dsk/db2dg1_fd/backup" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_oracle_mnt0 ( MountPoint = "/oracle" BlockDevice = "/dev/vx/dsk/oracle1_fd/base" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_oracle_mnt1 ( MountPoint = "/oradata" BlockDevice = "/dev/vx/dsk/oradata1_fd/mnt1" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_oracle_mnt2 ( MountPoint = "/oradata/tpcc/mnt2" BlockDevice = "/dev/vx/dsk/oradata1_fd/mnt2" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_oracle_mnt3 ( MountPoint = "/oradata/tpcc/mnt3" BlockDevice = "/dev/vx/dsk/oradata1_fd/mnt3" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_oracle_mnt4 ( MountPoint = "/oradata/tpcc/mnt4" BlockDevice = "/dev/vx/dsk/oradata1_fd/mnt4" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_oracle_mnt5 ( MountPoint = "/oradata/tpcc/log" BlockDevice = "/dev/vx/dsk/oradata1_fd/log" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_oracle_mnt6 ( MountPoint = "/oradata/tpcc/dbtemp" BlockDevice = "/dev/vx/dsk/oradata1_fd/dbtemp" FSType = vxfs FsckOpt = " -y -o full " ) Mount FD_oracle_mnt7 ( MountPoint = "/oradata/backup" BlockDevice = "/dev/vx/dsk/oradata1_fd/backup" FSType = vxfs FsckOpt = " -y -o full " ) Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 52 .

profile" DetailMonitor = 1 User = tpcc Pword = aoeOamDmd Table = test ) SVCCopyServicesSnap FD_app_svccpsnap ( TargetResName = app_svccp FCMapGroupName = FD_gmappgrp1cg ) Volume FD_db2udb_vol00 ( Volume = base DiskGroup = db2dg1_fd ) Volume FD_db2udb_vol01 ( Volume = mnt1 DiskGroup = db2dg1_fd ) Volume FD_db2udb_vol02 ( Volume = mnt2 DiskGroup = db2dg1_fd ) Volume FD_db2udb_vol03 ( Volume = mnt3 DiskGroup = db2dg1_fd ) Volume FD_db2udb_vol04 ( Volume = mnt4 DiskGroup = db2dg1_fd ) Volume FD_db2udb_vol05 ( Volume = dbtemp DiskGroup = db2dg1_fd ) Volume FD_db2udb_vol06 ( Volume = log DiskGroup = db2dg1_fd ) Volume FD_db2udb_vol07 ( Volume = backup DiskGroup = db2dg1_fd ) Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 53 .Netlsnr FD_oracle_lsnr ( Owner = oracle Home = "/oracle/orahome/" TnsAdmin = "/oracle/orahome/network/admin/" Listener @gl-ax06 = LISTENER_CLUSTSVCSND1 Listener @gl-ax07 = LISTENER_CLUSTSVCSND2 EnvFile = "/oracle/.profile" LsnrPwd = DRHrDPgPG ) Oracle FD_oracle ( Sid = tpcc Owner = oracle Home = "/oracle/orahome" StartUpOpt = STARTUP EnvFile = "/oracle/.

Volume FD_oracle_vol00 (
Volume = base
DiskGroup = oracle1_fd
)
Volume FD_oracle_vol01 (
Volume = mnt1
DiskGroup = oradata1_fd
)
Volume FD_oracle_vol02 (
Volume = mnt2
DiskGroup = oradata1_fd
)
Volume FD_oracle_vol03 (
Volume = mnt3
DiskGroup = oradata1_fd
)
Volume FD_oracle_vol04 (
Volume = mnt4
DiskGroup = oradata1_fd
)
Volume FD_oracle_vol05 (
Volume = log
DiskGroup = oradata1_fd
)
Volume FD_oracle_vol06 (
Volume = dbtemp
DiskGroup = oradata1_fd
)
Volume FD_oracle_vol07 (
Volume = backup
DiskGroup = oradata1_fd
)
FD_db2udb requires FD_db2udb_ip
FD_db2udb requires FD_db2udb_mnt0
FD_db2udb requires FD_db2udb_mnt1
FD_db2udb requires FD_db2udb_mnt2
FD_db2udb requires FD_db2udb_mnt3
FD_db2udb requires FD_db2udb_mnt4
FD_db2udb requires FD_db2udb_mnt5
FD_db2udb requires FD_db2udb_mnt6
FD_db2udb requires FD_db2udb_mnt7
FD_db2udb_dg1 requires FD_app_svccpsnap
FD_db2udb_mnt0 requires FD_db2udb_vol00
FD_db2udb_mnt1 requires FD_db2udb_mnt0
FD_db2udb_mnt1 requires FD_db2udb_vol01
FD_db2udb_mnt2 requires FD_db2udb_mnt0
FD_db2udb_mnt2 requires FD_db2udb_vol02
FD_db2udb_mnt3 requires FD_db2udb_mnt0
FD_db2udb_mnt3 requires FD_db2udb_vol03
FD_db2udb_mnt4 requires FD_db2udb_mnt0
FD_db2udb_mnt4 requires FD_db2udb_vol04
FD_db2udb_mnt5 requires FD_db2udb_mnt0
FD_db2udb_mnt5 requires FD_db2udb_vol05
FD_db2udb_mnt6 requires FD_db2udb_mnt0
FD_db2udb_mnt6 requires FD_db2udb_vol06
FD_db2udb_mnt7 requires FD_db2udb_mnt0
FD_db2udb_mnt7 requires FD_db2udb_vol07
FD_db2udb_vol00 requires FD_db2udb_dg1
FD_db2udb_vol01 requires FD_db2udb_dg1
FD_db2udb_vol02 requires FD_db2udb_dg1

Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror

54

FD_db2udb_vol03 requires FD_db2udb_dg1
FD_db2udb_vol04 requires FD_db2udb_dg1
FD_db2udb_vol05 requires FD_db2udb_dg1
FD_db2udb_vol06 requires FD_db2udb_dg1
FD_db2udb_vol07 requires FD_db2udb_dg1
FD_oracle requires FD_oracle_mnt0
FD_oracle requires FD_oracle_mnt1
FD_oracle requires FD_oracle_mnt2
FD_oracle requires FD_oracle_mnt3
FD_oracle requires FD_oracle_mnt4
FD_oracle requires FD_oracle_mnt5
FD_oracle requires FD_oracle_mnt6
FD_oracle requires FD_oracle_mnt7
FD_oracle_dg0 requires FD_app_svccpsnap
FD_oracle_dg1 requires FD_app_svccpsnap
FD_oracle_lsnr requires FD_oracle
FD_oracle_lsnr requires FD_oracle_ip
FD_oracle_mnt0 requires FD_oracle_vol00
FD_oracle_mnt1 requires FD_oracle_vol01
FD_oracle_mnt2 requires FD_oracle_mnt1
FD_oracle_mnt2 requires FD_oracle_vol02
FD_oracle_mnt3 requires FD_oracle_mnt1
FD_oracle_mnt3 requires FD_oracle_vol03
FD_oracle_mnt4 requires FD_oracle_mnt1
FD_oracle_mnt4 requires FD_oracle_vol04
FD_oracle_mnt5 requires FD_oracle_mnt1
FD_oracle_mnt5 requires FD_oracle_vol05
FD_oracle_mnt6 requires FD_oracle_mnt1
FD_oracle_mnt6 requires FD_oracle_vol06
FD_oracle_mnt7 requires FD_oracle_mnt1
FD_oracle_mnt7 requires FD_oracle_vol07
FD_oracle_vol00 requires FD_oracle_dg0
FD_oracle_vol01 requires FD_oracle_dg1
FD_oracle_vol02 requires FD_oracle_dg1
FD_oracle_vol03 requires FD_oracle_dg1
FD_oracle_vol04 requires FD_oracle_dg1
FD_oracle_vol05 requires FD_oracle_dg1
FD_oracle_vol06 requires FD_oracle_dg1
FD_oracle_vol07 requires FD_oracle_dg1

Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror

55

Appendix B: Setting up the Database Applications
Setting up the DB2 Database Application
Create Groups
mkgroup -A id=310 db2adm
mkgroup -A id=311 db2fadm
Create Users
DB2INST=db2inst
mkdir /$DB2INST
mkuser id=320 pgrp=db2adm groups=db2adm home=/$DB2INST/instance db2inst
mkuser id=321 pgrp=db2fadm groups=db2fadm home=/$DB2INST/db2fenc db2fenc
passwd db2inst
passwd db2fenc
su to another user and then to the user to confirm the password
su guest
su db2inst
su db2fenc
Edit /etc/services
Update /etc/services on all the systems that will be running the database, add the following:
DB2_tpcc1
60000/tcp
DB2_tpcc1_1 60001/tcp
DB2_tpcc1_2 60002/tcp
DB2_tpcc1_END 60003/tcp
DB2_db2inst 60004/tcp
DB2_db2inst_1 60005/tcp
DB2_db2inst_2 60006/tcp
DB2_db2inst_END 60007/tcp
NOTE: "tpcc1" needs to match what the "SVCENAME" is set to for the database. (db2 get dbm cfg |
grep SVCENAME)
NOTE: "db2inst" needs to match the instance name. This is for the DAS instance.
Configure VxVM Disks
Successful completion of procedures mentioned in Installing and Configuring SVC is a
prerequisite for this step.
vxddladm enablescsi3 policy=aa
DG=db2dg1
DB2INST=db2inst
vxdg init $DG <disk-name> cds=off

Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror

56

profile chown db2fenc /$DB2INST/db2fenc chgrp db2adm /$DB2INST/instance /$DB2INST/instance/. Mount the Db2 Software disk OR have access to the DB2 software store.# If you want simple volumes vxassist -g $DG make base 2g layout=mirror & vxassist -g $DG make dbtemp 2g layout=mirror & vxassist -g $DG make mnt1 2g layout=mirror & vxassist -g $DG make mnt2 2g layout=mirror & vxassist -g $DG make mnt3 2g layout=mirror& vxassist -g $DG make mnt4 2g layout=mirror& vxassist -g $DG make log 20g layout=concat & vxassist -g $DG make backup 6g layout=concat & wait vxvol -g $DG startall V=V mkfs -$V vxfs /dev/vx/rdsk/$DG/base mkfs -$V vxfs /dev/vx/rdsk/$DG/dbtemp mkfs -$V vxfs /dev/vx/rdsk/$DG/mnt1 mkfs -$V vxfs /dev/vx/rdsk/$DG/mnt2 mkfs -$V vxfs /dev/vx/rdsk/$DG/mnt3 mkfs -$V vxfs /dev/vx/rdsk/$DG/mnt4 mkfs -$V vxfs /dev/vx/rdsk/$DG/backup mkfs -$V vxfs /dev/vx/rdsk/$DG/log mkdir -p /$DB2INST mount -$V vxfs /dev/vx/dsk/$DG/base /$DB2INST mkdir -p /$DB2INST/db/temp mount -$V vxfs /dev/vx/dsk/$DG/dbtemp /$DB2INST/db/temp mkdir -p /$DB2INST/db/mnt1 mkdir -p /$DB2INST/db/mnt2 mkdir -p /$DB2INST/db/mnt3 mkdir -p /$DB2INST/db/mnt4 mount -$V vxfs /dev/vx/dsk/$DG/mnt1 /$DB2INST/db/mnt1 mount -$V vxfs /dev/vx/dsk/$DG/mnt2 /$DB2INST/db/mnt2 mount -$V vxfs /dev/vx/dsk/$DG/mnt3 /$DB2INST/db/mnt3 mount -$V vxfs /dev/vx/dsk/$DG/mnt4 /$DB2INST/db/mnt4 mkdir -p /$DB2INST/db/log mount -$V vxfs /dev/vx/dsk/$DG/log /$DB2INST/db/log mkdir -p /$DB2INST/backup mount -$V vxfs /dev/vx/dsk/$DG/backup /$DB2INST/backup chown db2inst /$DB2INST /$DB2INST/db /$DB2INST/db/* /$DB2INST/backup chgrp db2adm /$DB2INST /$DB2INST/db /$DB2INST/db/* /$DB2INST/backup mkdir /$DB2INST/instance /$DB2INST/db2fenc touch /$DB2INST/instance/.profile chgrp db2fadm /$DB2INST/db2fenc chown db2inst /opt/VRTSdb2ed chgrp db2adm /opt/VRTSdb2ed Database installation On each system install the db2 bits.dbcs Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 57 .profile echo "+ +" >/$DB2INST/dbinst/.rhosts chown db2inst /$DB2INST/instance /$DB2INST/instance/. cd ese.

/db2idrop db2inst ./db2icrt -a server -p 70000 -s ese -u db2inst db2inst Set up the database (db2inst) su .\ '/$DB2INST/db/temp/tmp02') extentsize 16 prefetchsize 64" db2 "update db cfg for $DBNAME using NEWLOGPATH $LOGDIR" db2 "update db cfg for $DBNAME using SORTHEAP 2048" db2 "update db cfg for $DBNAME using logretain on" db2 "update db cfg for $DBNAME using LOGFILSIZ 2000" db2 "update db cfg for $DBNAME using LOGPRIMARY 100" db2 "update db cfg for $DBNAME using LOGSECOND 150" db2set DB2COMM=tcpip db2 "update dbm cfg using svcename $SVNAME" # "tpcc1" needs to match up to the SVCENAME for the database db2stop db2start exit $? Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 58 .db2inst echo "PATH=$PATH:/opt/VRTSdb2ed/bin" >> .1/instance ] cd /opt/IBM/db2/V9.\ '/$DB2INST/db/temp/tmp01'.1/instance [ ! -f /db2inst/instance/..profile exit su .profile ] ./db2_install -p ESE Database creation Create instance (as root) USER=db2inst DB2INST=db2inst [ -d /opt/IBM/db2/V9.LOG $BACKUP/*) db2stop db2start db2 create database $DBNAME on /$DB2INST/db/"\ temporary tablespace managed by system using (\ '/$DB2INST/db/temp/tmp00'.db2inst Create database DB2INST=db2inst DBNAME=tpcc1 SVNAME=DB2_tpcc1 LOGDIR=/$DB2INST/db/log BACKUP=/$DB2INST/backup db2 update dbm cfg using diaglevel 4 db2 force applications all db2stop db2start db2 drop database $DBNAME (rm -f $LOGDIR/* $LOGDIR/NODE*/*.

Backup the database DB2INST=db2inst DBNAME=tpcc1 BACKUP=/$DB2INST/backup db2 backup database $DBNAME to $BACKUP exit $? Create table spaces and buffer pools DB2INST=db2inst DBNAME=tpcc1 db2 connect to tpcc1 db2 CREATE Bufferpool TPCC1_TS1 IMMEDIATE SIZE 65536 PAGESIZE 4 K db2 CREATE REGULAR TABLESPACE TS1 PAGESIZE 4 K MANAGED BY DATABASE USING "( FILE '/db2inst/db/mnt1/dfA1' 1900M ) EXTENTSIZE 16 PREFETCHSIZE 16 NO FILE SYSTEM CACHING BUFFERPOOL TPCC1_TS1" db2 CREATE Bufferpool TPCC1_TS2 IMMEDIATE SIZE 65536 PAGESIZE 4 K db2 CREATE REGULAR TABLESPACE TS2 PAGESIZE 4 K MANAGED BY SYSTEM USING "( '/db2inst/db/mnt2/dfB1') EXTENTSIZE 16 PREFETCHSIZE 16 NO FILE SYSTEM CACHING BUFFERPOOL TPCC1_TS2" db2 CREATE Bufferpool TPCC1_TS3 IMMEDIATE SIZE 65536 PAGESIZE 4 K db2 CREATE REGULAR TABLESPACE TS3 PAGESIZE 4 K MANAGED BY DATABASE USING "( FILE '/db2inst/db/mnt3/dfC1' 1900M ) EXTENTSIZE 16 PREFETCHSIZE 16 FILE SYSTEM CACHING BUFFERPOOL TPCC1_TS3" db2 CREATE Bufferpool TPCC1_TS4 IMMEDIATE SIZE 65536 PAGESIZE 4 K db2 CREATE REGULAR TABLESPACE TS4 PAGESIZE 4 K MANAGED BY SYSTEM USING "( '/db2inst/db/mnt4/dfD1') EXTENTSIZE 16 PREFETCHSIZE 16 FILE SYSTEM CACHING BUFFERPOOL TPCC1_TS4" db2 CONNECT RESET db2 force application all db2stop db2start exit $? Setting up the Oracle Database Application Create Groups mkgroup -A id=410 oracle mkgroup -A id=411 dba Create Users ORAINST=oracle mkdir /$ORAINST mkuser id=320 pgrp=dba groups=db2adm home=/$ORAINST/orahome oracle passwd oracle su to another user and then to the user to confirm the password Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 59 .

profile echo "+ +" >/$ORAINST/orahome/.su guest su oracle Configure VxVM Disks vxddladm enablescsi3 policy=aa DG=oracle1 vxdg init $DG <disk-name>_0 cds=off vxassist -g $DG make base 15g & V=V mkfs -$V vxfs /dev/vx/rdsk/$DG/base mkdir -p /$DG mount -$V vxfs /dev/vx/dsk/$DG/base /$ORAINST mkdir /$ORAINST/orahome touch /$ORAINST/orahome/.rhosts chown -R oracle:dba /$ORAINST DG1=oradata1 mkdir -p /$DG1 vxdg init $DG1 SAN_VC0_1 cds=off #for simple volumes vxassist -g $DG1 make mnt1 4g & vxassist -g $DG1 make mnt2 4g & vxassist -g $DG1 make mnt3 4g & vxassist -g $DG1 make mnt4 6g & vxassist -g $DG1 make log 20g & vxassist -g $DG1 make dbtemp 4g & vxassist -g $DG1 make backup 24g & wait mkfs -$V vxfs /dev/vx/rdsk/$DG1/mnt1 mkfs -$V vxfs /dev/vx/rdsk/$DG1/mnt2 mkfs -$V vxfs /dev/vx/rdsk/$DG1/mnt3 mkfs -$V vxfs /dev/vx/rdsk/$DG1/mnt4 mkfs -$V vxfs /dev/vx/rdsk/$DG1/log mkfs -$V vxfs /dev/vx/rdsk/$DG1/temp mkfs -$V vxfs /dev/vx/rdsk/$DG1/backup mount -$V vxfs /dev/vx/dsk/$DG1/mnt1 /$DG1 mkdir -p /$DG1/tpcc mkdir -p /$DG1/tpcc/mnt2 mkdir -p /$DG1/tpcc/mnt3 mkdir -p /$DG1/tpcc/mnt4 mkdir -p /$DG1/tpcc/log mkdir -p /$DG1/tpcc/dbtemp mkdir -p /$DG1/backup Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 60 .

0 $ .mount -$V vxfs /dev/vx/dsk/$DG1/mnt2 /$DG1/tpcc/mnt2 mount -$V vxfs /dev/vx/dsk/$DG1/mnt3 /$DG1/tpcc/mnt3 mount -$V vxfs /dev/vx/dsk/$DG1/mnt4 /$DG1/tpcc/mnt4 mount -$V vxfs /dev/vx/dsk/$DG1/log /$DG1/tpcc/log mount -$V vxfs /dev/vx/dsk/$DG1/dbtemp /$DG1/tpcc/temp mount -$V vxfs /dev/vx/dsk/$DG1/backup /$DG1/backup chown -R oracle:dba /$DG1 Database installation On each system install the Oracle 10gR2.sh sys manager /oracle/scripts build. Install Oracle as oracle user. Login as oracle and run the script as shown. $. Follow instructions in the installer gui and complete installation #su – oracle export ORACLE_BASE=/oracle export ORACLE_HOME=$ORACLE_BASE/orahome export ORACLE_SID=tpcc export LIBPATH=/usr/dt/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/lib export NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N. . Edit the ./Disk1/runInstaller -ignoreSysPrereqs Database creation Copy the scripts listed below to a directory under /oracle. then Usage fi export DBNAME=$ORACLE_SID export sysPassword=$1 Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 61 ./build.cat export PATH=$PATH:/oradata/tpcc/scripts:$ORACLE_BASE:$ORACLE_HOME:$ORACLE_HOME/bin export DISPLAY=xhost:XX.profile $ cd <oracle software disk path>/Disk1 . Mount the Oracle Software disk OR have access to the Oracle software store.sh #!/usr/bin/ksh Usage () { print -u2 " $0 syspassword systempassword scriptpath Example : $0 sys manager /tmp/scripts " exit 2 } if [ $# -ne 3 ].profile file and set the following environment variables./. Ensure that oracle user’s env has ORACLE_SID variable set .

sql @&&SCRPT_PATH/CreateDBCatalog.sql host echo "SPFILE='/${SCRPT_PATH}/spfile${DBNAME}. Set it in the oracle user’s .&&DBNAME password=&&sysPassword force=y @&&SCRPT_PATH/CreateDB.ora'" > /oracle/orahome/dbs/init${DBNAME}.sql set verify off DEFINE DBNAME = &1 DEFINE sysPassword = &2 DEFINE systemPassword = &2 DEFINE SCRPT_PATH = &4 host /oracle/orahome/bin/orapwd file=/oracle/orahome/dbs/orapw. Rerun command again. " exit 2 fi if [ ! -x $SCRPT_PATH/build.export systemPassword=$2 export SCRPT_PATH=$3 if [ -z $DBNAME ] then print -u2 " Oracle SID (ORACLE_SID) is not set.profile and execute it.ora @&&SCRPT_PATH/postDBCreation.sql connect SYS/&&sysPassword as SYSDBA set echo on Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 62 .sql @&&SCRPT_PATH/CreateDBFiles.sh ] then print -u2 " Script directory path : $SCRPT_PATH is not valid.sql $DBNAME $sysPassword $systemPassword $SCRPT_PATH build. " exit 2 fi mkdir -p /oradata/$DBNAME mkdir -p /oradata/$DBNAME/bdump mkdir -p /oradata/$DBNAME/cdump mkdir -p /oradata/$DBNAME/create mkdir -p /oradata/$DBNAME/hdump mkdir -p /oradata/$DBNAME/pfile mkdir -p /oradata/$DBNAME/udump mkdir -p /oradata/backup echo Add this entry in the oratab: $DBNAME:/oracle/orahome:Y $ORACLE_HOME/bin/sqlplus /nolog @$SCRPT_PATH/build.sql CreateDB. Rerun command with correct path.

CREATE TABLESPACE "USERS3" LOGGING DATAFILE '/oradata/&&DBNAME/mnt4/users03. spool off CreateDBFiles.dbf' SIZE 120M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/oradata/&&DBNAME/temp/temp01. spool off CreateDBCatalog. DEFINE DBNAME = &1 CREATE DATABASE &&DBNAME CONTROLFILE REUSE MAXINSTANCES 32 MAXLOGHISTORY 1 MAXLOGFILES 192 MAXLOGMEMBERS 3 MAXDATAFILES 1024 DATAFILE '/oradata/&&DBNAME/system01.spool /oracle/orahome/assistants/dbca/logs/CreateDB.log') SIZE 10240K REUSE.log CREATE TABLESPACE "USERS1" LOGGING DATAFILE '/oradata/&&DBNAME/mnt2/users01.log shutdown immediate .dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO .log @/oracle/orahome/rdbms/admin/catalog.ora". startup nomount pfile="&& SCRPT_PATH /init.sql.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED UNDO TABLESPACE "UNDOTBS1" DATAFILE '/oradata/&&DBNAME/undotbs01.sql connect SYS/&&sysPassword as SYSDBA set echo on spool /oracle/orahome/assistants/dbca/logs/CreateDBFiles.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED CHARACTER SET WE8ISO8859P1 NATIONAL CHARACTER SET AL16UTF16 LOGFILE GROUP 1 ('/oradata/&&DBNAME/log/redo01.sql connect SYS/&&sysPassword as SYSDBA set echo on spool /oracle/orahome/assistants/dbca/logs/CreateDBCatalog. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 63 .dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO .dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE '/oradata/&&DBNAME/sysaux01. GROUP 2 ('/oradata/&&DBNAME/log/redo02.dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO .log') SIZE 10240K REUSE . CREATE TABLESPACE "USERS2" LOGGING DATAFILE '/oradata/&&DBNAME/mnt3/users02.

ora'. create user tpcc identified by tpcc. @/oracle/orahome/rdbms/admin/catoctk. 'MON DD. resource to tpcc. The listener files used in this configuration is listed below. exit.sql.ora connect SYS/&&sysPassword as SYSDBA startup . 'HH:MI:SS') from dual. LISTENER_ ClustsvcPNd1= (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ClustsvcPNd1.sql connect SYS/&&sysPassword as SYSDBA set echo on spool /oracle/orahome/assistants/dbca/logs/postDBCreation. connect SYSTEM/manager set echo on spool /oracle/orahome/assistants/dbca/logs/sqlPlusHelp. @/oracle/orahome/rdbms/admin/owminst. Listener. execute utl_recomp.def.ora # Generated by Oracle configuration tools. insert into tpcc.@/oracle/orahome/rdbms/admin/catblock. YYYY HH:MI:SS AM') from tpcc. host cp $SCRPT_PATH/init. select 'utl_recomp_begin: ' || to_char(sysdate.ora /oracle/orahome/dbs/inittpcc.sql.abc.ora Network Configuration File: /oracle/orahome/network/admin/listener.ora' FROM pfile='&&SCRPT_PATH/init. select TO_CHAR(tstamp.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) ) Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 64 . connect. disconnect connect tpcc/tpcc create table tpcc.log create spfile='/oradata/tpcc/pfile/spfiletpcc.log @/oracle/orahome/sqlplus/admin/help/hlpbld. # listener.plb.test ( tstamp date ).sql.recomp_serial().test.ora Files Login as oracle and execute “netca” to configure the listener.test set ( tstamp ) = SYSDATE.sql.sql.sql helpus. spool off postDBCreation. alter user scott identified by tiger replace tiger . disconnect connect tpcc/tpcc update tpcc. alter user scott account unlock . select 'utl_recomp_end: ' || to_char(sysdate. shutdown immediate. connect SYSTEM/manager @/oracle/orahome/sqlplus/admin/pupbld. @/oracle/orahome/rdbms/admin/catproc. 'HH:MI:SS') from dual. grant dba.test (tstamp) values (SYSDATE).

abc.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) ) SID_LIST_TPCC = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /oracle/orahome) (PROGRAM = extproc) ) ) Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 65 .def.def.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) ) LISTENER_ ClustsvcSNd1= (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ClustsvcSNd1.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) ) LISTENER_ ClustsvcSNd2= (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ClustsvcSNd2.LISTENER_ ClustsvcPNd2= (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ClustsvcPNd2.def.abc.abc.

Package Contents VRTSaa VRTSacclib.0MP1 by Symantec Veritas Cluster Management Console for single cluster environnments 5.22.rte VRTSsmf VRTSspt Veritas Enterprise Administrator Action Agent by Symantec Veritas Cluster Server ACC Library 5.0MP1 Simulator by Symantec Symantec Veritas Cluster Utility Veritas Distributed Command Line by Symantec Veritas Device Discovery Services Provider Library by Symantec Veritas Datacenter Storage Agent by Symantec Veritas File System Documentation by Symantec Veritas File System Manual Pages by Symantec Veritas File System SDK Manual Pages by Symantec Veritas File System Services Provider by Symantec 5.Appendix C: Veritas Software Filesets Listing List of Veritas Storage Foundation and VCS Agent Packages installed with the steps followed in the procedure mentioned in this whitepaper.0MP1 by Symantec Veritas Cluster Manager .rte VRTScmcs.8 for Veritas Symantec Service Management Framework Fileset Veritas Support Tools by Symantec Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 66 .rte VRTSllt.rte VRTScscw.rte VRTSdcli VRTSddlpr VRTSdsa VRTSfsdoc VRTSfsman VRTSfsmnd VRTSfspro VRTSfssdk VRTSgab.rte VRTSgapms VRTSicsco VRTSjre15.rte VRTSmapro VRTSmh VRTSob VRTSobc33 VRTSobgui VRTSpbx VRTSperl.0MP1t Veritas Libraries and Header Files for VxFS by Symantec Veritas Group Membership and Atomic Broadcast 5.0MP1 by Symantec 11/29/2006-23 Veritas Storage Foundation Mapping Provider from Symantec. BUILD=GA01 Veritas Enterprise Administrator Managed Host by Symantec Veritas Enterprise Administrator Service Veritas Enterprise Administrator Service Veritas Enterprise Administrator Service Symantec Private Branch Exchange Fileset Perl 5.17.57.rte VRTSalloc VRTSat VRTSat VRTSccg VRTScmccc.0MP1 by Symantec Veritas Cluster Server Configuration Wizard by Symantec Veritas Cluster Server 5.rte VRTScscm.8.0MP1 by Symantec 11/29/2006-23 Veritas Generic Array Plugin Symantec Infrastructure Core Services Common Fileset Symantec JRE Redistribution Veritas Low Latency Transport 5.rte VRTScutil.Java Console 5.0 by Symantec Veritas Storage Foundation Intelligent Storage Provisioning by Symantec Authentication client Fileset Authentication server Fileset Veritas Enterprise Administrator Central Control Grid by Symantec Veritas Cluster Management Console Cluster Connector 5.rte VRTScssim.2006. PSTAMP=05.

VRTSvail VRTSvcs.VxMS Mapping Service.0MP1 by Symantec 11/29/2006-23 Veritas File System by Symantec Veritas .0MP1 Bundled Agents by Symantec Veritas High Availability 5. Veritas Cluster Server Volume Replicator Agents by Symantec Veritas Device Identifier (VDID) Veritas Kernel Interface by Symantec VRTSvlic Symantec License Utilities User Documentation for Veritas Volume Manager by Symantec manual pages for Veritas Volume Manager by Symantec Veritas Volume Manager Servs Provider by Symantec User Documentation for Veritas Volume Replicator by Symantec Veritas Volume Replicator Management Services Provider Veritas Volume Replicator Web Console by Symantec Veritas Volume Server and Client Providers by Symantec Veritas I/O Fencing 5.rte VRTSvcsag.rte VRTSvcsdb.rte VRTSvxfs VRTSvxmsa VRTSvxvm VRTSweb. Application Libraries Veritas Volume Manager by Symantec Symantec Web Server Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 67 .0MP1 by Symantec 11/29/2006-23 Veritas Cluster Server 5.msg.rte VRTSvcsor.rte VRTSvcssvc.man VRTSvcs.doc VRTSvcs.0MP1 Agent for Oracle by Symantec.rte Veritas Array Providers User Documentation for Veritas Cluster Server by Symantec Manual Pages for Veritas Cluster Server by Symantec Veritas Cluster Server English Message Catalogs by Symantec Veritas Cluster Server 5.rte VRTSvcsvr VRTSvdid VRTSveki VRTSvlic VRTSvmdoc VRTSvmman VRTSvmpro VRTSvrdoc VRTSvrpro VRTSvrw VRTSvsvc VRTSvxfen.en_US VRTSvcs.0MP1 Agent for DB2 by Symantec Veritas Clustering Support for IBM SVC Copy Services(tm) Veritas High Availability 5.

System Storage. or other publicly available sources and does not constitute an endorsement of such products by IBM. Sources for non-IBM list prices and performance numbers are taken from publicly available information. other countries. Storage Foundation Enterprise HA. and other countries.S. or service names may be trademarks or service marks of others. the IBM logo. and the Windows logo are trademarks of Microsoft Corporation in the United States. IBM. Veritas. Other company. product. or both. or both. Questions on the capability of non-IBM products should be addressed to the supplier of those products. other countries. Information is provided "AS IS" without warranty of any kind. References in this document to IBM products or services do not imply that IBM intends to make them available in every country. Windows NT. Microsoft. 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. Information concerning non-IBM products was obtained from a supplier of these products. Windows. Symantec. published announcement material. 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. the Symantec logo. and Veritas Storage Foundation are trademarks or registered trademarks of Symantec Corporation or its affiliates in the U.Trademarks and Special Notices © International Business Machines 1994-2008. including vendor announcements and vendor worldwide homepages. Disaster Recovery using Veritas Storage Foundation Enterprise HA and IBM SAN Volume Controller Metro Mirror & Global Mirror 68 . IBM has not tested these products and cannot confirm the accuracy of performance. or any other claims related to non-IBM products. All rights reserved. capability. FlashCopy and other referenced IBM products and services are trademarks or registered trademarks of International Business Machines Corporation in the United States. DB2.