RHCS集群套件实现高可用集群

1. RHCS集群的基础介绍

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

(2)RHCS提供的三个核心功能

高可用集群是RHCS的核心功能。当应用程序出现故障,或者系统硬件、网络出现故障时,应用可以通过RHCS提供的高可用**管理组件自动、快速从一个节点切换到另一个节点,节点故障转移功能对客户端来说是透明的,从而保证应用持续、不间断的对外提供服务,这就是RHCS高可用集群实现的功能。
RHCS通过LVS(Linux Virtual Server)来提供负载均衡集群,而LVS是一个开源的、功能强大的基于IP的负载均衡技术,LVS由负载调度器和服务访问节点组成,通过LVS的负载调度功能,可以将客户端请求平均的分配到各个服务节点,同时,还可以定义多种负载分配策略,当一个请求进来时,集群系统根据调度算法来判断应该将请求分配到哪个服务节点,然后,由分配到的节点响应客户端请求,同时,LVS还提供了服务节点故障转移功能,也就是当某个服务节点不能提供服务时,LVS会自动屏蔽这个故障节点,接着将失败节点从集群中剔除,同时将新来此节点的请求平滑的转移到其它正常节点上来;而当此故障节点恢复正常后,LVS又会自动将此节点加入到集群中去。而这一系列切换动作,对用户来说,都是透明的,通过故障转移功能,保证了服务的不间断、稳定运行。
RHCS通过GFS文件系统来提供存储集群功能,GFS是Global File System的缩写,它允许多个服务同时去读写一个单一的共享文件系统,存储集群通过将共享数据放到一个共享文件系统中从而消除了在应用程序间同步数据的麻烦,GFS是一个分布式文件系统,它通过锁管理机制,来协调和管理多个服务节点对同一个文件系统的读写操作。

(3)RHCS的基本套件

在这里插入图片描述
RHCS是一个集群工具的集合,主要有下面几大部分组成:
集群构架管理器
这是RHCS集群的一个基础套件,提供一个集群的基本功能,使各个节点组成集群在一起工作,具体包含分布式集群管理器(CMAN)、成员关系管理、锁管理(DLM)、配置文件管理(CCS)、栅设备(FENCE)。
高可用服务管理器
提供节点服务监控和服务故障转移功能,当一个节点服务出现故障时,将服务转移到另一个健康节点。
集群配置管理工具
RHCS最新版本通过LUCI来配置和管理RHCS集群,LUCI是一个基于web的集群配置方式,通过luci可以轻松的搭建一个功能强大的集群系统。
Linux Virtual Server
LVS是一个开源的负载均衡软件,利用LVS可以将客户端的请求根据指定的负载策略和算法合理的分配到各个服务节点,实现动态、智能的负载分担。
RHCS除了上面的几个核心构成,还可以通过下面一些组件来补充RHCS集群功能。
Red Hat GFS (Global File System)
GFS是Redhat公司开发的一款集群文件系统,目前的最新版本是GFS2,GFS文件系统允许多个服务同时读写一个磁盘分区,通过GFS可以实现数据的集中管理,免去了数据同步和拷贝的麻烦,但GFS并不能孤立的存在,安装GFS需要RHCS的底层组件支持。
Cluster Logical Volume Manager
Cluster逻辑卷管理,即CLVM,是LVM的扩展,这种扩展允许cluster中的机器使用LVM来管理共享存储。
iSCSI
iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,RHCS可以通过ISCSI技术来导出和分配共享存储的使用。
Global Network Block Device
全局网络模块,简称GNBD,是GFS的一个补充组件,用于RHCS分配和管理共享存储,GNBD分为客户端和服务端,在服务端GNBD允许导出多个块设备或者GNBD文件,而GNBD客户端通过导入这些导出的块设备或者文件,就可以把它们当作本地块设备使用。由于现在GNBD已经停止了开发,所以使用GNBD的越来越少。

2.RHCS集群的基本搭建

(1)所需环境:
 利用企业6.5镜像安装虚拟机,并封装为母盘,利用母盘生成二个虚拟机,详细信息如下:

主机名 		ip 				用途
server1 	172.25.33.1 	即是管理节点、也是集群节点(减少虚拟机的开启)
server2 	172.25.33.2 	集群节点

(1)server1所需操作:

[root@server1 ~]# cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# ls
rhel-source.repo
[root@server1 yum.repos.d]# vim rhel-source.repo 
[root@server1 yum.repos.d]# scp rhel-source.repo server2:/etc/yum.repos.d
[root@server1 yum.repos.d]#yum install ricci luci -y		
[root@server1 yum.repos.d]#id ricci ##可以看到系统生成了一个ricci的用户 
[root@server1 yum.repos.d]#passwd ricci ##给这个用户一个密码,在图形网页界面登陆时会用到,建议server1和server2使用相同密码
[root@server1 yum.repos.d]# /etc/init.d/ricci start ##开启服务 
[root@server1 yum.repos.d]#chkconfig ricci on ##设置服务开机自启动(因为在网页管理时会给你重启节点,不设置自启动会导致服务起不来)
 [root@server1 ~]# /etc/init.d/luci start ##开启管理服务并设置自启动 
 [root@server1 ~]# chkconfig luci on 
 [root@server1 ~]#chkconfig --list ##查看以脚本方式运行的软件的状态,不全为off即视为可以自启动

在这里插入图片描述在这里插入图片描述在这里插入图片描述(2)server2所需操作:

[root@server2 ~]# yum install -y ricci
[root@server2 ~]#passwd ricci

在这里插入图片描述(3)开启图像化界面管理:
浏览器输入https://172.25.33.1:8084进入高可用图形管理界面,添加证书后,以root用户登陆
在这里插入图片描述点击create创建集群westos_ha
在这里插入图片描述在这里插入图片描述clustat查看集群状态
在这里插入图片描述RHCS集群的初步搭建成功!

3.RHCS集群Fence组件的添加

(1)Fence组件的介绍:

fence管理节点,当一个节点出现故障以后,可以强制让它重启Fence技术”核心在于解决高可用集群在出现极端问题情况下的运行保障问题,在高可用集群的运行过程中,有时候会检测到某个节点功能不正常,比如在两台高可用服务器间的心跳线突然出现故障,这时一般高可用集群技术将由于链接故障而导致系统错判服务器宕机从而导致资源的抢夺,为解决这一问题就必须通过集群主动判断及检测发现问题并将其从集群中删除以保证集群的稳定运行,Fence技术的应用可以有效的实现这一功能
Fence设备可以防止集群资源(例如文件系统)同时被多个节点占有,保护了共享数据的安全性和一致性节
在RHCS中,集群里的服务器会互相争抢资源造成客户体验端的不稳定,也就是脑裂问题。利用Fence可以解决脑裂问题,相当于集群里的服务器可以关闭对方的电闸,防止集群之间互相争抢资源

(2)Fence组件的添加实现:需要在其他一台主机让做fence管理器,本次实验利用真机做fence管理器

<1> 步骤一:
打开浏览器,添加fence Devices,类型为fence virt(multicast mode),name为vmfence
在这里插入图片描述在这里插入图片描述<2> 步骤二:fence管理器所作操作

yum install -y fence-virtd.x86_64 fence-virtd-multicast.x86_64 fence-virtd-libvirt.x86_64
fence_virtd -c    #编辑fence信息,设置端口必须为br0,其他的直接空格
mkdir /etc/cluster
cd /etc/cluster/
dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1
scp fence_xvm.key [email protected]:/etc/cluster/
scp fence_xvm.key [email protected]:/etc/cluster/
systemctl start fence_virtd.service 

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述<3> 步骤三:
 在server上开启ricci和luci,server2上开启ricci,打开图形界面, 在集群westos_ha中,点击server1选择添加add fence method to node, mathod name:vmfence-1,然后点击添加fence instance:domain为该节点的uuid
 server2同样操作
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述<4> 测试:

#在server1和server2上
 vim cluster.conf    应该添加了fence的内容

#在server1上
 fence_node server2   则server2应该重启

在这里插入图片描述在这里插入图片描述在这里插入图片描述

4.RHCS集群实现故障切换(以httpd服务为例),资源及资源组的添加

(1)定义故障转移域:
在这里插入图片描述在这里插入图片描述(2)添加资源:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述(3)添加资源组:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述(4)server1服务器的设置,安装httpd但不开启,当在图形界面资源组提交以后,会自动开启服务,因为server1优先级高,所以会httpd会运行在server1上,并且获得vip
在这里插入图片描述在这里插入图片描述在这里插入图片描述(5)server2服务器的设置,安装httpd。当server1上httpd服务停掉,服务会转移到server2上,并且vip同样转移到server2上
在这里插入图片描述在这里插入图片描述当应用程序出现故障,或者系统硬件、网络出现故障时,应用
可以通过RHCS提供的高可用性服务管理组件自动、快速从一个节点切换到另一个节点,节点故障转移功能对客户端来说是透明的,从而保证应用持续、不间断的对外提供服务,这就是RHCS高可用集
群实现的功能。

发布了168 篇原创文章 · 获赞 1 · 访问量 2972

猜你喜欢

转载自blog.csdn.net/yrx420909/article/details/104444260
今日推荐