在 Keepalived.conf 中记录详细信息?

Kyl*_*ndt 6 networking linux keepalived

我的其中一台路由器上的 keepalived VIP 停止响应。我仍然在主路由器上看到它,而不是像我期望的那样在辅助路由器上看到它,我可以 ping 常规 IP。一旦我重新启动keepalived,问题就解决了。

我不太确定是什么导致了这个问题,是否有任何日志级别的指令可以添加到我的 keepalived 中,如果再次发生这种情况可能会给我一些信息?


我确实看到:

keepalived -f /usr/local/etc/keepalived.conf --dont-fork --log-console --log-detail 这些选项将阻止keepalived分叉,并提供额外的日志数据。当您测试新的配置指令或调试现有配置文件的问题时,使用这些选项特别有用。

所以也许我只需要编辑我的 init 文件?似乎它应该是一个配置文件选项。

pol*_*ial 1

看来您必须编辑初始化脚本。通过 git 从 keepalived.conf(5) 获取:http://master.formilux.org/git/people/alex/keepalived.git/

       # Debug level, not implemented yet.
       debug
Run Code Online (Sandbox Code Playgroud)

您还可以通过查看 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);
Run Code Online (Sandbox Code Playgroud)

列出了它解析的所有配置文件关键字,debug 不在此处。调试级别似乎只能通过 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;
Run Code Online (Sandbox Code Playgroud)