Experimenting with Windows Server 2008 Failover Clustering in Beta 3

I just wanted to share my experience around the use of Windows Server 2008 Failover Clustering.

I worked on this basically for a demonstration and I ended up doing quite a lot of work around it. This was mainly because I like to build my demo systems from scratch as opposed to just downloading ready-made virtual machines (Microsoft offers quite a few of those to the system engineers).

I also wanted to have the entire demo fit on my demo laptop, a dual-core, 64-bit, 4GB RAM HP nc8430 running Windows Vista x64 and Virtual PC 2007.

Since I was setting up a cluster, I needed at least three VPCs: a domain controller and two cluster nodes running Windows Server 2008 Beta 3. I started running the DC also as Window Server 2008, but ended up running that as Windows Server 2003 R2. With 4GB of RAM, I was able to give 512 MB of ram to the domain controller and 750 MB for each cluster node. I also wanted to have some shared storage and I decided to use iSCSI.

For the iSCSI target software, I used the WinTarget software that Microsoft got with the acquisition of String Bean Software (https://www.stringbeansoftware.com/) back in March 2006. However, this is only available to OEM partners using the Windows Unified Data Storage Server (https://www.microsoft.com/windowsserversystem/storage/wudss.mspx). If you don't work for Microsoft or for one of those OEMs, the best way to get your hands on this is to get an server that comes with the WUDSS 2003 in it, like this Dell PowerVault NX1950 or this HP ProLiant DL585 G2 Storage Server.

I configured the Windows Server 2003 R2 box with a DNS server, domain controller, DHCP server and iSCSI software. I also used the usual trick to load additional network interfaces using the loopback adapter in Windows, so I could get the three networks I needed between the servers. One network simulated the client network (fixed IP on the DC and DHCP on the nodes), the second one was used for the heartbeat network (no DC access, fixed IP on the nodes) and the third one was dedicated to the iSCSI traffic (fixed IP on the DC and the nodes). Since these were all loopbacks, the demo system needed no external network to function. I did use the third network on the DC to get access to the outside network for downloads, updates, etc.

The actual clustering tasks were pretty straightforward, as advertised :-). The whole notion of using the Validate feature before setting the cluster up is really nice (and something you do today in Windows Server 2003 with an optional download from https://www.microsoft.com/downloads/details.aspx?FamilyID=bf9eb3a7-fb91-4691-9c16-553604265c31).

Every demo I've seen of Windows Server 2008 Failover Clustering uses DHCP for the node IP address. In my demo, I used DHCP at first and then changed to fixed IP addresses. My main customer today does not use DHCP for servers, so that looked more interesting to them. The wizards actually worked in both scenarios.

The heartbeat network used IPv6, which was setup by default on Windows Server 2008 (like it is on Windows Vista). It also works fine over IPv4, if the nodes can't do v6. I also saw the new "OR" dependencies for IP addresses, which will make it possible to use failover across different networks. I did not test this piece, though.

Another interesting thing to experiment was the idea of changing the quorum model. I experiented with "Node and Disk majority", "DIsk Only majority" and "Node and File Share majority". I could not play with "Node majority", since that required three or more nodes, which I didn't have.

Overall, I liked the experience and the improvements from Windows Server 2003 are noticeable. And that's only Beta 3...