keepalived 关闭 - 在守护程序关闭时不运行“通知”钩子

Mic*_*nik 3 debian keepalived

我在 Debian(Lenny、Squeeze)下以相当简单的设置运行keepalived,我只是(ab)将它用作 VRRP 守护程序来决定某些虚拟 IP 的两台相同机器之间的主控权。所有的魔法都发生在notify脚本中。

当我完全停止守护进程(使用 debian 的 init-script)时,keepalived 不会运行用于备份或至少故障模式的通知脚本,这是我怀疑和需要的。

我可以用一些不需要的效果“修复” rc 脚本 - 通知脚本将被硬编码到 rc 脚本中,从而引入了这两者的不必要的耦合以及将补丁移植到下一个 debian 版本的混乱,所以这是不是我真正想要的方式...

对此问题的更清洁解决方案的任何提示?

vrrp_instance FOORRP {
  virtual_router_id 42
  interface eth0
  state BACKUP
  priority 200
  nopreempt
  authentication {
    auth_type AH
    auth_pass foobar42
  }
  notify "/usr/local/bin/vrrp-state"
  virtual_ipaddress {
    127.0.0.2
  }
}
Run Code Online (Sandbox Code Playgroud)

PS:使用“三个notify_”脚本不会改变任何东西

PPS:在变更日志(1.1.16 版)中提到了一些内容,它以某种方式适合我的问题(虽然我没有在 keepalived 中使用任何与 lvs 相关的东西),但我使用的是更新版本(1.1.20):“notify_down不会为在 keepalived 关闭时工作的真实服务器执行。”

Mic*_*nik 5

翻阅了更多文档,终于找到了:

notify_stop "/usr/local/bin/vrrp-state fault"
Run Code Online (Sandbox Code Playgroud)

按预期工作.... X-}