Red Hat Cluster Suite(简称RHCS)提供了一套HA的框架,方便客户基于现有的应用,提供高性能、高可靠的业务服务。
RHCS实际上是有一些组件集成起来,完成HA、分发的功能。主要包括如下组件:
GFS
Cluster LVM
GNBD
LVS
下面分别介绍一下各个组件的作用:
Cluster Infrastructure,提供了一套HA的框架,包括各个节点的状态管理CMAN, 各个节点的同步DLM,故障节点的隔离Fencing, 配置文件的同步 CCS。
GFS、CLVM、GNBD都是为了提供共享存储,方便各个ClusterNode访问同样的数据。
GFS基于Linux VFS框架,提供给应用层一般文件系统相同的接口,各个阶段共享访问。
CLVM扩展了LVM的逻辑卷功能,提供了集群的支持,在各个ClusterNode提供相同的配置,也就是说各个节点上看到的配置是完全一样的。
GNBD提供了廉价的解决方案,如果存储不支持iSCSI或者FC,通过软件模拟提供基于网络的共享存储,分为GNBD client和GNBD Server两部分。Cluster Node运行Client,在Client段,提供设备文件访问共享存储。
LVS提供了分发机制,方便扩展集群的性能。LVS接受到所有的情况,转发给各个ClusterNode处理。
LVS提供了两种分发方式:NAT和Direct Routing两种方式。NAT方式所有的数据进出都通过LVS转发,和各个ClusterNode之间通过内部网络通信。DirectRouting,LVS只负责接入的请求,发出的数据,由各个ClusterNode直接处理,需要arptables支持。
解释一下为什么RHCS提供了HA的能力,完成高可靠?
如果有一台ClusterNode故障了,Cluster Infrastructure会发现对应节点异常,启动备用节点提供服务,并把当前节点隔离掉。主备用节点的IP是浮动的,这样对外体现不变。
主备用直接的存储通过GFS共享。因此数据也可以接续访问。
节点是否故障可以自定义,根据业务情况来配置。
解释一下为什么RHCS提供了高性能的能力?
RHCS集成了LVS,所有的数据对外提供一个IP地址,但是有LVS转发的各个ClusterNode实际处理,因此为了增加系统的处理能力,只要增加CluserNode的部署。