Haproxy+Fence+Pacemaker实现高可用

一.概念

Fence主要在架构的作用为防止二个服务器同时向资源写数据,破坏了资源的安全性和一致性从而导致脑裂的发生。通过Haproxy实现对web服务的负载均衡及健康检查,pacemaker实现haproxy的高可用

Haproxy八种负载均衡算法(balance):

1.balance roundrobin          ###轮询,软负载均衡基本都具备这种算法
2.balance static-rr           ###根据权重
3.balance leastconn           ###最少连接数先处理
4.balance source              ###分局请求的IP
5.balance uri                 ###分局请求的uri
6.balance url_param           ###根据请求的URL参数
7.banlance hdr(name)          ###根据HTTP请求头来锁定每一次HTTP请求
8.balance rbp-cookie(name)    ###根据cookie来锁定hash每一次TCP请求

二.配置

1.yum源:(server1和server4中)

Haproxy+Fence+Pacemaker实现高可用_第1张图片

2.安装haproxy(server1/4中),编辑配置文件haproxy.cfg,实现轮询

Haproxy+Fence+Pacemaker实现高可用_第2张图片

3.Pacemaker搭建与配置(server1/4中)

1)安装: pacemaker corosync

yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm

2)编辑文件corosync.conf

Haproxy+Fence+Pacemaker实现高可用_第3张图片

指定服务及网络地址段

Haproxy+Fence+Pacemaker实现高可用_第4张图片

重新启动服务,并查看服务状态crm_mon

Haproxy+Fence+Pacemaker实现高可用_第5张图片

3)查看当前集群系统所支持的类:

Haproxy+Fence+Pacemaker实现高可用_第6张图片

4)禁用stonith(可在2/4任何一台执行)

Haproxy+Fence+Pacemaker实现高可用_第7张图片

5)、crm配置Haproxy(关闭两台主机的haproxy)

添加vip

添加haproxy,忽略节点数

添加服务组,vip和haproxy绑定

查看服务状态crm_con

Haproxy+Fence+Pacemaker实现高可用_第8张图片

6)测试,关闭其中某个节点

Haproxy+Fence+Pacemaker实现高可用_第9张图片

Haproxy+Fence+Pacemaker实现高可用_第10张图片

查看vip

Haproxy+Fence+Pacemaker实现高可用_第11张图片

节点挂掉可以实现转移,但是当服务器挂掉不能实现转移

虽然server4挂掉了,但是VIP并没有转移到server1上去,因此下面我们加入Fence来实现即使是服务器挂了也可以实现VIP转移

用下面的命令来模拟内核崩溃:echo c >/proc/sysrq-trigger

 

4.Fence安装

1)安装yum install fence-virt -y

执行命令stonith_admin -I,可看见有fence代理

Haproxy+Fence+Pacemaker实现高可用_第12张图片

2)生成fence_xvm.key后传给1和4(前面已经配置过)

启动fence服务

3)配置fence_xvm

添加fence服务处理故障的节点server1:server1 第一个server1是主机名,第二个server1是真实的虚拟机名称

查看集群状态

Haproxy+Fence+Pacemaker实现高可用_第13张图片

将fence添加成功以后,如果一台机器出现内核崩溃或者是网络断开的时候,这台机器就会进行重新启动,并且另外一台机器会顶替他来作为vip, 这台机器重新启动以后会重新加入到集群当中

4)测试server1执行以下命令

echo c >/proc/sysrq-trigger

Haproxy+Fence+Pacemaker实现高可用_第14张图片

你可能感兴趣的:(Haproxy+Fence+Pacemaker实现高可用)