一、测试版本
本次测试版本为v1.3.5。
二、参数详解
1、全局配置
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_connect_timeout 30 # 邮件链接超时时间
router_id LVS_DEVEL # 参与KeepAlive的机器的一个唯一标识,在局域网内应是唯一的
vrrp_skip_check_adv_addr # 检查收到的VRRP通告中的所有地址可能会比较耗时,设置此命令的意思是,如果通告与接收的上一个通告来自相同的master路由器,则不执行检查(跳过检查)。
vrrp_strict # 严格遵守VRRP协议。下列情况将会阻止启动Keepalived:1. 没有VIP地址。2. 单播邻居。3. 在VRRP版本2中有IPv6地址。
vrrp_garp_interval 0 # 发送ARP报文的延迟。可以精确到毫秒级。默认是0。
vrrp_gna_interval 0 # 消息发送延迟
}
2.vrrp_instance
vrrp_instance VI_1 { # 配置虚拟路由器,多个虚拟路由器时时,名称要不一样
state MASTER # 标识MASTER或者BACKUP,一定要大写,一旦有其他机器加入,将会举行选举,具有最高优先级的机器将会成为MASTER,所以这个条目的并不重要
interface eth0 # 绑定用于参与VRRP协议的网卡
virtual_router_id 51 # 指定VRRP(虚拟路由器)实例ID,要与同一台主机上的其他虚拟路由器id 区分开来,区间范围0~255
priority 100 # 指定优先级,优先级高的将成为MASTER
advert_int 1 # 指定发送VRRP通告的间隔。单位是秒。
authentication { # 设置认证方式,2004年,RFC3768C从VRRPv2规范中删除了认证。使用此选项是不合规的,可能会导致一些问题。如果可能,尽量避免使用。
auth_type PASS # 指定认证方式。PASS简单密码认证(推荐),AH:IPSEC认证(不推荐)。
auth_pass 1111 # 指定认证所使用的密码。最多8位。
}
virtual_ipaddress { # //虚拟路由的ip地址
192.168.200.16
192.168.200.17
192.168.200.18
}
}
3.virtual_server LVS配置
virtual_server 10.10.10.3 1358 {
delay_loop 3 # 健康检查的时间间隔
lb_algo rr # rr|wrr|lc|wlc|lblc|sh|dh:LVS调度算法
lb_kind NAT # NAT|DR|TUN:LVS模式
persistence_timeout 50 # 持久化超时时间,单位是秒。
protocol TCP # TCP|UDP|SCTP:4层协议
real_server 192.168.200.4 1358 {
weight 1 # 指定服务器权重
HTTP_GET { # real_server中的健康检查 HTTP_GET | SSL_GET
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3 # 连接超时时间
nb_get_retry 3 # get尝试次数
delay_before_retry 3 # 在尝试之前延迟多长时间
}
}
real_server 192.168.200.5 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}