VRRP协议实战

一、基本概念


keepalived进程

keepalived启动后会有三个进程

父进程内存管理子进程管理等等

子进程VRRP子进程

子进程healthchecker子进程

二、主备切换

切换前:

关闭主节点:

在mater节点执行命令reboot
备升主

可以发现发现备节点多了一个虚拟ip(vip)

keepalived配置文件说明

bash 复制代码
local_address_group laddr_g1 {
    172.31.1.23
}
vrrp_script chk_lvs
{
    script "/etc/keepalived/lvs_check.sh 192.168.79.253"
    interval 2
    timeout 150
    fall 10
    rise 5
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 5
    priority 150
    nopreempt
    advert_int 1
    dont_track_primary

    virtual_ipaddress {
        192.168.79.253 dev eth1 label eth1:1
    }

    track_script {
        chk_lvs
    }
    notify_master "/etc/keepalived/exclusive_role_change.sh master"
    notify_backup "/etc/keepalived/exclusive_role_change.sh backup"
    notify_fault "/etc/keepalived/exclusive_role_change.sh fault"

    garp_master_refresh 30
}
bash 复制代码
这段配置文件是一个 keepalived 的配置示例,描述了一个 VRRP 实例(VI_1),用于在两台服务器之间实现高可用性。具体来说,这个配置文件中定义了以下内容:

local_address_group 定义了本地地址组,其中包含一个 IP 地址(172.31.1.23)。

vrrp_script 定义了一个 VRRP 脚本(chk_lvs),用于检查 LVS 的状态。脚本的路径为 "/etc/keepalived/lvs_check.sh 192.168.79.253",检查间隔为 2 秒,超时时间为 150 秒,连续失败 10 次后切换到备用状态,连续成功 5 次后切换回主用状态。

vrrp_instance 定义了一个 VRRP 实例(VI_1),其中包括了以下内容:

state BACKUP 表示当前实例的状态为备用状态。
interface eth0 指定了 VRRP 实例使用的网络接口。
virtual_router_id 5 定义了虚拟路由器的 ID。
priority 150 设置了当前节点的优先级为 150。
nopreempt 表示不允许其他节点抢占主用状态。
advert_int 1 设置了 VRRP 广播间隔为 1 秒。
dont_track_primary 表示不跟踪主用节点。
virtual_ipaddress 定义了虚拟 IP 地址(192.168.79.253),并指定了使用的网络接口和标签。
track_script 指定了需要跟踪的脚本(chk_lvs)。
notify_master、notify_backup 和 notify_fault 分别定义了在节点角色变化时需要执行的通知脚本。
garp_master_refresh 30 设置了主用节点发送 GARP 包的刷新间隔为 30 秒。
这个配置文件的作用是在两台服务器之间实现高可用性,通过 VRRP 实现了虚拟 IP 地址的故障切换,同时通过跟踪脚本检测 LVS 的状态来实现故障检测和自动切换。

如何判断是否会进行切换

bash 复制代码
vrrp_script 里的script返回值为0时认为检测成功,其它值都会当成检测失败;
weight 为正时,脚本检测成功时此weight会加到priority上,检测失败时不加;
	主失败:主 priority < 从 priority + weight 时会切换。
	主成功:主 priority + weight > 从 priority + weight 时,主依然为主
weight 为负时,脚本检测成功时此weight不影响priority,检测失败时priority -- abs(weight)
	主失败:主 priority -- abs(weight) < 从priority 时会切换主从
	主成功:主 priority > 从priority 主依然为主
相关推荐
鸠摩智首席音效师1 小时前
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead
linux
小陈同学!!1 小时前
防火墙双机热备实验
运维·服务器
tianyuanwo1 小时前
DevOps主机管理员视角:企业级Linux主机权限管理策略与实践
linux·服务器·devops
郭涤生1 小时前
Windows + Ubuntu 双系统启动故障修复
linux·windows·ubuntu
三言老师1 小时前
CentOS8 Firewalld 高级规则中级实操教程
linux·运维·服务器·网络·centos
rcms152702692182 小时前
TEL 3308-000065-13 印刷电路板
网络
xywww1682 小时前
Claude Opus 5 企业使用怎么选:场景分层、成本测算和接入风险清单
网络
云贝贝贝3 小时前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
望安认证3 小时前
CRA 与 CE、RED、EUCC、NIS2、GDPR、AI Act、Data Act、DORA 等欧盟法规的关系:从法案结构看数字产品出海合规
网络·欧盟·cra·网络弹性法案·cra认证
tedcloud1233 小时前
Impeccable 部署指南:开源前端设计工具 Linux 环境搭建实践
linux·运维·服务器·前端·人工智能·开源