# 默认配置文件
[root@ct1 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs { # 全局配置
notification_email { # 报警邮件地址
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc # 指定发件人
smtp_server 192.168.200.1 # 指定smtp服务器地址
smtp_connect_timeout 30 # 指定连接smtp服务器超时时间
router_id LVS_DEVEL # 虚拟路由标识符,发邮件时显示在标中的信息
vrrp_skip_check_adv_addr # 跳过检查数据报文
vrrp_strict # 严格遵循VRRP协议,
vrrp_garp_interval 0 # ARP报文发送延迟时间
vrrp_gna_interval 0 # 信息发送延迟时间
}
vrrp_script SCRIPT_NAME { # 定义用于实例执行的脚本
}
# vrrp示例配置部分
vrrp_instance VI_1 { # VRRP实例配置模块,由{}包裹起来
state MASTER # 定义角色,MASTER或BACKUP
interface eth0 # 绑定网卡设置
virtual_router_id 51 # 虚拟路由ID,注意在同一个vrrp_instance中不能重复
priority 100 # 优先级
advert_int 1 # 探测时间间隔,心跳间隔,单位为秒,MASTER和BACKUP必须一致
authentication { # 认证部分
auth_type PASS # 认证方式,PASS或HA
auth_pass 1111 # 密码,在一个vrrp_instance中MASTER和BACKUP的密码必须一致
}
virtual_ipaddress { # 设置虚拟IP地址,可设置多个。
192.168.200.16/24 dev eth1 # IP 掩码 dev 配置在哪个网卡上
192.168.200.17/24 dev label eth1:1 # IP 掩码 dev 配置在哪个网卡的哪个别名上
192.168.200.18
}
# nopreempt|preempt 工作模式,nopreempt表示工作在非抢占模式,默认是抢占模式 preempt
# preempt delay 300 如果是抢占默认则可以设置等多久再抢占,默认5分钟
track_script { # 追踪脚本,通常用于去执行上面的vrrp_script定义的脚本内容
}
notify_master "xxx.sh" #当前节点成为master时,通知脚本执行任务
notify_backup "xxx.sh" #当前节点成为backup时,通知脚本执行任务
notify_fault "xxx.sh" #当当前节点出现故障,执行的任务
}
# 虚拟服务器配置部分
virtual_server 192.168.200.100 443 { # 指定虚拟IP和端口,中间用空格隔开
delay_loop 6 # 健康检查时间,单位秒
lb_algo rr # 负载调度算法,rr|wrr|lc|wlc|lblc|sh|dh
lb_kind NAT # 负载均衡转发规则,可以有NAT、TUN和DR三个模式可选
persistence_timeout 50 # 会话保持时间,单位是秒
protocol TCP # 转发协议类型,有tcp和udp两种
real_server 192.168.201.100 443 { # 配置服务节点1,需要指定real server的真实IP地址和端口,ip与端口之间用空格隔开
weight 1 # 设置权重
SSL_GET { # 健康检查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC
url { # 检测URL
path / # 具体检测哪一个URL
digest ff20ad2481f97b1754ef3e12 # 检查后的摘要信息
}
url {
path /mrtg/
digest 9b3a0c85a887a256d6939da88aabd8cd
}
connect_timeout 3 # 连接超时时间
nb_get_retry 3 # 重连次数3次
delay_before_retry 3 # 重连间隔时间
}
}
real_server 192.168.119.121 80 {
weight 1 #权重,最大越高,lvs就越优先访问
TCP_CHECK { #keepalived的健康检查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC
connect_timeout 10 #10秒无响应超时
retry 3 #重连次数3次
delay_before_retry 3 #重连间隔时间
connect_port 80 #健康检查realserver的端口
}
}
}