Clustering Oracle RAC Virtual Machines across physical and ESX hostsAugust 16, 2007 Brief introIn our previous article, we looked at the clustering possibilities across two or more ESX Servers. In this article, we will take a detailed look at various possibilities of building clusters across several physical and ESX hosts since we werent able to pick that one up in our last article. In addition, we will take a quick look at upgrading clustered Virtual Machines in all the three scenarios. There is a very good chance that you have a Oracle RAC test or development cluster on an ESX 2.5 version and want to move over to the latest ESX 3.x version (the latest being ESX 3.0.2 as of last week). Clustering Oracle RAC Virtual Machines across physical and ESX hostsI speak to several clients who are running their production Oracle environments on VMware. The choice of running Oracle RAC differs per organization but I firmly believe that it is possible to have a DSS (Decision Support System) running on Oracle RAC (which normally has large transactions and less concurrent users) on ESX Servers in production. On a typical OLTP environment, it might not be smart to deploy RAC on ESX without any planning but a DSS can surely run fine. Moreover, there is no reason of not trying it on your ESX system. There are already enough test, development and staging deployments running on ESX servers. Now to take a quick look at the tasks we need to perform to build the cluster:
Upgrading your RAC clusterUpgrading your ESX server or your cluster software is not an easy task. We will not go too deep into ESX server upgrade as it is out of the scope of this article but will concentrate on several scenarios such as upgrading clusters on one ESX server, across physical hosts or on a typical heterogeneous cluster (physical and virtual nodes):
vmkfstools -I /vmfs/volumes/vol1/<old-disk>.vmdk /vmfs/volumes/vol2/<RACDir>/<new-disk>.vmdk Then rename the old-disk.vmdk and edit the >vmx file to point to the new-disk.vmdk. Restart the cluster successfully. Upgrading cluster across ESX hosts: You could do this using shared pass-through RDM and with shared file systems.
vmkfstools -L lunreset vmhba<C:T:L>:0 vmkfstools -F public vmhba<C:T:L:P> This makes the shared files public. Then do the ESX host upgrades from ESX 2.5 to ESX 3.0. Choose the first upgraded node in the configuration tab and click storage: upgrade the VMFS2 disks in your cluster by clicking Upgrade to VMFS3, create LUNs for each of the shared RAC disks, create a RDM for each shared disk and import the virtual disk to this RDM: vmkfstools -i /vmfs/volumes/vol1/<old-disk>.vmdk /vmfs/volumes/vol2/<RACDir>/<rdm-for-vmrac01>/<myrdm.vmdk> -d rdmp:/vmfs/devices/disks/vmhbax.y.0 Here: Now edit the virtual machines configuration file (vmrac01.vmx) to point to the RDM instead of the shared file by doing the following: scsi<X>:<Y>.<filename> = rdm-fxy vmrac01/.vmdk. Restart the cluster and check for its liveliness. ConclusionAlthough the VMware ESX server has several models of clustering and HA, we should not forget that some mission critical applications like Oracle RAC cannot be fully replaced by other OS or even infrastructure level clustering and high availability. The whole purpose of demonstrating the Oracle RAC on ESX is not only to solidify the business imperative in a consolidated setup for test and development purposes but also that you as an administrator have the RAC running under your desk! The fact that we can run and even setup, test and benchmark mission-critical applications in our own premises gives us the power to be on top of our applications and businesses. |