haproxy 负载均衡 + pacemaker 高可用
1)、HAProxy:是一个使用C语言编写的自由及开放源代码的软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy是基于四层和七层技术、可提供TCP和HTTP应用的负载均衡综合解决方案。在状态监测方面功能强大,可支持端口、URL、脚本等多种状态检测方式
2)、七层负载均衡器:也称为七层交换机,位于OSI的最高层,即应用层,此时负载均衡器支持多种应用协议,常见的有HTTP、FTP、SMTP等。七层负载均衡器可以根据报文内容,再配合负载均衡算法来选择后端服务器,因此也称为“内容交换器”。
3)、HAProxy支持的负载均衡算法
(1)、roundrobin,表示简单的轮询,负载均衡基础算法
(2)、static-rr,表示根据权重
(3)、leastconn,表示最少连接者先处理
(4)、source,表示根据请求源IP
(5)、uri,表示根据请求的URI;
(6)、url_param,表示根据请求的URl参数来进行调度
(7)、hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
(8)、rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。
4)、haproxy实现负载均衡的方法:haproxy通过ACL规则是实现智能负载均衡
5)、HAProxy的Web监控平台
访问方式:IP/status
实例:haproxy 负载均衡实现
关闭之前的keepalived
iptables -F 刷新防火墙策略。(清空)
更改日志存储位置:
更改调度算法:source 表示根据请求源IP
默认调度算法:roundrobin,表示简单的轮询,负载均衡基础算法
HAProxy的Web监控平台,设置登录用户和密码
ACL 规则 :
use_backend后面需要跟上一个backend实例名,表示在满足ACL规则后去请求哪个backend实例,
与use_backend对应的还有default_backend参数,它表示在没有满足ACL条件的时候默认使用哪个后端backend。
haproxy实现读写分离:
新建ACL规则,当客户端进行读操作时,访问读的后端服务器。当客户端上传数据时,访问写的后端服务器
负载均衡器做备机:haproxy 默认监听80端口,安装Apache后,避免端口冲突,将Apache端口改为8080.
访问控制:
拒绝 blacklist中的成员访问:
只允许blacklist中的成员访问,拒绝其他所有:
限制 blacklist成员访问某些目录或文件:
根据http状态码重定向:
根据访问用户的IP重新定向:
根据访问内容设置权限:
Pacemaker 高可用 + haproxy 负载均衡
pacemaker官方网站:http://clusterlabs.org/
1)、Pacemaker:是一个集群资源管理者。他用资源级别的监测和恢复来保证集群服务(aka.资源)的最大可用性。
2)、
pacemake 控制haproxy:
pacemaker不做硬件检测:
当服务器硬件出现问题,服务切换到其它服务器,出问题服务器回复后依然在运行服务,相当于两台服务器对,同一存储区进行存储,会造成数据损失。
解决方法:
cluster 目录需要手动建立 (/etc/cluster)
真机的 /etc/cluster 下的 fence_xvm.key 复制到 server1 和 server4 的 /etc/cluster (手动建立的目录)
测试当其中一台服务器出问题,能否断电,重启,是否依旧启用服务。