Hi Cluster Fans,

At TechEd Berlin, several customers asked about the complexity of configuring multiple IP Addresses for clusters which have nodes in different subnets, so this short guide will provide a walk-through showing how easy it is to configure using Windows Server 2008 R2 Failover Clustering. 

In Windows Server 2003, we had a requirement that all nodes must reside on the same subnet, so if nodes had to be in different physical locations to provide a disaster recovery solution, the administrator would have to create a virtual LAN (VLAN) across both sites.  While this solution works great, a VLAN is more complex to configure and maintain.  Starting in Windows Server 2008, a feature called an “OR dependency” was added to Failover Clustering which gave admins the ability to have nodes with a Network Name that could use one IP Address OR another IP Address.

Using this concept of an OR dependency, we can ensure that a clustered group can stay online on two or more subnets (or sites), by saying that if the application has an IP Address from the first site OR an IP Address from the second site (OR an IP Address from the third site, etc.) then the group can remain online and can serve client connections.  Best of all – and unlike most competitive solutions – this failover to the other sites is fully automated!  Let’s be honest, if a real flood hits the datacenter, the cluster administrator isn’t going to sit in a pool of water trying to bring applications online on a remote site, he’s swimming home to take caer of his family.  If your solution does not have automatic failover, your solution may not survive a real disaster.  But you do not have to worry with Windows Server Failover Clustering since the disaster recovery solution is not only automatic, but easy to configure with multiple subnets.

  

In this example I will create a highly-available File Server (ClusterFileSrv) which uses two subnets, a 172.24.13.0/24 and a 172.24.14.0/24.   We will refer to these as our “.13 Subnet” and “.14 Subnet”, respectively.

First I will create a highly-available File Server and configure a static IP Address of 172.24.13.1 on my .13 Subnet. 

 

Next I will add a new IP(v4) Address from right-clicking on the File Server’s name.  I could also do this by selecting Add a Resource from the Actions pane:

 

 

You will see the IPv4 Address resource appear in the same group, but now it needs to be configured.  You will notice that the IP Address is offline since it isn’t configured, and this changes the overall state of the group from ‘Online’ to ‘Partial Online’ since not every resource in the group is online.  To configure this IP Address, right-click this new resource and select Properties:

  

 

Now provide the IP Address for the .14 Subnet.  Make sure you select the correct network.  Enter a Static IP address or select DHCP if you are using this technology.  In the example I am using a Static IP Address of 172.24.14.1 on my .14 Subnet.

 

 

After I click Apply and exit this properties page I can now see the new IP Address in Failover Cluster Manager.  You will notice that this is still offline, which is expected since the group is currently on a node which is using the .13 Subnet. 

 

Now I will configure the dependencies of the Network Name, ClusterFileSrv, so that it can use either the .13 Subnet OR the .14 Subnet.  This means that the File Server can come online if the IP Address on either subnet is available.  To configure these dependencies, right-click the higher-level object (the Network Name), select Properties, and then select the Dependencies tab.

 

 

To group the new IP Address within this dependency expression, click on the location of the on-screen dialog, “Click here to add a dependency”.  From the dropdown, select the .14 Subnet IP Address which was just created.  Change the AND/OR option to OR, since we want this to be an OR relationship.

 

 

After applying the changes, this IP Address will now be grouped with the Network Name in Failover Cluster Manager.  The .14 Subnet IP Address will still be offline.  Now let’s test our configuration by moving this group to the .14 Subnet on the other node.

 

After failover, we can see that the .13 Subnet IP Address goes offline, but the .14 Subnet IP Address comes online.  Since the Network Name uses an OR dependency, ClusterFileSrv is also able to come online after the move because the IP Address is available on the .14 Subnet to serve client connections.

 

 

I hope this makes adding IP Addresses and creating dependencies even easier for you.

[Update 1/18/11] Check out Part II of this blog series: http://blogs.msdn.com/b/clustering/archive/2011/01/19/10117423.aspx.

Thanks,
Symon Perriman
Program Manager II
Clustering & High-Availability
Microsoft