VRRPD配置
包括两部分
VRRP同步组,synchronization group
VRRP实例,VRRP Instance
VRRP同步组
不使用Sync Group,如果,机器或者说router有两个网段,一个内网一个外网,每个网段开启一个VRRP实例,如果,VRRP配置为检查内网,那么,当外网出现问题时,VRRPD认为自己仍然健康,那么,不会发送Master和Backup的切换,从而,导致了问题
Sync group就是为了解决这个问题,可以把两个实例都放进一个Sync Group
这样,group里面任何一个实例出现问题,都会发生切换
vrrp_sync_group VG_1 {
group {
inside_network # ùp´¢~¶('XVI_1)
outside_network
……
}
notify_master /path/to/to_master.sh
notify_backup /path_to/to_backup.sh
notify_fault "/path/fault.sh VG_1"
notify /path/to/notify.sh
smtp_alert
}
参数说明
notify master
指定当切换到Master时,执行的脚本
这个脚本可以传入参数,引号引起,其他两个类推
notify
指令有三个参数,这些参数有Keepalived提供
2,group或者instance的名字
$3,MASTER-BACKUP-FAULT
smtp alter
使用global_defs里面定义的邮件地址
和smtp服务器在切换后,发送邮件通知
VRRP实例
表示上面开启了VRRP协议
这个实例说明了VRRP的一些特性,比如,主从、VRID等
可以在每个interface上开启一个实例
主要定义vrrp_sync_group里面的每个组的漂移IP等
vrrp_instance inside_network {
state MASTER
interface eth0
dont_track_primary
track_interface {
eth0
eth1
}
mcast_src_ip <IPADDR>
garp_master_delay 10
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
autp_pass 1234
}
virtual_ipaddress {
#<IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPT> label <LABEL>
192.168.200.17/24 dev eth1
192.168.200.18/24 dev eth2 label eth2:1
}
virtual_routes {
# src <IPADDR> [to] <IPADDR>/<MASK> via|gw <IPADDR> dev <STRING> scop
src 192.168.100.1 to 192.168.109.0/24 via 192.168.200.254 dev eth1
192.168.110.0/24 via 192.168.200.254 dev eth1
192.168.111.0/24 dev eth2
192.168.112.0/24 via 192.168.100.254
}
nopreempt
preemtp_delay 300
debug
}
参数说明
State
指定instance的初始Initial状态,在两台router都启动之后,马上会发生竞选,高priority的会竞选为Master
所以,这里的state并不表示这台就一直是Master
Interface
Inside_network实例绑定的网卡
dont track primary
忽略VRRP的interface错误,默认不设置
track interface
设置额外的监控,里面的任意一个网卡出现问题,都会进入FAULT状态
mcast src ip
发送多播包的地址,如果,不设置,默认使用绑定的网卡的primary IP
garp master delay
在切换到MASTER状态后,延迟进行gratuitous ARP请求
virtual router id
VRID标记,0~255
priority 100
高优先级竞选为MASTER,MASTER要高于BACKUP至少50
advert int
检查间隔,默认1s
virtual ipaddress
里面指定漂移地址VIP,也就是切换到MASTER时,这些IP会被添加,切换到BACKUP时,这些IP被删除,传给ip addr命令
所以,每台服务器上可以不绑定任何虚拟地址,而都把它们放virtual_ipaddress里面,可以多个,keepalived会自动使用ip addr进行绑定,不需要依赖ifcfg-eth0,ip add可以看到
virtual routes
和virtual_ipaddress一样,发生切换时添加、删除路由
lvs sync daemon interface
lvs syncd绑定的网卡
authentication
这一段设置认证
auth type
认证方式,支持PASS和AH
auth pass
认证的密码
Nopreempt
设置为不抢占,注意,这个配置只能设置在state为BACKUP的主机上
而且,这个主机的priority必须比另一台高
preempt delay
抢占延迟,默认5分钟
Debug
Debug级别
notify master
和sync group里面的配置一样