RHCS集群套件(ricci , luci,fence)

一.RHCS概念讲解

RHCS的概念:

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

RHCS三个核心功能:

  • 高可用集群:节点故障转移功能,自动快速切换到另一个节点。

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

  • 负载均衡集群LVS(Linux Virtual Server),将客户端请求平均分配到各个服务节点。可以定义分配策略,还会自动屏蔽故障节点。接着将失败节点从集群中剔除。

    负载均衡集群:
    RHCS通过LVS来提供负载均衡集群,而LVS是一个开源的、功能强大的基于IP的负载均衡技术,LVS由负载调度器和服务访问节点组成,通过LVS的负载调度功能,可以将客户端请求平均的分配到各个服务节点,同时,还可以定义多种负载分配策略,当一个请求进来时,集群系统根据调度算法来判断应该将请求分配到哪个服务节点,然后,由分配到的节点响应客户端请求,同时,LVS还提供了服务节点故障转移功能,也就是当某个服务节点不能提供服务时,LVS会自动屏蔽这个故障节点,接着将失败节点从集群中剔除,同时将新来此节点的请求平滑的转移到其它正常节点上来;而当此故障节点恢复正常后,LVS又会自动将此节点加入到集群中去。而这一系列切换动作,对用户来说,都是透明的,通过故障转移功能,保证了服务的不间断、稳定运行。

  • LVS还可以提供存储集群功能。GFS(Global File System).

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

RHCS集群的组成:
1.集群构架管理器

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

2高可用服务管理器:

提供节点服务监控和服务故障转移功能,一个节点故障,将服务转移到另一个正常的节点。

3.集群配置管理工具

RHCS最新版本通过LUCI来配置和管理RHCS集群,LUCI是一个基于web的集群配置方式,通过LUCI可以轻松的搭建一个功能强大的集群系统。 节点主机可以使用RICCI来和LUCI管理端进行通信。

4.Linux virtual Server:

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

集群套件的作用:

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

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

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

    脑裂(split-brain):
    指在一个高可用(HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争抢共享资源,结果会导致系统混乱,数据损坏。

二.搭建RHCS环境

实验环境(6.5版本的虚拟机):
主机 ip 服务
hang11 172.25.63.1 ricci,luci,httpd
hang12 172.2563.2 ricci,httpd
物理机 172.25.11.250 fence,测试

创建6.5的快照虚拟机

首先创建母盘:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述选择键盘

在这里插入图片描述初始化
在这里插入图片描述
时区
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述安装完成之后,修改主机名
在这里插入图片描述在这里插入图片描述
添加解析
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述配置yum源
在这里插入图片描述在真机配置网络Yum源
在这里插入图片描述在这里插入图片描述755表示开机自动执行
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述关闭selinux
在这里插入图片描述在这里插入图片描述在这里插入图片描述母盘到此安装完毕
在这里插入图片描述生成快照
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述因为母盘已经配置好了,所以创建的第一个虚拟机就不需要做任何操作,只需要配置server2的网络和主机名即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述首先删除这个文件,避免影响实验
在这里插入图片描述
在这里插入图片描述

	####rhcs套件(红帽的高可用)####
	1.开2台虚拟机,配置yum源,添加高可用,负载均衡,存储,文件系统(后面给HA添加存储等)
	#关闭firewalld和selinux
	#各个主机上添加本地解析
	
	#高可用
	[HighAvailability]
	name=HighAvailability
	baseurl=http://172.25.0.250/rhel6.5/x86_64/dvd/HighAvailability
	gpgcheck=0
	#负载均衡
	[LoadBalancer]
	name=LoadBalancer
	baseurl=http://172.25.0.250/rhel6.5/x86_64/dvd/LoadBalancer
	gpgcheck=0
	
	#弹性存储
	[ResilientStorage]
	name=ResilientStorage
	baseurl=http://172.25.0.250/rhel6.5/x86_64/dvd/ResilientStorage
	gpgcheck=0
	
	#可伸缩文件系统
	[ScalableFileSystem]
	name=ScalableFileSystem
	baseurl=http://172.25.0.250/rhel6.5/x86_64/dvd/ScalableFileSystem
	gpgcheck=0

配置yum源,因为这个实验需要的yum源不包含在package包里
在这里插入图片描述在这里插入图片描述在这里插入图片描述

yum clean all
yum repolist

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

	2.在所有HA节点上安装ricci,这里用server1同时做管理节点和HA节点
	#ricci是图形里的集群管理,luci是图形界面
	#luci是web界面的管理工具
	1)server1:
	yum install -y ricci luci

在这里插入图片描述

	2)server2:
	yum install -y ricci

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

	3)安装完后会产生ricci用户,给ricci用户设置密码:redhat
	passwd ricci

在这里插入图片描述

	4)两节点开启ricci,luci并设置开机启动
	/etc/init.d/ricci start
	/etc/init.d/luci start
	chkconfig ricci on
	chkconfig luci on

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

	5)登陆
	https://172.25.0.1:8084
	root
	redhat
	
	添加server1,server2到集群  ##注意解析问题

在这里插入图片描述在这里插入图片描述使用超级用户进行登陆(登陆帐号和密码是server1中的系统用户和密码,普通用户需要经过超级用户的审核才能登陆,所以一般使用超级用户登陆)
在这里插入图片描述进来之后的页面
在这里插入图片描述

创建高可用集群(之前用的是keepalived,这次用的是ricci):

点击集群管理(Manage Clusters),->点击Create,创建集群,->填写以下内容,填写完后点击CreateCluster,会出现一个等待页,等待即可。
在这里插入图片描述在这里插入图片描述如果出现这种情况就是没有做解析(在server1,server2上都要做)
在这里插入图片描述在这里插入图片描述
节点添加成功
在这里插入图片描述
主机断开ssh连接,需要重新连接
在这里插入图片描述
在这里插入图片描述

	6)查看是否添加成功
	cat /etc/cluster/cluster.conf
	<?xml version="1.0"?>
	<cluster config_version="1" name="westos_ha">
		<clusternodes>
			<clusternode name="server2" nodeid="1"/>
			<clusternode name="server5" nodeid="2"/>
		</clusternodes>
		<cman expected_votes="1" two_node="1"/>
		<fencedevices/>
		<rm/>
	</cluster>
	
	#查看集群状态
	[root@server2 ~]# clustat 
	Cluster Status for westos_ha @ Sat Nov 17 11:00:01 2018
	Member Status: Quorate
	
	 Member Name                             ID   Status
	 ------ ----                             ---- ------
	 server2                                     1 Online, Local
	 server5                                     2 Online

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

#########################################################
	cman分布式集群管理器
	rgmanager资源代理,负责资源接管
	modclusterd集群状态监控
	clvmd集群化逻辑卷,共享存储
	##########################################################





	7)添加fence
	Fence Device --> Add --> Fence virt(Multicast Mode) --> vmfence
	
	8)安装fence软件包(在物理机上!!!!!!!!)
	yum search fence
	
	fence-virtd.x86_64
	fence-virtd-libvirt.x86_64
	fence-virtd-multicast.x86_64

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

	9)配置fence
	fence_virtd -c  # vim /etc/fence_virt.conf 可查看配置文件
	
	Interface [virbr0]: br0		##设备选择br0,其他用默认

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

	#生成fence_xvm.key
	dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1

在这里插入图片描述

	10)把fence_xvm.key分发到HA节点,通过这个key来管理节点
	scp fence_xvm.key root@server1:/etc/cluster/
	scp fence_xvm.key root@server2:/etc/cluster/

在这里插入图片描述ls查看
在这里插入图片描述在这里插入图片描述

	11)web界面为节点配置fence
	Node --> server1 --> Add Fence Method --> vmfence-1 --> Add Fence Instance -->vmfence(xvm Virtual Machine Fencing) --> Domain(填写server1的UUID)
	
	server2同上

在这里插入图片描述在这里插入图片描述最终图
在这里插入图片描述此时两台虚拟机里面的配置文件都没有fence信息。这是因为没有两台虚拟机添加fence。

以server1为例子,如图所示,没有fence信息:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述查看server1的uuid,不会偏移
在这里插入图片描述在这里插入图片描述server1的结果如图所示
在这里插入图片描述server2同样
在这里插入图片描述在这里插入图片描述查看配置文件有fence
在这里插入图片描述

	12)启动fence并测试  #注意服务的启动和真机的防火墙
	systemctl start fence_virtd.service

在这里插入图片描述

	[root@server1 cluster]# fence_node serve2	##server2被重启(强制断电),证明成功
	fence server2 success
	
	##netstat -antulp | grep 1229	##udp 1229端口

	server2也可以使server1重启
			[root@server2 cluster]# fence_node serve1	##server1被重启(强制断电),证明成功
	fence server1 success

在这里插入图片描述

高可用服务配置(httpd为例)----负载均衡

首先浏览器添加故障转移域
将server1和server2添加到域中,当其中一台主机出现故障时,会自动切换到正常的节点上,当集群打开后,服务会落在优先级高的节点上。

数字越小优先级越高
		13)添加失败回切和优先级
		Failover --> Add --> webfail --> Prioritized(对服务故障转移到的节点进行排序) --> Restricted(服务只能在指定的节点上运行) --> No Failback(当服务再次可用时,不要将其发送回优先级为1的节点)(此选项选中,failover的主机在再次正常时会按优先级大小回切,否则不会)
		#server1优先级为1,server2优先级为10,数字越小,优先级越高

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

	14)添加vip资源
	#Resources --> Add --> IP Address
	172.25.0.100
	24
	Monitor Link(选中) 监控链接
	Number of ...  5 删除IP地址后休眠的秒数
	
	#再添加服务
	#Resources --> Add --> Script
	Name : httpd
	Full Path to Script File : /etc/init.d/httpd
	
	两个节点都安装并启动httpd,写默认发布页面

在这里插入图片描述在这里插入图片描述在这里插入图片描述添加完成
在这里插入图片描述

	15)添加服务组到集群
	Service Groups --> Add
	
	Service Name : apache
	Automatically Start This Service : 选中    自动启动此服务
	Run Exclusive : 运行独占(先选中)
	Failover Domain : webfail   
	Recovery Policy  恢复策略 回复政策 修复原则 
	relocate
	n. 浮动vt. 重新安置;迁移vi. 重新安置;迁移新址
	
	#然后添加资源
	Add Resource --> 172.25.0.100/24 --> Script 	##添加IP和启动脚本

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在server1和server2安装httpd服务,编写测试页(不用启动服务)
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

	3.测试访问
	172.25.0.100	#默认访问到server1

在这里插入图片描述clustat查看节点的状态
在这里插入图片描述

查看ip.会发现自动添加上vip
在这里插入图片描述

	4.使server2脑裂,测试fence
	echo c > /proc/sysrq-trigger
	
	fence成功,脑裂之后server2自动重启,启动之后httpd又恢复到server2提供服务,因为没有选择 No Failback

手动宕掉server1服务器,再次访问vip时是server2中的内容
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值