1.简介
RHCS全称RedHatClusterSuit红帽集群套件,相对于其他集群配置rhcs配置略显复杂且牵扯内容比较多,但是就稳定性与可靠性而言rhcs是毋容质疑的。下面就自己对rhcs理解说明一下rhcs的概念。主要包括七个方面(2.1-2.7)。
1.1RHCS有那些功能
既然RHCS是一个集群套件,因为进群功能有多种如高性能、负载均衡、高可用,那么RHCS实现什么功能。RHCS通过cman/集群高可用管理器实现高可用,通过LVS实现网络层负载均衡。同时RHCS通过支持GFS与iSCSI提供集群共享存储的功能。
这里需要说明iSCSI是一种存储方案而GFS是一种文件系统,多个客户机通过iSCSI这种存储技术通过网络对远程存储进行高性能数据传输,GFS提供多节点数据共享方案。
1.2集群高可用工具
高可用工具:keepalived、heartbeat
1.3集群负载均衡工具
负载均衡调度器:LVS、HAProxy、Nginx
1.4集群数据一致性
(1)无共享体系结构:
每个节点单独使用本地存储,数据一致性需要一套数据复制机制保证各个节点数据保持一致如DRBD,大多数主流数据库,如IBM DB2企业版、Microsoft Cluster Server,已经实现无共享集群
(2)共享磁盘体系结构:
共享磁盘“某个时刻”只有一个集群中的一个节点来对磁盘进行完全的操作,在高级集群中如果需要其他节同时访问数据,需要完全操作的节点向他节点提供文件系统,因此此节点将成为集群性能瓶颈。如Veritas Cluster Servers已实现。
(3)完全共享体系结构
完全共享结构可以提供集群内所有节点访问,不过这种方式通常通过一个共享通道进行I/O操作所以需要一套机制来保证数据一致性DLM。如RHCS集群中的GFS文件系统可以实现。
2RHCS管理
2.1集群成员管理
简称cman,clustermanagment,主要用来集群成员间进行消息传递通知。
2.2分布式锁管理
简称dlm,distributelock managment,主要保证集群成员对共享分区的读写操作,防止各个成员数据读写不一致现象。
2.3配置文件系统管理
简称ccs,clusterconfigurationsystem,主要提供对集群系统配置文件(/etc/cluster.conf)进行配置,通过luci这个工具可以对配置文件进行界面化操编辑,编辑完成后集群系统会在各个节点间进行配置文件的自动同步。当然如果比较牛逼,可以自己编辑配置文件即可。注意这个管理主要是同步更新管理。
2.4栅设备管理
简称fence,这设备底层调用了底层系统接口如ups、ipmi,这个功能主要是在节点出现异常问题时候,系统其他正常手段无可奈何的时候,使用这项功能将节点初始化如重启、关机、或者自动重集群和网络中隔离。这个手段比较强硬主要是防止集群系统因为一台系统的异常导致整个集群hung状态发生。这个功能选项可以在集群中配置自动启用还是手动执行。如果不放心可以设置手动执行。
2.5高可用服务管理
高可用服务主要是对集群中各个几点的服务状态进行检测,对节点的服务进行的检测、停止、启动、重启操作。高可用服务用将会与后面说明的失败转移域紧密相关。
2.6集群配置管理
RHCS提供了多种集群配置和管理工具,常用的有基于GUI的system-config-cluster、Conga等,也提供了基于命令行的管理工具。常用的 clustat、cman_tool、ccs_tool、fence_tool、clusvcadm等。
2.7Rehat GFS
RedhatGFS是RHCS为集群系统提供的一个存储解决方案,允许集群多个节点在块级别上共享存储,每个节点通过共享一个存储空间,保证了访问数据的一致性,GFS允许多个节点同时挂载一个文件系统分区,文件系统数据不受破坏,这是单一的文件系统,与EXT3、EXT2不同为了实现此功能RHCS通过锁管理来实现了对共享GFS的I/O读写操作。另外须知,GFS是基于RHCS的也就是说RHCS系统不一定要使用GFS但是GFS使用需要RHCS基础组件。
3RHCS几点补充
(1)fail-over:失败转移域,能够限制集群中某一个服务在那些节点间转移(可以允许已经运行其他服务的设备接管),设置优先级与限制节点切换范围如srv1:mysql apache、srv2:mysql apache、srv3:mysql apache、srv4:mysql apache有限设置srv1 srv2之间进行mysql服务切换,srv3 srv4之间进行apache服务切换,但是如果专用的服务组设备都故障了最后考虑转移到srv3、srv4上。
(2)rhcs类似装配模式,资源是单独创建的,然后为服务单独添加,也可在服务创建时直接添加资源。添加服务时故障转移域就是就是(1)中描述的情况。
(3)表决磁盘:rhcs的故障转移通过一种共享磁盘进行仲裁,如果不满足仲裁关系就不能进行故障转移,显然故障转移是集群的必备功能,于是rhcs集群使用了一种恒等关系保证了故障转移能狗任何条件下进行。node:3 expected votes:6 Quorum Device:2 Total votes:5Quorum:3
node为当前的有效节点数能够投票的人(3个)、expectedvotes是期待的投票数-相当于全国人民(4个)、QuorumDevice是说定义的表决磁盘一票能够顶2票、totalvotes是当前实际投票情况、Quorum是法定投票数,那么系统要求Quorum