keepalived 参数进阶(vrrp_instance)
state MASTER|BACKUP
02 #如果不指定Master或者BACKUP,那priority最高的就是master
03
04 interface eth0
05 #监听的实际网口
06
07 virtual_router_id 51
08 #组播ID,通过224.0.0.18可以监听到现在已经存在的VRRP ID,最好不要跟现有ID冲突
09
10 priority 100
11 #权重为100,权重数字越大就越高
12
13 advert_int 1
14 #发送组播包的间隔时间,默认为1秒
15
16 smtp_alert
17 #发送邮件报警
18
19 authentication {
20 auth_type PASS
21 auth_pass hdtv
22 }
23 #这个是验证类型为PASS(明文),密码为hdtv。验证类型也可以选择IPSEC,但是官方是不推荐的
24
25 virtual_ipaddress {
26 10.1.41.141
27 }
28 #虚拟IP为10.1.41.141
29
30 #############下面这些是文档中存在,但是在上面没有用到的#############################
31
32 dont_track_primary
33 #忽略网卡错误
34
35 track_interface {
36 eth0
37 eth1
38 }
39 #监控eth0和eth1这2块网卡的状态
40
41 mcast_src_ip
42 #使用这个地址作为多播包的源IP,而不是使用interface eth0上的IP
43
44 lvs_sync_daemon_interface eth1
45 #绑定eth1作为lvs同步的
46
47 garp_master_delay 2
48 #master和slave漂移时间改为2秒,默认位5秒,怪不得我昨天发现每次都是5秒才转移
49
50 virtual_ipaddress {
51 / brd dev scope label 192.168.200.17/24 dev eth1
52 192.168.200.18/24 dev eth2 label eth2:1
53 }
54 #vip可以写成整个网段和某块网卡上的所有IP
55
56 virtual_ipaddress_excluded {
57 / brd dev scope / brd dev scope ...
58 }
59 #排除哪些IP
60
61 virtual_routes {
62 src 192.168.100.1 to 192.168.109.0/24 via 192.168.200.254 dev eth1 192.168.110.0/24 via192.168.200.254 dev eth1 192.168.111.0/24 dev eth2 192.168.112.0/24 via 192.168.100.254
63 }
64 #当状态切换的时候会增加和删除路由,格式如src [to] / via|gw dev scope tab
65
66 nopreempt
67 #这个参数是用来,当master当掉,slave接替原来的master作为master后,这个时候当master重新起来后,有了这个参数后原来的slave就不会自动再自动切换为slave,而是继续作为master
68
69 preempt_delay 300
70 #接上面那个参数,这个表示,只有在老的master重新正常300秒后,老的master才会切换为master,这个参数范围是0-1000,默认为0
71
72 notify_master | notify_backup
73 | notify_fault | notify |
74 smtp_alert
75 #各种报警方式,可以定义具体的内容来达到不同的报警信息。
! Configuration File for keepalived
global_defs {
notification_email { #通知邮件配置,将keepalived的状态信息发送到指定邮箱
root@localhost #这里配置通知的邮箱地址,为方便演示这里就配置为本机
}
notification_email_from keepalived@localhost #配置发邮件的地址,这里也配置为本机
smtp_server 127.0.0.1
smtp_connect_timeout 30 #邮件服务超时时间
router_id n1 #当前标识当前主机
vrrp_mcast_group4 224.1.101.18 #配置组播地址,集群中通常不会使用默认的组播地址
}
vrrp_instance VI_1 { #当前节点所属的虚拟路由的名称
state MASTER #当前节点的状态,有Master和Backup两种状态
interface ens33 #定义vrrp地址绑定在哪个接口
virtual_router_id 51 #虚拟路由器的标识,同一虚拟路由器组中的ID要相同
priority 100 #优先级设置
advert_int 1 #每隔多久以组播形式向外通告一次,默认是1秒
authentication { #认证方式,在组播信息中添加的信息,防止滥竽充数
auth_type PASS #认证开启
auth_pass 1111 #认证密码
}
virtual_ipaddress { #配置虚拟路由ip,即漂移地址
192.168.11.99/24 dev ens33 label ens33:0 #漂移地址为192.168.11.99,配置在ens33网卡上并指定接口0
}
}