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

1.什么是高可用集群

高可用集群是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。高可用集群的应用系统有多样化发展趋势,用途也越来越多样化,同时带来了配置及可操作性方面的复杂性,因此选择好的高可用软件至关重要。

2.RHCS套件

红帽集群套件(Red Hat Cluster Suite),一个提供高可用性、高可靠性、负载均衡、存储共享经济的集群方案。其中这两种产品(高可用性附加组件和负载均衡附加组件)都基于开源社区项目,红帽集群开发人员为社区提供上游代码。 计算集群不是集群套件的一部分,而是由Red Hat MRG提供。

RHCS是一个功能完备的集群应用解决方案,它从应用的前端访问到后端的数据存储都提供了一个行之有效的集群架构实现,通过RHCS提供的这种解决方案,不但能保证前端应用持久、稳定的提供服务,同时也保证了后端数据存储的安全。 [1]  常应用于web应用、数据库应用等,提供安全可靠的运行环境。

3.基于RHCS套件实现高可用集群实验

1.本实验需要用到redhat6系统,所以需要封装企业6的虚拟机。

与企业7不同的是,企业6的启动方式是 /etc/init.d/...

而且封装虚拟机时要删掉 /etc/udev/rules/70-persistent-net.rules

另外,设定开机自启或不自启的方式是 chkconfig XXX on/off

配置好网络,关闭防火墙,配置好yum源:

2.用封装好的虚拟机作快照,用来完成本实验:

完成之后,我现在一共有四台机器:

客户端:(172.25.60.250)

服务端server1 :(172.25.60.1)

服务端server2 :(172.25.60.2)

内存:(172.25.60.3)

3.首先,在server1安装 ricci 和 luci 软件:

配置好yum源:

发送给server2,待会要用

安装:

设定密码,开机自启:

4.在server2上安装 ricci 设定密码,开机自启动。

5.在客户端:浏览器输入https://172.25.60.1:8084

1.创建集群

等一会

成功之后会重新启动服务端

查看:

6.现在第一步工作已经完成,但是有一个问题,就是集群里的两台服务器会抢着干活,这是我们不愿意看到的,我们的目的是为了在一台服务器挂掉的时候能又另一台服务器顶上。所以要让我们默认的那台服务器(server1)工作时备用服务器 (server2) 休息,但是它会检测我们的默认服务器(server1)的工作状态,一旦server1停止工作,server2开始工作。

这时候我们可以用一个软件(fence)模仿现实中的开关,这个开关的作用就是当server1工作不正常时,让server2先把server1断电,然后server2才能接过server1的工作。

在另一台机器安装 fence 软件(这里用172.25.60.250)

fence_virtd -c :

这里的网卡一定要对:

生成key

分发key给两台服务器(server1 & server2)

7.在浏览器luci管理界面:

添加fence

给两台服务器分别添加fence

这里的domain填虚拟机的UUID

完成后,在172.25.60.250重启 fence

然后在server1上测试:

输入: fence_node server2

查看server2: 重启了说明成功。

8.failover <故障恢复>失效备援

系统备援能力的一种,当系统中其中一项设备失效而无法运作时,另一项设备即可自动接手原失效系统所执行的工作、

如图:

Prioritized 权重,哪个做master,哪个做备用机,数字越小,优先级越高,1,2/10/3都行,数字无所谓
Restricted 服务器上只运行此服务
No Failback 不做切换(server1挂了,server4上,server1又好了,server1不抢master地位),这个主要是对性能差不多的服务器来说可以不选,如果server1和server5性能一样,那么就无序切换,切换浪费资源 

9.Resource
VIP ——>172.25.60.99/24
Scripts—–>nginx—->/etc/init.d/httpd

然后在两台服务端安装httpd,编辑不同的默认发布页面方便区别:

10.Service group

集群中添加节点实现高可用;
添加资源:VIP实现httpd负载均衡,scripts添加httpd服务
1> 给集群命名apache

2.添加前面的VIP和script到服务组(注意顺序不能错)

然后等待服务启动。

这里显示apache状态未知,我还不知道怎么解决。。。

11.当前面的步骤都完成之后,可以给服务端连接存储。

在存储端(server3)上:

安装软件:scsi-*

添加硬盘

编辑 /etc/tgt/target.conf 文件

在服务端上:iscsi-*

在服务端:

给磁盘分区:这个操作只需要在一个服务端进行就好了。

 

格式化:

挂载:

此时,在server1上的 /mnt/ 里写入的文件或数据就能在server2的 /mnt/ 下看到。

但是存在一个问题就是不能同时读写。解决的办法就是将挂载这个行动像是前面的 httpd一样 ,和VIP绑定,两台服务端谁拿到令牌(也就是VIP),谁就挂载。

然后再在service group里添加这个Filesystem就好了。

12.还有一个比较好用的办法,就是采用GFS2。

GFS2 是一个基于 GFS的先进的集群文件系统,能够同步每台主机的集群文件系统的metadata,
能够进行文件锁的管理,并且必须要redhat cluster suite支持,GFS2可以grow,进行容量的调整;

在服务端:两台服务端都要做

然后挂载到 /mnt/下,测试:

当一端删除时:

另一端:

那么我们可以直接将他挂载到 httpd 的默认发布页面,与前面的实验结合起来:

然后写如开机自启文件,之后就不用再手动挂载:

最后,再luci管理中的service group中只需要添加  ip 和 script 就好了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值