7.5.2. Open vSwitch 问题故障排除
若要对一些 Open vSwitch (OVS) 问题进行故障排除,您可能需要配置日志级别以包含更多信息。
如果临时修改节点上的日志级别,请注意您可以像以下示例一样从节点上的机器配置守护进程接收日志消息:
E0514 12:47:17.998892 2281 daemon.go:1350] content mismatch for file /etc/systemd/system/ovs-vswitchd.service: [Unit]
为避免与不匹配相关的日志消息,请在完成故障排除后恢复日志级别更改。
7.5.2.1. 临时配置 Open vSwitch 日志级别
对于短期故障排除,您可以临时配置 Open vSwitch (OVS) 日志级别。以下流程不需要重启该节点。另外,每当您重新引导节点时,配置更改都不会保留。
执行此步骤更改日志级别后,您可以接收来自机器配置守护进程的日志消息,该守护进程指出 ovs-vswitchd.service
的内容不匹配。要避免日志消息,请重复此步骤,并将日志级别设置为原始值。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
为节点启动 debug pod:
$ oc debug node/<node_name>
将
/host
设置为 debug shell 中的根目录。debug pod 从 pod 中的/host
中的主机挂载 root 文件系统。将根目录改为/host
,您可以从主机文件系统中运行二进制文件:# chroot /host
查看 OVS 模块的当前 syslog 级别:
# ovs-appctl vlog/list
以下示例输出显示了 syslog 设置为
info
的日志级别。输出示例
console syslog file ------- ------ ------ backtrace OFF INFO INFO bfd OFF INFO INFO bond OFF INFO INFO bridge OFF INFO INFO bundle OFF INFO INFO bundles OFF INFO INFO cfm OFF INFO INFO collectors OFF INFO INFO command_line OFF INFO INFO connmgr OFF INFO INFO conntrack OFF INFO INFO conntrack_tp OFF INFO INFO coverage OFF INFO INFO ct_dpif OFF INFO INFO daemon OFF INFO INFO daemon_unix OFF INFO INFO dns_resolve OFF INFO INFO dpdk OFF INFO INFO ...
指定
/etc/systemd/system/ovs-vswitchd.service.d/10-ovs-vswitchd-restart.conf
文件中的日志级别:Restart=always ExecStartPre=-/bin/sh -c '/usr/bin/chown -R :$${OVS_USER_ID##*:} /var/lib/openvswitch' ExecStartPre=-/bin/sh -c '/usr/bin/chown -R :$${OVS_USER_ID##*:} /etc/openvswitch' ExecStartPre=-/bin/sh -c '/usr/bin/chown -R :$${OVS_USER_ID##*:} /run/openvswitch' ExecStartPost=-/usr/bin/ovs-appctl vlog/set syslog:dbg ExecReload=-/usr/bin/ovs-appctl vlog/set syslog:dbg
在前面的示例中,日志级别设置为
dbg
。修改最后两行,将syslog:<log_level>
设置为off
、emer
、err
、warn
、info
或dbg
。off
日志级别会过滤掉所有日志消息。重启服务:
# systemctl daemon-reload
# systemctl restart ovs-vswitchd