Cluster is a hot topic, in the enterprise more and more application of Linux operating system to provide mail, Web, file storage, database and other services, with the growing application of Linux, high availability and http://www.aliyun.com/zixun/aggregation/ 13996.html "> Load balanced Linux cluster is also developing gradually in the enterprise. The low cost, high performance and high scalability of the Linux platform enable the Linux cluster to meet the needs of various applications at a low price.
This article describes the basic knowledge of Linux clusters, cluster classification. After familiar with the basic knowledge of the cluster, RHCs (RedHat Cluster Suit) is used as an example to introduce the implementation of high availability cluster and load Balancing cluster.
What is a cluster?
Let's start with the cluster concept to introduce the Linux cluster. Connecting multiple computers together with specific software and hardware to make them work together for a common purpose constitutes a Linux cluster.
Linux cluster technology is at your side, you may not realize that for ordinary users, a Linux cluster usually behaves like a single system, providing users with network services or computing services.
Google, a famous search engine, uses Linux cluster technology to handle a large number of daily queries, and it is estimated that more than 20000 computers are currently working at the same time in the Google cluster. Each time you submit a query to Google, a different set of computers will help you retrieve the information.
According to a world famous supercomputer ranking website www.top500.org June 2005 data recorded in the world's fastest 500 supercomputers, 288 are in the form of a Linux cluster. The fastest Linux cluster supercomputer is the MareNostrum cluster built by IBM for the Barcelona Supercomputing Center, which is currently ranked fifth in the June 2005 global supercomputing top500.
Main types of clusters
Before we learn about Linux clusters, we first need to understand the main types of clusters and the problems they can solve. We usually divide the cluster into the following three main types for their purposes:
Highly available cluster (Ha,high Available Cluster)
High-availability clustering is the use of special software to connect separate servers to form a cluster capable of providing failover (Failover) functionality.
Key applications in the enterprise, such as Web services, file services, database services, and so on, often require 7x24 uninterrupted continuous service delivery and failure to perform externally. This requires the system that hosts the service to automatically determine the failure and provide the ability to recover from failure. High-availability clusters can guarantee the availability of critical services in the system and the integrity of service data.
Highly available clusters often use usability to measure the base's actual effect. The usability of a computer system is measured by an average failure-free time (MTTF) and average maintenance time (MTTR), and the availability is defined as: mttf/(mttf+mttr) *100%. Depending on availability, we can divide the computer system into the following categories:
Availability Year Downtime system category
99.53.7 Day General System
99.98.8-Hour available system
99.9952.6-minute high availability system
99.9995.3-minute fault-resistant system
99.999932-Second fault tolerant system
Linux high-clustering systems are often able to meet the standards of highly available systems. At present, the highest level of fault-tolerant systems is usually the use of advanced hardware-fault-tolerant servers, fault-tolerant systems have the highest level of availability support for hardware failures but such systems are often not able to diagnose and recover from software failures in services. Linux highly available cluster systems are basically equipped with software and hardware fault detection and recovery functions.
In real enterprise applications, only some of the key services are deployed on highly available cluster systems, and other parts that are not part of the critical services need to be deployed in a common server deployment. Therefore, in general, highly available cluster systems will consist of two servers.
The major Linux distributions currently provide highly available cluster components, and the main high availability cluster decision options are the Cluster used by the SuSE Heartbeat (www.linux-ha.org) and Redhat Suit kimberlite.
Ha+keepalvied is the implementation of high availability. Load balancing cannot be achieved.
Load Balancing cluster (lb,load Balance Cluster)
Load-balancing clusters typically use a dedicated load-balanced routing device to distribute service requests based on TCP/IP protocols to servers that are actually serviced and provide real service to clients.
Load-balanced cluster system is commonly used in heavy load network services, such as large Web sites, mail service systems and so on. With the application of load balancing technology, multiple servers can provide the same content service at the same time, and break through the limitation of single server hardware performance.
The key component of load Balancing cluster is load-balanced routing device, load-balanced routing device is responsible for distributing real client's service request to real server, which can generally be used to use hardware load Balancing routing device or configure load Balancing router with Linux.
Hardware load-balanced routing device, which uses special hardware structure and specially developed configuration software, is usually easy to configure and manage, and has better performance, but its price is higher
The most commonly used load-balancing routing software in Linux is the LVS (Linux Virtual Server) project developed by Dr. Zhangwensong. LVS can achieve most of the current hardware load balanced routing device functions. At present, the solution of load balancing based on Linux platform mostly adopts LVS or its derivative products. As the LVS project itself does not provide the high availability of load-balanced routing, the real server state detection function, etc., so in the actual configuration of load-balanced cluster will usually adopt LVS derivative products. The common LVS derivative products are mainly Ultramonkey and redhat piranha projects.