keepalived基本了解

keepalived基本了解

keepalived是一种基于VRRP(virtual router rundundacy protocol)协议的高可用负载均衡解决方案

主要功能

1、负载均衡
2、高可用
3、健康检查

工作原理

1、VRRP协议

用于节点故障时,地址漂移到另一个节点

alt text

2、工作模式
配置文件提供的工作模式共三种

  1. 主备模式,1主多备
  2. 相互备份,互为主备
  3. 负载均衡实现

经典配置文件如下

vi /etc/keepalived/keepalived.conf

主节点配置

! Configuration File for keepalived

global_defs {
    router_id LVS_DEVEL_MASTER  # 标识,唯一
}

vrrp_instance VI_1 {
    state MASTER               # 主节点
    interface eth0             # 网卡名称
    virtual_router_id 51       # 虚拟路由ID,主备必须相同
    priority 100               # 优先级,主节点较高
    
    advert_int 1               # 心跳间隔
    authentication {
        auth_type PASS
        auth_pass 1111         # 认证密码
    }
    
    virtual_ipaddress {
        192.168.1.100/24       # 虚拟IP(VIP)
    }
    
    track_script {
        chk_nginx              # 健康检查脚本
    }
}

备节点配置

vrrp_instance VI_1 {
    state BACKUP              # 备份节点
    interface eth0
    virtual_router_id 51
    priority 50               # 优先级较低
    
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    
    virtual_ipaddress {
        192.168.1.100/24
    }
    
    track_script {
        chk_nginx
    }
}

健康检查配置

vrrp_script chk_nginx {
    script "/etc/keepalived/check_nginx.sh"
    interval 2     # 检查间隔
    weight -20     # 失败时优先级降低值
}

# 检查脚本示例 check_nginx.sh
#!/bin/bash
if ! systemctl is-active --quiet nginx; then
    systemctl start nginx
    sleep 2
    if ! systemctl is-active --quiet nginx; then
        exit 1
    fi
fi
posted @ 2025-12-15 01:10  LemHou  阅读(13)  评论(0)    收藏  举报