你的位置:首页 > 操作系统

[操作系统]配置文件keepalived.conf详解


keepalived.conf

      一个功能比较完整的keepalived 的配置文件,其配置文件keepalived.conf 可以包含三个文本块:全局定义块、VRRP 实例定义块及虚拟服务器定义块。全局定义块和虚拟服务器定义块是必须的,如果在只有一个负载均衡器的场合,就不须VRRP 实例定义块。

 #全局定义模块

1 ! Configuration File for keepalived 2 3 global_defs { 4 notification_email { 5 acassen@firewall.loc 6 failover@firewall.loc 7 sysadmin@firewall.loc #邮件报警,可以不设置,后期nagios统一监控。 8 } 9 notification_email_from Alexandre.Cassen@firewall.loc 10 smtp_server 192.168.200.1 11 smtp_connect_timeout 30 12 router_id LVS_DEVEL #此处注意router_id为负载均衡标识,在局域网内应该是唯一的。 13 vrrp_skip_check_adv_addr 14 vrrp_strict 15 vrrp_garp_interval 0 16 vrrp_gna_interval 0 17 } ++++++++++++++++我是分隔符++++++++++++++++++++++

#VRRP实例定义块
18 19 vrrp_instance VI_1 { 20 state MASTER #状态只有MASTER和BACKUP两种,并且要大写,MASTER为工作状态,BACKUP是备用状态。 21 interface eth0
lvs_sync_daemon_inteface eth0 #这个默认没有,相当于心跳线接口,DR模式用的和上面的接口一样,也可以用机器上的其他网卡eth1,用来防止脑裂。
22 virtual_router_id 51 #虚拟路由标识,同一个vrrp_instance的MASTER和BACKUP的vitrual_router_id 是一致的。 23 priority 100 #优先级,同一个vrrp_instance的MASTER优先级必须比BACKUP高。 24 advert_int 1 #MASTER 与BACKUP 负载均衡器之间同步检查的时间间隔,单位为秒。 25 authentication { 26 auth_type PASS #验证authentication。包含验证类型和验证密码。类型主要有PASS、AH 两种,通常使用的类型为PASS,\ 27 auth_pass 1111 据说AH 使用时有问题。验证密码为明文,同一vrrp 实例MASTER 与BACKUP 使用相同的密码才能正常通信。 28 } 29 virtual_ipaddress { #虚拟ip地址,可以有多个地址,每个地址占一行,不需要子网掩码,同时这个ip 必须与我们在lvs 客户端设定的vip 相一致! 30 192.168.200.100 31 192.168.200.101 32 192.168.200.102 33 } 34 }
++++++++++++++++我是分隔符++++++++++++++++++++++

#虚拟服务器定义块
35 36 virtual_server 192.168.200.100 443 { #虚拟IP,来源与上面的虚拟IP地址,后面加空格加端口号 37 delay_loop 6 #健康检查间隔,单位为秒 38 lb_algo rr #负载均衡调度算法,一般用wrr、rr、wlc 39 lb_kind NAT #负载均衡转发规则。一般包括DR,NAT,TUN 3种。 40 persistence_timeout 50 #会话保持时间,会话保持,就是把用户请求转发给同一个服务器,不然刚在1上提交完帐号密码,就跳转到另一台服务器2上了。 41 protocol TCP #转发协议,有TCP和UDP两种,一般用TCP,没用过UDP。 42 43 real_server 192.168.201.100 80 { #真实服务器,包括IP和端口号 44 weight 1 #权重,数值越大,权重越高 45 TCP_CHECK { #通过tcpcheck判断RealServer的健康状态
46 connect_timeout 3 #连接超时时间 47 nb_get_retry 3 #重连次数 48 delay_before_retry 3 #重连时间间隔
49 connect_port 80 #检测端口
50 } 51 } 52 } 53

    其实配置文件中主要要修改的选项没有很多,有三个参数要注意

    route_id  XXX #MASTER和BACKUP不同

    virtual_router_id 51 #同一个实例下,MASTER和BACKUP相同

    priority 100 #优先级,同一个实例下,MASTER高于BACKUP