keepalived有三类配置区域,注意不是三种配置文件,是一个配置文件里面三种不同类别的配置区域,全局配置(Global Configuration)、VRRPD配置、LVS配置

! Configuration File for keepalived

################################全局配置#########################################

global_defs {
   notification_email {          #指定keepalived在发生切换时需要发送email到的对象,一行一个
     654001593@qq.com
   }
   notification_email_from 654001593@qq.com #指定发件人
   smtp_server 192.168.200.1     #指定smtp服务器地址
   smtp_connect_timeout 30       #指定smtp连接超时时间
   router_id LVS_DEVEL           #运行keepalived机器的一个标识
}

################################VRRP配置#########################################

#VRRP实例定义块
vrrp_instance VI_1 {   
    state MASTER             #指定那个为master,那个为backup,如果设置
                             #了nopreempt这个值不起作用,主备靠priority决定
    interface eth0           #设置实例绑定的网卡
    virtual_router_id 51     #VPID标记 ,路由ID,可通过#tcpdump vrrp查看
    priority 100             #优先级,高优先级竞选为master
    advert_int 1             #检查间隔,默认1秒
    nopreempt                #非抢占(因为默认如果master挂的时候,backup会顶上,当master再好的时候,会再切回去,这样就会造成两次
                             #断开,加上nopreempt的时候,及时master又好了,依旧不会切换,但是要注意两个state 都要是backup)     
                                
    authentication {         #设置认证
        auth_type PASS       #认证方式
        auth_pass 1111       #认证密码
    }
    
    virtual_ipaddress {      #设置vip
        192.168.200.16
        192.168.200.17
        192.168.200.18
    }
}

#################################LVS配置#############################################

#虚拟服务器定义块
virtual_server 192.168.200.100 443 {        #VIP 端口
    delay_loop 6                            #健康检查时间间隔
    lb_algo rr                              #lvs调度算法rr|wrr|lc|wlc|lblc|sh|dh
    lb_kind NAT                             #负载均衡转发规则NAT|DR|TUN
    nat_mask 255.255.255.0                  #nat 掩码
    persistence_timeout 50                  #会话保持时间
    protocol TCP#使用的协议
    
sorry_server<IPADDR> <port>                 #备用机,所有realserver失效后启用
    real_server 192.168.201.100 443 {       #RIP 端口
        weight 1                            #默认为1,0为失效
inhibit_on_failure                          #在服务器健康检查失效时,将其设为0,而不是直接从ipvs中删除
notify_up   脚本(绝对路径)                  #在检测到server up后执行脚本
notify_down 脚本(绝对路径)                  #在检测到server down后执行脚本

        SSL_GET {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc     #检查url,可以指定多个 
      status_code 200                                     #检查的返回状态码 
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3                             #连接超时时间
            nb_get_retry 3                                #重连次数
            delay_before_retry 3                          #重连间隔时间
    connect_port 23                                       #健康检查的端口的端口
        }
    }
}