Setting Multi Writer Flag for Oracle RAC on vSphere without any downtime

Setting Multi Writer Flag for Oracle RAC on vSphere without any downtime

Oracle RAC Cluster using ASM for storage would require the shared disks to be accessed by all nodes of the RAC cluster.

The multi-writer option in vSphere allows the VMFS-backed disks to be shared by multiple VM's simultaneously. By default, the simultaneous multi-writer "protection" is enabled for all .vmdk files ie all VM's have exclusive access to their .vmdk files.  So in order for all of the Oracle RAC VM's to access the shared vmdk's , the multi-writer protection needs to be disabled.

KB Article 1034165 provides more details on how to set the multi-writer option manually to allow VM's to share vmdk's (link below).

<a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=103416..." title="Multi-Writer"></a>

The above method would require the VM's to be powered off before the multi-writer option can be set in the .vmx configuration file. This means that the Oracle RAC instance would have to be shutdown and the VM completely powered off before the option can be set leading to an Instance outage.

Oracle DBA's would rather a method where they could add shared disks on the fly to a running Oracle RAC cluster without any downtime.

A colleague and I working for VMware PSO some time back (now I have moved under the Global Center Of Excellence group ) wrote a POWERCli script called the “addSharedDisk” which adds

a new shared disk to the existing Oracle RAC nodes along with setting the multi-writer flag setting , setting the disks as independent-persistent and eager-zero thick formatting.

This script can be used to add shared disk on the fly while the Oracle RAC Clusters is up and running thus avoiding any outage.

Disclaimer:

- This is an generic script provided and can be customized as per your requirement

- This script is provided for educational purposes only , please use at your own risk

- No Support will be provided for this script

- All values provided in this script is for example only, you would need to provide real values

This script accepts at the command prompt

- The number of shared disks to be created( maximum 55)

- The number of nodes that you need this shared disk be added to

Currently

-the script places all shared VMDK files in the same datastore as the boot disk VMDK files. This can be customized to place shared vmdk's on different datastores for IO load balancing

-the script can be further customized to place vmdk's on different SCSI controllers.

-the script has the logic to check the network requirements of the Oracle RAC interconnect adapters(assumption of the script is 2 Private Adapters are deployed per VM) . (can be removed or commented out if not required)

Attachments
Comments

will this script still work in PowerCLI 6.5.2?

We are still on vSphere 5.5 and are unable to add a new vDisk with the MultiWriter Flag while the RAC-Node-VM is running.

So that script would be our only chance to achieve that without having to shut down both RAC Node-VMs.

The other problem we are facing is that we are hitting the maximum allowed number of vDisks per virtual SCSI Controller (15 per Controller) so the only remaining option would be extending the existing disks which will also not work without downtime.

That is why we are currently testing RAC Node VMs with RDM Disks to overcome those operational challenges.

This feels to me like going two steps back and one forward and as the VMware and Storage Administrator don't like the added complexity when using RDMs over shared VMDKs.

I guess our Oracle DBAS need to re-think their Disk-Design, especially when those VMs will be running on an All-Flash Array in the near future, so having a high number of small 10 to 15 GB Disks doesn't make much sense anymore, right?

Version history
Revision #:
1 of 1
Last update:
‎10-03-2013 08:58 PM
Updated by: