Keepalived VRRPD 基础通用配置模板(逐行解析)

VRRPD 配置逐行解析(含高级功能)

vrrp_instance VI_1 {                    # VRRP实例定义,VI_1是实例名
                                        # 可以定义多个实例实现双主模式

    state MASTER                        # 【角色】初始状态为MASTER
                                        # 可选:MASTER(主) / BACKUP(备)
                                        # 注意:非抢占模式必须都用BACKUP

    interface eth0                       # 【主网卡】绑定到eth0
                                        # VIP默认会配置在这个网卡上
                                        # 用ip addr查看实际网卡名

    virtual_router_id 151                # 【VRID】虚拟路由ID(1-255)
                                        # 同一个VRRP组内必须一致
                                        # 这个ID在整个广播域内唯一,不能和其他组冲突
                                        # 这里用的是151,不是常见的51

    priority 100                          # 【优先级】范围1-255
                                        # 越高越容易成为MASTER
                                        # 主节点要比备节点高(建议差值10以上)

    advert_int 1                          # 【通告间隔】单位秒
                                        # MASTER每隔1秒发送VRRP广播
                                        # 备节点连续3个间隔收不到就认为MASTER挂了

    track_interface {                    # 【接口跟踪】监控网卡状态
        eth0                              # 监控eth0,如果eth0 down掉
        eth1                              # 监控eth1,如果eth1 down掉
    }                                     # 任何被监控的网卡down掉
                                        # 优先级会自动降低(默认减2)
                                        # 可以配合weight自定义减值

    authentication {                     # 【认证】同一组必须完全一致
        auth_type PASS                    # 认证类型:PASS(简单密码)
        auth_pass qwaszx                  # 密码,最多8位
    }

    virtual_ipaddress {                   # 【虚拟IP列表】可配置多个VIP
        192.168.200.16                    # 第一个VIP,默认绑到interface指定的网卡(eth0)
        192.168.200.17 dev eth1            # 第二个VIP,指定绑到eth1
        192.168.200.18 dev eth2            # 第三个VIP,指定绑到eth2
    }                                     # 不指定dev就用interface的网卡

    nopreempt                             # 【非抢占模式】开启后不会主动抢回MASTER
                                        # 即使本机优先级更高,也不抢占
                                        # 只有当当前MASTER挂了才接管
                                        # 注意:开启nopreempt时state必须设为BACKUP

    preempt_delay 300                     # 【抢占延迟】单位秒
                                        # 如果开启了抢占(没配nopreempt)
                                        # 成为MASTER后延迟300秒再真正接管
                                        # 给网络设备稳定时间,防止频繁切换
                                        # 这里300秒(5分钟)有点长,通常用30-60秒

    notify_master "/etc/keepalived/master.sh"   # 【通知脚本】成为MASTER时执行
    notify_backup "/etc/keepalived/backup.sh"   # 【通知脚本】成为BACKUP时执行
    notify_fault "/etc/keepalived/fault.sh"     # 【通知脚本】进入FAULT状态时执行
                                                # 可以发邮件、写日志、告警等
}

核心配置项速查表

配置项作用生产建议说明
router_id机器标识必改改成主机名,主备不同
vrrp_skip_check_adv_addr跳过地址检查保留提高兼容性
vrrp_strict严格模式注释掉不注释VIP配不上
vrrp_garp_interval免费ARP间隔保持0加快切换收敛
邮件相关邮件告警注释掉用监控系统替代

现代生产环境最佳实践

大多数公司现在都用Zabbix、Prometheus等监控系统,不用Keepalived自带的邮件功能。所以最常用的配置就是:

nginx复制下载

global_defs {
   router_id lb01                    # 改成实际主机名
   vrrp_skip_check_adv_addr          # 保留
   # vrrp_strict                      # 注释掉
   vrrp_garp_interval 0               # 保持默认
   vrrp_gna_interval 0                # 保持默认
   # 邮件配置全部注释掉或删掉
}

简洁、高效、够用

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注