Before virtualization technology on the Intel platform, (It has been around for YEARS in the IBM mainframe / midrange world!) the prospect of setting up your own server cluster just to "mess around" with things was an expensive endeavor. This is pretty straightforward to do with VMWare but has, until now, been impossible with any of the virtualization technologies from Microsoft. That's because Virtual PC was missing one of the big prerequisites - SCSI device support. With the release a couple of weeks ago of the Release Candidate of Virtual Server 2005, mere mortals now have all the tools necessary to configure a server cluster based on MSCS - without all of the expense of multiple physical machines and shared disk storage.
First off, what is MSCS?
MSCS stands for Microsoft Clustering Services - a technology supported since Windows NT Server 4.0 that allows for high availability by "failing over" the services from one physical machine to another in the event of a catastrophic problem. It is different from NLB (Network Load Balancing) - this is used mainly to distribute load across multiple servers. NLB is most commonly used for large web farms. MSCS, on the other hand, is meant for applications where you need to maintain "state" - in other words, you have data on the back-end: SQL and Exchange are good examples.
To implement MSCS, you need the following:
- 2 to 8 computers (or in this case Virtual Servers, although VS 2005's SCSI implementation will only allow for 2 nodes) - each one does not have to be identical other than each should meet the minimum requirements for the OS. Note that Windows Server 2003 will support up to 8 nodes in a cluster - Windows Server 2000 only supported 2 nodes unless you were running Datacenter Edition.
- Some sort of shared storage between those two computers - either shared SCSI or Fibre Channel Storage.
- A copy of Windows Server 2003 Enterprise Edition for each node in the cluster you're building. You must have Enterprise Edition to use MSCS. Standard Edition does not include this functionality. If you're just messing around, here's a link to the 180 day evaluation copy of Windows Server 2003 Enterprise Edition.
- An Active Directory implementation. MSCS requires that the cluster nodes be a member of a domain - so you need to have this in place before you proceed.
- A user account that the clustering service can use. This DOES NOT need to be a domain administrator account - a regular domain user account will work just fine. The clustering setup will add this user to the local administrators group on each cluster node.
- IP addresses - you need one for each node in the cluster and at least one more for the "virtual server" that will represent the cluster to the public network. DHCP won't work here, folks.
Note: It's also recommended that you have two NICs in each server. One will communicate with the LAN and the other will be used for a private network between the cluster members for the "heartbeat" traffic. It's not required, but it will improve reliability and performance.
How To Implement a 2-node MSCS Cluster in Virtual Server 2005 - Part I
Actually, as long as you do a few things special with Virtual Server 2005 to trick Windows Server 2003 into thinking it's running on two machines connected to shared storage, this is a fairly easy install. You must be running the Release Candidate of Virtual Server 2005. Earlier builds did not include the SCSI controller support.
[Continue Reading This Post...]