用于 Sun Java System Web Server 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

调整 Sun Cluster HA for Sun Java System Web Server 故障监视器

表示 Sun Java System Web Server 的资源中包含 Sun Cluster HA for Sun Java System Web Server 故障监视器。您可以在注册和配置 Sun Cluster HA for Sun Java System Web Server 时创建此资源。有关更多信息,请参见注册和配置 Sun Cluster HA for Sun Java System Web Server

此资源的系统属性和扩展属性控制故障监视器的行为。这些属性的缺省值确定了故障监视器的预设行为。预设行为应该适用于大多数 Sun Cluster 安装。因此,在需要修改预设行为时才应该调整 Sun Cluster HA for Sun Java System Web Server 故障监视器。

有关更多信息,请参见以下各节。

探测期间故障监视器的操作

用于 Sun Cluster HA for Sun Java System Web Server 的探测通过使用对服务器的请求来查询该服务器的健康状况。在探测实际查询服务器之前,将进行检查以确认已针对此 Web 服务器资源配置了网络资源。如果未配置网络资源,探测将记录一条错误消息 (No network resources found for resource),并以失败结束。

探测必须进行 Sun Java System Web Server 的以下两项配置。

如果 Web 服务器处于安全模式而探测无法从配置文件获得安全端口,探测将记录一条错误消息 (Unable to parse configuration file),并以失败结束。安全实例和不安全实例的探测包含通用步骤。

Sun Java System Web Server 资源上的 Network_resources_used 资源属性设置确定了 Web 服务器使用的 IP 地址集。Port_list 资源属性设置确定了 Sun Java System Web Server 使用的端口号列表。故障监视器假设 Web 服务器正在 IP 和端口的所有组合上进行侦听。如果您将 Web 服务器配置定制为在端口 80 以及其他端口号上进行侦听,请确保作为结果的配置文件 (magnus.conf) 包含 IP 地址和端口的所有可能组合。如果 Web 服务器未在特定的 IP 地址和端口组合上进行侦听,则故障监视器将尝试探测所有这些组合,并可能会失败。

如果探测无法使用指定的 IP 地址和端口组合连接到 Web 服务器,探测将完全失败。探测将记录失败并采取相应的操作。

如果探测连接成功,探测将检查 Web 服务器是否以安全模式运行。如果是,探测将断开连接并以成功状态返回。将不再对安全 Sun Java System Web Server 执行进一步的检查。

但是,如果 Web 服务器正以不安全模式运行,探测将向 Web 服务器发送 HTTP 1.0 HEAD 请求并等待响应。请求会因各种原因而失败,包括网络通信繁忙、系统负载大和配置错误。

当 Web 服务器未配置为在要探测的所有 IP 地址和端口组合上进行侦听时,则会出现配置错误。Web 服务器应该为针对此资源指定的每个 IP 地址的每个端口提供服务。

如果创建资源时未正确设置 Network_resources_usedPort_list 资源属性,也可能导致出现配置错误。

如果未在 Probe_timeout 资源时间限制内接收到对查询的回复,探测将认为此次探测是 Sun Cluster HA for Sun Java System Web Server 出了故障。该故障将被记录在探测的历史记录中。

探测故障可以是完全失败,也可以是部分失败。以下探测故障被认为是完全失败。

监视器将在资源属性间隔 Retry_interval 内累计两个此类部分失败,并将它们计为一次失败。

以下探测故障被认为是部分失败。

探测将连接到 Sun Java System Web Server 服务器并通过向 Monitor_Uri_List 中的每个 URI 发送 HTTP 请求来执行 HTTP 1.1 GET 检查。如果 HTTP 服务器返回的代码是 500(内部服务器错误)或者如果连接失败,探测将采取操作。

HTTP 请求的结果可能是失败,也可能是成功。如果所有请求都成功地从 Sun Java System Web Server 服务器收到了应答,则探测将返回并继续下一轮探测和休眠。

网络通信繁忙、系统负载大和配置错误均会导致 HTTP GET 探测失败。如果 Monitor_Uri_List 中的 URI 包含错误的端口或主机名,则 Monitor_Uri_List 属性的配置错误会导致失败。例如,如果 Web 服务器实例要在逻辑主机 schost-1 上进行侦听,并且 URI 已被指定为 http://schost-2/servlet/monitor,则探测将尝试联系 schost-2 以请求 /servlet/monitor

基于故障的历史记录,故障会导致本地重新启动或数据服务的故障转移。《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Tuning Fault Monitors for Sun Cluster Data Services”对此操作进行了详细说明。