NetQ 故障排除

本页介绍如何对 NetQ 本身的问题进行故障排除。如果您需要更多帮助,请使用本页概述的步骤创建支持文件,并联系 NVIDIA 支持团队

浏览配置和日志文件

以下配置和日志文件包含可帮助进行故障排除的信息

文件描述
/etc/netq/netq.ymlNetQ 配置文件。仅当您在系统上安装了 netq-apps 软件包或 NetQ 代理时,才会显示此文件。
/var/log/netqd.logNetQ CLI 的 NetQ 守护程序日志文件。仅当您在系统上安装了 netq-apps 软件包时,才会显示此日志文件。
/var/log/netq-agent.logNetQ 代理日志文件。仅当您在系统上安装了 NetQ 代理时,才会显示此日志文件。

检查 NetQ 系统安装状态

netq show status verbose 命令显示安装后 NetQ 组件的状态。使用此命令验证 NetQ 系统就绪情况。

netq show status verbose

NetQ 安装和升级问题故障排除

在尝试 NetQ 安装或升级之前,请验证您的系统是否满足您的部署类型的最低 VM 要求

如果升级或安装过程停滞或失败,请运行 netq bootstrap reset 命令停止该过程,然后运行 netq install 命令重新尝试安装或升级。

错误消息部署类型解决方案
无法升级未引导的 NetQ 服务器。请重置集群并重新安装。只有已引导并具有有效 /etc/app-release 文件的服务器才能升级。
1. 运行 netq bootstrap reset 命令。
2. 根据您的部署类型运行 netq install 命令。
无法从管理应用程序获取响应。重新运行 netq upgrade bundle <text-bundle-url> 命令。如果重试失败并显示相同错误,请重置服务器并运行 install 命令
1. 运行 netq bootstrap reset 命令。
2. 根据您的部署类型运行 netq install 命令。
无法从 kubernetes api 服务器获取响应。重新运行 netq upgrade bundle <text-bundle-url> 命令。如果重试失败并显示相同错误,请重置服务器并运行 install 命令
1. 运行 netq bootstrap reset 命令
2. 根据您的部署类型运行 netq install 命令。
集群 vip 是独立升级的无效参数。单服务器netq upgrade bundle 命令中删除 cluster-vip 选项。
请提供 cluster-vip 选项并运行命令。HA 集群netq upgrade bundle 命令中包含 cluster-vip 选项。
找不到管理应用程序 pod,请重新运行命令。重新运行 netq upgrade bundle <text-bundle-url> 命令。
无法升级服务器,无法恢复,出现异常:{}本地部署备份/恢复选项仅适用于使用 自签名证书 的本地部署。
错误消息部署类型解决方案
NetQ 正在运行,版本:{}。在重新安装 NetQ 之前,请运行 bootstrap reset。NetQ 以前已安装。要安装新版本
1. 运行 netq bootstrap reset 命令。
2. 运行 netq install 命令。
未找到默认接口您的路由表中必须配置默认路由,并且关联的网络接口必须与此默认路由相对应。
未找到默认路由。请通过接口 {} 设置默认路由并重新运行安装。您的路由表中必须配置默认路由,并且关联的网络接口必须与此默认路由相对应。
默认路由通过不同的接口 {} 设置。请通过接口 {} 设置默认路由并重新运行安装。您的路由表中必须配置默认路由,并且关联的网络接口必须与此默认路由相对应。
至少需要 {} GB RAM,但检测到 {} GB RAM。根据您的部署模型要求增加 VM 资源。
至少需要 {} 个 CPU 核心,但检测到 {} 个。根据您的部署模型要求增加 VM 资源。
请释放磁盘空间,因为 {} 已使用 {}%。建议保持在 70% 以下。删除 /mnt/installables/ 目录中以前的软件 tarball 以回收空间。如果您无法将磁盘使用率降至 70% 以下,请联系 NVIDIA 支持团队。
在此 NetQ VM 上未找到启用的 vmw_pvscsi 驱动程序。请在 ESXi 服务器上重新安装 NetQ VM。VMwareNetQ VM 必须启用 vmw_pvscsi 驱动程序。
错误:引导 IP 不属于任何本地 IP用于引导的 IP 地址应来自本地网络。
错误:IP 地址不匹配。引导时使用:{} kube_Config:{} Admin_kube_config:{}引导 IP 地址必须与 kube config 和 admin kube config IP 地址匹配。
错误:时钟未同步。请检查 timedatectl系统时钟必须同步。使用 timedatectl 命令验证同步。
{} 不具备 sse4.2 功能。检查 lscpu。用于安装的 CPU 型号必须支持 SSE4.2。
已安装 NTP。请卸载 NTP,因为它会与 chrony 安装冲突。卸载 NTP 和任何其他 NTP 服务,例如 ntpd 或 SNTP。
Netqd 服务未运行在安装之前,验证 netqd 服务是否已启动并正在运行。
为 {} 和 {} 找到相同的 IP/请为集群 vip/工作节点提供不同的 IP。HA 集群集群虚拟 IP 地址 (VIP) 和工作节点 IP 地址必须唯一。
请提供工作节点 IPV6 地址以支持 IPV6。HA 集群为每个工作节点提供 IPv6 地址。
主节点未初始化。在 NetQ 安装/升级命令之前,在主节点上运行“net install cluster master-init”。HA 集群使用 netq install cluster master-init 命令初始化主节点。
工作节点 IP {} 无法访问HA 集群确保工作节点在您的网络中可访问。
工作节点 {} 未初始化。请初始化工作节点并重新运行命令。HA 集群在主节点上初始化集群后,使用 netq install cluster worker-init 命令初始化每个工作节点。
集群 VIP 不是有效的 IP 地址HA 集群提供有效的集群 IP 地址。
所有集群地址必须属于同一子网。主节点网络掩码 = {}HA 集群确保所有集群 IP 地址(主节点、工作节点和虚拟 IP)都属于同一子网。
虚拟 IP {} 已被使用HA 集群提供唯一的虚拟 IP 地址。
必须安装版本为 {} 的软件包 {}。确保 netq-apps 版本与 tarball 版本相同。
主节点已引导运行 netq bootstrap rest 命令,然后运行 netq install 命令重新尝试安装。

安装和升级 Hook 脚本

NVIDIA 可能会提供 hook 脚本来修补 NetQ 安装或升级期间遇到的问题。当您运行 netq installnetq upgrade 命令时,NetQ 会检查 /usr/bin 目录中特定的 hook 脚本文件名。NetQ 4.12.0 的预期文件名为

  • 预安装脚本:/usr/bin/pre_install_4.12.0.sh
  • 后安装脚本:/usr/bin/post_install_4.12.0.sh
  • 预升级脚本:/usr/bin/pre_upgrade_4.12.0.sh
  • 后升级脚本:/usr/bin/post_upgrade_4.12.0.sh

将脚本放置在 /usr/bin 目录后,使用 chmod +x /usr/bin/<filename> 命令设置可执行权限

cumulus@netq-server:~$ chmod +x /usr/bin/pre_install_4.12.0.sh

将脚本复制到预期路径并将其设置为可执行后,脚本将在下次安装或升级尝试期间运行。

验证代理和设备之间的连接

sudo opta-info.py 命令显示代理和设备的状态以及它们之间的连接。此命令通常在调试 NetQ 时使用。

在下面的输出中,“Opta 健康状态”列显示健康状态,这表示设备运行正常。“Opta-Gateway 通道状态”列显示设备和云端点之间的连接状态。“代理 ID”列显示连接到该设备的交换机。

cumulus@netq-appliance:~$ sudo opta-info.py
[sudo] password for cumulus:
Service IP:  10.102.57.27

Opta Health Status    Opta-Gateway Channel Status
--------------------  -----------------------------
Healthy               READY

Agent ID        Remote Address    Status      Messages Exchanged  Time Since Last Communicated
----------      ----------------  --------  --------------------  ------------------------------
switch1         /20.1.1.10:46420  UP                         906  2023-02-14 00:32:43.920000
netq-appliance  /20.1.1.10:44717  UP                        1234  2023-02-14 00:32:31.757000
cumulus@sm-telem-06:~$ sudo opta-info.py
Service IP:  10.97.49.106

Agent ID                                   Remote Address         Status      Messages Exchanged  Time Since Last Communicated
-----------------------------------------  ---------------------  --------  --------------------  ------------------------------
netq-lcm-executor-deploy-65c984fc7c-x97bl  /10.244.207.135:52314  UP                        1340  2023-02-13 19:31:37.311000
sm-telem-06                                /10.188.47.228:2414    UP                        1449  2023-02-14 06:42:12.215000
mlx-2010a1-14                              /10.188.47.228:12888   UP                          15  2023-02-14 06:42:27.003000

在 NetQ 系统上生成支持文件

opta-support 命令生成用于排查 NetQ 问题的相关信息。它提供有关 NetQ 平台配置和运行时统计信息以及 docker ps 命令的输出信息。

cumulus@server:~$ sudo opta-support
Please send /var/support/opta_support_server_2021119_165552.txz to Nvidia support.

除了 OPTA 健康数据之外,要将网络验证检查数据导出到支持包,NetQ CLI 必须使用 AuthKeys 激活。如果 CLI 访问密钥未激活,则命令输出将显示通知,并且数据收集将排除 netq show 输出

cumulus@server:~$ sudo opta-support
Access key is not found. Please check the access key entered or generate a fresh access_key,secret_key pair and add it to the CLI configuration
Proceeding with opta-support generation without netq show outputs
Please send /var/support/opta_support_server_20211122_22259.txz to Nvidia support.

在交换机和主机上生成支持文件

netq-support 命令生成用于排查主机或交换机上的 NetQ 问题的相关信息。与在 NetQ 系统上收集支持包类似,NVIDIA 支持团队可能会请求此输出,以收集有关交换机和主机状态的更多信息。

当您在运行 Cumulus Linux 的交换机上运行 netq-support 命令时,还会创建 cl-support 文件 并将其捆绑在 NetQ 支持存档中

cumulus@switch:mgmt:~$ sudo netq-support
Collecting cl-support...
Collecting netq-support...
Please send /var/support/netq_support_switch_20221220_16188.txz to Nvidia support.