The RAC team did it again (thanks Saar!) - another awesome set of Oracle VM templates published and uploaded to My Oracle Support.
You can find the main page here.
What's special about the latest version of DeployCluster is that it integrates tightly with Oracle VM 3 manager. It basically is an Oracle VM frontend that helps start VMs, pass arguments down automatically and there is absolutely no need to log into the Oracle VM servers or the guests. Once it completes, you have an entire Oracle RAC database setup ready to go.
Here's a short summary of the steps :
Set up an Oracle VM 3 server pool
Download the Oracle VM RAC template from oracle.com
Import the template into Oracle VM using Oracle VM Manager repository - import
Create a public and private network in Oracle VM Manager in the network tab
Configure the template with the right public and private virtual networks
Create a set of shared disks (physical or virtual) to assign to the VMs you want to create (for ASM/at least 5)
Clone a set of VMs from the template (as many RAC nodes as you plan to configure)
With Oracle VM 3.1 you can clone with a number so one clone command for, say 8 VMs is easy.
Assign the shared devices/disks to the cloned VMs
Create a netconfig.ini file on your manager node or a client where you plan to run DeployCluster
This little text file just contains the IP addresses, hostnames etc for your cluster. It is a very simple small textfile.
Run deploycluster.py with the VM names as argument
Done.
At this point, the tool will connect to Oracle VM Manager, start the VMs and configure each one,
Configure the OS (Oracle Linux)
Configure the disks with ASM
Configure the clusterware (CRS)
Configure ASM
Create database instances on each node.
Now you are ready to log in, and use your x node database cluster. x
No need to download various products from various websites, click on trial licenses for the OS, go to a Virtual Machine store with sample and test versions only - this is production ready and supported.
Software. Complete.
example netconfig.ini :
# Node specific information
NODE1=racnode1
NODE1VIP=racnode1-vip
NODE1PRIV=racnode1-priv
NODE1IP=192.168.1.2
NODE1VIPIP=192.168.1.22
NODE1PRIVIP=10.0.0.22
NODE2=racnode2
NODE2VIP=racnode2-vip
NODE2PRIV=racnode2-priv
NODE2IP=192.168.1.3
NODE2VIPIP=192.168.1.23
NODE2PRIVIP=10.0.0.23
# Common data
PUBADAP=eth0
PUBMASK=255.255.255.0
PUBGW=192.168.1.1
PRIVADAP=eth1
PRIVMASK=255.255.255.0
RACCLUSTERNAME=raccluster
DOMAINNAME=mydomain.com
DNSIP=
# Device used to transfer network information to second node
# in interview mode
NETCONFIG_DEV=/dev/xvdc
# 11gR2 specific data
SCANNAME=racnode12-scan
SCANIP=192.168.1.50