global_defs { router_id LVS_$prio #节点唯一标识,通常为hostname } local_address_group laddr_g1 { ${lvs_node} #本机IP } vrrp_instance VI_1 { state $role #节点的初始状态MASTER或BACKUP,但启动后还是通过竞选由优先级来确定 interface eth0 #节点固有IP(非VIP)的网卡,用来发VRRP包。 virtual_router_id #取值在0-255之间,用来区分多个instance的VRRP组播。 priority $prio #用来选举MASTER的,要成为MASTER,那么这个选项的值最好高于其他机器50个点,该项取值范围是1-(在此范围之外会被识别成默认值100)。 advert_int #发VRRP包的时间间隔,即多久进行一次MASTER选举(可以认为是健康查检时间间隔)。 nopreempt #非抢占式,当成为BACKUP后,允许另一个priority比较低的节点作为MASTER。 authentication { auth_type PASS auth_pass } virtual_ipaddress { #浮动IP,随着state的变化而增加/删除,当state为master的时候就在该节点添加,当为backup时删除。 $lvs_floating_ip } } virtual_server $lvs_floating_ip 8 { #设置一个virtual server: VIP:Vport delay_loop #服务轮询的时间间隔(单位秒)。 lb_algo rr #LVS调度算法,支持rr|wrr|lc|wlc|lblc|sh|dh lb_kind FNAT #LVS调度类型NAT/DR/TUN/FNAT。 persistence_timeout protocol TCP #健康检查用的是TCP还是UDP syn_proxy laddr_group_name laddr_g1 real_server $node1 8 { #后端真实节点主机,其端口必须与Vport的端口一致 weight #该实节点权重 TCP_CHECK { #健康检查方式 connect_timeout #连接超时时间 nb_get_retry #重连次数 delay_before_retry #重连间隔 connect_port 8 #检查的端口 } } real_server $node2 8 { weight TCP_CHECK { connect_timeout nb_get_retry delay_before_retry connect_port 8 } } }
更多配置项说明参考:http://outofmemory.cn/wiki/keepalived-configuration 启动keepalived
service keepalived start或systemctl start keepalived.service 查看转发结果ipvsadm -ln 查看进程状态ps -ef | grep keepalived