Citrix ADC

故障排除

如果在配置负载平衡后,负载平衡没有像预期的那样工作,您可以使用一些常用工具访问Citrix ADC资源并诊断问题。

负载均衡故障诊断资源

为了获得最佳效果,请使用以下资源对Citrix ADC设备上的内容切换问题进行故障排除:

  • 最新的ns.conf文件
  • 有关newnslog文件
  • 如果可能的话,在设备和相关客户端上记录以太数据包跟踪
  • nslog文件

除了上述资源之外,以下工具还可以加快故障排除:

  • 可以显示HTTP标头的浏览器附加工具。这可用于对持久性相关问题进行故障排除。
  • Wireshark应用程序为Citrix定制的ADC跟踪文件。

故障排除负载均衡问题

  • 问题

当一个用户监视器绑定到一个绑定了-m MAC选项的虚拟服务器的服务时,CPU使用率达到100%。

  • 决议

将非用户监视器绑定到服务。

  • 问题

    我创建了一个用于监视的用户脚本,但它不起作用。

    决议

    检查脚本中参数的数量。上限是512。超过512个参数的脚本可能无法正常工作。在命令行中使用nsumon-debug.pl脚本调试该脚本。

  • 问题

    我见过很多监视器探测,它们似乎不必要地增加了网络流量。有办法关掉监视器探头吗?

    决议

    通过关闭监视器或在set service命令中将healthMonitor参数的值设置为NO,可以关闭监视器探测连接。使用NO选项,设备将服务始终显示为UP。

  • 问题

    我已经为服务设置了监视器,但是连接仍然指向DOWN的服务器。

    决议

    您可能需要减少监视器探测间隔。Citrix ADC设备在监视器发送探针之前不会检测到DOWN状态。

  • 问题

    绑定到监视器的度量存在于本地和自定义度量表中。

    决议

    如果度量是从本地度量表中选择的,则向度量名称添加本地前缀。但是,如果度量是从自定义表中选择的,则不需要添加任何前缀。

  • 问题

    监视器探测到的服务没有到达该服务。

    决议

    检查是否设置了服务的连接数限制。如果是,通过将monitorSkipMaxClient参数设置为ENABLED,使监视器-探针连接不受此限制。

  • 问题

    我能够ping通服务器,但是服务的状态总是显示为DOWN。

    决议

    检查已配置的监视器类型。例如,如果服务器没有配置SSL,而您使用HTTPS监视器,则服务的状态被标记为DOWN。在这种情况下,使用TCP监视器必须将服务的状态更改为UP。

  • 问题

    为负载监视器设置权重并不能帮助确定服务的状态。

    决议

    负载监视器无法确定服务的状态。因此,在负载监视器上设置重量是不合适的。

  • 问题

    服务不稳定。

    决议

    考虑对以下组件进行故障排除:

    • 验证服务是否绑定了正确的服务器。
    • 验证绑定到服务的监视器的类型。
    • 检查监视器故障的原因。您可以从Services页面打开一个服务,并在Configure service对话框的Monitors选项卡中验证监视器的探测次数、失败和上次响应状态的详细信息。要显示详细信息,请单击已配置的监视器。
    • 如果是自定义监视器,请将TCP或ping监视器绑定到服务,并验证监视器的状态。如果这解决了问题,则说明自定义监视器存在一些问题,需要进一步调查监视器。
    • 您可以在Citrix ADC设备上记录数据包跟踪,并验证监视器探测和服务器响应,以便进一步调查。
  • 问题

    虚拟IP (VIP)地址不稳定或状态显示为DOWN。

    决议

    考虑对以下组件进行故障排除:

    • 验证负载均衡特性是否已获得license许可。
    • 验证该特性是否已启用。
    • 验证是否将适当的服务绑定到虚拟服务器。
    • 如果VIP地址状态显示为DOWN,请确认管理员开启了该服务。如果不是,则服务的状态必须为out - service。在这种情况下,您必须启用服务并验证问题是否得到解决。
    • 验证绑定到虚拟服务器的服务,并完成针对服务不稳定问题所提到的故障排除步骤。
    • 如果VIP地址不稳定,虚拟服务器绑定的所有业务都会失败。因此,请检查所有业务是否同时出现故障。如果是这样,则Citrix ADC设备和服务器之间存在网络问题。
  • 问题

    站点负载平衡不均衡。

    决议

    考虑对以下组件进行故障排除:

    • 验证设备上配置的负载平衡方法。

    • 验证与服务关联的权重是否符合预期。

    • 如果不是轮询方式,请检查登录服务器的连接数newnslog文件。可以执行以下命令验证newnslog文件:

      # nsconmsg -K -s ConLb=2 -d oldconmsg

      验证特定虚拟服务器的服务,并检查响应时间、打开已建立的连接(OE)、请求数、持久请求和持久速率(P),以进一步排除问题。

    • 如果负载均衡方式为轮循,请根据上一步验证持久请求。另外,验证服务是否不稳定。如果不是,请执行服务不稳定问题的故障排除步骤

    • 验证是否在设备上配置了持久性。

    • 验证是否有任何服务不稳定。如果是,请按照服务不稳定的处理步骤处理。

  • 问题

    服务状态显示为DOWN。

    决议

    考虑对以下组件进行故障排除:

    • 验证是否配置了SNIP地址。
    • 验证是否将适当的监视器绑定到服务。
    • 如果服务绑定了自定义监视器,请为该服务绑定TCP或ping监视器,并验证监视器的状态。如果这解决了问题,则说明自定义监视器存在一些问题,需要进一步调查监视器。
    • 在其他子网的服务器上,检查服务状态是否显示为DOWN。如果是,请验证是否使用子网IP (USNIP)解决了问题,因为这可能是由于MIP地址无法与服务器通信。
  • 问题

    响应时间有一个问题。

    决议

    考虑对以下组件进行故障排除:

    • 通过运行以下命令,从服务状态验证服务器响应时间:

      # nsconmsg -K -s ConLb=2 -d oldconmsg

    • 检查服务是否不稳定,服务状态是否显示为DOWN问题。

  • 问题

    其中一个服务器处理的请求比其他负载均衡服务器多。

    决议

    考虑对以下组件进行故障排除:

    • 验证负载均衡方法。使用轮询方法均匀地分发客户机请求,而不管服务器上的负载如何。
    • 确定是否为负载平衡配置启用了持久性。如果启用了持久性,则给定的服务器可能会承载更重的负载来维护其会话,特别是如果持久性会话很长。
    • 验证是否为每个服务分配了权重。分配适当的权重有助于适当的负荷分配。
  • 问题

    到特定负载均衡服务器的连接将停止。例如,到一个Outlook服务器的所有连接都可能停止。

    决议

    考虑对以下组件进行故障排除:

    • 验证负载平衡方法。如果是轮循,请考虑将方法更改为最少连接数。
    • 考虑减少监视器超时时间。较短的超时时间有助于更快地将服务标记为DOWN,这将有助于将流量引导到正常工作的服务器。
    • 如果连接长时间停滞,可能会形成一个激增队列。考虑刷新激增队列,以避免服务器上的负载突然激增。
    • 如果服务器以最大级别工作,请考虑添加新服务器以获得更好的性能。
  • 问题

    大多数连接都指向特定的服务器,即使配置了用于负载平衡的最少连接方法也是如此。

    决议

    确定是否配置了持久性并且类型为源IP。即使使用最少连接方法配置源IP持久性,请求也会转到特定的服务器。维护会话信息需要服务器的IP地址。考虑使用基于HTTP cookie的持久性。

  • 故障排除技巧对于其他问题,请考虑以下提示以排除上面未列出的问题:

    • 如果多个负载监视器绑定到一个服务,则服务上的负载是绑定到它的负载监视器上的所有值的总和。要使负载平衡正常工作,必须将同一组监视器绑定到所有服务。
    • 如果关闭与服务绑定的负载监视器,并且该服务绑定了虚拟服务器,则虚拟服务器将采用轮循方式进行负载均衡。
    • 当业务绑定到负载均衡方式为CUSTOMLOAD且业务状态为UP的虚拟服务器时,虚拟服务器将使用初始轮询方式进行负载均衡。如果服务没有自定义负载监视器,或者至少有一个自定义负载监视器的状态不是UP,则继续进行轮询。
    • 所有绑定到负载平衡方法为CUSTOMLOAD的虚拟服务器的服务,必须将负载监视器绑定到它们。
    • CUSTOMLOAD负载平衡方法也遵循启动轮询。
    • 如果禁用基于指标的绑定,并且这是最后一个活动指标,则特定的虚拟服务器将使用轮询方法进行负载平衡。通过将度量阈值设置为零来禁用度量。
    • 当绑定到监视器的指标超过阈值时,将不考虑该特定服务进行负载平衡。如果所有业务都达到阈值,则虚拟服务器采用轮循方式进行负载均衡,并返回错误提示“5xx - server busy error”。
    • 最多可以将来自自定义表的10个指标绑定到监视器。
    • oid必须是标量变量。
    • 为了实现成功的负载均衡,间隔时间必须尽可能短。如果间隔较高,则检索负载值的时间周期会增加。因此,使用不正确的值进行负载平衡。
    • 用户不能修改本地表。
故障排除