一、说明和准备
Keepalived是基于VRRP协议实现的保证集群高可用的一个服务软件,运行在LVS之上,它的主要功能是实现真机的故障隔离及负载均衡器间的失败切换,用来防止单点故障
keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的
keepalived只有一个配置文件keepalived.conf,里面主要包括以下几个配置区域,分别是global_defs、static_ipaddress、static_routes、vrrp_script、vrrp_instance和virtual_server
# 安装IPVS管理模块
yum install ipvsadm -y
# 安装keepalived
yum install keepalived -y
二、配置keepalived节点
! Configuration File for keepalived
# vi /etc/keepalived/keepalived.conf
# 全局配置 主要是配置故障发生时的通知对象以及机器标识
global_defs {
notification_email {
r_xl@xl.com # 设置报警邮件接收地址,需要开启 sendmail 服务
}
notification_email_from s_xl@xl.com # 设置邮件的发送地址
smtp_server 192.168.2.241 # 设置通知的 SMTP Server 地址
smtp_connect_timeout 30 # 设置通知的 SMTP Server 的超时时间
router_id LVS_DEVEL_1 # 路由ID,标识本节点的字符串,邮件通知时会用到
}
# 自定义VRRP实例健康检查脚本 keepalived只能做到对自身问题和网络故障的监控,Script可以增加其他的监控来判定是否需要切换主备
vrrp_script chk_sshd {
script "killall -0 sshd" # 示例为检查sshd服务是否运行中
interval 2 # 检查间隔时间
weight -4 # 检查失败降低的权重
}
# VRRP实例 定义对外提供服务的VIP区域及其相关属性
vrrp_instance VI_1 {
state MASTER # 状态只有 MASTER 和 BACKUP 两种,并且要大写,MASTER 为工作状态,BACKUP 是备用状态
i