Exchange Exchange
A community dedicated to Exchange and related technology.
Setting up a Windows Server cluster (MSCS) in VMware ESX

Windows Server 2003 MSCS clustering in VMware can provide many benefits for a lab or testing environment for the system admin on a budget.  These should only be used in a non production environment.  In order to be able to VMotion VMs that are clusterd you must use Raw Device Mapping (RDM). This post does not go into how to use RDM.

Not everyone has the budget or resources to have a multi node cluster in their lab or for testing.  In this blog, I am going to discuss how to use VMware ESX to create the shared disks necessary for MSCS cluster.  When complete a two-node cluster will have been deployed, and will allow for further deployment of an Exchange Server 2007 Single Copy Cluster (SCC), SQL Server 2005/2008, or a plain old file cluster.  This demonstration uses VMware ESX 3.0.1; however these same steps still work with 3.5 update 3.

You must first start with a ESX Server, with two Windows Server 2003, Enterprise edition VMs installed and ready to cluster.

Create the shared disk

1. Open your SSH client of choice and log into the ESX Server. (click on each picture for a larger view)

scc1

2. su to root

scc2

3. Change directory (cd) to the location where the disk will be created.  This has to be a VMFS volume. In the screen shot below vmfs001 is the VMFS volume that I created.  Your volume name may be different.  Typically VMFS volumes are created under /vmfs/volumes.

scc3

4. To keep the datastore clean, it makes sense to create a directory for the cluster's disks.  Use make directory (mkdir) to create the name of the directory that will contain the disks.  In the example below, I named the directory SCC1 because when I create my SCC cluster the cluster name will be SCC1.  This is not mandatory; it just provides a concise path to the data. 

scc4

5. Change directory to the new directory created in step 4.

scc5

6.  Use vmkfstools to create the vmdk file.  Disk format (-d) needs to be set to thick, the bus type (-a) is set to lislogic.  To create the virtual disk use the lower case  c (-c) and specify a size.  For example to create a 1GB vmdk, the parameter can be specified as 1G or 1000M.  The last parameter is the name of the vmdk.

vmkfstools  -d thick -a lsilogic -c 1G /vmfs/volumes/vmfs001/SCC1Q.vmdk

scc6

7. Change the vmdk name and the file size, and use the same command above for the data, log and backup directories.

vmkfstools  -d thick -a lsilogic -c 10G /vmfs/volumes/vmfs001/SCC1S.vmdk

scc7

vmkfstools  -d thick -a lsilogic -c 3G /vmfs/volumes/vmfs001/SCC1T.vmdk

scc8

8. Logout

scc9

Present the vmdks to the cluster nodes

Once the disks have been created it is time to present them to the guests.

9. From Virtual Center select the server.

10. In the summary tab, in the commands pane, click on Edit Settings.

scc10

11. On the hardware tab click Add.

scc11

12. In the Add Hardware Wizard, click Hard Disk and then click next.

scc12

13. In the Select a Disk windows, click the Use an existing virtual disk radio button and then click next.

scc13

14. From the Select Existing Disk window click the Browse button.

scc14

15. Click on the Datastore that contains the vmdk files and click open.

scc15

16. Select the folder that contains the vmdk files and click open.

scc16

17. Click on the first disk to present and click ok.

scc17

18. On the Advanced Options screen click the drop down box for Virtual Device Node. SCSI0 is the controller that contains the local disk on each server.  Do not assign shared disks SCSI 0:1-0:15.  For the first disk select SCSI (1:0) and click next.

scc18

19. Click Finish to present the disk.

scc19

20. Perform steps 11-19 for each disk to add to the cluster, using an unique SCSI Id for each disk.

21. When the new hard disk is added to the guest on the new SCSI Controller is created. Click on the New SCSI Controller.  Set the SCSI Bus Sharing to Virtual and click ok.  This setting allows for the sharing of virtual disks between guest on the same physical server. (Note: for Windows 2000 Server clusters make sure that this SCSI controller is a Bus Logic type)

 scc20

22. On the hardware tab click Add.

Add second NICs

Now that the shared disk is setup on the first server, it is time to add the second NIC for heartbeat communication to the server. 

scc11

23. Click Ethernet Adapter and click next.

scc21

24. If you have multiple network select the correct network from the drop down box and click next.  make sure that in Device Status, the Connect at power on checkbox is checked.

scc22

25. Click finish.

scc23

On the second virtual server perform the same steps listed above.  Remember to use the same SCSI addresses for the shared disks.  When you power on the guest machines, if you receive an error that you can not power them on, verify that the thick option was used when creating the vmdk file.

From here, the disks can be sector aligned, formatted and used to create a MSCS cluster and then go on to install Exchange SCC.

Note: This process does not work with Windows Server 2008 because it no longer supports clustering with parallel SCSI adapters.  Support for virtual serial SCSI adapters is not included in VI 3.5. To create a cluster with shared disk in Windows Server 2008 on ESX, you should investigate using an ISCSI solution with software initiators running in each virtual machine. 

 


Posted 07-30-2007 11:55 AM by bkeane

Comments

TrackBack wrote http://joshmaher.wordpress.com/2007/07/30/fans-of-microsoft-exchange-server/
on 07-30-2007 7:39 PM
TrackBack wrote http://virtualizationtechnology.info/2007/07/31/mscs-clustering-in-vmware/
on 07-31-2007 12:51 PM
Joel Stidley's Exchange and PowerShell Blog wrote Exchange 2003 on VMWare ESX
on 09-17-2007 11:02 PM

VMWare released a 24 page guidance document on their best practices for running Exchange 2003 in a virtual

unix86.org » Windows Server clustering wrote unix86.org » Windows Server clustering
on 10-21-2008 11:21 AM

Pingback from  unix86.org  » Windows Server clustering

© 2003-2009 NamedPipes Consulting. All other company and product names are property of their owners.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems