美文网首页
2019-03-09 keepalived 配置详解

2019-03-09 keepalived 配置详解

作者: 豆芽_yw | 来源:发表于2019-04-22 11:07 被阅读0次
    建议 yum 安装,因为官方收录到epel,所有yum 安装功能都不少

    $ sudo yum install keepalived -y

    • 配置日志文件

    $ vim /etc/sysconfig/keepalived

    找到 KEEPALIVED_OPTIONS="-D "
    该为 KEEPALIVED_OPTIONS="-D -S 0"

    # Options for keepalived. See `keepalived --help' output and keepalived(8) and
    # keepalived.conf(5) man pages for a list of all options. Here are the most
    # common ones :
    #
    # --vrrp               -P    Only run with VRRP subsystem.
    # --check              -C    Only run with Health-checker subsystem.
    # --dont-release-vrrp  -V    Dont remove VRRP VIPs & VROUTEs on daemon stop.
    # --dont-release-ipvs  -I    Dont remove IPVS topology on daemon stop.
    # --dump-conf          -d    Dump the configuration data.
    # --log-detail         -D    Detailed log messages.
    # --log-facility       -S    0-7 Set local syslog facility (default=LOG_DAEMON)
    #
    
    KEEPALIVED_OPTIONS="-D -S 0"
    
    

    指定日志存放点
    $ vim /etc/rsyslog.conf

    # Keepalived log config
    local0.*                                                /var/log/keepalived.log
    
    • 配置文件

    $ vim /etc/keepalived/keepalived.conf

    ! Configuration File for keepalived

    global_defs { #全局部分定义邮件报警系统,可以不用定义
    notification_email { #定义邮件发送目标
    acassen@firewall.loc
    failover@firewall.loc
    sysadmin@firewall.loc
    }
    notification_email_from Alexandre.Cassen@firewall.loc #定义邮件发送人
    smtp_server 192.168.200.1
    smtp_connect_timeout 30
    router_id LVS_DEVEL #标识keepalived服务器的字符串,实现高可用时需要使用它标识节点

    # 全局部分关于静态地址和静态路由的配置,可以man keepalived.conf,不过几乎不用配置这部分
    }

    #定义vrrp实例。一个配置文件中可以实现多实例。但不同主机上互为master<-->backup的实例名需相同
    vrrp_instance VI_1 {
    state MASTER #定义实例的角色状态是master还是backup
    interface eth0 #定义vrrp绑定的接口,即接收或发送心跳通告的接口,即HA监测接口
    virtual_router_id 51 #虚拟路由标识(VRID),同一实例该数值必须相同,即master和backup中该值相同
    #同一网卡上的不同vrrp实例,该值必须不能相同。取值范围0-255
    priority 100 #该vrrp实例中本机的keepalived的优先级,优先级最高的为master。该选项的优先级
    #高于state选项,即若state指定的是backup,但这里设置的值最高,则仍为master。
    advert_int 1 #心跳信息发送和接收时间间隔,单位为秒
    authentication { #认证方式,同一实例中这个配置必须完全一样才可通过认证。只建议使用PASS认证
    auth_type PASS
    auth_pass 1111 #最多支持8字符,超过8字符将只取前8字符
    }
    virtual_ipaddress { #设置的VIP。只有master节点才会设置。master出现故障后,VIP会故障转移到backup。
    #这些vip默认配置在interface指定的接口别名上,可使用dev选项来指定配置接口。
    #使用ip add的方式添加。若要被ifconfig查看,在IP地址后加上label即可。
    #<IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>
    192.168.200.16 label eth0:1
    192.168.200.17
    192.168.200.18
    192.168.200.19/24 dev eth1
    }
    }

    #定义虚拟服务部分
    virtual_server 192.168.200.100 443 { #虚拟服务地址和端口,使用空格分隔,其中地址为VIP
    delay_loop 6 #健康检查时间间隔
    lb_algo rr #定义负载均衡LB的算法,这里使用的是rr调度算法
    lb_kind NAT #lvs的模型,有NAT/DR/TUN三种
    nat_mask 255.255.255.0
    persistence_timeout 50 #持久会话保持时长
    protocol TCP #监控服务的协议类型,1.3.0版本之前只支持tcp,之后还支持udp

    real_server 192.168.201.100 443 { #定义real_server部分,地址和端口使用空格分隔
    weight 1 #LVS权重
    SSL_GET { #健康状况检查的检查方式,常见的有HTTP_GET|SSL_GET|TCP_CHECK|MISC_CHECK。
    url {
    path / #指定ssl_get健康状况检查的路径,例如检查index.html是否正常
    digest ff20ad2481f97b1754ef3e12ecd3a9cc
    #健康状况需要状态码,可以是status_code、digest或digest+status_code
    #digest值用keepalived的genhash命令生成,一般使用status_code即可
    status_code 200
    }
    url {
    path /mrtg/
    digest 9b3a0c85a887a256d6939da88aabd8cd
    }
    connect_timeout 3 #表示3秒无响应就超时,即此realserver不健康,需重试连接
    nb_get_retry 3 #表示重试3次,3次之后都超时就是宕机,防止误伤(nb=number)
    delay_before_retry 3 #重试的时间间隔
    #上述配置需12秒才能判断节点故障,时间太久,应改小
    }
    }
    }

    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都宕机的时候,由哪台服务器继续提供服务
    #一般在keepalived本机给定一个web页面,提示网站正在维护的信息

    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
    }
    }
    }

    virtual_server 10.10.10.3 1358 {
    delay_loop 3
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP

    real_server 192.168.200.4 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.5 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
    }
    }
    }

    参考来源:https://www.cnblogs.com/f-ck-need-u/p/8483807.html

    相关文章

      网友评论

          本文标题:2019-03-09 keepalived 配置详解

          本文链接:https://www.haomeiwen.com/subject/gjojpqtx.html