我的一个路由器上的 keepalived VIP 停止响应。我仍然在主路由器上看到它,而不是我预期的辅助路由器,我可以 ping 常规 IP。我一重新启动 keepalived,问题就解决了。
我不太清楚是什么原因导致了这个问题,是否有任何日志级别指令可以添加到我的 keepalived 中,如果这种情况再次发生,这些指令可能会给我一些信息?
我确实看到了:
keepalived -f /usr/local/etc/keepalived.conf --dont-fork --log-console --log-detail 这些选项将停止 keepalived 的分叉,并提供额外的日志数据。当您测试新的配置指令或调试现有配置文件的问题时,使用这些选项特别有用。
所以也许我只需要编辑我的 init 文件?不过看起来它应该是一个配置文件选项。
答案1
看来您必须编辑 init 脚本。通过 git 从 keepalived.conf(5) 中获取:http://master.formilux.org/git/people/alex/keepalived.git/
# Debug level, not implemented yet.
debug
您还可以通过查看 keepalived/check/check_parser.c 中的配置解析代码来验证这一点:
265 vector
266 check_init_keywords(void)
267 {
268 /* global definitions mapping */
269 global_init_keywords();
270
271 /* SSL mapping */
272 install_keyword_root("SSL", &ssl_handler);
273 install_keyword("password", &sslpass_handler);
列出它解析的所有配置文件关键字,但调试不在这里。调试级别似乎仅通过 keepalived/core/main.c 选项处理来设置:
154 " %s --log-console -l Log message to local console.\n"
155 " %s --log-detail -D Detailed log messages.\n"
...
177 {"log-console", 'l', POPT_ARG_NONE, NULL, 'l'},
178 {"log-detail", 'D', POPT_ARG_NONE, NULL, 'D'},
...
209 case 'l':
210 debug |= 1;
211 break;
...
224 case 'D':
225 debug |= 32;
226 break;