前言
一个合格的群集应该具备的特点:
(1)负载均衡:用于提高群集的性能LVS nginx HAProxy SLB F5
(2)健康检查(探针):针对调度器和节点服务器 keepalived(高可用的应用程序)、Heartbeat
(3)故障转移:通过VIP漂移实现主备切换 vrrp 脚本
健康检查(探针)常用的工作方式:
(1)发送心跳消息 vrrp报文 ping/pong
(2)TCP端口检查 向目标主机的IP:PORT发起TCP连接请求,如果TCP连接三次握手成功则
认为健康检查正常,否则认为健康检查异常
(3)HTTP URL 检查 向目标主机的URL路径(比如http://PORT/URL路径)发起 HTTP GET 请
求方法,如果响应消息的状态码为2xx 或者 3xx 则认为健康检查正常;如果响应消息的状态码为
4xx 或者 5xx 则认为健康检查异常;
一.Keepalived 介绍
1.Keepalived案例分析
企业应用中,单台服务器承担应用存在单点故障的危险
单点故障一旦发生,企业服务将发生中断马,造成极大的危害
2.Keepalived 工具介绍
(1)专为LVS 和 HA 设计的一款健康检查工具
- 支持故障自动切换(Failover)
- 支持节点健康状态检查(Health Checjing)
判断 LVS 负载调度器、节点服务器的可用性,当 master 主机出现故障及时切换到backup 节点保证业务正常,当 master故障主机恢复后将其重新加入群集并且业务重新切换回 master 节点。
(2)官方网站:
负载均衡架构图
3.Keepalived实现原理剖析
Keepalived 采用 VRRP 热备份协议实现 Linux 服务器的多机热备功能
VRRP (虚拟路由冗余协议) 是针对路由器的一种备份解决方案
- 由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务
- 每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态
- 若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务
Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。
在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP(VIP),主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
4.Keepalived 案例
Keepalived 可实现多机热备,每个热备组可有多台服务器
双机热备的故障切换是由虚拟IP地址的漂移来实现,适用于各种应用服务器
二.Keepalived安装与启动
1.在LVS群集环境中应用时,也需用到ipvsadm管理工具
- YUM安装Keepalived
- 启用Keepalived服务
2.配置Keepalived master服务器
Keepalived配置目录位于/etc/keepalived/
keepalived.conf是主配置文件
- global defs {...}区段指定全局参数
- vrrp instance 实例名称 {...} 区段指定VRRP热备参数
- 注释文字以”!”符号开头
- 目录samples,提供了许多配置样例作为参考
Keepalived体系主要模块及其作用:<