keepalived.conf 常用配置介绍(无LVS)

官方参考文档:https://keepalived.org/manpage.html
参考文档:https://www.cnblogs.com/rexcheny/p/10778567.html

全局配置模块

global_defs {
    #收件人列表
    notification_email {
        acassen@firewall.loc
    }

    #发件人
    notification_email_from Alexandre.Cassen@firewall.loc

    #用于发送电子邮件的远程 SMTP 服务器。
    smtp_server 192.168.200.1

    #SMTP 服务器连接超时时间(单位为秒)。
    smtp_connect_timeout 30

    #路由标识符,一般不需要改。同组中所有节点的 router_id 需要相同。
    router_id LVS_DEVEL

    #检查接收到的 VRRP 广播中的所有地址,可能非常耗时。一般情况下删除。
    vrrp_skip_check_adv_addr

    #强制执行严格的 VRRP 协议合规性。一般情况下删除。
    vrrp_strict

    #在接口上发送的免费ARP消息之间的延迟(单位为秒),默认为 0。一般不用改。
    vrrp_garp_interval 0

    #在接口上发送的未经请求的NA消息之间的延迟(单位为秒),默认为 0。一般不用改。
    vrrp_gna_interval 0
}

脚本定义模块

vrrp_script nginx_status {
    #脚本路径.
    script /opt/script/nginx_status_check.sh

    #脚本执行频率(单位为秒)。
    interval 3

    #脚本超时时间(单位为秒)。超时即失败。
    timeout 10

    #通过此权重调整优先级。范围:(-253..253)。
    #+ 如果脚本执行结果为 0,并且 weight 配置的值大于 0,则优先级相应的增加;
    #+ 如果脚本执行结果非 0,并且 weight 配置的值小于 0,则优先级相应的减少;
    #+ 其他情况不变。
    weight -10

    #判定健康的次数。
    rise 3

    #判定失败的次数。
    fall 3

    #运行脚本的用户和组。
    user nginx nginx

    #假设脚本最初处于失败状态。
    init_fail
}
#PS:常用的配置就是脚本路径加权重。

VRRP 实例配置模块

vrrp_instance VI_1 {
    #初始状态(MASTER 或 BACKUP)。
    state MASTER

    #工作接口,通告选举使用哪个接口进行,即绑定 vip 的网卡。
    interface eth0

    #从 1 到 255 的任意唯一数字,用于区分在同一网络接口和地址族上的多个实例。
    #+ 同组的虚拟路由 ID 要相同。
    virtual_router_id 51

    #优先级
    priority 100

    #VRRP 广播间隔(单位为秒)。推荐使用默认值。
    advert_int 1

    #身份验证配置
    authentication {
        auth_type PASS
        auth_pass 1111
    }

    #定义虚拟IP(VIP)
    virtual_ipaddress {
        #IP/掩码 dev 配置在哪个网卡
        192.168.200.16/24 dev eth1

        #IP/掩码 dev 配置在哪个网卡的哪个别名上
        192.168.200.17/24 dev label eth1:1                             
    }

    #定义执行的脚本
    track_script {
        #SCRIPT_NAME> 是 vrrp_script 定义的名称。
        <SCRIPT_NAME>
        <SCRIPT_NAME> weight <-253..253> [reverse|no_reverse]
    }

    #优先级较高的实例上线后通常会抢占优先级较低的实例。
    #+ 注意:为了使其正常工作,初始状态不得为 MASTER。

    #非抢占模式。
    nopreempt

    #抢占模式,默认值。
    preempt

    #抢占的时间间隔(单位为秒),即多长时间后再进行抢占。
    preempt_delay 300

    #状态切换为 master/backup/fault 时执行的脚本。
    notify_master /path/to_master.sh [username [groupname]]
    notify_backup /path/to_backup.sh [username [groupname]]
    notify_fault "/path/fault.sh VG_1" [username [groupname]]

    #关闭时执行的信号或脚本。
    notify_stop <STRING>|<QUOTED-STRING> [username [groupname]]
}

想要更加详细了解权重和优先级的关系,可以参考另外的文档:keepalived 中关于 weight 和 preempt_delay 的实验

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值