dluuy 发表于 2015-9-23 08:47:30

keepalived配置文件详解

                      /export/servers/keepalived/conf/keepalived.conf配置文件详解:

! Configuration File for keepalived
#全局配置
global_defs {
   notification_email {         #设置报警邮件地址,每行一个,(如何要开启邮件报警,需要开启本机的sendmail服务)
      lihuiyw@jd.com   
}
   notification_email_from lihuiyw@jd.com   #设置邮件的发送地址
   smtp_server mail.jd.com            #设置邮件的smtp server地址
   smtp_connect_timeout 30            #设置连接smtp server的超时时间
   router_id LVS_DEVEL             #表示keepalived服务器的一个标识,是发邮件时显示在邮件主题中的信息
}
#keepalived的VRRPD配置,是所有keepalived配置的核心
#VRRP实例配置
vrrp_instance VIP_142    #是VRRP实例开始的标识,后跟VRRP实例名称
{
state MASTER      #keepalived的角色,MASTER主,BACKUP备
interface eth0      #用于指定HA监测网络的接口
virtual_router_id 142   #虚拟路由标识,这个标识是一个数字,同一个VRRP实例使用唯一的一个标识,即在同一个vrrp_instance下,MASTER和BACKUP必须是一致的!
priority 100         #权重优先级
advert_int 2         #用于设定master和backup主机之间同步检查的时间间隔,单位是秒
garp_master_delay 10   #用于切换到master状态后延时进行Gratuitous arp请求的时间
smtp_alert          #表示是否开启邮件通知(用全局区域的邮件设置来发通知)
authentication      #主备之间进行通信的验证类型和密码:验证类型主要有PASS和AH两种,一个在vrrp_instance下,MASTER和backup必须使用相同的密码才可以通信
{
auth_type PASS
auth_pass 123456
}
#virtual_ipaddress用于设置虚拟ip地址,可以设置多个vip,每行一个,
virtual_ipaddress
{
10.95.0.200/24
}
track_interface   #用于设置一些额外的网络监控接口,其中任何一个网络接口出现故障,keepalived都会进去fault状态!
{
eth0
}
nopreempt       #设置不抢占功能,只能在backup上使用,知道机器有故障了才切换,
preemtp_delay 300   #用于设置抢占的延时时间,(例:开启启动没必要抢占)
}
#以下是lvs的主要主要配置信息,主要实现lvs的ip包转发功能!
virtual_server 10.95.0.200 80      #虚拟ip和端口
{
delay_loop 6      #设置健康检查的时间间隔
lb_algo wrr         #设置负载调度算法
lb_kind DR         #设置lvs的模式
persistence_timeout 60    #会话保持时间,单位秒
protocol TCP      #ip包转发协议,有TCP和UDP两种
real_server 10.95.0.143 80    #real server 的ip
{
    weight 3            #权重
    TCP_CHECK            #健康检查
    {
      connect_timeout 10      #表示无响应超时时间
      nb_get_retry 3            #表示重连次数
      delay_before_retry 3      #表示重试间隔
      connect_port 80            #表示端口
    }
}
real_server 10.95.0.144 80
{
    weight 3
    TCP_CHECK
    {
      connect_timeout 10
      nb_get_retry 3
      delay_before_retry 3
      connect_port 80
    }
}
}


健康监测应许多种检查方式,常见的有,HTTP_GET,SSL_GET,TCP_CHEC,SMTP_CHECK,MISC_CHECK.
HTTP_GET |SSL_GET

{
    url{
      path /index.html    #指定url信息
      digest e6owjfdsjfalsjdfsalkf30wfdsfjwqe   
      #ssl检查后的摘要信息,这些摘要信息可以通过genhash命令工具获取,

            #例:genhash -s 192.168.12.80 -p 80 -u /index.html

      status_code 200   
}

    connect_port 80

    bindto 192.168.31.128       #表示通过此地址来对发送请求对服务器进行健康检查

    nb_get_retry 3

    delay_before_retry 2


}
                   

页: [1]
查看完整版本: keepalived配置文件详解