我在Debian下运行守住 (Lenny,挤压),在一个相当简单的设置中,我只是(Ab)使用它作为VRRP守护进程来决定一些虚拟IP的两个平等机器之间的主从。所有的魔法都发生在通知脚本中。
当我完全停止守护进程(使用debian的init-script)时,它不会运行通知-脚本进行备份,或者至少是故障模式,这正是我所怀疑和需要的。
我可以用一些不想要的效果来“修复”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
}
}PS:使用“三notify_"-scripts不会改变任何事情。
PPS:在变化量g (1.1.16版)中提到了一些东西,这在某种程度上符合我的问题(虽然我没有使用任何与lvs相关的维护版本),但我使用的是一个更新的版本(1.1.20):"notify_down不是为在保持关闭的情况下运行真正的服务器而执行的。“
发布于 2012-05-08 15:13:11
翻阅了更多的文档,终于找到了它:
notify_stop "/usr/local/bin/vrrp-state fault"按预期工作..。X-}
发布于 2012-05-08 07:18:25
最近我遇到了这样一个问题,我发现不执行这些脚本是合乎逻辑的。这些脚本是在发生特定事件时执行的,比如成为主从或奴隶。保存的进程不应该被关闭,除非它是手动完成的,并且有很好的理由这样做。如果您担心保持进程失败(而不是手动关闭它),则可以使用莫尼特。它是一个很好的工具,可以监视正在运行的进程,并在有人失败时重新启动它们。
正如您所提到的,您可以简单地修改保留的启动脚本,以执行所需的脚本(比如停止其他服务)。我认为这将比修补保存的代码、自己维护代码以及每次您想重新安装/升级它时再次执行必要的修补程序更干净。
https://serverfault.com/questions/386949
复制相似问题