Keepalived高可用集群
Keepalived概述
-
功能
- LVS规则管理
- LVS集群真实服务器状态监测
- 管理VIP
Keepalived实现web高可用
安装keepalived软件
在webservers上配置
启动服务 webservers
systemctl start keepalived.service
ip a s | grep 192.168 #web1主机绑定vip
测试高可用
- 配置高可用的web集群时,Keepalived只为服务器提供了VIP
- Keepalived不知道服务器上运行了哪些服务
- MASTER服务器可以通过跟踪脚本监视本机的80端口,一旦本机80端口失效,则将VIP切换至BACKUP服务器
- Keepalived对脚本的要求是,退出码为0表示访问成功;退出码为1表示失败
-
测试高可用配置
-
ip a s | grep 88.80 #确认VIP绑定在web1
LVS+Keepalived高可用负载平衡集群
使用Keepalived扩充LVS-DR集群,实现LVS调度器高可用
配置高可用负载平衡集群
lvs1和lvs2节点安装ipvsadm和Keepalived软件
清理web节点上的Keepalived服务 删除Keepalived服务
清理lvs1主机原有规则和VIP配置
配置lvs1节点Keepalived软件,在lvs1上做配置
启动服务测试
for i in {1..6};do curl http://192.168.88.15; done #同一服务器处理请求
ipvsadm -Ln #启动服务前无LVS规则
配置lvs2节点Keepalived软件
验证真实服务器健康检查
验证高可用负载平衡
Haproxy负载平衡集群
Haproxy相关概念
- HAProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理
- 是免费、快速并且可靠的一种解决方案
- HAProxy非常适用于并发大(并发达1w以上)web站点,这些站点通常又需要会话保持或七层处理
- 可以很简单安全的整合至当前的架构中,同时可以保护web服务器不被暴露到公网
-
工作模式
- mode http:只适用于web服务,客户请求被分析后发往服务器
- mode tcp:适用于各种服务,4层检查
- mode health:仅做健康检查,很少使用
-
调度算法
- roundrobin:轮询
- static-rr:加权轮询
- leastconn:最少连接者先处理
- source:根据请求源IP,类似于nginx的ip_hash
- ri:根据请求的URI
- rl_param:根据请求人URL参数'balance url_param'
- rdp-cookie(name) :根据cookie(name)来锁定并哈希每一次的TCP请求
- hdr(name) :根据HTTP请求头来锁定每一次HTTP请求
关闭lvs2节点 卸载软件ipvsadm,keepalived lvs1节点安装Haproxy软件
- 搭建Haproxy负载平衡集群
-
global为全局配置,通常保持默认即可 defaults为缺省配置,如果后续有相同配置则覆盖缺省值 frontend描述用户和haproxy交互 backend描述haproxy和真实服务器交互 frontend和backend的配置方式适合负载的url代理配置,通常不使用 通常使用listen模式,理解为虚拟主机即可
-
配置Haproxy
-
访问测试
- 开启Haproxy健康检查页面
# 浏览器访问测试 http://192.168.88.5:1080/stats