售前咨询400-838-0503

Linux系统如何安装和配置Keepalived?

技术文档 2025-05-09 06:40

Linux系统下Keepalived的安装与配置全攻略

在构建高可用集群时,Keepalived是Linux系统管理员不可或缺的工具。本文将详细介绍从零开始安装配置Keepalived的全过程,包含实际案例和常见问题解决方案。

一、Keepalived简介与工作原理

Keepalived是基于VRRP协议实现的高可用解决方案,通过虚拟IP(VIP)漂移技术确保服务不间断。其核心组件包括:

  • VRRP Stack - 负责主备节点状态维护
  • Health Checking - 服务健康状态检测
  • SMTP通知 - 故障报警机制

📌 典型应用场景:Web服务器集群、MySQL主从切换、负载均衡器热备

二、安装前准备

1. 环境要求

# 系统版本检查
cat /etc/redhat-release  # CentOS/RHEL
lsb_release -a            # Ubuntu/Debian

2. 依赖安装

# CentOS/RHEL
yum install -y gcc openssl-devel popt-devel ipvsadm

# Ubuntu/Debian
apt-get install -y build-essential libssl-dev libpopt-dev ipvsadm

三、Keepalived安装步骤

方法1:通过包管理器安装

# CentOS/RHEL
yum install -y keepalived

# Ubuntu/Debian
apt-get install -y keepalived

方法2:源码编译安装(推荐获取最新版本)

wget http://www.keepalived.org/software/keepalived-2.2.4.tar.gz
tar zxvf keepalived-*.tar.gz
cd keepalived-2.2.4
./configure --prefix=/usr/local/keepalived
make && make install

四、详细配置指南

1. 主节点配置示例

vim /etc/keepalived/keepalived.conf

global_defs {
    router_id LVS_MASTER  # 唯一标识
}

vrrp_instance VI_1 {
    state MASTER          # 主节点
    interface eth0        # 监听的网卡
    virtual_router_id 51  # 虚拟路由ID(0-255)
    priority 100          # 优先级(主>备)
    advert_int 1          # 检测间隔(秒)
    
    authentication {
        auth_type PASS
        auth_pass 1111    # 认证密码
    }
    
    virtual_ipaddress {
        192.168.1.100/24  # 虚拟IP
    }
}

2. 备节点配置差异

  • 修改state BACKUP
  • 降低priority 90
  • 保持其他参数完全一致

五、高级配置技巧

1. 服务健康检测

vrrp_script chk_nginx {
    script "/usr/bin/killall -0 nginx" # 检测nginx进程
    interval 2                         # 每2秒检测一次
    weight -20                         # 失败时优先级降低20
}

track_script {
    chk_nginx  # 引用检测脚本
}

2. 邮件报警配置

global_defs {
    notification_email {
        [email protected]
    }
    notification_email_from keepalived@localhost
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
}

六、服务管理与故障排查

1. 服务控制命令

systemctl start keepalived    # 启动服务
systemctl status keepalived   # 查看状态
journalctl -u keepalived -f   # 实时日志

2. 常见问题解决

问题现象 解决方案
VIP不漂移 检查防火墙规则,确认VRRP协议(112)未被拦截
脑裂现象 配置unicast_specific_ip进行单播通信
服务频繁切换 调整advert_int和priority参数

七、总结与最佳实践

  1. 生产环境建议使用最新稳定版本(当前2.2.x)
  2. 重要配置变更前备份.conf文件
  3. 配合监控系统如Prometheus实现可视化
  4. 定期进行故障转移演练

通过本文的详细指导,您应该已经掌握了Keepalived的核心配置方法。实际部署时请根据具体网络环境调整参数,更多高级功能可参考官方文档。

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单