keepalived

Keepalived VRRP 高可用

补充说明

keepalived 通过 VRRP 在多台主机间漂移虚拟 IP(VIP),常与 Nginx/HAProxy 组成高可用入口。它还能执行健康检查脚本,失败时降低优先级触发切换。

常用示例

keepalived -f /etc/keepalived/keepalived.conf
keepalived -t -f /etc/keepalived/keepalived.conf
keepalived -d -f /etc/keepalived/keepalived.conf
keepalived -l -f /etc/keepalived/keepalived.conf
systemctl status keepalived
ip addr show

keepalived.conf:

vrrp_script chk_nginx {
  script "/usr/bin/curl -fsS http://127.0.0.1/healthz"
  interval 2
  weight -20
}

vrrp_instance VI_1 {
  state BACKUP
  interface eth0
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
    auth_type PASS
    auth_pass secret
  }
  virtual_ipaddress {
    10.0.0.100/24
  }
  track_script {
    chk_nginx
  }
}

易错点与排错

相关命令

读完自测

合上页面,先回答,再展开对照。

  1. 两台机器都配置 state MASTER 且优先级相同会怎样?
  2. 云网络里 VRRP 组播不通,怎么处理?
  3. VIP 频繁切换,先查什么?
答案
  1. 会争抢 VIP,应明确主备策略。
  2. 必要时使用 unicast_peer。
  3. 先看网络和健康检查脚本,preempt/preempt_delay 与日志、ip addr 是第一入口。