
Creating a cluster in VMWare Workstation using iSCSI
by
rastix
on Fri 06 May 2005 06:16 PM CEST
Yesterday, I blogged about issues with VMWare Workstation and
clustering. Instead of trying to work around it with the settings I
described, I followed another approach: iSCSI.
Because
this solution will be entirely based on software inside the host and
guest operating systems, you do not need to use settings in the vmx
file to enable SCSI reservation on the virtual bus or disks. Instead,
you need to have software that implements the iSCSI Initiator and the iSCSI Target.
With the iSCSI Target software, you make storage available over an IP
network. With the iSCSI Initiator software, you connect to the
resources offered by the target.
The first question is: “What software do you use for the iSCSI Target?”. There are a couple of solutions:
I used StarWind and installed in on my host pc. The Windows 2003 cluster in VMWare will run on this host pc.
The second question is: “What software do you use for the iSCSI Initiator?”. Again, there are multiple solutions:
I used StarPort and installed it in the VMWare Windows 2003 guest operating systems.
So, what is the basic setup here?
- On the host pc (I used my laptop), you install StarWind (the iSCSI Target software).
- On
the host pc, you make disks available that can be used for the quorum
resource and data in MSCS. I used ImageFiles as disk, not real ones.
- In the guest operating systems (running in VMWare 5 on the host pc), install StarPort (the iSCSI Initiator software).
- In
the guest operating system, configure StarPort to use the disks made
available by StarWind. You will then see extra SCSI disks in Windows
2003 that you can format and assign a drive letter to.
You
need to make sure that the guest os can connect to your host pc over a
virtual network. I used the host-only network in VMWare for this
purpose.
The procedure to install the Windows 2003 cluster in VMWare 5.0 is as follows:
Step 1: Install StarWind on host pc and configure the target disks
The
StarWind installation is simple. Just launch the installer and follow
the prompts. After installation, you can add devices and make them
available over the network with iSCSI. For a basic cluster setup, I
need a quorum disk and a data disk. The data disk will be used for
Exchange or SQL data. I decided to use ImageFiles for this purpose.
The StarWind installation directory contains a program called mksparse.exe. In the StarWind directory, you should create a folder called images. In that images folder, create the image files with mksparse.exe:
mksparse -o <StarWind install dir>\images\quorum.img 500M
mksparse -o <StarWind install dir>\images\data.img 1500M
This
creates two files that can be added as devices. This means that the
iSCSI initiator software (see later) can be configured to use these
devices. Add the devices with the StarWind administration console:

VERY IMPORTANT: when you add these devices, use the clustering option to allow multiple initiators to connect to the device.
Step 2: Install the 2 nodes in VMWare and configure StarPort
This is basic stuff. Just think about the network connections a bit. I used three.
- Public:
a virtual network card that uses bridged networking. I need this
because my domain controllers are running under GSX on another computer
in the network.
- Private: a virtual network card that uses a custom virtual network (VMNet9) that will be used for the MSCS heartbeat.
- iSCSI: a virtual network card that uses the host-only network to connect to the iSCSI target on the host pc.
After installing the first guest, install the StarPort software and add the remote iSCSI devices:

In Disk Management, you can then format the disks and assign drive letters:

Shut
down the first guest and repeat the steps (install StarPort software,
configure the disks and assign the same drive letters).
Step 3: Install MSCS
On
the node that is up, install MSCS as you normally would. I always use
the minimal configuration. In that case, you specify that you want to
use Q: as the quorum resource. Other resources then need to be added
manually (in this case R: ). I created a group called Exchange and
added a disk resource using drive R:
The result is something like this:

Conclusion
You now have multiple options to build a cluster in VMWare workstation:
- You
can enable SCSI reservation on the virtual bus or disks (like in VMWare
GSX) but you might get mixed results. You need to modify the vmx files
and create virtual disks and share them between the guest operating
systems. In essence, this solution is not supported by VMWare so don’t
complain if it does not work.
- You can use iSCSI to build your
cluster. The steps above show it is fairly simple to do but you need
some extra software. Sadly, the iSCSI Target software is not free.
Have fun when you try this yourself and let me know about your results.