当前位置:首页>Linux>Linux 部署 Keepalived 及基础命令

Linux 部署 Keepalived 及基础命令

  • 2026-10-21 13:28:14
Linux 部署 Keepalived 及基础命令

一、Keepalived 简介

Keepalived 是一个用于实现高可用性的软件,基于 VRRP(Virtual Router Redundancy Protocol)协议,主要用于:

  • 负载均衡器的高可用

  • Web 服务的高可用

  • 数据库高可用等

二、安装 Keepalived

1. CentOS/RHEL 系统

# 安装
sudo yum install keepalived -y

# 启动服务
sudo systemctl start keepalived

# 设置开机自启
sudo systemctl enable keepalived

# 查看状态
sudo systemctl status keepalived

2. Ubuntu/Debian 系统

# 安装
sudo apt-get update
sudo apt-get install keepalived -y

# 启动服务
sudo systemctl start keepalived

# 设置开机自启
sudo systemctl enable keepalived

三、Keepalived 基础配置

1. 主服务器配置示例

创建配置文件 /etc/keepalived/keepalived.conf:

global_defs {
    router_id LVS_MASTER  # 标识,唯一
}

vrrp_instance VI_1 {
    state MASTER          # 主节点
    interface ens33       # 网络接口名,使用 ip addr 查看
    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地址
    }
}

2. 备服务器配置示例

global_defs {
    router_id LVS_BACKUP
}

vrrp_instance VI_1 {
    state BACKUP          # 备节点
    interface ens33
    virtual_router_id 51
    priority 90# 优先级低于主节点

    advert_int 1

    authentication {
        auth_type PASS
        auth_pass 1111
    }

    virtual_ipaddress {
192.168.1.100/24
    }
}

四、Keepalived 管理命令

1. 服务管理

# 启动服务
sudo systemctl start keepalived

# 停止服务
sudo systemctl stop keepalived

# 重启服务
sudo systemctl restart keepalived

# 重载配置
sudo systemctl reload keepalived

# 查看服务状态
sudo systemctl status keepalived

# 启用开机自启
sudo systemctl enable keepalived

# 禁用开机自启
sudo systemctl disable keepalived

2. 检查进程和日志

# 查看进程
ps aux | grep keepalived

# 查看日志
sudo journalctl -u keepalived -f# 实时查看日志
sudo tail -f /var/log/messages    # CentOS 系统日志
sudo tail -f /var/log/syslog      # Ubuntu 系统日志

# 检查虚拟IP是否绑定
ip addr show | grep"192.168.1.100"

五、故障排查命令

1. 网络检查

# 检查网卡信息
ip addr show

# 检查网络接口
ifconfig -a

# 测试网络连通性
ping192.168.1.100

# 查看路由表
ip route show

# 查看ARP表
arp -a

2. Keepalived 状态检查

# 查看 Keepalived 状态
sudo keepalived -v# 查看版本
sudo keepalived -D# 调试模式运行(前台)
sudokillall-USR1 keepalived     # 重新打开日志文件
sudokillall-USR2 keepalived     # 重新初始化VRRP

六、高级配置示例

1. 健康检查配置

vrrp_script chk_nginx {
    script "/etc/keepalived/check_nginx.sh"# 检测脚本
    interval 2# 检测间隔
    weight 2# 权重
}

vrrp_instance VI_1 {
# ... 其他配置 ...

    track_script {
        chk_nginx    # 调用健康检查
    }
}

2. 检测脚本示例(check_nginx.sh)

#!/bin/bash
if [ $(ps -ef | grep nginx | grep -v grep | wc -l)-eq0 ]; then
exit1
else
exit0
fi

七、部署流程总结

  1. 安装 Keepalived

    sudo yum install keepalived -y
  2. 配置主备节点

    • 主节点:priority 值较高(如 100)

    • 备节点:priority 值较低(如 90)

  3. 配置虚拟 IP

    virtual_ipaddress {
    192.168.1.100/24
    }
  4. 启动服务

    sudo systemctl start keepalived
    sudo systemctl enable keepalived
  5. 验证配置

    ip addr show        # 查看虚拟IP
    ping192.168.1.100  # 测试连通性
  6. 故障切换测试

    停止主节点 Keepalived 服务

    观察备节点是否接管虚拟IP

最新文章

随机文章