For demo and test purposes, I need to be able to setup an Exchange 2003 cluster on my laptop. I run VMWare Workstation 5.0 on my laptop. Something like this:

Cluster

There seem to be some difficulties on VMWare Workstation with enabling SCSI reservation on the virtual SCSI bus or disks, resulting in disk corruption.

Now, setting up a cluster in VMWare GSX is fully supported. A couple of settings do the trick:

  • scsiX.sharedBus=”virtual”
  • disk.locking=”false”

This enables SCSI Reservation (SCSI-2 disk reservation protocol) for all disks on the bus. This is fully supported by Microsoft Cluster Server and Veritas Cluster for example.

If you do not want the whole bus to be shared, you could use:

  • scsiX:Y.shared=”true”

In the above example, SCSI reservation is enabled on disk Y on SCSI bus X.

In addition, you need to use preallocated virtual disks. You should not use physical disks (ESX supports that of course).

Using the same settings on VMWare Workstation 4.5 and higher seems to yield mixed results. According to some discussion threads and documents published by Oracle Japan, you need to add a few more lines to the .vmx file.

  • disk.locking = "false"
  • diskLib.dataCacheMaxSize = "0"
  • diskLib.dataCacheMaxReadAheadSize = "0"
  • diskLib.dataCacheMinReadAheadSize = "0"
  • diskLib.dataCachePageSize = "4096"
  • diskLib.maxUnsyncedWrites = "0"

In fact, setting disk.locking and diskLib.dataCacheMaxSize should be enough. I did not test it yet but I will do it soon.

Some more info.