用于 Apache 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

安装和配置 Sun Cluster HA for Apache

本章介绍了在 Sun Cluster 服务器上安装和配置 Sun Cluster HA for Apache 的步骤。

本章包含以下过程。

您可以将 Sun Cluster HA for Apache 配置为故障转移数据服务或可伸缩数据服务。有关故障转移和可伸缩数据服务的概述,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“规划 Sun Cluster 数据服务”和《Sun Cluster 概念指南(适用于 Solaris OS)》文档。


注意 –

您可以使用 SunPlex Manager 安装和配置此数据服务。有关详细信息,请参见 SunPlex Manager 联机帮助。


规划安装和配置

安装 Sun Cluster HA for Apache 之前,请更新 Apache 配置文件 httpd.conf 中的以下信息。


注意 –

httpd.conf 文件的位置随安装的不同而异。系统管理员通常在群集文件系统中安装 httpd.conf 文件。缺省安装将 httpd.conf 文件放在 /usr/local/apache/conf 目录中。当安装与 Solaris 一起绑定的 Apache 软件包时,该文件将位于 /etc/apache 目录中。



注意 –

如果运行 Sun Cluster HA for Apache 和另一个 HTTP 服务器,请将 HTTP 服务器配置为在不同端口上进行侦听。否则,在两个服务器之间会发生端口冲突。


要注册和配置 Sun Cluster HA for Apache,必须考虑或提供有关以下各条目的信息。

安装和配置 Sun Cluster HA for Apache

表 1–1 列举了介绍安装和配置任务的相关章节。

表 1–1 任务对应关系:安装和配置 Sun Cluster HA for Apache

任务 

有关说明,请转到 

安装 Apache 软件 

安装和配置 Apache

安装 Sun Cluster HA for Apache 软件包 

如何使用 Web Start 程序安装 Sun Cluster HA for Apache 软件包

如何使用 scinstall 实用程序安装 Sun Cluster HA for Apache 软件包

配置和启动 Sun Cluster HA for Apache  

如何注册和配置 Sun Cluster HA for Apache

配置资源扩展特性 

配置 Sun Cluster HA for Apache 扩展特性

查看故障监视器信息 

Sun Cluster HA for Apache 故障监视器

安装和配置 Apache

可以将 Apache Webserver 安装和设置为不安全的或安全的 Webserver。本节介绍了两种安装的过程。要安装 Webserver 的不安全版本,请参见以下过程之一。

要安装 Webserver 的安全版本,请参见以下过程之一。

Sun Cluster HA for Apache 与配置为 Web 服务器或代理服务器的 Apache 软件配合使用。

有关标准安装的说明,请参见 http://www.apache.org 中的 Apache 文档。有关 Sun Cluster 软件支持的 Apache 版本的完整列表,请与 Sun 的销售代表联系。

安装不安全的 Apache Webserver

本节提供了安装不安全的 Apache Webserver 的过程。有关安装安全的 Apache Webserver 的过程,请参见安装安全的 Apache Webserver

如何从 Solaris 8 CD-ROM 和 Solaris 9 CD-ROM 安装和配置 Apache 软件

此过程用于安装不安全版本的 Apache Webserver。有关安装安全的 Apache Webserver 的过程,请参见安装安全的 Apache Webserver

在组成 SUNWCapache 软件包元群集的三个软件包 SUNWapchrSUNWapchuSUNWapchd 中包含了 Apache 二进制。您必须先安装 SUNWapchr 软件包,然后再安装 SUNWapchu 软件包。

请将 Web 服务器二进制放在每个群集节点的本地文件系统中或群集文件系统中。

  1. 运行 pkginfo(1) 命令以确定是否已经安装了 Apache 软件包 SUNWapchrSUNWapchuSUNWapchd

    如果未安装,请按以下方式安装。


    # pkgadd -d Solaris 8 Product directory SUNWapchr SUNWapchu SUNWapchd
    ...
    Installing Apache Web Server (root) as SUNWapchr
    ...
    [ verifying class initd ]
    /etc/rc0.d/K16apache linked pathname
    /etc/rc1.d/K16apache linked pathname
    /etc/rc2.d/K16apache linked pathname
    /etc/rc3.d/S50apache linked pathname
    /etc/rcS.d/K16apache linked pathname
    ...
  2. 禁用作为 SUNWapchr 软件包的一部分刚安装的 STARTSTOP 运行控制脚本。

    此步骤是必需的,因为在您配置数据服务之后,Sun Cluster HA for Apache 将启动和停止 Apache 应用程序。请执行以下步骤。

    1. 列出 Apache 运行控制脚本。

    2. 重命名 Apache 运行控制脚本。

    3. 检验是否已重命名所有与 Apache 相关的脚本。


    注意 –

    下例将运行控制脚本名称中的首字母从大写更改为小写。但是,您可以重命名该脚本,使其与您的常规管理惯例一致。



    # ls -1 /etc/rc?.d/*apache
    /etc/rc0.d/K16apache
    /etc/rc1.d/K16apache
    /etc/rc2.d/K16apache
    /etc/rc3.d/S50apache
    /etc/rcS.d/K16apache
     
    # mv /etc/rc0.d/K16apache  /etc/rc0.d/k16apache
    # mv /etc/rc1.d/K16apache  /etc/rc1.d/k16apache
    # mv /etc/rc2.d/K16apache  /etc/rc2.d/k16apache
    # mv /etc/rc3.d/S50apache  /etc/rc3.d/s50apache
    # mv /etc/rcS.d/K16apache  /etc/rcS.d/k16apache
     
    # ls -1 /etc/rc?.d/*apache
    /etc/rc0.d/k16apache
    /etc/rc1.d/k16apache
    /etc/rc2.d/k16apache
    /etc/rc3.d/s50apache
    /etc/rcS.d/k16apache

如何从 Apache Web 站点安装和配置 Apache 软件

此过程用于安装不安全版本的 Apache Webserver。有关安装安全的 Apache Webserver 的过程,请参见安装安全的 Apache Webserver

请将 Web 服务器二进制放在每个群集节点的本地文件系统中或群集文件系统中。

  1. 成为某个群集成员的超级用户。

  2. 使用 Apache 安装文档中的安装过程来安装 Apache 软件。

    使用 Apache 软件附带的 Apache 安装文档,或参见 http://www.apache.org 中的安装说明,来安装 Apache 软件。

  3. 更新 httpd.conf 配置文件。

    • 设置 ServerName 指令。(在 Apache 2.0 版本中,ServerName 指令用于指定主机名和端口。)

    • 设置 BindAddress 指令(可选)。(BindAddress 指令仅存在于 Apache 2.0 之前的版本。对于 Apache 2.0,请参见以下 Listen 指令项目。)

    • 设置 Listen 指令。Listen 指令必须使用逻辑主机或共享地址的地址。(Listen 指令仅存在于 Apache 2.0 和更高版本中。对于 Apache 2.0 之前的 Apache 版本,请参见上面的 BindAddress 指令项目。)

    • 设置 ServerTypeServerRootDocumentRootScriptAliasLockFile 指令。


      注意 –

      ServerType 指令不存在于 Apache 2.0 中。


    • 设置 Port 指令,使其具有与 Port_list 标准资源特性相同的编号。有关详细信息,请参见步骤 4

    • 如果您选择将 Apache 软件作为代理服务器运行,请进行更改以作为代理服务器运行。有关详细信息,请参见 Apache 文档。如果要将 Apache 软件作为代理服务器运行,CacheRoot 设置必须指向群集文件系统中的某个位置。

  4. 检验 httpd.conf 文件中的一个或多个端口号是否与 Port_list 标准资源特性中的端口号相匹配。

    您可以编辑 httpd.conf 配置文件以更改其中的一个或多个端口号,使其与标准 Sun Cluster 资源特性中的缺省值(端口 80)相匹配。或者,当您配置 Sun Cluster HA for Apache 时,可以将 Port_list 标准特性设置为与 httpd.conf 文件中的设置相匹配。

  5. 更新 Apache 启动/停止脚本文件 (Bin_dir/apachectl) 中的路径。

    您必须更改路径的 Apache 缺省值,使其与 Apache 目录结构相匹配。例如,将 BIN_dir/apachectl 脚本中以 HTTPD=/usr/local/apache/bin/httpd 开头的行更改为以下内容。


    HTTPD='/usr/local/apache/bin/httpd -f /global/foo/apache/conf/httpd.conf'
    
  6. 执行以下任务以检验您的配置更改。

    1. 运行 apachectl configtest 以检查 Apache httpd.conf 文件的语法是否正确。

    2. 确保 Apache 使用的所有逻辑主机名或共享地址已配置并处于联机状态。

    3. 发出 apachectl start 以手动启动 Apache 服务器。

      如果 Apache 没有正常启动,请解决问题。

    4. 启动 Apache 之后,先停止 Apache 再转到下一过程。

安装安全的 Apache Webserver

本节提供了安装安全的 Apache Webserver 的过程。有关安装不安全的 Apache Webserver 的过程,请参见安装不安全的 Apache Webserver

如何使用 mod_ssl 安装和配置 Apache 软件

此过程用于安装安全版本的 Apache Webserver。有关安装不安全的 Apache Webserver 的过程,请参见安装不安全的 Apache Webserver

  1. 成为某个群集成员的超级用户。

  2. 安装 Apache 软件,包括 mod_ssl

    要安装 mod_ssl,请参见 Apache 安装文档或 http://www.modssl.org 中的安装说明。

  3. 更新 httpd.conf 配置文件。

    • 设置 ServerName 指令。

    • 设置 BindAddress 指令(可选)。

    • 设置 ServerTypeServerRootDocumentRootScriptAliasLockFile 指令。

    • 设置 Port 指令,使其具有与 Port_list 标准资源特性相同的编号。有关详细信息,请参见步骤 4

    • 如果您选择将 Apache 软件作为代理服务器运行,请进行更改以作为代理服务器运行。有关详细信息,请参见 Apache 文档。如果要将 Apache 软件作为代理服务器运行,CacheRoot 设置必须指向群集文件系统中的某个位置。

  4. 检验 httpd.conf 文件中的一个或多个端口号是否与 Port_list 标准资源特性中的端口号相匹配。

    您可以编辑 httpd.conf 配置文件以更改其中的一个或多个端口号,使其与标准 Sun Cluster 资源特性中的缺省值(端口 80)相匹配。或者,当您配置 Sun Cluster HA for Apache 时,可以将 Port_list 标准特性设置为与 httpd.conf 文件中的设置相匹配。

  5. 安装所有证书和密钥。

  6. Bin_dir 目录中,创建一个名为 keypass 的文件。确保除属主之外其他人均无访问此文件的权限。


    # cd Bin_dir
    # touch keypass
    # chmod 700 keypass
    
  7. 如果您使用的是加密专用密钥,请执行以下步骤 a 和步骤 b。

    1. httpd.conf 文件中,查找 SSLPassPhraseDialog 指令并按以下内容进行修改。


      # SSLPassPhraseDialog exec:/Bin_dir/keypass
      

      有关 SSLPassPhraseDialog 指令的详细信息,请参见 mod_ssl 文档。

    2. 编辑 keypass 文件,以便其针对主机和端口显示加密密钥的口令。

      此文件将使用 server:port algorithm 参数调用。请确保在使用正确的参数调用该文件时,它可以为每个加密密钥显示口令。

      随后,当您尝试手动启动 Webserver 时,它就不会提示您输入口令。例如,对于在端口 8080 和 8888(两个端口均使用 RSA 加密专用密钥)上进行侦听的安全 Webserver,keypass 文件可能如下所示。


      # !/bin/ksh
      host=`echo $1 | cut -d: -f1`
      port=`echo $1 | cut -d: -f2`
      algorithm=$2
      
      if [ "$host" = "button-1.eng.sun.com" -a "$algorithm" = "RSA" ]; then
         case "$port" in
         8080) echo passphrase-for-8080;;
         8888) echo passphrase-for-8888;;
         esac
      fi

      注意 –

      keypass 文件不可以被属主以外的任何人读、写或执行。


  8. httpd.conf 文件中,将 SSLLogLevel 设置为每次 Sun Cluster HA for Apache 探测 Webserver 时均会发出警告以避免记录信息。


    SSLLogLevel warn
  9. 更新 Apache 启动/停止脚本文件 (Bin_dir/apachect1) 中的路径。

    您必须更改路径的 Apache 缺省值,使其与 Apache 目录结构相匹配。

  10. 执行以下任务以检验您的配置更改。

    1. 运行 apachectl configtest 以检查 Apache httpd.conf 文件的语法是否正确。

    2. 确保 Apache 使用的所有逻辑主机名或共享地址已配置并处于联机状态。

    3. 发出 apachectl start 以手动启动 Apache 服务器。

      确保 Webserver 不会要求您输入口令。

      如果 Apache 没有正常启动,请解决问题。

    4. 启动 Apache 之后,先停止 Apache 再转到下一过程。

如何使用 apache-ssl 安装和配置 Apache 软件

此过程用于安装安全版本的 Apache Webserver。有关安装不安全的 Apache Webserver 的过程,请参见安装不安全的 Apache Webserver

  1. 成为某个群集成员的超级用户。

  2. 使用 Apache 安装文档中的安装过程来安装 Apache 软件,包括 apache-ssl

    要安装 apache-ssl,请参见 Apache 安装文档或 http://www.apache-ssl.org 中的安装说明。

  3. 更新 httpd.conf 配置文件。

    • 设置 ServerName 指令。

    • 设置 BindAddress 指令(可选)。

    • 设置 ServerTypeServerRootDocumentRootScriptAliasLockFile 指令。

    • 设置 Port 指令,使其具有与 Port_list 标准资源特性相同的编号。有关详细信息,请参见步骤 4

    • 如果您选择将 Apache 软件作为代理服务器运行,请进行更改以作为代理服务器运行。有关详细信息,请参见 Apache 文档。如果要将 Apache 软件作为代理服务器运行,CacheRoot 设置必须指向群集文件系统中的某个位置。

  4. 检验 httpd.conf 文件中的一个或多个端口号是否与 Port_list 标准资源特性中的端口号相匹配。

    您可以编辑 httpd.conf 配置文件以更改其中的一个或多个端口号,使其与标准 Sun Cluster 资源特性中的缺省值(端口 80)相匹配。或者,当您配置 Sun Cluster HA for Apache 时,可以将 Port_list 标准特性设置为与 httpd.conf 文件中的设置相匹配。

  5. 安装所有证书和密钥。

  6. 确保所有专用密钥均为存储时不加密。

    随后,当您尝试手动启动 Webserver 时,它就不会提示您输入口令。

  7. 更新 Apache 启动/停止脚本文件 (Bin_dir/httpsdct1) 中的路径。

    您必须更改路径的 Apache 缺省值,使其与 Apache 目录结构相匹配。

  8. 执行以下任务以检验您的配置更改。

    1. 运行 httpsdctl configtest 以检查 Apache httpd.conf 文件的语法是否正确。

    2. 确保 Apache 使用的所有逻辑主机名或共享地址已配置并处于联机状态。

    3. 发出 httpsdctl start 以手动启动 Apache 服务器。

      如果 Apache 没有正常启动,请解决问题。

    4. 启动 Apache 之后,先停止 Apache 再转到下一过程。

从此处可转到何处

如果在初始 Sun Cluster 安装期间您没有安装 Sun Cluster HA for Apache,请转至安装 Sun Cluster HA for Apache 软件包。否则,请转到注册和配置 Sun Cluster HA for Apache

安装 Sun Cluster HA for Apache 软件包

如果未在 Sun Cluster 初始安装期间安装 Sun Cluster HA for Apache 软件包,请执行此过程以安装该软件包。在要安装 Sun Cluster HA for Apache 软件包的每个群集节点上执行此过程。必需使用 Sun Java Enterprise System Accessory CD Volume 3 才能完成此过程。

如果要同时安装多个数据服务,请执行Sun Cluster 软件安装指南(适用于 Solaris OS)》的“安装软件”中的过程。

请使用以下安装工具之一来安装 Sun Cluster HA for Apache 软件包:


注意 –

在早于 Sun Cluster 3.1 数据服务 10/03 的发行版中提供 Web Start 程序。


如何使用 Web Start 程序安装 Sun Cluster HA for Apache 软件包

您可以使用命令行界面 (CLI) 或图形用户界面 (GUI) 运行 Web Start 程序。CLI 和 GUI 中指令的内容和顺序类似。有关 Web Start 程序的详细信息,请参见installer(1M) 手册页。

  1. 在要安装 Sun Cluster HA for Apache 软件包的群集节点上成为超级用户。

  2. (可选的) 如果要使用 GUI 运行 Web Start 程序,请确保已设置 DISPLAY 环境变量。

  3. 将 Sun Java Enterprise System Accessory CD Volume 3 放入 CD-ROM 驱动器。

    如果卷管理守护程序 vold( 1M) 正在运行并被配置为管理 CD-ROM 设备,它将在 /cdrom/cdrom0 目录中自动装载 CD-ROM。

  4. 更改到 CD-ROM 的 Sun Cluster HA for Apache 组件目录。

    用于 Sun Cluster HA for Apache 数据服务的 Web Start 程序位于此目录中。


    # cd /cdrom/cdrom0/\
    components/SunCluster_HA_Apache_3.1
    
  5. 启动 Web Start 程序。


    # ./installer
    
  6. 系统提示时,选择安装类型。

    • 要仅安装 C 语言环境,请选择“典型”。

    • 要安装其他语言环境,请选择“定制”。

  7. 按照屏幕上的说明在节点上安装 Sun Cluster HA for Apache 软件包。

    安装完成后,Web Start 程序将提供安装摘要。此摘要使您可以查看 Web Start 程序在安装期间创建的日志。这些日志位于 /var/sadm/install/logs 目录中。

  8. 退出 Web Start 程序。

  9. 从 CD-ROM 驱动器中取出 Sun Java Enterprise System Accessory CD Volume 3。

    1. 为确保没有在使用 CD-ROM,请将目录更改为 CD-ROM 中的目录。

    2. 弹出 CD-ROM。


      # eject cdrom
      

从此处可转到何处

转至注册和配置 Sun Cluster HA for Apache

如何使用 scinstall 实用程序安装 Sun Cluster HA for Apache 软件包

必需使用 Sun Java Enterprise System Accessory CD Volume 3 才能完成此过程。在所有可控制 Sun Cluster HA for Apache 的群集成员上执行此过程。

  1. 将 Sun Java Enterprise System Accessory CD Volume 3 放入 CD-ROM 驱动器。

  2. 运行 scinstall 实用程序(不使用任何选项)。

    此步骤将以交互模式启动 scinstall 实用程序。

  3. 选择菜单选项“将新数据服务的支持添加到此群集节点”。

    scinstall 实用程序将提示您输入其他信息。

  4. 提供 Sun Java Enterprise System Accessory CD Volume 3 的路径。

    实用程序将此 CD 称为“数据服务 CD”。

  5. 指定要安装的数据服务。

    scinstall 实用程序将列出您选定的数据服务,并要求您确认选择。

  6. 退出 scinstall 实用程序。

  7. 从驱动器中取出 CD。

从此处可转到何处

转至注册和配置 Sun Cluster HA for Apache

注册和配置 Sun Cluster HA for Apache

此过程介绍了如何使用 scrgadm(1M) 命令注册和配置 Sun Cluster HA for Apache。

您可以将 Apache 配置为故障转移服务或可伸缩服务,如下所述。

可伸缩资源组依赖于故障转移资源组。将 Apache 配置为可伸缩服务还需要其他步骤。在以下过程中,前面带有文本“仅适用于可伸缩服务”的步骤即为这些步骤。如果未将 Apache 配置为可伸缩服务,请跳过标有“仅适用于可伸缩服务”的步骤。

如何注册和配置 Sun Cluster HA for Apache


注意 –

在任一群集成员上运行此过程。


  1. 成为某个群集成员的超级用户。

  2. 注册数据服务的资源类型。


    # scrgadm -a -t SUNW.apache
    
    -a

    添加数据服务资源类型。

    -t SUNW.apache

    为数据服务指定预定义的资源类型名称。

  3. 创建故障转移资源组,以保存网络资源和应用程序资源。

    故障转移服务和可伸缩服务均需要此资源组。对于故障转移服务,此资源组包含网络应用程序资源和故障转移应用程序资源。对于可伸缩服务,此资源组仅包含网络资源。在此资源组和包含应用程序资源的资源组之间将创建依赖性。

    您也可以使用 -h 选项选择可用于运行数据服务的节点集。


    # scrgadm -a -g resource-group [-h nodelist]
    -a

    添加新配置。

    -g resource-group

    指定要添加的故障转移资源组的名称。您可以选择此名称,但该名称对于群集中的资源组必须唯一。

    [-h nodelist]

    一个可选的、用逗号分隔的物理节点名称或 ID 的列表,这些节点名称或 ID 标识潜在的主节点。此处指定的顺序确定了在故障转移过程中将节点选为主节点的顺序。


    注意 –

    使用 -h 可以指定节点列表的顺序。如果群集中的所有节点都是潜在的主节点,则不必使用 -h 选项。


  4. 检验是否已将您使用的所有网络地址都添加到了名称服务数据库中。

    在 Sun Cluster 的初始安装过程中应该已经执行了此项检验。有关详细信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的规划一章。


    注意 –

    为避免因名称服务查找而失败,请检验所有网络地址是否都存在于所有群集节点上的 /etc/inet/hosts 文件中。在访问 NIS、NIS+ 或 DNS 之前,请在服务器上的 /etc/nsswitch.conf 文件中配置名称服务映射以先检查本地文件。


  5. 将网络资源(逻辑主机名或共享地址)添加到在步骤 3 中创建的故障转移资源组。


    # scrgadm -a {-S | -L} -g resource-group \
    -l hostname, … [-j resource] \
    [-X auxnodelist] [-n netiflist]
    -S | -L

    -S 选项指定共享地址资源。-L 选项指定逻辑主机名资源。

    -l hostname, …

    指定要添加的用逗号分隔的网络资源列表。可以使用 -j 选项指定资源的名称。如果您未指定,则网络资源将使用列表中第一个条目的名称。

    -g resource-group

    指定在步骤 3 中创建的故障转移资源组的名称。

    -j resource

    指定资源名称。如果未提供您选定的资源名称,则网络资源名称的缺省设置为 -l 选项后指定的第一个名称。

    -X auxnodelist

    指定用逗号分隔的物理节点名称或节点 ID 的列表,这些名称或 ID 标识可以托管共享地址但在发生故障转移时绝不会作为主节点的群集节点。这些节点与资源组的 nodelist 中标识的节点(如果已指定)相互排斥。

    -n netiflist

    指定一个可选的、用逗号分隔的列表,该列表标识各节点上的 IP 网络多路径处理 组。netiflist 中的每个元素的格式必须为 netif@nodenetif 可被指定为 IP 网络多路径处理 组的名称,例如 sc_ipmp0。节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1


    注意 –

    Sun Cluster 目前不支持将适配器名称用作 netif


  6. 仅适用于可缩放服务 – 创建要在所有需要的群集节点上运行的可缩放资源组。

    如果要将 Sun Cluster HA for Apache 作为故障转移数据服务运行,请前进到步骤 8

    创建一个要保存数据服务应用程序资源的资源组。您必须指定主节点的最大数目和所需数目。


    注意 –

    如果只有节点的子集可以用作此资源组的主节点,则在创建资源组时,必须使用 -h 选项指定这些潜在主节点的名称。


    您还必须指定此资源组与在步骤 3 中创建的故障转移资源组之间的依赖性。此依赖性可确保在发生故障转移时,如果两个资源组在同一节点上同时联机,Resource Group Manager (RGM) 将先启动网络资源,然后再启动依赖于网络资源的所有数据服务。


    # scrgadm -a -g resource-group \
    -y Maximum_primaries=m -y Desired_primaries=n \
    -y RG_dependencies=resource-group \
    [-h nodelist]
    -g resource-group

    指定要添加的可伸缩服务资源组的名称。

    -y Maximum_primaries =m

    指定此资源组允许的活动主节点的最大数目。如果未指定此特性的值,则缺省值为 1

    -y Desired_primaries =n

    指定此资源组允许的活动主节点的所需数目。如果未指定此特性的值,则缺省值为 1

    -y RG_dependencies = resource-group

    标识包含共享地址资源的资源组,资源组的创建将取决于该共享地址资源,即在步骤 3 中创建的故障转移资源组的名称。

    -h nodelist

    可用作此资源组主节点的节点的可选列表。如果某些节点不能用作此资源组的主节点,您只需指定此列表。

  7. 仅适用于可缩放服务 – 在可缩放资源组中创建应用程序资源。

    如果要将 Sun Cluster HA for Apache 作为故障转移数据服务运行,请前进到步骤 8


    # scrgadm -a -j resource -g resource-group \
    -t resource-type -y Network_resources_used=network-resource, … \
    -y Port_list=port-number/protocol[, …] -y Scalable=True \ 
    -x Bin_dir=bin-directory, ... 
    -j resource

    指定要添加的资源名称。

    -g resource-group

    指定要放置资源的可缩放资源组的名称。

    -t resource-type

    指定要添加的资源的类型。

    -y Network_resources_used = network-resource, …

    指定用逗号分隔的网络资源名称的列表,这些网络资源名称标识数据服务使用的共享地址。

    -y Port_list =port-number/protocol, …

    指定用逗号分隔的、要使用的端口号和协议的列表,例如 80/tcp,81/tcp

    -y Scalable =

    指定可伸缩服务所需的参数。必须将此参数设置为 True

    -x Bin_dir =bin-directory

    指定 Apache 二进制(特别是 apachect1)的安装位置。Sun Cluster HA for Apache 需要此扩展特性。


    注意 –

    另外,您也可以设置那些属于 Apache 数据服务的附加扩展特性,以覆盖其缺省值。有关扩展特性的列表,请参见表 1–2


  8. 仅适用于故障转移服务 – 在故障转移资源组中创建应用程序资源。

    仅当您将 Sun Cluster HA for Apache 作为故障转移数据服务运行时,才执行此步骤。如果将 Sun Cluster HA for Apache 作为可伸缩数据服务运行,您应该已经执行了步骤 6步骤 7,此时应前进到步骤 10


    # scrgadm -a -j resource -g resource-group \
    -t resource-type -y Network_resources_used=network-resource, … \
    -y Port_list=port-number/protocol[, …] -y Scalable=False \ 
    -x Bin_dir=bin-directory
    
    -j resource

    指定要添加的资源名称。

    -g resource-group

    指定要放置资源的资源组(在步骤 3 中创建)的名称。

    -t resource-type

    指定要添加的资源的类型。

    -y Network_resources_used = network-resource, …

    指定用逗号分隔的网络资源的列表,该列表标识数据服务使用的共享地址。

    -y Port_list =port-number/protocol, …

    指定用逗号分隔的、要使用的端口号和协议的列表,例如 80/tcp,81/tcp

    -y Scalable =

    只有可伸缩服务才需要此特性。该值在此处被设置为 False,也可以忽略该值。

    -x Bin_dir= bin-directory

    指定 Apache 二进制(特别是 apachect1)的安装位置。Sun Cluster HA for Apache 需要此扩展特性。

  9. 使故障转移资源组联机。


    # scswitch -Z -g resource-group
    
    -Z

    启用共享地址资源和故障监视,将资源组切换到 MANAGED 状态,并使资源组联机。

    -g resource-group

    指定故障转移资源组的名称。

  10. 仅适用于可缩放服务 – 使可缩放资源组联机。


    # scswitch -Z -g resource-group
    
    -Z

    启用资源和监视器,将资源组转入 MANAGED 状态,并使资源组联机。

    -g resource-group

    指定可缩放资源组的名称。

示例 – 注册可伸缩 Sun Cluster HA for Apache

对于可伸缩服务,您可以创建以下资源组。

下例说明了如何在双节点群集上注册可伸缩 Apache 服务。


群集信息
节点名称:phys-schost-1、phys-schost-2
共享地址:schost-1
资源组:resource-group-1(用于共享地址)、	resource-group-2(用于可伸缩 Apache 应用程序
    资源)
资源:schost-1(共享地址)、apache-1(Apache 应用程序
    资源)
 
(添加故障转移资源组以包含共享地址。)
# scrgadm -a -g resource-group-1
 
(将共享地址资源添加到故障转移资源组。)
# scrgadm -a -S -g resource-group-1 -l schost-1 
 
(注册 Apache 资源类型。)
# scrgadm -a -t SUNW.apache
 
(添加可伸缩资源组。)
# scrgadm -a -g resource-group-2 -y Maximum_primaries=2 \
-y Desired_primaries=2 -y RG_dependencies=resource-group-1
 
(将 Apache 应用程序资源添加到可伸缩资源组。)
# scrgadm -a -j apache-1 -g resource-group-2 \
-t SUNW.apache -y Network_resources_used=schost-1 \
-y Scalable=True -y Port_list=80/tcp \
-x Bin_dir=/opt/apache/bin
 
(使故障转移资源组联机。)
# scswitch -Z -g resource-group-1
 
(使可伸缩资源组在两个节点上联机。)
# scswitch -Z -g resource-group-2

示例 – 注册故障转移 Sun Cluster HA for Apache

下例说明了如何在双节点群集上注册故障转移 Apache 服务。


群集信息
节点名称:phys-schost-1、phys-schost-2
逻辑主机名:schost-1
资源组:resource-group-1(用于所有资源)
资源:schost-1(逻辑主机名)、	apache-1(Apache 应用程序资源)
 
(添加故障转移组以包含所有资源。)
# scrgadm -a -g resource-group-1
 
(将逻辑主机名资源添加到故障转移资源组。)
# scrgadm -a -L -g resource-group-1 -l schost-1 
 
(注册 Apache 资源类型。)
# scrgadm -a -t SUNW.apache
 
(将 Apache 应用程序资源添加到故障转移资源组。)
# scrgadm -a -j apache-1 -g resource-group-1 \
-t SUNW.apache -y Network_resources_used=schost-1 \
-y Scalable=False -y Port_list=80/tcp \
-x Bin_dir=/opt/apache/bin
 
(使故障转移资源组联机。)
# scswitch -Z -g resource-group-1

从此处可转到何处

请使用如何检验数据服务安装和配置中的信息来检验安装。要设置或修改资源扩展特性,请参见配置 Sun Cluster HA for Apache 扩展特性

如何配置 SUNW.HAStoragePlus 资源类型

Sun Cluster 3.0 5/02 中引入了 SUNW.HAStoragePlus 资源类型。这个新的资源类型与 SUNW.HAStorage 执行着相同的功能,并可实现 HA 存储和数据服务之间的同步操作。

SUNW.HAStoragePlus 还具备使本地文件系统具有高可用性的附加功能。

有关背景信息,请参见 SUNW.HAStoragePlus(5) 手册页和Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“资源组和磁盘设备组之间的关系”。有关过程信息,请参见用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南》中的“在资源组和磁盘设备组之间同步启动”。(如果您使用的是 5/02 以前的 Sun Cluster 3.0 版本,则必须设置 SUNW.HAStorage 而不是 SUNW.HAStoragePlus。有关过程信息,请参见用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南》中的“使资源组和磁盘设备组之间的启动同步”。)

如何检验数据服务安装和配置

配置 Sun Cluster HA for Apache 之后,请检验是否可以利用网络资源(逻辑主机名或共享地址)和端口号从 Web 浏览器上打开 Web 页。使用 scswitch(1M) 命令执行切换,以检验服务是否可在次节点上继续运行并可被切换回原来的主节点。

配置 Sun Cluster HA for Apache 扩展特性

创建 Apache 服务器资源时所需的唯一扩展特性是 Bin_dir 特性,该特性的值是包含 apachect1 脚本的目录。

通常,在创建 Apache 服务器资源时使用命令行 scrgadm -x parameter=value 来配置扩展特性。稍后,您还可以按照Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“管理数据服务资源”中介绍的过程来配置特性。

有关所有 Sun Cluster 特性的详细信息,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“标准特性”

您可以动态地更新某些扩展特性。但是,只能在创建 Apache 服务器资源时更新其他特性。下表介绍了您可以为 Apache 服务器配置的扩展特性。“可调”条目说明何时可以更新该特性。

表 1–2 Sun Cluster HA for Apache 扩展特性

名称/数据类型 

说明 

Bin_dir(字符串)

Apache 二进制(特别是 apachect1)的路径。Sun Cluster HA for Apache 需要此扩展特性。

缺省值:

范围:

可调:创建时

Monitor_retry_count(整数)

控制故障监视器的重新启动,并表明进程监视器工具 (PMF) 在 Monitor_retry_interval 特性指定的时间窗口期间重新启动故障监视器的次数。此特性指的是重新启动故障监视器本身(而不是资源)。系统定义的特性 Retry_intervalRetry_count 控制资源的重新启动。

缺省值:4

范围:02,147,483,641

–1 表示重试无限次。 

可调:创建时

Monitor_retry_interval(整数)

记录故障监视器失败次数的时间段(以分钟为单位)。如果故障监视器的失败次数超过了扩展特性 Monitor_retry_count 在此时间段中指定的值,则 PMF 不会重新启动故障监视器。

缺省值:2

范围:02,147,483,641

–1 表示无限长的重试时间间隔。

可调:创建时

Probe_timeout(整数)

故障监视器用于探测 Apache 实例的超时值(以秒为单位)。 

缺省值:90

范围:02,147,483,641

可调:创建时

Monitor_Uri_List(字符串)

故障监视器用于探测 Sun Cluster HA for Apache Web 服务器上部署的任何应用程序的单个 URI 或 URI 列表。通过将特性设置为一个或多个 URI(由在 Sun Cluster HA for Apache Web 服务器上部署的应用程序提供服务),可探测部署的应用程序。在以下发行版中新增:3.1 10/03。 

缺省值:

可调:任何时候

监视任意 URI

如果您要让 Web 服务器故障监视器探测由 Web 服务器提供服务的应用程序 (URI) 的任意列表,请设置 Monitor_Uri_List 扩展特性。此扩展特性可提供扩展的探测功能,并且在对 Web 服务器以及其他服务进行分层时十分有用。安全的 Sun Cluster HA for Apache 实例不支持 Monitor_Uri_List 扩展特性。如果您未设置 Monitor_Uri_List 扩展特性,则故障监视器将执行基本探测。有关详细信息,请参见Sun Cluster HA for Apache 故障监视器。下例说明了如何在将 Sun Cluster HA for Apache 实例添加到配置时设置 Monitor_Uri_List 扩展特性。

示例 — 为可伸缩 Sun Cluster HA for Apache 实例设置 Monitor_Uri_List


(添加具有缺省负载平衡的不安全 Apache 实例。)

# scrgadm -a -j apache-insecure-1 -g resource-group-1 \
-t SUNW.apache -y Network_resources_used=schost-1, ... \
-y Scalable=True -y Port_list=8000/tcp -x Bin_dir=/opt/apache/bin \
-x Monitor_Uri_list=http://schost-1:8000/servlet/monitor

示例 — 为故障转移 Sun Cluster HA for Apache 实例设置 Monitor_Uri_List


(添加不安全的 Apache 应用程序资源实例。)

# scrgadm -a -j apache-insecure-1 -g resource-group-1 \
-t SUNW.apache -y Network_resources_used=schost-1 \
-y Scalable=False -y Port_list=80/tcp \
-x Bin_dir=/opt/apache/bin \ 
-x Monitor_Uri_list=http://schost-1:80/servlet/monitor

Sun Cluster HA for Apache 故障监视器

Sun Cluster HA for Apache 探测向服务器发送请求,以查询 Apache 服务器的运行状况。在探测实际查询 Apache 服务器之前,探测将检查以确认网络资源已针对此 Apache 资源进行了配置。如果未配置网络资源,将记录一条错误消息(未找到资源的网络资源),并且探测将以失败结束。

探测将执行以下步骤。

  1. 使用资源特性 Probe_timeout 设置的超时值来限制尝试成功探测 Apache 服务器所用的时间。

  2. 对于不安全的 Webserver,请连接到 Apache 服务器,并通过发送 HTTP 请求和接收响应来执行 HTTP 1.0 HEAD 检查。然后,探测将连接到每个 IP 地址/端口组合上的 Apache 服务器。

    此查询结果可以是失败,也可以是成功。如果探测成功接收到 Apache 服务器的回复,探测将返回其无限循环,并继续下一个周期的探测和休眠。

    查询会因各种原因而失败,例如网络通信繁忙、系统负载大和配置错误。如果未将 Apache 服务器配置为在被探测的所有 IP 地址/端口组合上进行侦听,则会发生配置错误。Apache 服务器应该为针对此资源指定的每个 IP 地址的每个端口提供服务。如果未在 Probe_timeout 限制(先前在步骤 1 中指定)内收到对查询的回复,探测会将此情况视为 Apache 数据服务的部分失败,并在其历史记录中记录该失败。Apache 探测失败可以是完全失败,也可以是部分失败。

    以下探测失败被认为是完全失败。

    • 无法连接到服务器,如以下错误消息所示(%s 表示主机名,%d 表示端口号)。


      无法连接到 %s(端口 %d)%s
    • 尝试连接到连接器后,运行超时(超过资源特性超时值 Probe_timeout)。

    • 无法将探测字符串成功发送到服务器,如以下错误消息所示(第一个 %s 表示主机名,%d 表示端口号,第二个 %s 表示有关错误的详细信息)。


      无法与服务器 %s 端口 %d 进行通信: %s

    当监视器在资源特性间隔 Retry_interval 内累计了两个这样的部分失败时,监视器会将这些失败计为一个完全失败。

    以下探测失败被认为是部分失败:

    • 尝试从服务器读取对探测查询的回复时,运行超时(超过资源特性超时值 Probe_timeout)。

    • 由于其他原因无法从服务器读取数据,如以下错误消息所示(第一个 %s 表示主机名,%d 表示端口号,第二个 %s 表示有关错误的详细信息)。


      无法与服务器 %s 端口 %d 进行通信: %s
  3. 如果您在 Monitor_Uri_List 扩展特性中配置了 URI,则探测将连接到 Sun Cluster HA for Apache 服务器,并通过将 HTTP 请求发送到 Monitor_Uri_List 中的每个 URI 和接收响应来执行 HTTP 1.1 GET 检查。如果 HTTP 服务器返回的代码是 500(内部服务器错误)或者如果连接失败,探测将采取操作。

    HTTP 请求的结果可能是失败,也可能是成功。如果所有请求均成功接收到 Sun Cluster HA for Apache 服务器的回复,探测将返回并继续下一个周期的探测和休眠。

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

  4. 对于安全的 Webserver,请连接到每个 IP 地址和端口组合。如果此连接尝试成功,探测将断开连接,并以成功状态返回。不执行进一步检查。

  5. 基于故障的历史记录,故障会导致本地重新启动或数据服务的故障转移。Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》的“Sun Cluster 数据服务故障监视器”中进一步介绍了此操作。

升级 SUNW.apache 资源类型

如果以下条件适用,请升级 SUNW.apache 资源类型:

有关介绍如何升级资源类型的一般说明,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“升级资源类型”。在以下各小节中提供了完成 SUNW.apache 资源类型升级所需的信息。

注册新资源类型版本的信息

资源类型版本和 Sun Cluster 数据服务的版本之间的关系如下表所示。Sun Cluster 数据服务的发行版表示新增了资源类型版本的发行版。

资源类型版本 

Sun Cluster 数据服务发行版 

1.0 

3.1 

3.1 5/03 

3.1 10/03 

要确定被注册的资源类型的版本,请使用下表中的命令之一:

此资源类型的资源类型注册 (RTR) 文件为 /opt/SUNWscapc/etc/SUNW.apache

移植资源类型现有实例的信息

编辑 SUNW.apache 资源类型的每个实例所需的信息如下所示:

以下示例显示了用于修改 SUNW.apache 资源类型实例的命令。


实例 1–1 移植 SUNW.apache 资源类型的实例


# scrgadm -c -j apache-rs -y Type_version=4 \
  -x Monitor_Uri_List=http://schost-1/test.html

此命令可以修改名为 apache-rsSUNW.apache 资源,如下所示: