A cluster is a group of servers or other resources that act like a single system and enable high availability and in some cases load balancing and parallel processing.
For example an organisation is having a running service hosted on our server which is very critical for our business and any impact to the service will cost huge loss to the organisation, the service could be anything it might be web service, application services or database hosted on a single server and any loses to that service would lead to huge loss to the organisation, so we need the services to be available without any downtime which means 100% operational and never failing, we called this as a availability.
As per the above image we have the standard server in which we have one power supply and a single HDD and operating system running on that and we have one LAN and client are using that LAN to access the server. It dose not have any redundancy and any failure to any of the hardware will lead to the downtime and as the result client will not able to access the server.
What is Availability ?
We wanted our configured services in a server to be available continuously without any downtime which means 100% operational and never failing.
How do we make sure our server will not go down ?
- Buying a server with redundant power supply.
- Configuring a hardware raid and installing our OS.
- Having multiple network cards configured and teaming or bonding with single IP.
Here Hardware RAID will do the work of storage redundancy, if one disk fails then other disk will be available automatically.
In the above image we can see that we have two servers with the hardware redundancy resources. if the operating system of Server A fails or it shows the kernel panic or the blue screen of death then in that case the redundant hardware resource can’t do anything to make the server available for the client . Now the solution of this issue is we can configure the conman IP address between Server A and Server B. In this case if client is accessing the Server A and at that time there is something wrong in the Server A and it fails, at the same time the Server comes in to the picture, end user will not get to know when he shifted from server A to server B , this is called as High availability and never failing.
There are two ways of cluster.
- Manual Cluster : It is nothing but you will have some downtime to bring up the other node with same data and IP address. End users still able to access the NFS shares but they don’t from which server they are accessing .
- Automatic Cluster : Here we use some sort of cluster software such as veritas cluster, HP Service-guard cluster, Red Hat Linux Native cluster , IBM AIX based cluster. These software’s will do the necessary switch over automatically which is already configured by us in the respective configurations
There are four major type of cluster for our needs
- High Availability (Active – Passive Cluster) : A high availability cluster is a group of hosts that act like a single system and provide continuous up time. High availability clusters are often used for load balancing, backup and fail over purpose
- Load Balancing (Active – Active) – Load Balancing scales the performance of server-based program, such as web server by distributing client requests across multiple servers.
- High performance – As name says, to have high performance we use this cluster.
- Storage – Storage Clustering is the use of two or more storage servers working together to increase performance, capacity or reliability.