RHCS高可用集群配置(luci+ricci+fence)
一、什么是RHCS
   RHCS是Red Hat Cluster Suite的缩写,也就是红帽集群套件,RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合,它将集群系统中三大集群架构融合一体,可以给web应用、数据库应用等提供安全、稳定的运行环境。  更确切的说,RHCS是一个功能完备的集群应用解决方案,它从应用的前端访问到后端的数据存储都提供了一个行之有效的集群架构实现,通过RHCS提供的这种解决方案,不但能保证前端应用持久、稳定的提供服务,同时也保证了后端数据存储的安全。   RHCS提供了集群系统中三种集群构架,分别是高可用性集群、负载均衡集群、存储集群。
二、RHCS提供的三个核心功能
   高可用集群是RHCS的核心功能。当应用程序出现故障,或者系统硬件、网络出现故障时,应用可以通过RHCS提供的高可用性服务管理组件自动、快速从一个节点切换到另一个节点,节点故障转移功能对客户端来说是透明的,从而保证应用持续、不间断的对外提供服务,这就是RHCS高可用集群实现的功能。  RHCS通过LVS(Linux Virtual Server)来提供负载均衡集群,而LVS是一个开源的、功能强大的基于IP的负载均衡技术,LVS由负载调度器和服务访问节点组成,通过LVS的负载调度功能,可以将客户端请求平均的分配到各个服务节点,同时,还可以定义多种负载分配策略,当一个请求进来时,集群系统根据调度算法来判断应该将请求分配到哪个服务节点,然后,由分配到的节点响应客户端请求,同时,LVS还提供了服务节点故障转移功能,也就是当某个服务节点不能提供服务时,LVS会自动屏蔽这个故障节点,接着将失败节点从集群中剔除,同时将新来此节点的请求平滑的转移到其它正常节点上来;而当此故障节点恢复正常后,LVS又会自动将此节点加入到集群中去。而这一系列切换动作,对用户来说,都是透明的,通过故障转移功能,保证了服务的不间断、稳定运行。      RHCS通过GFS文件系统来提供存储集群功能,GFS是Global File System的缩写,它允许多个服务同时去读写一个单一的共享文件系统,存储集群通过将共享数据放到一个共享文件系统中从而消除了在应用程序间同步数据的麻烦,GFS是一个分布式文件系统,它通过锁管理机制,来协调和管理多个服务节点对同一个文件系统的读写操作。
三、RHCS集群的组成
   RHCS是一个集群工具的集合,主要有下面几大部分组成: 
   集群构架管理器:这是RHCS集群的一个基础套件,提供一个集群的基本功能,使各个节点组成集群在一起工作,具体包含分布式集群管理器(CMAN)、成员关系管理、锁管理(DLM)、配置文件管理(CCS)、栅设备(FENCE)。
   高可用服务管理器:提供节点服务监控和服务故障转移功能,当一个节点服务出现故障时,将服务转移到另一个健康节点。 
四、RHCS集群的配置
实验环境主机配置及功能:
   server4 ip:172.25.2.1   安装ricci(集群节点) 
   server1 ip 172.25.2.4   安装ricci(集群节点) 和 luci(集群管理界面)
fence主机:双ip(一个外网,一个172.25.2.2),apache服务用来挂载镜像,安装fence
   1)在server1中安装ricci和luci软件包。并设置启动(首先。你需要有相应的yum源的仓库。在之前的博客中已经说明过了,在此就不多说了)
---> yum install ricci luci -y
---> /etc/init.d/ricci start # 启动ricci服务
---> chkconfig ricci on # 设置该服务为开机自启动
---> chkconfig --list ricci # 查看是该服务的状态
---> echo xniu |passwd --stdin ricci # 给ricci用户添加密码
   --->  /etc/init.d/luci   start             # 对luci进行类似的操作
---> chkconfig luci on
   --->  echo  xniu| passwd --stdin luci      
   注意:在启动ricci服务的过程中,若/etc/sysconfig/network文件中没有参数NETWORKING=yes时,会出现服务启动不了的问题。 
   2)在server4中ricci软件的安装和服务的启动等设置 
   --->  yum  install  ricci -y  
---> /etc/init.d/ricci start
   --->  chkconfig  ricci  on
---> passwd xniu|grep --stdin ricci
---> server ricci status # 查看ricci的状态是否启动
3)在物理机中进行域名解析:
   --->  vim  /etc/hosts                       # 修改配置文件。添加域名解析
172.25.2.1 server1
172.25.2.4 server4
   4)在物理机的浏览器中进行如下添加 
   --->  https://server1:8084                  # 在浏览器中输入,会出现群管理的登陆界面 (此时添如root和之前luci用户的密码)
   
具体配置如下:
五、配置实现nginx的高可用(nginx的安装在之后的博客中有,在此就不多写了)
1)集群的创建:点击集群管理(Manager Clusters),然后点击create出现以下页面,创建自己的集群名称
2) 建立错误恢复域,当一个节点有问题,可以切换到另一节点上(设置server1优先级高)
3)添加要用的资源vip和nginx(ip中参数有子网掩码、vip、切换主机时间5s)
4)在集群中添加服务组,要按顺序来添加资源,首先时ip--》存储空间---》服务。
# 完成之后启动资源组,我们可以查看到当前运行的状态(运行在server1上,由于优先级问题,先启动server1)
5)在server1和server4中进行nginx服务测试。在浏览器中输入172.25.2.100会出现如下界面:(nginx的负载均衡)
# 也可以使用命令clustat查看服务在节点的运行情况
# 当server1中关闭nginx服务,自动会到server4节点上。从而实现服务的高可用(有出错检查时间,所以切换慢一点)
---> /etc/init.d/nginx stop
6)clusvcdm集群管理的基本操作
六、FENCE设备与nginx结合的高可用
fence:当发生意外导致主机异常或不是简单的停机服务时,备用机会首先调用fence设备,然后通过fence设备将异常的主机重新启动或从网络上隔离,释放异常主机占据的资源,当隔离成功,返回资源信息给备用机,备用机在接收到信息后,开始接管主机的服务和资源,
   fence原理:通过栅设备可以从集群共享存储中断开一个节点,切断I/O以确保数据的完整性。当CMAN确定一个节点失败后,它在集群结构中通告这个失败的节点,fence进程将失败的节点隔离,以保证节点不破坏共享数据。它可以避免因出现不可预知的情况而造成的“脑裂”(split-brain)现象。脑裂是指当两个节点之间的心跳线中断时,两台主机均认为自己时主节点,于是对集群资源进行争用、抢夺。 
   RHCE的fence设备有两种:内部fence和外部fence。当节点A上的栅过程发现C节点失效时,它通过栅代理通知光纤通道交换将c节点隔离,从而释放占用的共享通道。当A上的栅过程发现c节点失效时,通过栅代理直接对服务器做power on/off操作,而不去执行操作系统的开关机。
1)在真机中安装fence服务,并设置开机自启动
   --->  yum install fence-virtd-libvirt.x86_64   fence-virtd-multicast.x86_64  fence-virtd.x86_64   -y
---> systemctl start fence-virtd
---> systemctl enabled fence-virtd
2)配置fence的配置文件
---> fence_virtd -c # 在nginx的高可用中说过了,在这就不多写了
3)在真机中,生成密钥
---> mkidr /etc/cluster
---> dd if=/dev/urandom of/fence_xvm bs=128 count=1 # 截取密码文件
4)将生成的fence_xvm发送给server1和server4
---> scp /etc/cluster/fence_xvm server1:/etc/cluster
---> scp /etc/cluster/fence_xvm server4:/etc/cluster
5)在luci管理界面添加fence
# 首先在fence Dvice中添加vmfence1和vmfence2
# 添加完成后情况如下所示
#在节点server1和server4中把对应的vmfence添加进去(此处的uuid为vm1的唯一的id),此处为server1为例子
# 添加完成可以看到vmfence的信息
6)完成后启动nginx资源组,并进行测试。
---> echo c> /proc/sysrq-trigger # 使server4主机崩了之后,服务会自动切换到server1上。(此时server4状态为offline)
# 过一会,server4主机自启动之后,结果为:(servr4为online)
   
RHCS高可用集群配置(luci+ricci+fence)的更多相关文章
- MongoDB高可用集群配置的方案
		
>>高可用集群的解决方案 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性. ...
 - SpringCloud-day04-Eureka高可用集群配置
		
5.4Eureka高可用集群配置 在高并发的情况下一个注册中心难以满足,因此一般需要集群配置多台. 我们再新建两个module microservice-eureka-server-2002, m ...
 - Eureka注册中心高可用集群配置
		
Eureka高可用集群配置 当注册中心扛不住高并发的时候,这时候 要用集群来扛: 我们再新建两个module microservice-eureka-server-2002 microservic ...
 - MongoDB高可用集群配置方案
		
原文链接:https://www.jianshu.com/p/e7e70ca7c7e5 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非 ...
 - Hadoop入门学习笔记-第三天(Yarn高可用集群配置及计算案例)
		
什么是mapreduce 首先让我们来重温一下 hadoop 的四大组件:HDFS:分布式存储系统MapReduce:分布式计算系统YARN: hadoop 的资源调度系统Common: 以上三大组件 ...
 - MongoDB分片技术原理和高可用集群配置方案
		
一.Sharding分片技术 1.分片概述 当数据量比较大的时候,我们需要把数分片运行在不同的机器中,以降低CPU.内存和Io的压力,Sharding就是数据库分片技术. MongoDB分片技术类似M ...
 - harbor高可用集群配置
		
目录 说明 双主复制 主从同步 双主复制说明 多harbor实例共享后端存储 方案说明 环境说明 配置说明 安装redis和mysql 导入registry数据库 配置harbor 挂载nfs目录 修 ...
 - Hadoop(25)-高可用集群配置,HDFS-HA和YARN-HA
		
一. HA概述 1. 所谓HA(High Available),即高可用(7*24小时不中断服务). 2. 实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件的HA机制:HDFS的HA ...
 - Hadoop入门学习笔记-第二天 (HDFS:NodeName高可用集群配置)
		
说明:hdfs:nn单点故障,压力过大,内存受限,扩展受阻.hdfs ha :主备切换方式解决单点故障hdfs Federation联邦:解决鸭梨过大.支持水平扩展,每个nn分管一部分目录,所有nn共 ...
 
随机推荐
- HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成数据的增删改查
			
转:http://www.th7.cn/db/nosql/201510/135382.shtml 1. HDFS的文件append功能 早期版本的HDFS不支持任何的文件更新操作,一旦一个文件创建.写 ...
 - H5 播放视频常见bug及解决方案
			
本文摘自:本文来自“小时光茶社(Tech Teahouse)”公众号 原文:https://mp.weixin.qq.com/s/MM5ZwCiWLAeHalsNYMImnw 1. 自动播放问题 通过 ...
 - 手动加载B120i/B320i阵列卡驱动安装RHEL7.0
			
实验设备: Micro server Gen8(B120i) DL360e Gen8(B320i) 目录 一.前期准备... 1 二.加载阵列卡驱动... 11 三.手动分区... 21 四.安装设置 ...
 - 20145329 《Java程序设计》实验二总结
			
实验指导教师:娄嘉鹏老师 实验日期:2016.4.12 实验时间:15:30~17:30 实验序号:实验二 实验名称:Java面向对象程序设计 实验目的与要求: 1.初步掌握单元测试和TDD 2.理解 ...
 - sublime text3 授权码
			
适用于 Sublime Text 3 Build3126 64位 官方版 -– BEGIN LICENSE -– Michael Barnes Single User License EA7E-821 ...
 - 分布式系列 - dubbo服务发布
			
单元测试OK,封装为Dubbo服务. 添加依赖 pom.xml <properties> <dubbo.version>2.5.3</dubbo.ve ...
 - codeforce 35C fire again
			
2017-08-25 17:04:07 writer:pprp 题目描述: • Codeforces 35C Fire Again• N*M的格子,最开始有K个点 (坐标给定) 开始着火• 每一秒着火 ...
 - caohaha's stuff
			
2017-08-20 11:12:29 writer:pprpCCPC预选赛水平太菜了,去不了了 这个是一个找规律的题目,题意一开始也很难理解 题意描述: 给你一个数,比如说1,在一个坐标系中你需要用 ...
 - 解决 libnanomsg.so.0: cannot open shared object file: No such file or directory 无法找到libnanomsg动态链接库
			
参考: [11]缺少动态连接库.so--cannot open shared object file: No such file or directory Importing Issues: cann ...
 - Maven打可执行包的pom.xml配置
			
单独打出可执行包,然后将依赖包打入lib文件价中 <build> <plugins> <plugin> <groupId>org.apache.mave ...