Adding a Clustered SQL Server Disk for Windows 2008 in VMware

If you are running a clustered SQL Server instance on VMware, there are times when the drive will not mount into SQL Server. The clustered disk seems to be unknown to the clustered engine in Windows 2008. This is the typical error message (keep in mind your disk GUID and directories will be different) –>

Reason: Thin/TBZ disks cannot be opened in multiwriter mode..
Cannot open the disk ‘/vmfs/volumes/4d80d2d9-2e61fb80-c22e-0025b500006f/MyDisk/MyDisk.vmdk’ or one of the snapshot disks it depends on.
VMware ESX cannot open the virtual disk “/vmfs/volumes/4d80d2d9-2e61fb80-c22e-0025b500006f/MyDisk/MyDisk.vmdk” for clustering.

This is because VMware has failed to fully initialize the dynamic drive, and as Windows attempts to mount the clustered drive, it cannot see the entire “static” disk. Fortunately, there are ways to cure this.

The first obvious answer is to “Clone” an existing working disk in VMware. Although this does work, your disk will be the same size as the original clone. And the disks fault tolerance setting will also be copied. If you are ok with these parameters, do this method. Cloning is fast and easy and presents the least amount of potential problems.

The other way is to “zero out” a new disk in VMware. The steps are as follows:

  • Shutdown your Windows virtual machine. It cannot be running.
  • Create a new disk in VWware with your desired disk size and fault tolerance setting.
  • Go into the VMware command line shell on the Host machine that contains the new disk image
  • Run the following command –>vmkfstools -w /vmfs/volumes/4d5417c4-9792c848-b768-0025b500005f/MyDisk/MyDisk.vmdk
  • Be sure to use the GUID of your VMware disk. It will be in the error message that we observed from above. This command may also take a considerable amount of time to run based on the size of the disk and the fault tolerance setting.

Once completed, Restart your Windows VM and insert the new disk into the Cluster. You should then be able to add the new clustered disk to your SQL Server disk array!