Keepalived系列—配置文件keepalived.conf详解

来源:互联网 发布:百佳软件商城 编辑:程序博客网 时间:2024/06/05 03:53
Keepalived的配置文件可以分为三块:
  • 全局定义块:对整个 Keepalive 配置生效的,不管是否使用 LVS;
  • VRRP 实例定义块:是 Keepalived 的核心;
  • 虚拟服务器(LVS)定义块:LVS 配置只在使用 Keepalived 来配置和管理 LVS 时才需要使用,如果仅仅使用 Keepalived做 HA,LVS 的配置完全是不需要的。

配置文件都是以块(block)形式组织的,每个块都在{和}包围的范围内。#和!开头的行都是注释。

[root@localhost ~]# cat /usr/local/keepalived/etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {#全局配置notification_email {#指定keepalived在发生切换时需要发送email到的对象,一行一个acassen@firewall.loc#指定收件人邮箱failover@firewall.locsysadmin@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#此处注意router_id为负载均衡标识,在局域网内应该是唯一的。vrrp_skip_check_adv_addrvrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0}vrrp_sync_group VG_1{#监控多个网段的实例group {inside_network#实例名outside_network}notify_master /path/xx.sh#指定当切换到master时,执行的脚本netify_backup /path/xx.sh#指定当切换到backup时,执行的脚本notify_fault "path/xx.sh VG_1" #故障时执行的脚本notify /path/xx.shsmtp_alert #使用global_defs中提供的邮件地址和smtp服务器发送邮件通知}vrrp_instance inside_network {state BACKUP #指定那个为master,那个为backup,如果设置了nopreempt这个值不起作用,主备考priority决定interface eth0 #设置实例绑定的网卡dont_track_primary #忽略vrrp的interface错误(默认不设置)track_interface{ #设置额外的监控,里面那个网卡出现问题都会切换eth0eth1}mcast_src_ip#发送多播包的地址,如果不设置默认使用绑定网卡的primary ipgarp_master_delay#在切换到master状态后,延迟进行gratuitous ARP请求virtual_router_id 50#VPID标记priority 99#优先级,高优先级竞选为masteradvert_int 1#检查间隔,默认1秒nopreempt#设置为不抢占 注:这个配置只能设置在backup主机上,而且这个主机优先级要比另外一台高preempt_delay#抢占延时,默认5分钟debug#debug级别authentication {#设置认证auth_type PASS#认证方式,类型主要有PASS、AH 两种auth_pass 111111#认证密码}virtual_ipaddress {#设置vip192.168.36.200}}vrrp_instance VI_1 {#虚拟路由的标识符state MASTER#状态只有MASTER和BACKUP两种,并且要大写,MASTER为工作状态,BACKUP是备用状态interface eth0#通信所使用的网络接口    lvs_sync_daemon_inteface eth0  #这个默认没有,相当于心跳线接口,DR模式用的和上面的接口一样,也可以用机器上的其他网卡eth1,用来防止脑裂。    virtual_router_id 51#虚拟路由的ID号,是虚拟路由MAC的最后一位地址    priority 100#此节点的优先级,主节点的优先级需要比其他节点高    advert_int 1#通告的间隔时间    nopreempt#设置为不抢占 注:这个配置只能设置在backup主机上,而且这个主机优先级要比另外一台高    preempt_delay#抢占延时,默认5分钟    authentication {#认证配置auth_type PASS#认证方式        auth_pass 1111#认证密码    }    virtual_ipaddress {#虚拟ip地址,可以有多个地址,每个地址占一行,不需要子网掩码,同时这个ip 必须与我们在lvs 客户端设定的vip 相一致!        192.168.200.16        192.168.200.17        192.168.200.18    }}virtual_server 192.168.200.100 443 { #集群所使用的VIP和端口    delay_loop 6#健康检查间隔,单位为秒    lb_algo rr#lvs调度算法rr|wrr|lc|wlc|lblc|sh|dh    nat_mask 255.255.255.0#VIP掩码    lb_kind NAT#负载均衡转发规则。一般包括DR,NAT,TUN 3种    persistence_timeout 50#会话保持时间,会话保持,就是把用户请求转发给同一个服务器,不然刚在1上提交完帐号密码,就跳转到另一台服务器2上了    protocol TCP#转发协议,有TCP和UDP两种,一般用TCP,没用过UDP    persistence_granularity <NETMASK> #lvs会话保持粒度    real_server 192.168.201.100 443 { #真实服务器,包括IP和端口号        weight 1#默认为1,0为失效        inhibit_on_failure#在服务器健康检查失效时,将其设为0,而不是直接从ipvs中删除        notify_up <string> | <quoted-string> #在检测到server up后执行脚本        notify_down <string> | <quoted-string> #在检测到server down后执行脚本TCP_CHECK {#通过tcpcheck判断RealServer的健康状态            connect_timeout 3#连接超时时间            nb_get_retry 3#重连次数            delay_before_retry 3#重连间隔时间            connect_port 23健康检查的端口的端口            bindto <ip>          }                   HTTP_GET | SSL_GET {#健康检测方式,可选有 SSL_GET、TCP_CHECK、HTTP_GET            url {#检查url,可以指定多个              path /#检查的url路径              digest ff20ad2481f97b1754ef3e12ecd3a9cc  #需要检查到的内容。检查后的摘要信息。              status_code 200#检查的返回状态码            }            url {              path /mrtg/              digest 9b3a0c85a887a256d6939da88aabd8cd            }            connect_timeout 3#连接超时时间            nb_get_retry 3#检测尝试几次            delay_before_retry 3#检测的时间间隔        }    }}virtual_server 10.10.10.2 1358 {    delay_loop 6    lb_algo rr    lb_kind NAT    persistence_timeout 50    protocol TCP    sorry_server 192.168.200.200 1358    real_server 192.168.200.2 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        }    }    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            nb_get_retry 3            delay_before_retry 3        }    }}


原创粉丝点击