目录
1、keepalived介绍
1.1 keepalived简介
2、高可用集群
2.1 集群类型
2.2 系统可用性
2.3 系统故障
2.4 实现高可用
3、VRRP
3.1 VRRP:Virtual Router Redundancy Protocol
3.2 VRRP 相关术语
3.3 VRRP相关技术
4、 keepalived实验
4.1 全局配置
4.2 虚拟路由配置
4.3 独立子配置文件
4.4 非抢占
4.5 延迟抢占
4.6 组播变单播
4.7 邮件传输
4.8 keepalived+lvs
4.9 keepalived+haproxy
1、keepalived介绍
1.1 keepalived简介
keepalived是一个用于高可用性(High Availability,HA)解决方案的工具,主要用于 Linux 系统中。它提供了负载均衡和高可用性功能,主要通过 VRRP(Virtual Router Redundancy Protocol)协议来实现虚拟路由器的冗余。
功能:
基于 vrrp 协议完成地址流动
为 vip 地址所在的节点生成 ipvs 规则 ( 在配置文件中预先定义 )
为 ipvs 集群的各 RS 做健康状态检测
基于脚本调用接口完成脚本中定义的功能,进而影响集群事务,以此支持 nginx 、 haproxy 等服务
配置
- VRRP 配置:定义虚拟路由器实例,包括虚拟 IP 地址、优先级、预取时间等。
- 健康检查配置:定义对后端服务的健康检查方式,例如 HTTP 检查、TCP 检查等。
- 负载均衡配置:如果与 LVS 配合使用,还需要配置负载均衡的相关参数。
2、高可用集群
2.1 集群类型
- LB:Load Balance 负载均衡,LVS/HAProxy/nginx(http/upstream, stream/upstream)
- HA:High Availability 高可用集群,数据库、Redis
- SPoF: Single Point of Failure,解决单点故障
- HPC:High Performance Computing 高性能集群
2.2 系统可用性
SLA : Service-Level Agreement 服务等级协议(提供服务的企业与客户之间就服务的品质、水准、性能 等方面所达成的双方共同认可的协议或契约)
A = MTBF / (MTBF+MTTR )
2.3 系统故障
硬件故障:设计缺陷、 wear out (损耗)、非人为不可抗拒因素
软件故障:设计缺陷 bug
2.4 实现高可用
提升系统高用性的解决方案:降低 MTTR- Mean Time To Repair( 平均故障时间 )
解决方案:建立冗余机制
- active/passive 主/备
- active/active 双主
- active --> HEARTBEAT --> passive
- active <--> HEARTBEAT <--> active
3、VRRP
3.1 VRRP:Virtual Router Redundancy Protocol
虚拟路由冗余协议 , 解决静态网关单点风险
- 物理层:路由器、三层交换机
- 软件层:keepalived
3.2 VRRP 相关术语
- 虚拟路由器:Virtual Router
- 虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器
- VIP:Virtual IP
- VMAC:Virutal MAC (00-00-5e-00-01-VRID)
- 物理路由器:
- master:主设备
- backup:备用设备
- priority:优先级
3.3 VRRP相关技术
通告:心跳,优先级等;周期性
工作方式:抢占式,非抢占式
安全认证:
- 无认证
- 简单字符认证:预共享密钥
- MD5
工作模式:
- 主/备:单虚拟路由器
- 主/主:主/备(虚拟路由器1),备/主(虚拟路由器2)
4、 keepalived实验
4.1 全局配置
4.2 虚拟路由配置
4.3 独立子配置文件
4.4 非抢占
4.5 延迟抢占
4.6 组播变单播
4.7 邮件传输
添加脚本调用模块
编写脚本
4.8 keepalived+lvs
在ka1和ka2中添加
配置vrrp_instance VI
查看策略
4.9 keepalived+haproxy
下载haproxy
更改hapoxy配置
启用内核参数
编写检测脚本
更改keepalived配置文件
测试