企业级负载均衡集群——RHCS集群套件介绍(一)

一、RHCS集群的定义及相关概念

1.1 RHCS集群的定义

    RHCS是red hat cluster suite的缩写,也就是红帽子集群套件,RHCS是一个能提供高可用性,高经济性,负载均衡,存储共享且经济廉价的集群工具集合,它将集群系统中的三大经济架构融为一体,可以给web应用,数据库应用等提供安全,稳定的运行环境。
    RHCS是一个功能完备的集群应用解决方案,它从应用的前端访问到数据后端的数据数据存储都提供了一个行之有效的集群架构实现,通过RHCS提供的这种解决方案,不但能保证前端应用持久,稳定的提供服务,同时也保证了后端数据存储的安全。
    RHCS提供了集群系统中三种集群架构,分别是高可用性集群,负载均衡集群,存储集群。

1.2 RHCS提供的三个核心功能

(1)高可用集群

高可用集群是RHCS的核心功能

当应用程序出现故障的时候,或者系统硬件,网络出现故障时,应用可以通过RHCS提供的高可用管理组件自动,快速从一个节点切换到另一个节点,节点故障转移功能对客户端来说是透明的,从而保证保证应用持续,不间断的对外提供服务,这就是RHCS高可用集群实现的功能。

(2)负载均衡集群

RHCS通过LVS(Linux Virtual Server)来提供负载均衡,而LVS是一个开源的,功能强大的基于IP的负载均衡技术

LVS由由负载调度器和访问节点组成,通过LVS的负载调度功能,可以将客户端的请求平均的分配到各个服务节点上,同时还可以定义多种负载分配策略,当一个请求近来时,集群系统根据调度算法来判断应该将请求分配到哪个服务节点,然后,由分配到的节点响应客户端需求。

LVS也提供了故障转移功能,就是指当某个服务节点不能提供服务时,LVS会自动屏蔽这个故障节点,接着将失败节点从集群中剔除,同时将新来次节点的请求平滑的转移到其它正常的节点上来;而当此故障节点恢复正常后,LVS又会自动将此节点加入到集群中去,而这一系列的切换动作,对于用户来说是透明的,通过故障转移功能,保证了服务的不间断,稳定的运行。

(3)存储集群

RHCS通过GFS文件系统来提供存储集群功能,GFS是Global File System的缩写,它允许多个服务同时去读写一个单一的共享文件系统,存储集群通过将共享的数据放到一个共享文件系统中从而消除了在应用程序间同步数据的麻烦,GFS是一个分布式文件系统,它通过锁管理机制,来协调和管理多个服务节点对同一个文件系统的读写操作。

RHCS的集群架构

  • RHCS集群从总体上分为三大部分,负载均衡集群,高可用性集群,存储集群,如下图所示:

  • 上图为典型的集群拓扑结构:整个结构分为三个层面:
  • 最上层的LVS负载均衡
  • 中间为Realserver层,就是服务节点部分
  • 最后一层是共享存储层,主要用于给GFS文件系统提供共享存储空间。

集群套件的作用

集群中luci的作用:
luci是用来配置和管理集群,监听在8084上

集群中ricci的作用:
ricci是安装在每个后端的每个节点上的,luci管理集群上的各个节点就是通过和节点上的ricci进行通信,ricci监听在11111上

集群中fence的作用:
当意外原因导致主机异常或者宕机时,备机会首先调用FENCE设备,然后通过FENCE设备将异常主机重启或者从网络隔离,当FENCE操作成功执行后,返回信息给备机,备机在接到FENCE成功的信息后,开始接管主机的服务和资源。这样通过FENCE设备,将异常节点占据的资源进行了释放,保证了资源和服务始终运行在一个节点上。并且有效的阻止了“脑裂"的发生。

1.3 RHCS 集群组成

RHCS是一个集群工具的集合,主要由以下几大部分组成:

(1)集群架构管理器

这是RHCS集群的一个基础套件,提供一个集合的基本功能,使各个节点组成集群在一起工作,具体包含分布式集群管理器(CMAN),成员关系管理,锁管理(DLM),配置文件管理(CCS),栅设备(FENCE)。

(2)高可用服务管理器

提供节点服务监控和服务故障转移功能,当一个节点服务出现故障时,将服务转移到一个健康节点。

(3)集群配置管理工具

RHCS最新版本利用LVS来配置和管理rhcs集群,LUCI是一个基于web的集群配置方式,通过luci可以轻松的搭建一个功能强大的集群系统。

在红帽系统中我们通过luci和ricci来配置管理集群,其中luci安装在一台独立的计算机上或者节点上,luci只是用来通过web访问来快速的配置管理集群的,它的存在与否并不影响集群。ricci是安装在每个节点上,它是luci与集群给节点通信的桥梁。

(5)Linux Virtual Server (Linux虚拟服务器)

LVS是一个开源的负载均衡软件,利用LVS可以将客户端的请求根据指定的负载均衡策略和算法合理的分配到各个服务节点,实现动态、智能的负载均衡的分担。

RHCS除了上面的几个核心构成,还可以通过下面的一些组件来补充RHCS集群功能:

(1)Red Hat GFS(Global File System)   红帽集群文件系统

GFS是redhat公司开发的一款集群文件系统,目前最新的版本是GFS2,GFS文件系统允许多个服务同时读写一些磁盘分区,通过GFS可以实现数据的集中管理,免去了数据同步和拷贝的麻烦,但GFS并不能孤立的存在,安装GFS需要RHCS的底层组建支持。

(2)Cluster Logical Volume Manger 

cluster逻辑卷管理器,即CLM,是LVM的扩展,这种扩展允许cluster中的机器使用lvm来管理共享存储。

(3) ISCSI   (internet 小型计算机系统接口)

iscsi是一种在internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,RHCS可以通过ISCSI技术来导出和分配共享存储的使用。

(4) Global Network Block Device

全局网络模块,简称GNBD,是GFS的一个补充组件,用于RHCS分配和管理共享存储,GNBD分为客户端和服务端,在服务端GNBD允许导出多个块设备或者GNBD文件,而GNBD客户端通过导入这些导出的文件或者块设备,就可以把它们当作本地块设备使用。由于现在GNBD已经停止了开发,所以使用GNBD的越来越少。

1.4  RHCS集群的特点

(1)最多支持128个节点(红帽企业Linux 3 和红帽企业Linux 4 支持 16 个节点)。
(2)可同时为多个应用提供高可用性。
(3)NFS/CIFS 故障切换:支持 Unix 和 Windows 环境下使用的高可用性文件。
(4)完全共享的存储子系统:所有集群成员都可以访问同一个存储子系统。
(5)综合数据完整性:使用最新的 I/O 屏障(barrier)技术,如可编程的嵌入式和外部电源开关装置(power switches)。
(6)服务故障切换:红帽集群套件可以确保及时发现硬件停止运行或故障的发生并自动恢复系统,同时,它还可以通过监控应用来确保应用的正确运行并在其发生故障时进行自动重启。

1.5   RHCS集群原理及功能

分布式集群管理(CMAN)

  • CMAN(cluster manager),是一个分布式集群管理工具,它运行在集群的各个节点上,为RHCS提供集群管理任务。
  • CMAN用于管理集群成员,消息及其通知。通过监控每个节点的运行状态来了解节点成员之间的关系,但集群中某个节点出现故障,节点成员关系将发生改变,CMAN及时将这种改变通知底层,进而作出相应的调整。

锁管理(DLM)

  • DLM(Distributed Lock Manager)表示一个分布式锁管理器。它是RHCS的一个底层基础构件,同时也为集群提供了一个共用的锁运行机制,在RHCS中,DLM运行在集群的每个节点上,GFS通过锁管理器的锁机制来同步文件系统元数据,CLVM通过锁管理器来同步更新数据到LVM卷和卷组。
  • DLM不需要设定锁管理服务器,它采用对等的锁管理方式,大大提高了处理性能,同时DLM避免了单个节点失败时需要整体恢复的性能瓶颈,另外,DLVM的请求都是本地的,不需要网络请求,因而请求会立即生效,最后DLM通过分层机制,可以实现多个锁空间的并行锁模式。

配置文件管理(CCS)

  • CCS(Cluster Configuration System)只要用于集群配置文件管理和配置文件在节点之间的同步。CCS运行在集群的每个节点上,监控每个集群节点上的单一配置文件/etc/cluster/cluster.conf的状态,当这个文件发生任何变化时,都将此变化更新到集群的每个节点,时刻保持每个节点的配置文件的同步。
  • rhcs的配置文件是cluster.conf,它是一个xml文件,具体包含集群名称,集群节点信息,集群资源和服务信息,fence设备等。

栅设备(FENCE)

  • FENCE设备是RHCS集群中必不可少的一个组成部分,通过FENCE设备可以避免因出现不可预知的情况而造成的“脑裂”现象,FENCE设备的出现,就是为了解决类似这些问题。
  • Fence设备主要就是通过服务器或者存储本身的硬件管理接口,或者外部电源管理设备,来对服务器或存储直接发出硬件管理命令,将服务器重启或关机,或者将网络连接断开。
  • FENCE的工作原理:当意外原因导致主机异常或者拓机时,备机会首先调用FENCE设备,然后通过FENCE设备将异常的主机重启或者网络隔离,当FENCE操作成功执行后,返回信息给备机备机在接收到FENCE呈贡的信息后,开始接管主机的服务和资源。这样通过FENCE设备,将异常的节点占据的资源进行了释放,保证了资源和服务始终运行在一个节点上,RHCS的FENCE设备可以分为俩种:内部FENCE和外部FENCE,常用的内部FENCE有IBM RSAII卡,HP的ILO卡,IPMI。外部FENCE设备有UPS,SAN SWITCH,NETWORK SWITCH等。

高可用服务管理器

  • 作用:主要用来监督,启动和停止集群的应用,服务和资源。它提供了一种对集群服务的管理能力,当一个节点的服务失败时,高可用性集群服务管理进程可以将服务从这个失败节点转移到其它健康节点上来,并且这种服务转移能力是自动的透明的。
  • RHCS通过rgmanager来管理集群服务,rgmanager运行在每个集群节点上,在服务器上对应的进行为ieclurgmgrd。
  • 再一个rhcs集群中,高可用包含集群服务的集群资源俩个方面,集群服务就是应用服务,例如:apache,mysal等,集群资源就是有很多种,例如一个IP地址,一个运行脚本,ext3/GFS文件系统等。
  • 高可用服务管理在rhcs集群中是和一个失败转移域结合在一起的,所谓失败转移域就是一个运行在特定服务的集群节点的集合。在失败转移域中,可以给每个节点设置相应的优先及,通过优先级的高低来决定节点失败时服务转移的先后顺序,如果没有指定节点的优先级,那么集群高可用服务将在任意节点之间转移,因此通过创建失败转移域不但可以设定服务在节点间转移的顺序,而且可以限制某个服务仅在失败转移域的指定的节点内进行切换。

集群配置管理工具

  • rhcs提供了多种集群配置和管理工具,常用的有基于GUI的system-config-cluster,Conga等,也提供了基于命令行的管理工具。
  • system-config-cluster是一个用于创建集群和配置节点的图形化管理工具,它有集群节点配置和集群管理俩个部分组成,分别用于创建集群节点配置文件和维护节点运行状态。一般用于rhcs早期的版本中。
  • Conga是一种新的基于网络的集群配置工具,与图形配置不同的是,Conga是通过web方式来配置和管理集群节点的,Conga有俩部分组成,分别是luci,和ricci,luci安装在一台独立的计算机上,用于配置和管理集群,ricci安装在每个集群节点上,luci通过ricci和集群中的每个节点通信。

redhat GFS

  • GFS是RHCS为集群系统提供的一个存储解决方案,它允许集群多个节点在块级别上共享存储,每个节点通过共享一个存储空间,保证了访问数据的一致性,更确切的说,GFS是RHCS提供的一个集群文件系统,多个节点同时挂载一个文件系统分区,而文件系统数据不受破坏,这是单一的文件系统,例如ext4等做不到的。
  • 为了实现多个节点对一个文件系统同时读写操作,GFS使用锁存管理器来管理I/O操作,当一个写进程操作一个文件时,这个文件就被锁定,此时不允许其它写进程进行操作,直到这个写进行正常完成才释放锁,只有当这个锁被释放后,其它读写进程才能多这个文件进行操作,另外,当一个节点在GFS文件系统上修改数据后,这种修改操作会通过RHCS地层通信机制立即在其它节点上可见。
  • 搭建RHCS集群时,GFS一般作为共享存储,运行在每个节点上,并且可以通过RHCS管理工具对其进行配置和管理,对于RHCS和GFS的关系,运行RHCS,GFS不是必须的,只有在需要共享存储时,才需要GFS支持,而搭建GFS集群文件系统时,必须要有RHCS的底层支持,所以安装GFS文件系统中的节点前必须安装rhcs组件。
发布了146 篇原创文章 · 获赞 18 · 访问量 4617

猜你喜欢

转载自blog.csdn.net/weixin_42221657/article/details/104169833
今日推荐