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)。

流程

  1. 为节点启动 debug pod:

    $ oc debug node/<node_name>
  2. /host 设置为 debug shell 中的根目录。debug pod 从 pod 中的 /host 中的主机挂载 root 文件系统。将根目录改为 /host,您可以从主机文件系统中运行二进制文件:

    # chroot /host
  3. 查看 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
    ...

  4. 指定 /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> 设置为 offemererrwarninfodbgoff 日志级别会过滤掉所有日志消息。

  5. 重启服务:

    # systemctl daemon-reload
    # systemctl restart ovs-vswitchd
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.