Friday, October 05, 2007

Clustering in VMware Workstation 6

UPDATE 02.15.08: I updated the last line of the VMX file in step 4 (Thanks for the heads up Jim!)

I have a need to build an Exchange 2007 single copy cluster on Server 2003 in VM environment. This is something I've done before with Microsoft Virtual Server, but haven't had the opportunity to do it with VMware Workstation (OK, I had the opportunity, but never needed to until now). Since VMware Workstation is a paid product, I assumed clustering and setting up a shared SCSI bus would be included and pretty straightforward. Wrong. No options in GUI exist for this, and the VMware help files and knowledgebase provide no assistance. I love VMware, but come on, no easy way to set up a cluster in a product that is meant for lab testing various configurations and applications?


Anyway, after poking around on the web for a while, I was able to compile a working method for setting this up. Here are the steps I took:


  1. Create two VMs with a single disk on SCSI bus 0, install Windows, get updates, etc.

  2. On one VM, add two new SCSI disks (one for data, one for quorum) on SCSI bus 1 (I put them on SCSI1:1 and SCSI1:2), make them independent, persistent, and fully allocate the drive space so that the VMs don't fight over expanding/managing the disk file size.

  3. On the second VM, add the two already created SCSI disks on SCSI bus 1 (again, I put them on SCSI1:1 and SCSI1:2), and again make them independent and persistent.

  4. Edit the .vmx files for each VM and add the following lines:

    scsi1.sharedbus = "Virtual"
    disk.locking = "false"
    diskLib.dataCacheMaxSize = "0"
    diskLib.dataCacheMaxReadAheadSize = "0"
    diskLib.dataCacheMinReadAheadSize = "0"
    diskLib.dataCachePageSize = "4096"
    diskLib.maxUnsyncedWrites = "0"

  5. Fire up the VMs and both should have two disks ready for formatting and clustering.

Admittedly, the lines added to the .vmx file came from Geert Baeke’s Blog, specifically his posting on clustering in VMWare Workstation 4.5 and higher. Also, he has another good post around clustering in VMware Workstation using iSCSI. Trying that out is already on my “to do” list.

As a side note, when you complete botch the configuration of your Windows Cluster (like I did) and want to start over, use this command from the C:\windows\cluster directory on each node, then reboot the node:

cluster node <node_name> /forcecleanup

10 comments:

Anonymous said...

Just a heads up, there's a missing double quote at the end of the last line of the .vmx addition in step 4. If you blindly cut and paste like I did, it'll cause strange errors.....


:-<

Jim

Nehemoth said...

Which version did you used?

I'm trying this with the last version of VMWARE workstation 6 (6.0.3 Build-80004) but immediately I turn on the virtual machine VMWARE told me that clustering is not supported in the workstation version.

Keith said...

I used VMware Workstation 6 (I don't recall the build number at the time I did it). I also got the "clustering is not supported" message, but it still works. Basically, it's just VMware telling you that you are on your own.

Sybok said...

"Basically, it's just VMware telling you that you are on your own."

Not really - at least not in the newer versions. VMware even says: "Setting will be ignored." (or something like that) now, so I don't think this will work anymore.

mccannta said...

Here is my VM Workstation 6.5 configuration.
http://blog.mccannta.com/mccannta/2008/11/vmware-workstation-65-clustering-config.html

David Smalley said...

Working on doing this with Windows 2008 64bit and have noticed a couple things... If I go by your settings EXACTLY.. it works but the drives are not LIVE updated between each other. If I make a folder on one, I can't see it on the other until I take the drive offline and then bring it back online again.
Also.. I noticed on many other's pages they show the scsi1.virtualDev = "lsilogic". When using version 6.5 and installing Windows 2008, it defaults to lsisas1068. Not sure if that is part of the problem or not. You can make it be lsilogic when creating the VM in the beginning by going down the CUSTOM route.
There are others who DON'T put in the SHAREDBUS line. Is this needed or not?
Also, I have noticed that others put in a line in the SCSI1:1 area that states scsi1:1.shared="TRUE" and also scsi1:1.redo = "". Are these lines needed as well?
Since many people are moving to Windows 2008, let's put together something for 2008 and get this rocking as well.
I can be reached here:
david@zertek.com
David Smalley

Anonymous said...

i have also tried the same but it didn't work, most of the articles on different blogs and sites says that it doesn't work in server 2008 scenario however it works fine in server 2003 scenario. As a bypass you can use FREENAS which is freely available on different sites and can be searched via google. which is a small 70 MB installed VM and works absolutely fine.

Anonymous said...

i have also tried the same but it didn't work, most of the articles on different blogs and sites says that it doesn't work in server 2008 scenario however it works fine in server 2003 scenario. As a bypass you can use FREENAS which is freely available on different sites and can be searched via google. which is a small 70 MB installed VM and works absolutely fine.

Javid said...

Thanks a lot, appreciate your cooperation. It just worked fine, otherwise I was planning to use SCC on MS Virtual. I had to test couple of things and your blog saved my time. I just selected IDE for OS and SCISI for Database and Qurom each. It simply working without any issues.

Anonymous said...

Worked fine, appreciate your blog, thanks a lot. I only made 1 change i.e. used IDE for OS and SCISI for Database and Quorum each.