1.什么是keepalived?
- Keepalived是用C语言编写的路由软件。该项目的主要目标是为Linux系统和基于Linux的基础结构提供负载均衡和高可用性的简单而强大的功能。依赖于提供第4层负载平衡的Linux虚拟服务器(LVS)内核模块。Keepalived实现了一组健康检查器,以根据其运行状态,自适应地维护和管理负载平衡的服务器池(LVS)。Keepalived就是VRRP协议的实现,该协议是虚拟冗余路由协议,VRRP是路由器故障转移的基础。
- VRRP:Virtual Router Redundancy Protocol 虚拟路由器冗余协议
2.作用
-
实现将用户需要访问的地址转移到可用LVS节点实现。
-
监控并管理 LVS 集群系统中各个服务节点的状态
-
对后端应用服务器健康检查的功能
3.keepalived.conf配置文件
加了!!!代表重要,更多配置信息可以参考:keepalived-doc
! Configuration File for keepalived
global_defs {
# 邮件通知信息
notification_email {
# 定义收件人
acassen@firewall.loc
}
router_id LVS_DEVEL # !!!设置lvs的id,在一个网络内应该是唯一的
enable_script_security # !!!允许执行外部脚本
}
# !!!配置vrrp_script,主要用于健康检查及检查失败后执行的动作。
vrrp_script chk_real_server {
#健康检查脚本,当脚本返回值不为0时认为失败
script "/usr/local/software/conf/chk_server.sh"
#检查频率,以下配置每2秒检查1次
interval 2
#当检查失败后,将vrrp_instance的priority减小5
weight -5
#连续监测失败3次,才认为真的健康检查失败。并调整优先级
fall 3
#连续监测2次成功,就认为成功。但不调整优先级
rise 2
user root
}
# !!!配置对外提供服务的VIP vrrp_instance配置
vrrp_instance VI_1 {
#