NetQ 故障排除
本页介绍如何对 NetQ 本身的问题进行故障排除。如果您需要更多帮助,请使用本页概述的步骤创建支持文件,并联系 NVIDIA 支持团队。
浏览配置和日志文件
以下配置和日志文件包含可帮助进行故障排除的信息
文件 | 描述 |
---|---|
/etc/netq/netq.yml | NetQ 配置文件。仅当您在系统上安装了 netq-apps 软件包或 NetQ 代理时,才会显示此文件。 |
/var/log/netqd.log | NetQ CLI 的 NetQ 守护程序日志文件。仅当您在系统上安装了 netq-apps 软件包时,才会显示此日志文件。 |
/var/log/netq-agent.log | NetQ 代理日志文件。仅当您在系统上安装了 NetQ 代理时,才会显示此日志文件。 |
检查 NetQ 系统安装状态
netq show status verbose
命令显示安装后 NetQ 组件的状态。使用此命令验证 NetQ 系统就绪情况。
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。 | VMware | NetQ 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 install
或 netq 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.