一、架构介绍
1、集群简介
Fence主要在架构的作用为防止二个服务器同时向资源写数据,破坏了资源的安全性和一致性从而导致脑裂的发生。通过Haproxy实现对web服务的负载均衡及健康检查,pacemaker实现haproxy的高可用。
2、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请求
二、yum源及实验环境
使用高可用yum源
[root@server1 ~]# cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# vim rhel-source.repo
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.8.250/source6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.8.250/source6.5/HighAvailability
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.8.250/source6.5/LoadBalancer
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.8.250/source6.5/ResilientStorage
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.8.250/source6.5/ScalableFileSystem
gpgcheck=0
2、实验环境:
iptables和selinux off
Hostname IP System Service Function
server1 172.25.8.1 redhat6.5 Haproxy+Pacemaker 实现高可用(Pacemaker)及负载均衡(Haproxy)
server2 172.25.8.2 redhat6.5 Apache 生成访问页面
server3 172.25.8.3 redhat6.5 Apache 生成访问页面
server4 172.25.8.4 redhat6.5 Haproxy+Pacemaker 实现高可用(Pacemaker)及负载均衡(Haproxy)
dream(真机) 172.25.8.250 redhat7.2 Fence 实现对虚拟机进行断电
三、Haproxy安装及配置
[root@server1 ~]# useradd -u 1001 westos
[root@server1 ~]# echo "1"|passwd --stdin westos
[root@server1 ~]# vim /etc/security/limits.conf
westos soft nofile 65535
westos hard nofile 65535
[root@server1 ~]# su - westos
[westos@server1 ~]$ tar xf haproxy-1.5.3.tar.gz
[westos@server1 ~]$ cd haproxy-1.5.3/
[westos@server1 haproxy-1.5.3]$ make TARGET=linux2628 ARCH=x86_64 PREFIX=/home/westos/haproxy
[westos@server1 haproxy-