# 全局配置
global_defs {
# 指定keepalived在发生切换时需要发送email到的对象,一行一个邮件地址
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
# 指定发件人
notification_email_from Alexandre.Cassen@firewall.loc
# 指定smtp服务器地址
smtp_server 192.168.200.1
# 指定smtp连接超时时间
smtp_connect_timeout 30
# 运行keepalived机器的一个标识,必须唯一
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
#vrrp 实例部分定义,VI_1自定义名称
vrrp_instance VI_1 {
# 指定 keepalived 的角色,必须大写 可选值:MASTER|BACKUP
state MASTER
# 网卡设置,lvs需要绑定在网卡上,RealServer 绑定在回环口。区别:lvs对访问为外,realserver为内不易暴露本机信息
interface eth0
# 虚拟路由标识,是一个数字,同一个vrrp 实例使用唯一的标识,MASTER和BACKUP 的 同一个 vrrp_instance 下 这个标识必须保持一致
virtual_router_id 51
# 定义优先级,数字越大,优先级越高。
priority 100
# 设定 MASTER 与 BACKUP 负载均衡之间同步检查的时间间隔,单位为秒,两个节点设置必须一样
advert_int 1
# 设置验证类型和密码,两个节点必须一致
authentication {
auth_type PASS
auth_pass 1111
}
# 设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个
virtual_ipaddress {
192.168.200.16
192.168.200.17
192.168.200.18
}
# 当前节点成为master时,通知脚本执行任务
# notify_master "/etc/keepalived/start_haproxy.sh start"
# 当前节点成为backup时,通知脚本执行任务
# notify_backup "/etc/keepalived/start_haproxy.sh stop"
# 当当前节点出现故障,执行的任务;
# notify_fault "/etc/keepalived/start_haproxy.sh stop"
}
#定义RealServer 对应的VIP及服务端口,IP和端口之间用空格隔开
virtual_server 192.168.200.16 1358 {
# 健康检查时间间隔
delay_loop 6
# lvs调度算法rr wrr lc wlc lblc sh dh
lb_algo rr
# 负载均衡转发规则 NAT DR RUN
lb_kind NAT
# 同一IP的连接50秒内被分配到同一台realserver
persistence_timeout 50
# 使用的协议
protocol TCP
# 备用机,所有realserver失效后启用
sorry_server 192.168.200.200 1358
real_server 192.168.200.2 1358 {
# 权重,最大越高,lvs就越优先访问
weight 1
# keepalived的健康检查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
# 要检测的URL,可以有多个
url {
# 具体路径
path /testurl3/test.jsp
# 检测效验码
digest 640205b7b0fc66c1ea91c463fac6334d
# 检测返回http状态码
status_code 200
}
# 3秒无响应超时
connect_timeout 3
# 重连次数3次
retry 3
# 重连间隔时间
delay_before_retry 3
}
}
real_server 192.168.200.3 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}