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 是否漂移到备节点。