16.2 Cluster Alias IP Address


16.2 Cluster Alias IP Address

So it sounds like all we have to do is establish a name as an alias for the cluster, associate it with an IP address, and there you have it ladies and gents – the cluster alias. But what IP address do we associate with the cluster alias? All of the cluster members have network interfaces, and all of the interfaces have IP addresses associated with them. Which of those IP addresses do we associate with the cluster alias? If you select one of the existing IP addresses that represents a member's network interface (imagine that each member has a single network interface for now), all of the client traffic (telnet(1), ftp(1), nfs(4), etc.) will be directed to that single cluster member. Doesn't that defeat the purpose of having the cluster (and the cluster alias)?

The cluster alias name will have to be associated with an IP address that is not tied to a single network interface on a single member of the cluster; otherwise, the bulk of the cluster network services will be executing on one (potentially overloaded) cluster member. Sounds like we should associate the cluster alias with an IP address that is not in use by a particular network interface on a cluster member. Okay, let's go with that and see how it might work.

Most folks figure that IP addresses are used to locate a target machine in a network. That is true to a certain degree, but a few points must be brought out now in order to get a grip on the complexities of the Cluster Alias (CLUA) subsystem. An IP address is associated with a network interface, not a machine. So when you present an alleged node name to a utility (like ping(8), telnet, ftp, etc.), you are actually identifying a network interface, and only indirectly the machine. Since a machine can have multiple network interfaces, it can have multiple IP addresses.

16.2.1 MAC Address

You should also keep in mind that an IP address is usually associated with a 48-bit Media Access Control (MAC) address (looks like 08-00-2b-12-34-56). The MAC addresses are "burned" onto a PROM chip on the network device (think Ethernet device) in order to uniquely identify each device. When an IP address is assigned to the network device, the MAC address is associated with the IP address.

Somehow, we have to take an IP address that is not associated with any particular interface, nor directly associated with any cluster member, and associate it with a MAC address so that network clients can use the services in the cluster without overburdening a particular cluster member. Sounds like maximum smoke and mirror action will be necessary to make this work.

When a client in a network connects to a server, it does so by running an application (identified by a port number) on the client that needs network access and identifies the server by a "node name". The "node name" is translated into an IP address by the contents of the /etc/hosts file, or by BIND, NIS, or some other mechanism. The IP address is translated into a MAC address by finding the IP address in the Address Resolution Protocol (ARP) cache in the client's memory. If the IP address is not found in the ARP cache (the cache information decays after about 20 minutes), the client uses the ARP, which broadcasts a request, to find out who has the IP address that the client is trying to access. A single (hopefully) network node responds with its MAC address (sometimes called an ARP address or a hardware address), which is cached on the client for subsequent use. Finally, the request is put out on the wire using the MAC address as the target for the datagram. When the datagram arrives at the appropriate interface, it is presented to the IP software for processing. (Note that we are only discussing IP here. Other network protocols would follow a similar series of steps.) The IP software checks to see if the destination IP address is indeed an interface on this network node. If so, the packet is presented to either the Transmission Control Protocol (TCP) software or the User Datagram Protocol (UDP) software. If not, IP checks to see if this node has forwarding (routing) responsibilities. If so, it checks its in-memory routing table to see how to route the datagram toward its destination. These transport layer protocols (TCP and UDP) then pass the payload to the target application, which is identified by a 16-bit port number.

We mention all of this to prepare you for the beauty and beast that is CLUA.




TruCluster Server Handbook
TruCluster Server Handbook (HP Technologies)
ISBN: 1555582591
EAN: 2147483647
Year: 2005
Pages: 273

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net