TruCluster Server Handbook (HP Technologies)

17.6 Configuring the Connection Manager

When a system that has been configured to run in a cluster is booted, it will perform the following steps when the Connection Manager is configured.

As you can see, at this point the CNX has several threads running and theoretically doing things simultaneously. However, certain things (more or less) need to occur in a sequential order.

17.6.1 The Node Announcement

The CNX pinger thread repeatedly sends out an announcement message until the system becomes a cluster member. Once the system becomes a cluster member the CNX pinger thread kills itself.

Essentially what happens here is the CNX pinger thread broadcasts an announcement message across the cluster interconnect using the ICS BOOT channel[5]. If there are any other systems that are up to receive the announcement message, they will respond by exchanging information with the booting system. Included in the node announcement is the cluster name, node name, incarnation, member ID, version, and how it can be reached via ICS.

You may observe a message similar to the following:

CNX MGR: Node molari id 1 incarn 0x914b6 attempting to form or join cluster babylon5

Figure 17-5 illustrates the node announcement communication flow.

Figure 17-5: CNX Node Announcement

When the announcement message is received by a cluster member (or potential member), the systems establish a communication channel to each other and exchange more information to flesh out each other's CSB information.

Note that each system contains its own list of cluster members (or potential members) that is used to determine what systems it can communicate with and to calculate the expected vote value and ultimately the quorum vote value.

Since we have been asked many times, "What are all those ICS Server threads use for?," we chose to include Figure 17-5 to illustrate the interaction between the various CNX threads and the ICS threads. As you can see, this remote procedure call (RPC) communication between members in a cluster is done using the ICS. The ICS Server threads are kernel threads that are used to send and receive communication to and from many of the cluster subsystems.

For more information on the ICS, see Chapter 18.

17.6.2 Cluster Formation

After ten seconds, if the node has not heard from a cluster, it will attempt to form a cluster.

CNX MGR: insufficient votes to form cluster: have 1 need 2

As you can see by the console output, the node initially counts its own vote toward forming the cluster. The system will effectively loop here until enough votes are attained to reach quorum.

If there is a quorum disk configured, then you will see a message similar to the following:

CNX QDISK: Adding 1 quorum disk vote toward formation.

In the last two lines of output, you can see that enough votes have been added to attain quorum because the first message stated, "have 1 need 2". In other words, the CNX has determined that it needs 2 votes to reach quorum. When the quorum disk's vote is added, the CNX will have the necessary second vote.

Once enough votes have been added to reach quorum, the cluster will form as shown in the output below.

CNX MGR: Cluster babylon5 incarnation 0x94a1e has been formed CNX MGR: Founding node id is 1 csid is 0x10001 CNX MGR: membership configuration index: 1 (1 additions, 0 removals) CNX MGR: quorum (re)gained, (re)starting cluster operations. CNX MGR: Node molari 1 incarn 0x94a1e csid 0x10001 has been added to the cluster

17.6.2.1 Cluster Formation – The Details

You want additional details? Hold on tight.

When a system decides to form a cluster, it does the following:

Figure 17-8: Cluster Formation Transaction

17.6.3 Joining a Cluster

As we learned in section 17.6.1, when the CNX is configured one of the first things to happen is that the CNX pinger thread sends an announcement message. If the system has established communication channels with members of an existing cluster, it will send a request to join the cluster instead of trying to form a cluster.

The boot process for a system joining a cluster is pretty much the same as it is for systems forming a cluster except that once the system becomes aware that there is a cluster, it sends a join request to the existing cluster members as was shown in Figure 17-9.

Figure 17-9: Send a Join Request

Once the join request is sent, one of the cluster members will temporarily take charge of responding to this request by becoming the "Cluster Coordinator" for the cluster. The job of the coordinator is as follows:

Figure 17-10: Describe Member & Cluster

Figure 17-11: Member Join Transaction

[5]See Chapter 18 for more information on the ICS subsystem.

Категории