Red Hat Cluster kit RHCS (concept)

Source: Internet
Author: User

Red Hat Cluster kit RHCS (concept)
1. What is RHCS?
RHCS is the abbreviation of Red Hat Cluster Suite, which is the Red Hat Cluster Suite. RHCS is a Cluster tool set that provides high availability, high reliability, load balancing, storage sharing, and low cost, it integrates the three cluster architectures in the cluster system to provide a secure and stable running environment for web applications and database applications.
More specifically, RHCS is a fully functional cluster application solution. It provides an effective cluster architecture implementation from application front-end access to backend data storage, this solution provided by RHCS not only ensures the persistent and stable provision of services for front-end applications, but also ensures the security of backend data storage.
RHCS provides three cluster architectures in the cluster system: high availability cluster, Server Load balancer cluster, and storage cluster.

Ii. three core functions provided by RHCS
High-availability clusters are the core functions of RHCS. When an application fails or the system hardware or network fails, the application can automatically and quickly switch from one node to another through the high availability service management component provided by RHCS, the node failover function is transparent to the client to ensure continuous and uninterrupted service provision by applications. This is the function implemented by the RHCS high-availability cluster.

RHCS uses Linux Virtual Server (LVS) to provide Load Balancing clusters. LVS is an open-source and powerful IP-based load balancing technology, LVS is composed of a server Load balancer and a Service Access Node. Through the load scheduling function of LVS, client requests can be evenly distributed to each service node. At the same time, multiple load distribution policies can be defined, when a request comes in, the cluster system determines the service node to which the request should be distributed based on the scheduling algorithm. Then, the allocated node responds to the client request, LVS also provides the Failover function for service nodes. When a service node cannot provide services, LVS automatically blocks the faulty node and removes the failed node from the cluster, at the same time, the new node requests are smoothly transferred to other normal nodes. When the faulty node returns to normal, LVS automatically adds the node to the cluster. This series of switching actions are transparent to users. The failover function ensures uninterrupted and stable service operation.

RHCS provides the storage cluster function through the GFS File System. GFS is short for the Global File System. It allows multiple services to read and write a single shared File System at the same time, by placing shared data in a shared file system, a storage cluster eliminates the trouble of synchronizing data between applications. GFS is a distributed file system that uses the lock management mechanism, to coordinate and manage the read and write operations of multiple service nodes on the same file system.


Iii. Composition of RHCS Clusters
RHCS is a collection of cluster tools, mainly composed of the following parts:
? Cluster architecture Manager
This is a basic suite of RHCS clusters. It provides the basic functions of a cluster to make each node work together, including the distributed Cluster Manager (CMAN), member relationship management, lock management (DLM), configuration file management (CCS), and gate device (FENCE ).
? High Availability Service Manager
Provides node service monitoring and service failover. When a node service fails, the service is transferred to another healthy node.
? Cluster configuration management tools
The latest version of RHCS uses LUCI to configure and manage RHCS clusters. LUCI is a web-based cluster configuration method. with luci, you can easily build a powerful cluster system.
? Linux Virtual Server
LVS is an open-source Server Load balancer software. LVS can distribute client requests to various service nodes based on specified load policies and algorithms to achieve dynamic and intelligent load balancing.

In addition to the core components above, the RHCS cluster function can be supplemented by the following components.
? Red Hat GFS (Global File System)
GFS is a cluster file system developed by Redhat. The latest version is GFS2. The GFS file system allows multiple services to read and write a disk partition at the same time. GFS enables centralized data management, this eliminates the trouble of Data Synchronization and copying, but GFS cannot be isolated. Installing GFS requires the support of the underlying components of RHCS.
? Cluster Logical Volume Manager
Cluster logical volume management, that is, CLVM, is an extension of LVM, which allows machines in the cluster to use LVM to manage shared storage.
? ISCSI
ISCSI is a standard for data block transmission over the Internet Protocol, especially over Ethernet. It is a new Storage technology based on the IP Storage theory, RHCS can use ISCSI technology to export and allocate shared storage.
? Global Network Block Device
The Global Network Module (GNBD) is a complementary component of GFS for allocating and managing shared storage. GNBD is divided into client and server, the GNBD server allows you to export Multiple Block devices or GNBD files. The GNBD client can use these exported Block devices or files as local Block devices by importing them. Since GNBD has stopped development, there are fewer and fewer GNBD users.

Iv. RHCS Cluster Structure
The RHCS cluster consists of three parts: Server Load balancer cluster, high availability cluster, and storage cluster, as shown in 1:

Figure 1

Figure 1 shows a typical topology of a RHCS cluster. The topology is divided into three layers:
The top layer is the LVS Load Balancing layer, the middle layer is the Real Server layer, which is the service node part, and the last layer is the shared storage layer, which is mainly used to provide shared storage space for the GFS file system.


V. RHCS cluster operating principles and functions

1. Distributed Cluster Manager (CMAN)
Cluster Manager (CMAN) is a distributed Cluster management tool that runs on each node of the Cluster and provides Cluster management tasks for RHCS.
CMAN is used to manage cluster members, messages, and notifications. It monitors the running status of each node to understand the relationship between node members. When a node in the cluster fails, the node member relationship will change, and CMAN promptly notifies the underlying layer of this change, and then make corresponding adjustments.


2. Lock Management (DLM)
Distributed Lock Manager (DLM) is a Distributed Lock Manager. It is an underlying component of RHCS and provides a common Lock operation mechanism for clusters, in the RHCS cluster system, DLM runs on each node of the Cluster. GFS uses the lock manager to synchronize access to the file system metadata. CLVM synchronously updates data to LVM volumes and volume groups through the lock manager.
DLM does not need to set the lock management server. It adopts the peering lock management method, which greatly improves the processing performance. At the same time, DLM avoids the performance bottleneck of overall recovery when a single node fails. In addition, DLM requests are local and do not require network requests, so the requests take effect immediately. Finally, the DLM uses a layered mechanism to implement parallel lock modes for multiple lock spaces.

3. Configuration File Management (CCS)
Cluster Configuration System (CCS) is mainly used for managing Cluster Configuration files and synchronizing Configuration files between nodes. CCS runs on each node of the cluster and monitors a single configuration file/etc/cluster on each cluster node. conf status. When this file changes, it is updated to every node in the cluster, and the configuration file of each node is synchronized at all times. For example, the administrator updates the cluster configuration file on node A. After CCS finds that the configuration file of node A has changed, the change will be immediately transmitted to other nodes.
The rhcs configuration file is cluster. conf, which is an xml file containing the cluster name, cluster node information, cluster resources and service information, and fence devices.


4. Gate device (FENCE)
FENCE devices are an essential part of the RHCS cluster. FENCE devices can be used to avoid split-brain problems caused by unpredictable situations and FENCE devices, to solve these problems, Fence devices directly issue hardware management commands to servers or storage through the hardware management interfaces of servers or storage, or external power management devices, restart or shut down the server, or disconnect from the network.
FENCE works in the following way: when a host is abnormal or down due to an accident, the Standby opportunity first calls the FENCE device, and then restarts or isolates the abnormal host from the network through the FENCE device, after the FENCE operation is successfully executed, the information is returned to the slave machine. After receiving the successful information of FENCE, the slave machine starts to take over the services and resources of the host. In this way, resources occupied by abnormal nodes are released through the FENCE device, ensuring that resources and services always run on one node.
Rhcs fence devices can be divided into two types: Internal FENCE and external FENCE. Common internal FENCE devices include ibm rsaii cards, HP iLO cards, and IPMI devices, external fence devices include UPS, san switch, and network switch.

5. high-availability Service Manager
High Availability service management is mainly used to supervise, start, and stop cluster applications, services, and resources. It provides a management capability for cluster services. When a node fails, the high availability cluster service management process can transfer services from this failed node to other healthy nodes, in addition, this service transfer capability is automatic and transparent.
RHCS uses rgmanager to manage cluster services. rgmanager runs on each cluster node and the corresponding process on the server is clurgmgrd.
In a RHCS cluster, high availability services include cluster services and cluster resources. Cluster services are actually application services, such as apache and mysql. There are many cluster resources, for example, an IP address, a running script, and an ext3/GFS file system.
In a RHCS cluster, the high availability service is combined with a Failover domain. A failover domain is a collection of cluster nodes that run specific services. In the failed transfer domain, you can set a priority for each node. The priority is used to determine the order of service transfer when the node fails. If no priority is specified for the node, the Cluster High Availability service will be transferred between any nodes. Therefore, by creating a failed transfer domain, you can not only set the order of service transfer between nodes, but also restrict a service to switch only within the node specified by the failed transfer domain.

6. cluster configuration management tools
RHCS provides a variety of cluster configuration and management tools, common GUI-based system-config-cluster, Conga, and other management tools.
System-config-cluster is a graphical management tool used to create clusters and configure cluster nodes. It consists of cluster node configuration and cluster management, create a cluster node configuration file and maintain the node running status. It is generally used in earlier versions of RHCS.
Conga is a new network-based cluster configuration tool. Unlike system-config-cluster, Conga configures and manages cluster nodes on the web. Conga consists of two parts: luci and ricci. luci is installed on an independent computer for cluster configuration and management. ricci is installed on each cluster node, luci communicates with each node in the cluster through ricci.
RHCS also provides some powerful cluster command line management tools, commonly used include clustat, cman_tool, ccs_tool, fence_tool, and clusvcadm. The usage of these commands will be described below.

7. Redhat GFS
GFS is a storage solution provided by RHCS for cluster systems. It allows multiple nodes in the cluster to share storage at the block level. Each node shares a storage space, GFS is a cluster file system provided by RHCS. multiple nodes mount one file system partition at a time, while the file system data is not damaged, this is a single file system, such as EXT3, EXT2 cannot do.
To enable multiple nodes to perform simultaneous read/write operations on a file system, GFS uses the lock manager to manage I/O operations. When a write process operates on a file, the file is locked, at this time, other processes are not allowed to perform read and write operations, and the lock is released until the write process completes normally. Only after the lock is released can other read and write processes operate on the file. In addition, after a node modifies data on the GFS file system, the modification is immediately visible on other nodes through the underlying communication mechanism of RHCS.
When building a RHCS cluster, GFS is generally used as shared storage and runs on each node. It can be configured and managed through RHCS management tools. The relationships between RHCS and GFS need to be explained. Generally, it is easy for beginners to confuse this concept: Running RHCS, GFS is not necessary, and GFS is required only when shared storage is required, to build a GFS cluster file system, you must have the underlying support of RHCS. Therefore, you must install the RHCS component on the nodes where the GFS file system is installed.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.