In my previous posting I introduced the latest Oracle Real Application Cluster / Oracle VM template. I mentioned how easy it is to deploy a complete Oracle RAC cluster with Oracle VM. In fact, you don't need any prior knowledge at all to get a complete production-ready setup going.
Here is an example... I built a 4 node RAC cluster, completely configured in just over 40 minutes - starting from import template into Oracle VM, create VMs to fully up and running Oracle RAC. And what was needed? 1 textfile with some hostnames and ip addresses and deploycluster.py.
The setup is a 4 node cluster where each VM has 8GB of RAM and 4 vCPUs. The shared ASM storage in this case is 100GB, 5 x 20GB volumes. The VM names are racovm.0-racovm.3. The deploycluster script starts the VMs, verifies the configuration and sends the database cluster configuration info through Oracle VM Manager to the 4 node VMs. Once the VMs are up and running, the first VM starts the actual Oracle RAC setup inside and talks to the 3 other VMs. I did not log into any VM until after everything was completed. In fact, I connected to the database remotely before logging in at all.
# ./deploycluster.py -u admin -H localhost --vms racovm.0,racovm.1,racovm.2,racovm.3 --netconfig ./netconfig.ini
Oracle RAC OneCommand (v1.1.0) for Oracle VM - deploy cluster - (c) 2011-2012 Oracle Corporation
(com: 26700:v1.1.0, lib: 126247:v1.1.0, var: 1100:v1.1.0) - v2.4.3 - wopr8.wimmekes.net (x86_64)
Invoked as root at Sat Jun 2 17:31:29 2012 (size: 37500, mtime: Wed May 16 00:13:19 2012)
Using: ./deploycluster.py -u admin -H localhost --vms racovm.0,racovm.1,racovm.2,racovm.3 --netconfig ./netconfig.ini
INFO: Login password to Oracle VM Manager not supplied on command line or environment (DEPLOYCLUSTER_MGR_PASSWORD), prompting...
Password:
INFO: Attempting to connect to Oracle VM Manager...
INFO: Oracle VM Client (3.1.1.305) protocol (1.8) CONNECTED (tcp) to
Oracle VM Manager (3.1.1.336) protocol (1.8) IP (192.168.1.40) UUID (0004fb0000010000cbce8a3181569a3e)
INFO: Inspecting /root/rac/deploycluster/netconfig.ini for number of nodes defined...
INFO: Detected 4 nodes in: /root/rac/deploycluster/netconfig.ini
INFO: Located a total of (4) VMs;
4 VMs with a simple name of: ['racovm.0', 'racovm.1', 'racovm.2', 'racovm.3']
INFO: Verifying all (4) VMs are in Running state
INFO: VM with a simple name of "racovm.0" is in a Stopped state, attempting to start it...OK.
INFO: VM with a simple name of "racovm.1" is in a Stopped state, attempting to start it...OK.
INFO: VM with a simple name of "racovm.2" is in a Stopped state, attempting to start it...OK.
INFO: VM with a simple name of "racovm.3" is in a Stopped state, attempting to start it...OK.
INFO: Detected that all (4) VMs specified on command have (5) common shared disks between them (ASM_MIN_DISKS=5)
INFO: The (4) VMs passed basic sanity checks and in Running state, sending cluster details as follows:
netconfig.ini (Network setup): /root/rac/deploycluster/netconfig.ini
buildcluster: yes
INFO: Starting to send cluster details to all (4) VM(s).......
INFO: Sending to VM with a simple name of "racovm.0"....
INFO: Sending to VM with a simple name of "racovm.1".....
INFO: Sending to VM with a simple name of "racovm.2".....
INFO: Sending to VM with a simple name of "racovm.3"......
INFO: Cluster details sent to (4) VMs...
Check log (default location /u01/racovm/buildcluster.log) on build VM (racovm.0)...
INFO: deploycluster.py completed successfully at 17:32:02 in 33.2 seconds (00m:33s)
Logfile at: /root/rac/deploycluster/deploycluster2.log
my netconfig.ini
# Node specific information
NODE1=db11rac1
NODE1VIP=db11rac1-vip
NODE1PRIV=db11rac1-priv
NODE1IP=192.168.1.56
NODE1VIPIP=192.168.1.65
NODE1PRIVIP=192.168.2.2
NODE2=db11rac2
NODE2VIP=db11rac2-vip
NODE2PRIV=db11rac2-priv
NODE2IP=192.168.1.58
NODE2VIPIP=192.168.1.66
NODE2PRIVIP=192.168.2.3
NODE3=db11rac3
NODE3VIP=db11rac3-vip
NODE3PRIV=db11rac3-priv
NODE3IP=192.168.1.173
NODE3VIPIP=192.168.1.174
NODE3PRIVIP=192.168.2.4
NODE4=db11rac4
NODE4VIP=db11rac4-vip
NODE4PRIV=db11rac4-priv
NODE4IP=192.168.1.175
NODE4VIPIP=192.168.1.176
NODE4PRIVIP=192.168.2.5
# Common data
PUBADAP=eth0
PUBMASK=255.255.255.0
PUBGW=192.168.1.1
PRIVADAP=eth1
PRIVMASK=255.255.255.0
RACCLUSTERNAME=raccluster
DOMAINNAME=wimmekes.net
DNSIP=
# Device used to transfer network information to second node
# in interview mode
NETCONFIG_DEV=/dev/xvdc
# 11gR2 specific data
SCANNAME=db11vip
SCANIP=192.168.1.57
last few lines of the in-VM log file :
2012-06-02 14:01:40:[clusterstate:Time :db11rac1] Completed successfully in 2 seconds (0h:00m:02s)
2012-06-02 14:01:40:[buildcluster:Done :db11rac1] Build 11gR2 RAC Cluster
2012-06-02 14:01:40:[buildcluster:Time :db11rac1] Completed successfully in 1779 seconds (0h:29m:39s)
From start_vm to completely configured : 29m:39s. The other 10m was the import template and create 4 VMs from template along with the shared storage configuration.
This consists of a complete Oracle 11gR2 RAC database with ASM, CRS and the RDBMS up and running on all 4 nodes. Simply connect and use. Production ready.
Oracle on Oracle.