Keepalived配置文件分为三大块
1、全局配置
在全局定义中又分为:
全局定义和静态路由定义
注:静态路由定义一般不做配置,一般在/etc/sysconfig/network-script/ 完成配置
2、vrrp_script
3、vrrp_sync_group
4、vrrp_instance
全局定义配置详解
global_defs {
notification_email {#当keepalived发生切换时,要将邮件发送给谁
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc#定义发送邮件时,谁是发件人
smtp_server 192.168.200.1 #定义邮件服务器地址
smtp_connect_timeout 30 #定义超时时长
router_id LVS_DEVEL #定义虚拟路由器标识
}用于做健康状态检测,如果检测失败则杀死keepalived进程,或将vrrp_instance降低
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_chk.sh"
interval 2
fall 3
}vrrp_rsync_group用来定义vrrp_intance组,使得这个组内成员动作一致。举个例子来说明一下其功能:
两个vrrp_instance同属于一个vrrp_rsync_group,那么其中一个vrrp_instance发生故障切换时,另一个vrrp_instance也会跟着切换(即使这个instance没有发生故障)。
vrrp_sync_group VG_1 {
group {
inside_network # name of vrrp_instance (below)
outside_network # One for each moveable IP.
...
}
notify_master /path/to_master.sh #表示 mastar出错时执行的脚本
notify_backup /path/to_backup.sh #表示 backup出错时执行的脚本
notify_fault "/path/fault.sh VG_1" #表示 出错时执行的脚本
notify /path/notify.sh #表示任何一状态切换时都会调用该脚本,并且该脚本在以上三个脚本执行完成之后进行调用
smtp_alert #表示是否开启邮件通知
}vrrp_instance区域
vrrp_instance用来定义对外提供服务的VIP区域及其相关属性。
vrrp_instance VI_1 {
state BACKUP #state 可以是MASTER或BACKUP
interface eno16777736 #定义网卡,用来发送VRRP包
virtual_router_id 51 #取值在0-255之间,用来区分多个instance的VRRP组播;同一网段中virtual_router_id的值不能重复
priority 100 #用来选举master的,要成为master,那么这个选项的值最好高于其他机器50个点,该项取值范围是1-255
nopreempt #配置为非抢占模式,当state为BACKUP时才生效
advert_int 1 #健康查检时间间隔
authentication { #认证区域,认证类型有PASS和HA(IPSEC),推荐使用PASS(密码只识别前8位)
auth_type PASS
auth_pass 1111 #主备keepalived在此配置要一样
}
virtual_ipaddress { #配置虚拟路由器IP
192.168.112.2
}
track_script { #调用vrrp_script健康状态检测脚本
chk_nginx
}
}原文:http://zhoushuyu.blog.51cto.com/7125424/1930018