A computer network is a group of computers that use a set of common communication protocols over digital interconnections for the purpose of sharing resources located on or provided by the network nodes.
WHAT IS CLUSTER NETWORK?
A cluster network is two or more computing devices working together for a common computing purpose. These networks take advantage of the parallel processing power of the computing devices. In addition to the increased processing power, shared computing resources in a cluster network also can provide scalability, high availability, and failover capabilities should one computing device have a problem. There are three basic types of computing clusters: load-balancing clusters, high availability clusters, and high-performance clusters.
Load-balancing clusters consist of two or more computing systems, also called nodes. The workload of the network is spread over these nodes to increase the computing performance of the network. From a user perspective, the nodes function as one computer system.
TYPES OF CLUSTER NETWORKS
A high-availability cluster network is two or more computing nodes that provide redundancy in case of hardware or software failure. It is also referred to as a failover cluster. When a computing system fails, its operations are transferred to the redundant node to provide continuous computing services.
High-performance clusters use the parallel processing power of the multiple cluster nodes to provide high perforformance computing. This allows the nodes to work together on a problem. It is often a good solution for businesses whose networks have high processing requirements but that have limited budgets.
Clustering architectures can vary greatly depending on the networking technologies used and the purpose of the computing system. There are three primary clustering architectures: mirrored disk, shared disk, and shared nothing configurations. A mirrored-disk cluster architecture replicates stored application data to a backup storage site. Its basic purpose is to provide high availability of the computing resources as well as disaster recovery in case of some type of computing failure.
A shared-disk cluster network uses central input/output (I/O) devices that are accessible to all nodes in the cluster. Usually, they are used for sharing disk storage for files and databases. Some shared-disk configurations distribute information across all the nodes in a cluster, whereas other configurations use a central metadata server.
A shared-nothing clustering architecture has independent and self-sufficient nodes. Each node has its own memory and I/O devices. It does not provide concurrent disk access from multiple nodes, because only one node needs access to the storage at any one time. Often each node in this type of architecture is responsible for a different set of network tasks. A shared-nothing cluster network can scale to hundreds of nodes and is a popular option in web development environments.
What is Cluster Server and how it works?
Server clustering refers to a group of servers working together on one system to provide users with higher availability. These clusters are used to reduce downtime and outages by allowing another server to take over in an outage event. Here’s how it works. A group of servers are connected to a single system.
Cluster Network Addressing Scheme
All peer nodes are assigned IPv4 addresses. The address is split into a network part and a host part. The dividing point between the network part and the host part is defined by the netmask.
The following figure illustrates the structure of an IPv4 address on a peer node.
FIGURE 4-1 Structure of an IPv4 Address on a Peer Node
The network part of an IP address represents the identity of the network to which a peer node is connected. The host part of an IP address represents the nodeid of the peer node. The nodeid is the decimal equivalent of the host part of the IP address.
In a class B addressing scheme, the value of the netmask is ffff0000. The network part of an IP address is 16 bits long, and the host part of an IP address is 16 bits long.
In the class C addressing scheme, the value of the netmask is ffffff00. The network part of an IP address is 24 bits long, and the host part of an IP address is 8 bits long. By default, a class C address on a Netra HA Suite cluster has the following format:
Netra HA Suite software can use a classless addressing scheme. The value of the netmask is not restricted to any address class.
The following values of the host part of the IP address are reserved:
- Value 0 is reserved for the identification of the network part of the IP address.
- Value 1 is reserved for the floating address triplet. For information about the floating address triplet, see Floating address triplet
- Value 2n-1 is reserved for the broadcast address. The parameter n is the number of bits in the host part of the IP address.
Node Address Triplets
A node address triplet is assigned to each peer node in a cluster. The node address triplet consists of three IP addresses:
- An IP address for each of the two physical interfaces, NIC0 and NIC1
- An IP address for the virtual interface, called the CGTP address
The CGTP address is used for IP routing. It hides the multirouting capability of CGTP. The CGTP address presents the redundant network as a single network interface. Applications can use the CGTP address to communicate with the master node. The CGTP address supports unicast, broadcast, and multicast transmissions. For more information about CGTP, see Chapter 3.
The following table shows an example of node address triplets for a cluster containing two server (master and vice-master) nodes and two client (diskless) nodes. The cluster uses a default class C addressing scheme.
|Node Name||Address for Physical Interface hme0||Address for Physical Interface hme1||Address for Virtual Interface cgtp0|
|Diskless Node 1||10.200.1.12||10.200.2.12||10.200.3.12|
|Diskless Node 2||10.200.1.13||10.200.2.13||10.200.3.13|
The following figure shows the address triplets of the preceding cluster.
FIGURE 4-2 Node Address Triplets
Floating Address Triplet
In addition to a node address triplet, the master node and vice-master node have an address triplet called the floating address triplet. The floating address triplet is activated on the master node only. If the master node fails over or is switched over, the floating address triplet is activated on the new master node. It is deactivated on the old master node.
Diskless nodes and dataless nodes access services and data on the master node, through the floating address triplet. Because the floating address triplet is always up on the master node, the diskless nodes and dataless nodes can access the master node even after a failover or switchover.
The floating address triplet has a logical address. A logical address is an address that is assigned to a physical interface or virtual interface. A logical address for an hme0 or cgtp0 interface has the format hme0:x or cgtp0:x.
The following table shows an example of the node address triplet and floating address triplet of a master node. The cluster is using a default class C addressing scheme.
|Triplet Type||Address Type||Interface||Address Example|
|Node Address Triplet||Physical||hme0||10.200.1.10|
|Floating Address Triplet||Logical||hme0:1||10.200.1.1|
FIGURE 4-3 shows the node address triplet and floating address triplet of the master node and vice-master node. The diskless nodes are doing a Network File System (NFS) mount onto the master node through the floating address triplet. The floating address triplet of the vice-master node is crossed out because it is down.
FIGURE 4-3 Example of the Floating Address Triplet of a Master Node and Vice-Master Node
FIGURE 4-4 Example of the Floating Address Triplet After Failover
Advantages and Disadvantages of Clustering
The main advantage of a clustered solution is automatic recovery from failure, that is, recovery without user intervention. Disadvantages of clustering are complexity and inability to recover from database corruption.
In a clustered environment, the cluster uses the same IP address for Directory Server and Directory Proxy Server, regardless of which cluster node is actually running the service. That is, the IP address is transparent to the client application. In a replicated environment, each machine in the topology has its own IP address. In this case, Directory Proxy Server can be used to provide a single point of access to the directory topology. The replication topology is therefore effectively hidden from client applications. To increase this transparency, Directory Proxy Server can be configured to follow referrals and search references automatically. Directory Proxy Server also provides load balancing and the ability to switch to another machine when one fails.
Advantages of Clustering Servers
- Clustering servers is completely a scalable solution. You can add resources to the cluster afterwards.
- If a server in the cluster needs any maintenance, you can do it by stopping it while handing the load over to other servers.
- Among high availability options, clustering takes a special place since it is reliable and easy to configure. In case of a server is having a problem providing the services furthermore, other servers in the cluster can take the load.
Disadvantages of Clustering Servers
- Cost is high. Since the cluster needs good hardware and a design, it will be costly comparing to a non-clustered server management design. Being not cost effective is a main disadvantage of this particular design.
- Since clustering needs more servers and hardware to establish one, monitoring and maintenance is hard. Thus increase the infrastructure.
Now let’s see what kind of packages/installations we need to configure this setup successfully. The following packages/RPMs can be downloaded by rpmfind.net.
- Ricci (ricci-0.16.2-75.el6.x86_64.rpm)
- Luci (luci-0.26.0-63.el6.centos.x86_64.rpm)
- Mod_cluster (modcluster-0.16.2-29.el6.x86_64.rpm)
- CCS (ccs-0.16.2-75.el6_6.2.x86_64.rpm)
- Clusterlib (clusterlib-184.108.40.206-68.el6.x86_64.rpm)
Let’s see what each installation does for us and their meanings.
- Ricci is a daemon which used for cluster management and configurations. It distributes/dispatches receiving messages to the nodes configured.
- Luci is a server that runs on the cluster management server and communicates with other multiple nodes. It provides a web interface to make things easier.
- Mod_cluster is a load balancer utility based on httpd services and here it is used to communicate the incoming requests with the underlying nodes.
- CCS is used to create and modify the cluster configuration on remote nodes through ricci. It is also used to start and stop the cluster services.
- CMAN is one of the primary utilities other than ricci and luci for this particular setup, since this acts as the cluster manager. Actually, cman stands for CLUSTER MANAGER. It is a high-availability add-on for RedHat which is distributed among the nodes in the cluster.
Read the article, understand the scenario we’re going to create the solution to, and set the pre-requisites for the implementation. Let’s meet with the Part 2, in our upcoming article, where we learn How to install and create the cluster for the given scenario.
Drop your comment