Multiple Subnets with Windows 2008 Clusters

I’ve been playing around with Microsoft Windows 2008 clusters for a while now trying to test out some of the new features and how they will affect multi-site clusters. One of the best new features (in my opinion) in 2008 clusters is the ability to have cluster nodes on different subnets. Microsoft does this by introducing a new OR dependency option for resources. In 2008 clusters, you have two options when making a resource depend on more than one resource:

  • AND. This indicates that both the resource in this line and one or more previously listed resources must be online before the dependent resource is brought online.
  • OR. This indicates that either the resource listed in this line or another previously listed resource must be online before the dependent resource is brought online.

So with the OR dependency, you can set up your cluster Network Name resources using an IP address from multiple subnets. Let’s take a look at this in action. Here’s my configuration:

Network Configuration

I’m using a subnet mask of for all subnets. When you create your cluster or an application group, you are prompted to provide an IP address for each subnet. For example:

IP Setup

Here, you would enter a valid IP address for each subnet. Once this is complete, cluster will automatically setup these dependencies properly for you. Looking in the cluster GUI, you’ll see that only one of the IP resources will be online at a time as the other IP address is not valid for the node:

IP Address Offline

Looking at the dependencies, cluster automatically sets up this OR relationship for you:

OR Dependencies

 You might also notice that the other cluster IP address actually FAILS while coming online. This will generate an error in the system event log every time the group is moved.

Cluster Events

This is mildly annoying, but well worth it.

One issue that you will likely run into with multiple subnets is with the DNS replication. Upon failover to the other node, DNS records will be updated to point to the new IP address. While this is occurring, clients may not be able to connect to the cluster workload even though it is online. I’ve heard reports that this replication had taken up to an hour at some sites (yuck) so the cluster is effectively offline to the clients during this time.

If you’re setting this up in your environment, please leave me a comment and let me know how long this replication takes in your environment.

2 thoughts on “Multiple Subnets with Windows 2008 Clusters

  1. In our four-node geocluster environment we have noticed the the time is dependent on arp cache refresh.

    More specfically with the network switches\routers. If after a failover the arp cahe is not flushed some clients can not find the resources. Sometimes our network admins need to set a static configuration.

    Granted this is with our 2003 servers since it affects network config’s I’d expect you might find the same with 2008.

  2. I am using MS cluster 2008. I want to get all the nodes associated for a given RG, for this I saw follow steps,
    There is link

    This supports ORing of resource.

    1) Get all nodes in the cluster using
    ClusterOpenEnum(hCluster, CLUSTER_ENUM_NODE); as “Preferred Owners”
    RG – N1 N2 N3 N4 N5 N6

    2) Get handler to RG
    ClusterGroupOpenEnum(hGroup, CLUSTER_GROUP_ENUM_CONTAINS);

    3) then open handler to indidual resources
    ClusterResourceOpenEnum(hResource, CLUSTER_RESOURCE_ENUM_NODES);

    4) Now get intersection/sunset of all nodes by getting nodes for every resource,
    Now I should consider nodes associated with each respource for RG as when RG switchover happens,

    Q1-> Resource-group could be activated on ANY node when all it’s resources can be activated on the node. Is it correct ?

    R1 – N1, N2, N3
    R2 – N2, N3, N4
    R3 – N2, N3, N6

    In this case the nodes are – N2, N3.

    Q2-> Is this a possible combination for resources and nodes added as a “Possible Owners” ?

    As ORing is supported as per above link and my logic may fail as offline resource may not have requied nodes as “Possible Owners” even it may have NONE as “Possible Owners”.

    Q3-> The nodes in item 4 is always subset of item 1?
    Q4-> Could resource nodes be different from nodes got item 1?

    Q5->Is my logic correct when ORing is supported? Or should I consider all resources but ‘offline’ one for a RG?
    Q6-> We have API

    DWORD WINAPI SetClusterGroupNodeList(
    __in HGROUP hGroup


    But there is no API which gives nodes for a RG like GetClusterGroupNodeList() 🙂
    Appreciate your thoughts and inputs.

    I posted this question in but no reply.

    Could you answer to “”

    Thanks in advance
    – Krish

Leave a Reply

Your email address will not be published. Required fields are marked *