排除工作负载平衡故障

Last published : Oct 07, 2026
尽管工作负载平衡通常运行顺畅,但本系列章节提供了在您遇到问题时的指导。
注意:
  • 工作负载平衡适用于 XenServer® 高级版客户。有关 XenServer 许可的更多信息,请参阅许可。要升级或获取 XenServer 许可证, 请访问 XenServer 网站。
  • 工作负载平衡 8.4.1 与 XenServer 8.4 和 XenServer 9 兼容。

确定工作负载平衡虚拟设备的状况

运行 systemctl status workloadbalancing 命令。有关更多信息,请参阅 工作负载平衡命令。

常规故障排除技巧

  • 通过查看工作负载平衡日志文件(LogFile.log 和 wlb_install_log.log)开始故障排除。您 可以在工作负载平衡虚拟设备中的此位置(默认情况下)找到这些日志:
    /var/log/wlb
    这些日志文件的详细程度可以通过使用 wlb.conf 文件进行配置。有关更多信息,请参阅 增加工作负载平衡日志中的详细信息。
  • 检查 XenCenter® 通知 > 事件视图中的日志以获取更多信息。
  • 要检查工作负载平衡虚拟设备的内部版本号,请在虚拟设备监控的池中的主机上运行以下命令,该主机 由虚拟设备监控:
    xe pool-retrieve-wlb-diagnostics | more
    工作负载平衡版本号显示在输出的顶部。
  • 工作负载平衡虚拟设备基于 CentOS 操作系统。如果您在虚拟设备中遇到与 CPU、内存或 磁盘相关的问题,您可以使用 /var/log/* 中的标准 Linux 日志来分析 问题。
  • 使用标准的 Linux 调试和性能调优命令来了解虚拟设备的行为。例如, top、ps、free、sar 和 netstat。

错误消息

Workload Balancing 在屏幕上以对话框形式显示错误,并在 XenCenter 的 通知 > 事件 视图中显示错误消息。
如果出现错误消息,请查看 XenCenter 事件日志以获取更多信息。有关更多信息,请参阅 XenCenter 产品文档。

输入 Workload Balancing 凭据时出现问题

如果在配置 连接到 WLB 服务器 对话框时无法成功输入虚拟设备用户帐户和密码,请尝试以下操作:
  • 确保 Workload Balancing 虚拟设备已正确导入和配置,并且其所有 服务都在运行。
  • 检查以确保您输入了正确的凭据。连接到 WLB 服务器 对话框要求输入两种 不同的凭据:
    • WLB 服务器凭据:XenServer 使用此帐户与 Workload Balancing 通信。您在 Workload Balancing 配置期间在 Workload Balancing 虚拟设备上创建了 此帐户。默认情况下, 此帐户的用户名为 wlbuser。
    • XenServer 凭据:此帐户由 Workload Balancing 虚拟设备用于连接到 XenServer 池。此帐户在 XenServer 池协调器上创建,并具有 pool-admin 或 pool-operator 角色。
  • 您可以在 地址 框中输入 Workload Balancing 虚拟设备的主机名或 FQDN,但此 地址必须是运行 XenCenter 的 Windows 系统可以解析和访问的地址。不要输入托管设备的物理服务器的 主机名。如果您的 FQDN 没有 DNS 条目,则必须改用 Workload Balancing 设备的 IP 地址进行连接。
  • 验证主机是否正在使用正确的 DNS 服务器,并且 XenServer 主机可以使用其 FQDN 联系 Workload Balancing 服务器。要执行此检查,请从 XenServer 主机使用 Workload Balancing 设备的 FQDN ping 该设备。 例如,在 XenServer 主机控制台中输入以下内容:
    ping wlb-vpx-1.mydomain.net

证书问题

XenServer 8.4 及更高版本默认启用证书验证。要将 Workload Balancing 虚拟 设备与 XenServer 连接,您必须将 Workload Balancing 证书导入到您的 XenServer 池中。
如果您的池无法连接到 Workload Balancing,请通过禁用 Workload Balancing 的证书检查来验证您的证书配置是否是 原因:
  1. 获取池 UUID:
    xe pool-list
  2. 禁用证书验证:
    xe pool-param-set wlb-verify-cert=false uuid=<uuid_of_pool>
如果您的池在关闭证书验证的情况下可以连接到 Workload Balancing,则问题出在您的 证书配置上。如果无法连接,则问题出在您的 Workload Balancing 凭据或您的 网络连接。请联系支持人员或参阅 Workload Balancing 故障排除 以获取更多信息。
解决问题后,请务必再次启用证书检查:
  1. 获取池 UUID:
    xe pool-list
  2. 启用证书验证:
    xe pool-param-set wlb-verify-cert=true uuid=<uuid_of_pool>

防火墙问题

如果 Workload Balancing 虚拟设备位于硬件防火墙后面,并且您未 配置相应的防火墙设置,则会出现以下错误: “连接到 Workload Balancing 服务器时出错: <池 名称> 单击 初始化 WLB 以重新初始化连接设置。” 如果 Workload Balancing 设备无法访问,也可能会出现此错误。
如果 Workload Balancing 虚拟设备位于防火墙后面,请打开端口 8012。
同样,XenServer 用于联系 Workload Balancing 的端口(默认为 8012),必须与 您运行 Workload Balancing 配置向导时指定的端口号匹配。

Workload Balancing 连接错误

如果在配置并连接到 Workload Balancing 后收到连接错误,则凭据可能不再 有效。要隔离此问题:
  1. 验证您在 连接到 WLB 服务器 对话框中输入的凭据是否正确。有关 详细信息,请参阅方案 1 和 2。
  2. 验证您在 连接到 WLB 服务器 对话框中输入的 Workload Balancing 虚拟设备的 IP 地址或 FQDN 是否正确。
  3. 验证您在 Workload Balancing 配置期间创建的用户名是否与您在 连接到 WLB 服务器 对话框中输入的凭据匹配。
  4. 如果在 WLB 选项卡上的“工作负载平衡状态”行中收到连接错误,您可能需要 重新配置该池上的工作负载平衡。单击 WLB 选项卡上的“连接”按钮并重新输入主机 凭据。
尝试从 XenCenter 连接到 工作负载平衡虚拟设备时,您可能会遇到以下情况之一。

场景 1

这意味着在“连接到 WLB 服务器”对话框的“XenServer 凭据”字段中输入的凭据 不正确。要解决此问题,请仔细检查凭据或选中“使用当前 XenCenter 凭据” 复选框。

场景 2

这意味着在尝试连接到工作负载平衡虚拟设备时, 在“连接到 WLB 服务器”对话框的“WLB 服务器凭据”字段中输入的凭据存在问题( 用户名或密码不正确)。但是,这也可以意味着工作负载平衡服务未 运行或数据库配置文件存在问题。
要解决凭据问题,请确保您使用的是正确的用户名和密码。WLB 服务器凭据字段的默认用户名是 wlbuser(不是 root)。Root 是默认的管理员用户名。请注意, wlbuser 不是设备中具有登录权限的实际用户(它不存在于 /etc/passwd 下), 因此这些凭据仅用于连接到工作负载平衡本身。因此,可以通过 运行 wlbconfig 命令轻松重置它们。要更改您的凭据,请参阅 更改工作负载平衡凭据。 要运行 wlbconfig 命令,您必须能够以 root 身份登录设备。如果 root 密码未知, 可以使用常规的 CentOS/RHEL 密码恢复过程进行重置。
如果您已重置凭据但错误仍然存在:
  1. 使用 systemctl status workloadbalancing 命令检查工作负载平衡进程是否正在运行。
  2. 通过运行此命令确保 wlb.conf 文件存在且位于正确的目录中: cat /opt/vpx/wlb/wlb.conf

场景 3

这表示从 XenCenter 连接到工作负载平衡时,连接到“服务器地址”选项下指定的端口存在问题( 输入的端口不正确或端口未侦听)。 要解决此问题:
  1. 确保目标设备已启动并正在运行。
  2. 仔细检查在工作负载平衡连接详细信息窗口中输入的端口(默认值为 8012)。
  3. 确保此端口在设备中已启用并正在侦听。使用 telnet <host> <port> 或 iptables -L 等命令来帮助确定端口是否正在侦听,或者此端口上的流量是否被拒绝。

场景 4

当 stunnel 出现问题(例如未运行或证书/密钥对 不正确)时,会发生此错误。要解决此问题,请首先验证证书和密钥:
  1. 运行以下命令确认证书未过期:
    openssl x509 -dates -in $(grep cert\ = /etc/stunnel/stunnel.conf |cut -d '=' -f2) -noout
  2. 比较以下 2 个命令输出中的十六进制值。如果输出不匹配,则表示 正在使用错误的密钥。
    openssl x509 -modulus -in $(grep cert\ = /etc/stunnel/stunnel.conf |cut -d '=' -f2) -noout | openssl md5
    和
    openssl rsa -modulus -in $(grep key\ = /etc/stunnel/stunnel.conf | cut -d '=' -f2) -noout | openssl md5
如果证书和密钥没有问题,请确保 stunnel 正在运行并绑定到端口 8012(或 配置的端口):
  1. 在 WLB 设备 CLI 中运行以下命令:
    netstat -tulpn
    在输出中,8012(或自定义端口)应显示 status: LISTEN。
  2. 如果设备空间不足,stunnel 将无法运行。使用 df -h 或 du -hs /* 等命令查看您 的设备上是否有足够的可用空间。要增加磁盘空间,请参阅 扩展虚拟设备磁盘。

场景 5

此错误可能因为 stunnel 进程已终止而发生。如果重启该进程产生相同结果, 请重启 Workload Balancing 虚拟设备。

其他任何错误

如果您在尝试连接到 Workload Balancing 时遇到任何其他错误,或者需要进一步的帮助 执行上述步骤,请收集 Workload Balancing 日志,这些日志位于 /var/log/wlb 目录下 在 Workload Balancing 设备中。
请联系支持人员以获得进一步的帮助。

Workload Balancing 停止工作

如果 Workload Balancing 无法正常工作(例如,不允许您保存设置更改),请检查 Workload Balancing 日志文件以查找以下错误消息:
dwmdatacolsvc.exe: Don't have a valid pool. Trying again in 10 minutes.
此错误通常发生在具有一个或多个问题 VM 的池中。当 VM 出现问题时,您可能会看到 以下行为:
  • Windows。Windows VM 因停止错误(“蓝屏”)而崩溃。
  • Linux。Linux VM 在控制台中可能无响应,并且通常不会关机。
要解决此问题:
  1. 强制关闭 VM。为此,您可以在具有问题 VM 的主机上执行以下操作之一:
    • 在 XenCenter 中,选择 VM,然后从 VM 菜单中单击 强制关机。
    • 运行 vm-shutdown xe 命令并将 force 参数设置为 true。例如:
      xe vm-shutdown  force=true  uuid=vm_uuid
      您可以在该主机的常规选项卡(在 XenCenter 中)上找到主机 UUID,或者通过运行 host-list xe 命令。您可以在 VM 的常规选项卡中找到 VM UUID,或者通过运行 vm-list xe 命令。 有关详细信息,请参阅命令行界面。
  2. 在为崩溃的 VM 提供服务的 XenServer 的 xsconsole 中或在 XenCenter 中,将所有 VM 迁移到另一台主机,然后 运行 xe-toolstack-restart 命令。(在启用 HA 时不要重新启动 toolstack。如果可能, 请在重新启动 toolstack 之前暂时禁用 HA。)

更改工作负载平衡服务器时出现的问题

如果您在未从工作负载平衡断开连接的情况下将池连接到不同的工作负载平衡服务器,则旧 的和新的工作负载平衡服务器都会监视该池。
要解决此问题,您可以执行以下操作之一:
  • 关闭并删除旧的工作负载平衡虚拟设备。
  • 手动停止工作负载平衡服务。这些服务包括分析、数据收集器和 Web 服务。
注意:
请勿使用 pool-deconfigure-wlb xe 命令将池从工作负载平衡虚拟设备断开连接 或使用 pool-initialize-wlb xe 命令指定其他设备。