Step 12: Create Failover Clusters Using WCF Broker Nodes

 

Applies To: Microsoft HPC Pack 2012, Microsoft HPC Pack 2012 R2

For an HPC cluster running HPC Pack, to make Windows Communication Foundation (WCF) broker nodes highly available, group them into one or more failover clusters (where each WCF broker node belongs to a specific failover cluster). Before starting the procedures in this topic, be sure you have completed Step 10: Create WCF Broker Nodes Running HPC Pack and Step 11: Set Up Shared Storage for WCF Broker Nodes.

Important

  • Before you create failover clusters using WCF broker nodes, be sure you are familiar with the information and diagrams in Overview of Microsoft HPC Pack and SOA in Failover Clusters.

  • For each of the failover clusters that you want to create using WCF broker nodes, you must repeat the procedures in this topic.

To create failover clusters using broker nodes, perform the following steps, which are described in this topic:

  1. Install the Failover Clustering feature

  2. Validate the failover cluster configuration

  3. Create a failover cluster

  4. Verify the configuration of the shared storage

  5. Configure networks for communication within the failover cluster

  6. Configure servers that can run head node services to recognize WCF broker nodes in failover clusters

  7. Configure high availability for the WCF broker node or nodes

Install the Failover Clustering feature

In this step, you install the Failover Clustering feature on the WCF broker nodes that you will be placing together in a failover cluster. Use the Add Roles and Features Wizard or equivalent procedures for your version of Windows Server to add the Failover Clustering feature on these servers.

Validate the failover cluster configuration

Before creating a failover cluster, we strongly recommend that you validate your configuration. Validation helps you confirm that the configuration of your servers, network, and storage meets a set of specific requirements for failover clusters. You can use the Validate a Configuration Wizard in Failover Cluster Manager to do this. Use an account that has local administrator rights on both servers. For information, see Validate Hardware for a Failover Cluster.

Create a failover cluster

To create a failover cluster, you run the Create Cluster Wizard in Failover Cluster Manager on one of the WCF broker nodes, or use equivalent procedures for your version of Windows Server. Use an account that has local administrator rights on all WCF broker nodes that you want to include in this failover cluster. For example, see Create a Failover Cluster.

Verify the configuration of the shared storage

In this step, you confirm that the shared storage is accessible to the failover cluster and that the failover cluster quorum is configured properly.

To verify the configuration of the shared storage

  1. In Failover Cluster Manager, expand the failover cluster that you created.

  2. Click Storage. You should see that the shared storage is added to the Storage container. If not, in the Action pane, click Add a Disk and add the appropriate disks. (If you do not see your disks in the resulting dialog box, rerun the storage validation tests.)

  3. If necessary, configure the failover cluster quorum so that it includes a disk witness resource. The exact configuration will depend on the version of Windows Server that you use for the failover cluster. For information about quorum settings in Windows Server 2012, see Configure and Manage the Quorum in a Windows Server 2012 Failover Cluster.

Configure networks for communication within the failover cluster

In this step, you configure the networks for communication within the failover cluster to ensure that they provide client access.

To configure the networks for communication within the failover cluster

  1. In Failover Cluster Manager, select Networks. In the Cluster Use column, if a network that you want the failover cluster to use for communication with other computers is not listed as “Enabled,” right-click the network, click Properties, and then make sure that Allow cluster network communication on this network and Allow clients to connect through this network are selected.

    Failover cluster Network Properties dialog box

Configure servers that can run head node services to recognize WCF broker nodes in failover clusters

In this procedure, you update a configuration file on each head node that allows it to recognize a WCF broker node that is running in a failover cluster instead of on a standalone server.

To configure servers that can run head node services to recognize WCF broker nodes in failover clusters

  1. On a server that is configured to run the head node (not a WCF broker node), start Notepad as an administrator and open %CCP_HOME%bin\HpcSession.exe.config.

  2. In the file, find the <appSettings> element, which initially contains the following line:

    <add key="failoverClusterName" value="" />
    

    Modify that line to read as follows:

    <add key="failoverClusterName" value="<WCF_failover_cluster_name>" />
    

    Where <WCF_failover_cluster_name> is the name of the failover cluster (not an individual server name) that will run one or more WCF broker nodes. If you will have multiple failover clusters that run WCF broker nodes, specify the name of each failover cluster, separating the names with semicolons (;). Enclose the name or string of names with double quotation marks ("), as shown.

  3. Save and close the file.

  4. Repeat the preceding steps on each server that can run the head node services.

  5. After the file has been modified on each server that can run the head node services, on one of those servers, open Failover Cluster Manager.

  6. Click the clustered instance that runs the head node services.

  7. In the center pane, under Other Resources, take the Microsoft HPC Session Launcher Service offline, and then bring it back online.

Configure high availability for the WCF broker node or nodes

In this procedure, you configure clustered instances of the WCF broker nodes. You use several wizards and commands to do this. The overall purpose is to provide the information that the failover cluster needs in order to start, stop, and fail over the WCF broker node or nodes in a coordinated way.

To configure high availability for the WCF broker node or nodes

  1. On a server that will run a WCF broker node (not the head node), in Services, right-click HPC Broker Service, click Properties, click Stop and then, in Startup type, click Disabled. Click OK.

  2. Repeat the previous step on the other servers that will run a WCF broker node in the same failover cluster.

  3. In Failover Cluster Manager, select or specify the cluster that you want to configure.

  4. Start the High Availability Wizard. See the documentation for Failover Cluster Manager in your version of Windows Server for information about running the High Availability Wizard..

  5. On the Select Role page (Select Service or Application page in earlier versions of Windows Server), click Message Queuing, and then click Next.

  6. Follow the instructions in the wizard to specify the following details:

    • A name for this clustered WCF broker node (also known as a resource group in the failover cluster). This name will be registered in DNS and associated with the IP address for this clustered WCF broker node.

    • Any IP address information that is not automatically supplied by your DHCP settings—for example, a static IPv4 address for this clustered WCF broker node.

    • The storage volume that this clustered instance of a WCF broker node will use for its Message Queuing files. You can add also add a volume to this clustered instance later, if needed.

      Important

      Ensure that the IP address information is correct. All the networks that you expect to see (the networks that you want to use for communication between the WCF broker node and other nodes or clients) should be listed. If a network is missing from the list, click Cancel and review Configure networks for communication within the failover cluster, earlier in this topic.

  7. Click the clustered instance of Message Queuing that you just created.

  8. Under Actions (on the right), click Add a resource, and then click 2 - Generic Application.

  9. In the Command line text box, type or paste a command similar to:

    %CCP_HOME%Bin\HpcBroker.exe

  10. In the Parameters text box, type or paste the following parameter:

    -failover

    New Resource Wizard in a failover cluster

    When HpcBroker.exe is configured in this way with the –failover parameter, it runs as an application within the failover cluster, rather than running as a service on an individual server.

  11. Complete the wizard.

  12. In the center pane, ensure that the listing for the clustered WCF broker node is expanded.

  13. Right-click the Generic Application resource that you added (be sure to click the resource, not the clustered WCF broker node that contains the resource), and then click Properties.

  14. Click the Dependencies tab, and then add the Message Queuing resource (the resource with a name that starts with MSMQ) to the list. Click Apply.

    This ensures that the Message Queuing resource will always be started before the Generic Application resource is started.

  15. Click the General tab, and select the check box for Use Network Name for computer name. Then click OK.

  16. In the console tree, select the clustered WCF broker node, and then under Actions, click Show Dependency Report.

    Review the dependencies to ensure that the Generic Application resource is dependent on the Message Queuing resource (which in turn has other dependencies). Close the dependency report.

  17. Start Windows PowerShell as an administrator.

  18. At the Windows PowerShell command prompt, run the following command to view the properties of the clustered instance of the WCF broker node:

    Get-ClusterGroup <Clustered_WCF_Broker_Name> | fl *
    

    Where <Clustered_WCF_Broker_Name> is the name you gave to the clustered instance of the WCF broker node. In the resulting list, notice that the value for the AntiAffinityClassNames property is null {} (unless you previously set this value).

  19. At the Windows PowerShell command prompt, run the following series of commands:

    $s = New-Object System.Collections.Specialized.StringCollection
    $s.Add("HPC Server Broker Launcher")
    ( Get-ClusterGroup "<Clustered_WCF_Broker_Name>" ).AntiAffinityClassNames = $s
    Get-ClusterGroup <Clustered_WCF_Broker_Name> | fl *
    

    Where <Clustered_WCF_Broker_Name> is the name you gave to the clustered instance of the WCF broker node. When you give each clustered instance the same value for the AntiAffinityClassNames property (in this case, "HPC Server Broker Launcher"), it causes each clustered instance to be started on a different failover cluster node, where possible.

  20. In Failover Cluster Manager, bring the new clustered WCF broker node (not an individual resource) online.

  21. For each active node that you want to have in this failover cluster, repeat this procedure to create another clustered instance of Message Queuing with the correct resources, resource dependencies, and properties.

    Leave at least one passive node in the failover cluster. In other words, do not configure as many clustered instances as there are servers in the failover cluster. Otherwise, failover cannot occur.

  22. Start HPC Cluster Manager.

  23. In Node Management, in the Navigation Pane, under Nodes, click By Group, and then click WCFBrokerNodes. Right-click each of the new WCF broker nodes, and then click Bring Online.

Important

For each of the failover clusters that you want to create using WCF broker nodes, repeat all the procedures in this topic.

Additional references

Step 13: Test Failover on WCF Broker Nodes

Performing Maintenance on WCF Broker Nodes in a Failover Cluster with Windows HPC Server 2008 R2