Keepalived实验

Keepalived 高可用集群部署与故障切换实验
一、实验说明

本实验结合 LVS/HAProxy 与 Keepalived,实现负载均衡器的主备切换,当主节点故障时,备节点自动接管 VIP,保证服务不中断。
二、知识点讲解

VRRP 协议:Keepalived 基于 VRRP(虚拟路由冗余协议)实现高可用,将多台设备虚拟为一台,选举主节点。

核心功能:

健康检查:检测后端服务器和自身服务状态。

故障切换:主节点故障时,备节点自动升级为主节点,接管 VIP。

配置 LVS:与 LVS 深度集成,自动维护 IPVS 规则。
操作步骤

1、安装 Keepalived

复制代码
yum install -y keepalived

2、主节点(MASTER)配置 /etc/keepalived/keepalived.conf

复制代码
global_defs {
    router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.100/24
    }
    track_script {
        check_haproxy
    }
}

vrrp_script check_haproxy {
    script "/etc/keepalived/check_haproxy.sh"
    interval 2
    weight -20
}

3、备节点(BACKUP)配置

复制代码
global_defs {
    router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.100/24
    }
    track_script {
        check_haproxy
    }
}

vrrp_script check_haproxy {
    script "/etc/keepalived/check_haproxy.sh"
    interval 2
    weight -20
}

4、创建健康检查脚本 /etc/keepalived/check_haproxy.sh

复制代码
#!/bin/bash
if [ `ps -C haproxy --no-header | wc -l` -eq 0 ]; then
    systemctl stop keepalived
fi

chmod +x /etc/keepalived/check_haproxy.sh

5、启动服务

复制代码
systemctl start keepalived
systemctl enable keepalived

6、故障切换测试

停止主节点的 HAProxy 服务,观察 VIP 是否漂移到备节点。

相关推荐
贞明电子5 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
HideF6 小时前
Linux
linux·服务器·网络
万联WANFLOW6 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
sbjdhjd6 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa
Ruiery7 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
taktok_ai8 小时前
用 cc-switch 连接 Taktok
网络
乌恩大侠8 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
丰锋ff10 小时前
压缩命令笔记
linux
小嘉丶学长10 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
迪菲赫尔曼10 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测