安装 Sun Cluster HA for Apache 之前,请更新 Apache 配置文件 httpd.conf 中的以下信息。
httpd.conf 文件的位置随安装的不同而异。系统管理员通常在群集文件系统中安装 httpd.conf 文件。缺省安装将 httpd.conf 文件放在 /usr/local/apache/conf 目录中。当安装与 Solaris 一起绑定的 Apache 软件包时,该文件将位于 /etc/apache 目录中。
包含主机名的 ServerName 指令 – 为使 Sun Cluster HA for Apache 获得高可用性,您必须将此指令设置为用于访问服务器的网络地址的名称(逻辑主机名或共享地址)。在安装群集时,您应该已经设置了逻辑主机名或共享地址。有关网络资源的详细信息,请参见《Sun Cluster 概念指南(适用于 Solaris OS)》文档。
BindAddress 指令,必须设置为逻辑主机或共享地址 – 您可以将 Apache 配置为绑定到 INADDR_ANY。但是,每个资源必须绑定到网络资源和端口号的唯一组合。例如,如果运行多个资源,则在每个资源的端口号不同时可以使用 INADDR_ANY。
ServerType 指令 – 必须将此指令设置为缺省值 standalone。
多个 Apache 实例 – 如果有多个 Apache 实例,必须使用单独的资源管理每个实例。此外,每个单独的资源必须具有唯一的 Bin_dir 设置。在指定的用于启动特定 Apache 实例的 Bin_dir 特性下,必须存在一个 apachect1 脚本。
不同的 Apache 资源可以共享同一 httpd 二进制文件,即不同资源的 apachect1 脚本可以指定同一 httpd 二进制文件的路径。但是,您必须修改每个 apachect1 脚本以针对特定的 Apache 资源使用不同的配置文件。要执行此操作,请使用 httpd 命令的 -f 选项来指定特定的 httpd.conf 文件。
用于指定文档根目录的位置的 DocumentRoot 指令 – 此指令是指向群集文件系统中安装了 HTML 文档的位置的指针。
用于包含 cgi-bin 目录在群集文件系统中位置的 ScriptAlias 指令 – 此指令是指向安装了 cgi-bin 文件的群集文件系统中某个位置的指针。
为 Web 服务器配置 URL 映射时,必须遵循特定的惯例。例如,在设置 CGI 目录时,在群集文件系统中确定 CGI 目录的位置可以保留可用性。例如,您可以将 CGI 目录映射到 /global/diskgroup/ServerRoot/cgi-bin,其中 diskgroup 是包含 Apache 软件的磁盘设备组。在 CGI 程序可以访问“后端”服务器(例如 RDBMS)的情况下,请确保 Sun Cluster 软件可以控制“后端”服务器。如果服务器是 Sun Cluster 软件支持的 RDBMS,请使用高可用性 RDBMS 软件包之一。或者,您可以使用《Sun Cluster 数据服务开发者指南(适用于Solaris OS)》中介绍的 API 将服务器置于 Sun Cluster 的控制下。
锁定文件 – 如果使用锁定文件,请将 httpd.conf 文件中 LockFile 指令的值设置为本地文件。
PidFile 指令 – 将此指令指向本地文件,如下例所示。
PidFile /usr/local/apache/log/httpd.pid |
一个或多个服务器端口可访问的 Port 指令设置 – 在每个节点的 httpd.conf 文件中设置缺省值。Port_list 资源特性必须包含 httpd.conf 文件指定的所有端口。
Port_list 特性假设 Web 服务器为在 Network_resources_used 特性中定义的网络资源的端口和 IP 地址的所有组合提供服务。
Port_list=”80/tcp,443/tcp,8080/tcp” |
例如,前面的 Port_list 配置将探测以下 IP 端口组合。
主机 |
端口 | 协议 |
node1 |
80 |
tcp |
node1 |
443 |
tcp |
node1 |
8080 |
tcp |
node2 |
80 |
tcp |
node2 |
443 |
tcp |
node2 |
8080 |
tcp |
但是,如果 node1 仅为端口 80 和 443 提供服务,并且 node2 仅为端口 80 和 8080 提供服务,则可以按以下方式为 Apache 配置 Port_list 特性。
Port_list=node1/80/tcp,node1/443/tcp,node2/80/tcp,node2/8080/tcp |
请注意以下规则。
必须为 node1 和 node2 指定主机名或 IP 地址(不是网络资源名称)。
如果 Apache 可以为 Network_resources_used 特性中的每个 nodeN 的 nodeN/port 提供服务,则可以使用一个简捷形式替换 node1/port1、node2/port2 等组合。请参见以下示例。
示例一
Port_list=”80/tcp,node1/443/tcp,node2/8080/tcp” Network_resources_used=node1,node2 |
主机 |
端口 | 协议 |
node1 |
80 |
tcp |
node1 |
443 |
tcp |
node2 |
80 |
tcp |
node2 |
8080 |
tcp |
示例二
Port_list=”node1/80/tcp,node2/80/tcp” Network_resources_used=net-1,net-2 #net-1 contains node1. #net-2 contains node2 and node3. |
主机 |
端口 | 协议 |
node1 |
80 |
tcp |
node2 |
80 |
tcp |
Port_list 特性指定的所有主机名(IP 地址)不能属于在任何其他可伸缩资源的 Network_resources_used 特性中指定的网络资源。否则,一旦可伸缩服务检测到另一个可伸缩资源已使用某个 IP 地址,创建 Apache 资源就会失败。
如果运行 Sun Cluster HA for Apache 和另一个 HTTP 服务器,请将 HTTP 服务器配置为在不同端口上进行侦听。否则,在两个服务器之间会发生端口冲突。
要注册和配置 Sun Cluster HA for Apache,必须考虑或提供有关以下各条目的信息。
确定将 Sun Cluster HA for Apache 作为故障转移数据服务还是可伸缩数据服务运行。
确定要安装 Apache Webserver 的安全版本还是不安全版本。
确定要设置哪些故障监视资源特性(例如 Thorough_probe_interval 或 Probe_timeout 特性)。多数情况下,设置为缺省值即可。有关这些特性的信息,请参见配置 Sun Cluster HA for Apache 扩展特性。
提供 Sun Cluster HA for Apache 的资源类型的名称。此名称为 SUNW.apache。
提供将控制数据服务的群集节点的名称。
提供客户机用于访问数据服务的逻辑主机名(故障转移服务)或共享地址(可伸缩服务)。通常是在安装群集时设置此 IP 地址。有关网络资源的详细信息,请参见《Sun Cluster 概念指南(适用于 Solaris OS)》文档。
提供应用程序二进制的路径。您可以在本地磁盘上或群集文件系统中安装二进制。有关每个位置优缺点的讨论,请参见《Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“Sun Cluster 数据服务配置准则”。
修改每份 apachect1 以使用相应的 httpd.conf 配置文件。
当您更改联机可伸缩服务(Load_balancing_policy 特性已设置为 LB_STICKY 或 LB_STICKY_WILD)的 Load_balancing_weights 特性时,请千万小心。在该服务处于联机状态时更改这些特性会导致现有的客户机关系被重置,因此另一个节点可能会为随后的客户机请求提供服务,即使其他群集成员先前已经为该客户机提供了服务。
同样,在群集上启动该服务的新实例时,现有的客户机关系可能会被重置。
确定 Port_list 特性的条目。Port_list 特性可以有多个条目。有关详细信息,请参见如何注册和配置 Sun Cluster HA for Apache。
确定是否使用 Monitor_Uri_List 扩展特性。此扩展特性使您可以监视 URI 的任意列表。如果您需要 Sun Cluster HA for Apache 代理探测来监视在 Sun Cluster HA for Apache 服务器上部署的任何应用程序 (URI),则监视任意 URI 是很有用的。Sun Cluster HA for Apache 的安全实例不支持使用 Monitor_Uri_List 扩展特性。要使用此特性,您必须安装 3.1 10/03 版本的 Sun Cluster HA for Apache。如果您要从 Sun Cluster HA for Apache 的早期版本进行升级,则必须执行资源类型升级过程以使用新的特性。有关说明,请参见《Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“升级资源类型”。有关可选的扩展特性设置和 Monitor_Uri_List 使用示例的详细信息,请参见配置 Sun Cluster HA for Apache 扩展特性。