Monday, May 19, 2008

High Availability (HA) clusters

HA clusters are not easily categorized. Indeed, we are sure that many people can offer valid reasons for why a different logical structure of organization would be appropriate. Our logical structure of organization is based on function. For example, we would organize a database cluster or a server consolidation cluster under the heading of an HA cluster, since their paramount design consideration is usually high availability.

In a typical HA cluster, there are two or more fairly robust machines which mirror each other’s functions. Two schemes are typically used to achieve this. In the first scheme, one machine is quietly watching the other machine and waiting to take over in case of a failure.

The other scheme allows both machines to be active. In this environment, care should be taken to keep the load below 50 percent on each box or else there could be capacity issues if a node were to fail. These two nodes typically have a shared disk drive array comprised of either a small computer system interface (SCSI) or a Fibre Channel; both nodes talk to the same disk array.

Or, instead of having both nodes talking to the same array, you can have two separate arrays that constantly replicate each other to provide for fault tolerance. Within this subsystem, it is necessary to guarantee data integrity with file and/or record locking. There must also be a management system in place allowing each system to monitor and control the other in order to detect an error. If there is a problem, one system must be able to incapacitate the other machine, thus preserving data integrity.

There are many ways of designing an HA cluster and the list is growing.

No comments: