博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RHCS集群套件(ricci,luci,fence)及高可用性集群
阅读量:2344 次
发布时间:2019-05-10

本文共 5078 字,大约阅读时间需要 16 分钟。

一.RHCS概念讲解

RHCS的概念:

4.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.集群构架管理器
  • 2高可用服务管理器:一个节点故障,将服务转移到另一个正常的节点。
  • 3.集群配置管理工具
  • 4.Linux virtual Server:根据负载策略和算法合理的分配到各个服务节点,实现动态,智能的负载分担。

集群套件的作用:

  • 集群中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.11.11 ricci,luci,httpd
hang12 172.25.11.12 ricci,httpd
物理机 172.25.11.250 fence,测试

创建6.5的快照虚拟机

在这里插入图片描述

以下的导入虚拟机,只演示hang11

在这里插入图片描述

在这里插入图片描述

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

修改主机名和ip,只演示hang11

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

利用ssh连接:
在这里插入图片描述

配置yun源,因为这个实验需要的yum源不包含在package包里

[root@hang1 ~]# cat /etc/yum.repos.d/rhel-source.repo [rhel-source]name=Red Hat Enterprise Linux $releasever - $basearch - Sourcebaseurl=http://172.25.11.250/redhatenabled=1gpgcheck=0#高可用[HighAvailability]name=HighAvailabilitybaseurl=http://172.25.11.250/redhat/HighAvailabilityenabled=1gpgcheck=0#负载均衡[LoadBalancer]name=LoadBalancerbaseurl=http://172.25.11.250/redhat/LoadBalancerenabled=1gpgcheck=0#弹性存储[ResilientStorage]name=ResilientStoragebaseurl=http://172.25.11.250/redhat/ResilientStorageenabled=1gpgcheck=0#可伸缩文件系统[ScalableFileSystem]name=ScalableFileSystembaseurl=http://172.25.11.250/redhat/ScalableFileSystemenabled=1gpgcheck=0

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将这个yum源文件发送给hang12(省的我们在配置一遍)

在这里插入图片描述

在这里插入图片描述

搭建RHCS环境

第一步:

hang11中下载rhcs图形网页管理工具,更改密码为redhat后开启其服务

yum install -y ricci luciid riccipasswd ricci/etc/init.d/ricci start/etc/init.d/luci startnetstat -tnlpchkconfig ricci onchkconfig luci on

注意:

  • 1.ricci:图形里的集群管理

  • 2.luci:图形界面

在这里插入图片描述

在这里插入图片描述

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

第二步:

hang12里面做以下操作

yum install -y ricciid riccipasswd ricci/etc/init.d/ricci startchkconfig ricci on

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第三步:

在浏览器里打开:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

进来之后就是这个页面

在这里插入图片描述

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

第四步:

点击集群管理(Manage Clusters),->点击Create,创建集群,->填写以下内容,填写完后点击CreateCluster,会出现一个等待页,等待即可。

在这里插入图片描述

在这里插入图片描述

注意:

1.Download Packages表示下载所用的包,因为之前在主机中已经下载了关于集群的包2.Reboot Nodes Before Joining Cluster表示当加入集群后重启节点,在安装包下载完后自动重启3.Enable Shared Storage Support表示是否激活集群存储,支持设备共享4.在点击创建节点之后会出现等待页,此页表示正在创建节点到集群中,正在下载包,且server1和server2会重启,然后重新连接server1和server2,此过程可能会比较慢5.在创建节点之前,在主机中一定要将集群相关的服务设置为自启动,否则将无法正常启动(没有自启动需要重新开启服务)

出现错误(因为没做解析)

在这里插入图片描述

在hang11和hang12上面将解析做好(最好还有真机)

在这里插入图片描述

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

接下来如下所示,过程需要等待

在这里插入图片描述

节点添加成功后的连接之后的界面如下:

在这里插入图片描述

ssh远程连接被断开:

在这里插入图片描述

在这里插入图片描述

利用clustat命令(两台主机随意)可以查看到节点的工作状态(也可以查看文件/etc/cluster/cluster.conf)

在这里插入图片描述

在这里插入图片描述

配置fence

“Fence技术”核心在于解决高可用集群在出现极端问题情况下的运行保障问题,在高可用集群的运行过程中,有时候会检测到某个节点功能不正常,比如在两台高可用服务器间的心跳线突然出现故障,这时一般高可用集群技术将由于链接故障而导致系统错判服务器宕机从而导致资源的抢夺,为解决这一问题就必须通过集群主动判断及检测发现问题并将其从集群中删除以保证集群的稳定运行,Fence技术的应用可以有效的实现这一功能。

第五步:

在物理主机中安装fence

yum search fenceyum install -y fence-virtd.x86_64   fence-virtd-libvirt.x86_64   fence-virtd-multicast.x86_64

在这里插入图片描述

查看我们的物理网卡

在这里插入图片描述

做fence的一些设置:

fence_virtd -c           #把接口改成br0

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
注意:

  • 此处需要修改:Interface [virbr0]: br0,此处应该修改为物理主机中的只是网卡名称
  • 除了以上部分,其他全部按回车即可

第六步:

mkdir /etc/cluster   没有这个目录要建立cd /etc/clusterlsdd if=/dev/urandom  of=/etc/cluster/fence_xvm.key  bs=333  count=1ls将文件传给hang11和12scp fence_xvm.key  root@172.25.11.11:/etc/cluster/scp fence_xvm.key  root@172.25.11.12:/etc/cluster/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在hang11和hang12查看

在这里插入图片描述

在这里插入图片描述

第七步:

在浏览器添加fence设备

在这里插入图片描述

在这里插入图片描述

最终图:

在这里插入图片描述

第八步:

此时两台虚拟机里面的配置文件都没有fence信息。这是因为没有两台虚拟机添加fence。

以hang11为例子,如图所示,没有fence信息:

在这里插入图片描述

以hang12为例子,hang1的操作与此相同。

在浏览器添加信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
查看hang12的uid,不会偏移

在这里插入图片描述

在这里插入图片描述

结果如图所示:

在这里插入图片描述

hang11的结果如图所示:

在这里插入图片描述

查看配置文件,有fence信息

在这里插入图片描述

第九步:

在真机开启fence服务

systemctl start fence_virtd.service systemctl status fence_virtd.service

在这里插入图片描述

第十步:

用hang11去测试

在hang11里面输入fence_node hang12,发现hang2自己重新启动(强制断电),证明成功

在这里插入图片描述

在这里插入图片描述

同样,hang12也可以使hang11重启

在这里插入图片描述

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

第十一步:

首先浏览器添加故障转移域

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

数字越小优先级越高

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

第十三步:

网页启动apache,显示httpd服务在hang12运行,因为其优先级高

在这里插入图片描述

使用clustat查看节点的状态

在这里插入图片描述
hang12查看ip,会发现可以看到自动添加上的VIP
在这里插入图片描述

在物理机上访问两台节点,会发现hang11无法访问(因为其httpd服务是关闭的,如果想要访问hang11中的内容,开启hang11的httpd服务即可)

在这里插入图片描述

在hang12中手动宕掉服务器,再次访问VIP时,会发现访问的内容是hang11中的内容

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

再次访问VIP时,会发现访问的内容是hang11中的内容

在这里插入图片描述

转载地址:http://tojvb.baihongyu.com/

你可能感兴趣的文章
4.内存非连续分配管理方式
查看>>
5.虚拟内存的概念、特征以及虚拟内存的实现
查看>>
mmap()函数:建立内存映射
查看>>
munmap()函数:解除内存映射
查看>>
三层交换机是否会代替路由器?
查看>>
5--TCP的状态
查看>>
6--企业常用防火墙iptables相关原理详解
查看>>
7--企业常用防火墙iptables核心配置讲解
查看>>
1.block_inode
查看>>
2.Linux文件和目录之间对应关系
查看>>
4.硬链接和软链接
查看>>
可能返回 null 的 SQL 语句
查看>>
以下关于STL的描述中,错误的有
查看>>
假设某棵二叉查找树的所有键均为1到10的整数,现在我们要查找5。下面____不可能是键的检查序列。
查看>>
给定一个整数sum,从有N个无序元素的数组中寻找元素a、b、c、d,使得 a+b+c+d =sum,最快的平均时间复杂度是____。
查看>>
设二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序____。
查看>>
将整数序列(7-2-4-6-3-1-5)按所示顺序构建一棵二叉排序树a(亦称二叉搜索树),之后将整数8按照二叉排序树规则插入树a中,请问插入之后的树a中序遍历结果是____。
查看>>
IP地址、子网掩码、网络号、主机号、网络地址、主机地址
查看>>
已知int a[]={1,2,3,4,5};int*p[]={a,a+1,a+2,a+3};int **q=p;表达式*(p[0]+1)+**(q+2)的值是____。
查看>>
CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用()
查看>>