e23ewe 发表于 2014-4-19 20:22:16

Keepalived 配置文件详解

! Configuration File for keepalived
#全局定义部分
global_defs {
    notification_email {
#设置报警邮件地址,可以设置多个,每行一个;PS:如要开启邮件报警,需要开启本机的sendmail服务
   12345678@qq.com
}
notification_email_from Keepalived@localhost      #设置邮件的发送地址
smtp_server 192.168.16.200      #设置smtp server地址
smtp_connect_timeout 30      #设置连接smtp server的超时时间
router_id LVS_DEVEL      #表示运行keepalived服务器的一个标识,发邮件时显示在邮件主题中的信息
}
vrrp_script chk_http_port {
    script "</dev/tcp/127.0.0.1/80"
    interval 1 #监控时间间隔
    weight -2
}
#vrrp实例定义部分
vrrp_instance VI_1 {
    state MASTER      #指定Keepalived的角色,MASTER表示此主机是主服务器,BACKUP表示此主机是备用服务器
    interface eth0      #指定HA监测网络的接口
    virtual_router_id 51 #虚拟路由标识,这个标识是一个数字,同一个vrrp实例使用唯一的标识,即同一个vrrp_instance下,MASTER和BACKUP必须是一致的
    priority 100      #定义优先级,数字越大,优先级越高,在一个vrrp_instance下,MASTER的优先级必须大于BACKUP的优先级
    mcast_src_ip 192.168.1.10 #BUCKUP 1.12
    advert_int 1      #设定MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
    authentication {   #设定验证类型和密码
      auth_type PASS      #设置验证类型,主要有PASS和AH两种
      auth_pass 1111      #设置验证密码,在一个vrrp_instance下,MASTER和BACKUP必须使用相同的密码才能正常通信
    }
    track_script {
      chk_http_port #执行监控的服务
    }
    virtual_ipaddress { #设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个
      192.168.16.210
    }
}
#虚拟服务器定义部分
virtual_server 192.168.16.200 80 { #设置虚拟服务器,需要指定虚拟IP地址和服务端口,IP与端口之间用空格隔开
    delay_loop 6      #设置运行情况检查时间,单位是秒
    lb_algo rr      #设置负载调度算法,这里设置为rr,即轮询算法
    lb_kind NAT      #设置LVS实现负载均衡的机制,有NAT,TUR,DR三个模式可选
    nat_mask 255.255.255.0
    persistence_timeout 50
#会话保持时间,单位是秒,这个选项对动态网页是非常有用的,为集群系统中session共享提供了一个很好的解决方案,有了这个会话保持功能,用户的请求会被一直分发到某个服务节点,直到超过这个会话的保持时间。
PS:这个会话保持时间是最大无响应超时时间,就是说,用户在操作动态页面时,如果在50秒内没有执行任何操作,那么接下来的操作会被分发到另外的节点,但是如果用户一直在操作动态页面,则不受50秒的时间限制。
    protocol TCP      #指定转发协议类型,有TCP和UDP两种
    real_server 192.168.16.211 80 { #配置服务节点1,需要指定real server的真是IP地址和端口,IP与端口之间用空格隔开
      weight 3
#配置服务节点的权值,权值大小用数字表示,数字越大,权值越高,设置权值的大小可以为不同性能的服务器分配不同的负载,可以为性能高的服务器设置较高的权值,而为性能较低的服务器设置相对较低的权值,这样才能合理地利用和分配系统资源。
      TCP_CHECK {
            connect_timeout 3      #表示3秒无响应超时
            nb_get_retry 3      #表示重试次数
            delay_before_retry 3      #表示重试间隔
      }
    }
    real_server 192.168.16.212 80 {   #配置服务节点2
      weight 1
      TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
      }
    }
}

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