How to create a Windows Server 2008 R2 Failover cluster on 2 DC’s
Most IT guys (like me) are always wasting our precious and limited time implementing stuff we don’t really need. Just to test, and get things to work. This setup is absolutely one of those things. For my demo environment I’m the proud owner of a HP Professional workstation which runs XenServer and a Synology Diskstation DS209+II. So with that kind of hardware it cannot be hard to build a nice failover cluster 😎
So first things first. The prereqs. To build a cluster you first need a device that can provide shared storage. If you want to use iSCSI your storage needs to support iSCSI-3 Persistent Reservations. A lot of storage (especially Linux based (like for instance OpenFiler)) does not support it. You can ofcourse still build a 2003 cluster then, however that’s just old, and not that funny. So make sure you check your storage before starting to build.
- 2 (virtual) machines
- Can be DC´s. But ofcourse not required.
- Both have 2008R2 installed
- Both have 2 nic´s.
- 1 for LAN connectivity
- 1 for Heartbeat
- 1 device that provides shared storage
If you run XenServer (or another hypervisor) make sure the NICs that you use for heartbeat are in a seperate network.
- On VM1 connect NIC1 to LAN. Configure NIC2 with a static IP address to communicate with the 2nd node only (eg. 10.0.0.1)
- Do the same on VM2.
So my setup would look like this (excuse the poor drawing, don’t have Visio installed)
For disk setup I used the following config
- Quorum disk, 3GB
- Disk for MSDTC, 2GB (clustering of DTC is recommended but not required)
- Disk for data
iSCSI on Synology Diskstation
I´m not going in depth about the Synology DS in this article. But I can tell you that it is a brilliant device with a lot of options. One of them is the ability to provide iSCSI. You can find this option in the storage section. What you need to do is create 3 LUN´s for the disks mentioned above. Then you need to go to the advanced options and select to allow connections from multiple iSCSI initiators. If you forget to select this option the first node can connect to the disk but the second can´t
Building your cluster
So now the fun part starts. First fire up your iSCSI initiator software on both nodes. It´s installed by default. In there type the IP address or hostname of your iSCSI device. Then connect to all the disks.
Now on your first node go to disk manager. You’ll see the connected disks there.
- Initialize all the disks
- Create a simple volume on all of them
- Format the Quorum disk and assign it the letter Q
- Format the DTC and Data disk and assign them a letter (eg. M & O)
- On the 2nd node bring the disks online and assign them the same letters you used on Node 1
After the disks are configured open the Server Role Manager and install the Failover Clustering feature (not role). Fire up the Failover Cluster Manager on Node 1. You’ll see a completely renewed cluster manager tool. Choose to Validate a cluster configuration and type in the hostnames of both the cluster nodes. After a while you can see if your configuration is valid to be clustered. Correct any errors you’ll see in the checks and take the warnings as good advice. Now you can start setting up the cluster. Just click Create a Cluster and a wizard will open. In there you need to assign a name for your cluster and a cluster IP address. Make sure you use a free one ofcourse. And after a little time you have your cluster installed. Very easy….!
Clustering MS DTC
Clustering DTC is so easy I’m going to describe the process briefly. Just click Configure a Service or Application and select DTC from the list. Configure a name (or just leave default) and assign an IP Address. Make sure you select the right disk and you’re done.
Clustering SQL 2008
Because of limited resources I want SQL to run on my DC’s. Normally I wouldn’t recommend installing SQL on a DC (security issues), however for testing and lab setups it’s just fine. Clustering SQL isn’t hard, but it has a catch. You cannot install SQL2008 on a Domain Controller without skipping the right checks. If you just start the setup you’ll get a message that you cannot install on a DC blah blah and your installation fails. What you need to do is this:
Insert your SQL 2008 DVD and open up a command prompt. Now use the following commands:
On Node 1:
setup /SkipRules=Cluster_IsDomainController Cluster_VerifyForErrors /Action=InstallFailoverCluster
On Node 2:
setup /SkipRules=Cluster_IsDomainController Cluster_VerifyForErrors /Action=AddNode
That’s really all there’s to it. SQL will perform all the necessary cluster configuration. Just click your way through the wizard. You once again need to setup a network name which will be assigned a DHCP enabled IP address. you can change this later by editing the SQL IP Address resource.