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

安装和配置 Sun Cluster HA for Sun Java System Web Server

本章介绍安装和配置 Sun Cluster HA for Sun Java System Web Server 的过程。 此数据服务以前名为 Sun Cluster HA for Netscape TM HTTP 和 Sun Cluster HA for iPlanet Web Server。 应用程序的某些错误消息可能会使用名称 Netscape,但是消息指的是 Sun Java System Web Server。 Sun Cluster Agents CD-ROM 上的应用程序名称可能仍然是 iPlanet Web Server。

本章包含以下过程。

您可以将 Sun Cluster HA for Sun Java System Web Server 配置为故障切换数据服务或可伸缩数据服务。 有关数据服务、资源组、资源和其它相关主题的一般信息,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“规划 Sun Cluster 数据服务”和《Sun Cluster 概念指南(适用于 Solaris OS)》。


注意:

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



注意:

如果在 Sun Cluster 配置过程中运行多个数据服务,您可以按任意顺序设置数据服务,但以下情况例外。 如果 Sun Cluster HA for Sun Java System Web Server 依赖于 Sun Cluster HA for DNS,则必须先设置 DNS。 有关详细信息,请参见用于域名服务 (DNS) 的 Sun Cluster 数据服务指南(适用于 Solaris OS)。 Solaris 操作系统包含 DNS 软件。 如果群集要从另一台服务器获得 DNS 服务,则请先将群集配置为 DNS 客户机。



注意:

安装完之后,请勿手动启动和停止 Sun Java System Web Server(使用群集管理命令 scswitch(1M) 除外)。 有关详细信息,请参见手册页。 启动 Sun Java System Web Server 之后,由 Sun Cluster 软件对其进行控制。


规划安装和配置

在开始安装之前,请回答以下问题。

安装和配置 Sun Cluster HA for Sun Java System Web Server

下表列出了介绍安装和配置任务的各节。

表 1–1 任务表: 安装和配置 Sun Cluster HA for Sun Java System Web Server

任务 

有关说明,请转到  

安装 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 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 Java System Web Server

本节介绍执行以下任务的步骤:


注意:

为 Web 服务器配置 URL 映射时,必须遵循特定的惯例。 例如,要在设置 CGI 目录时保留可用性,必须在群集文件系统中确定映射目录的位置。 在此例中,您要将 CGI 目录映射到 /global/pathname /cgi-bin

在 CGI 程序可以访问“后端”服务器(例如 RDBMS)的情况下,请确保 Sun Cluster 软件也可以控制“后端”服务器。 如果服务器是 Sun Cluster 软件支持的 RDBMS,请使用高可用性 RDBMS 软件包之一。 或者,您可以使用《Sun Cluster 3.1 10/03 数据服务开发者指南(适用于 Solaris OS)》中介绍的 API 将服务器置于 Sun Cluster 的控制下。


如何安装 Sun Java System Web Server

要执行此过程,您需要以下配置信息。


注意:

如果您运行 Sun Cluster HA for Sun Java System Web Server 和另一个 HTTP 服务器并且它们使用同一个网络资源,则请将它们配置为在不同的端口上进行侦听。 否则,会在两个服务器之间出现端口冲突。


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

  2. 启动安装。

    • 如果要在 Solaris 8 上安装 Sun Java System Web Server,请从 CD 的安装目录下为 Sun Java System Web Server 执行 setup 命令。

    • 如果要安装和 Solaris 9 封装在一起的 Sun Java System Web Server,请按照 Installation CD 上的说明进行操作。


    注意:

    如果要安装和 Solaris 9 封装在一起的 Sun Java System Web Server,请启用系统重新启动时自动启动 Web 服务器。


  3. 当系统提示时,输入要安装 Sun Java System Web Server 二进制的位置。

    您可以在群集文件系统中指定安装位置,也可以在本地磁盘上指定安装位置。 如果选择在本地磁盘上安装,请将 Web 服务器安装在所有以下群集节点上:下一步指定的网络资源(逻辑主机名或共享地址)的潜在主节点。

  4. 当系统提示提供计算机名称时,输入 Sun Java System Web Server 所依赖的逻辑主机名和相应的 DNS 域名。

    完整的逻辑主机名的格式为 network-resource.domainname,例如 schost-1.sun.com


    注意:

    为使 Sun Cluster HA for Sun Java System Web Server 能够正确地进行故障切换,必须在此处及系统提示提供计算机名称的其它任何位置使用逻辑主机名或共享地址资源名(而不是物理主机名)。


  5. 当系统提示时,选择“将管理服务器作为 Root 运行”。

    请注意 Sun Java System 安装脚本为管理服务器选择的端口号。 以后使用管理服务器配置 Sun Java System Web Server 实例时,可能需要使用此缺省值。 除此之外,您可以在配置 Sun Java System 服务器实例时指定其它端口号。

  6. 当系统提示时,键入服务器管理员 ID 和选定的口令。

    请遵循适用于您的系统的准则。

    当系统显示表明管理服务器将要启动的消息时,说明安装已就绪,可以进行配置。

如何配置 Sun Java System Web Server

此过程介绍如何将 Sun Java System Web Server 的一个实例配置为具有高可用性。 可以使用 Netscape 浏览器进行此过程的配置。

在执行此过程之前,请注意以下几点。

  1. 如果您要将 Sun Java System Web Server 配置为可伸缩数据服务,请在所有节点的本地磁盘上创建一个目录以保存 Sun Java System Web Server 管理的日志、错误文件和 PID 文件。

    为使可伸缩配置能够正常运行,这些文件必须位于群集的每个节点上,而不是位于群集文件系统中。 只有在您要将 Sun Java System Web Server 配置为故障切换数据服务时,才使用共享存储。

    在本地磁盘上选择一个位置。对于群集中的所有节点来说,该位置应该相同。 使用 mkdir -p 命令创建目录。 使 nobody 成为此目录的属主。

    以下示例说明了如何完成此步骤。


    phys-schost-1# mkdir -p /var/pathname/http-instance/logs/
    

    注意:

    如果您预先估计错误日志和 PID 文件会很大,请不要将它们放在 /var 下面的目录中,因为它们可能会使此目录超负荷。 相反,应该在一个有足够空间的分区内创建目录,以处理大型文件。


  2. 从管理工作站或群集节点启动 Netscape 浏览器。

  3. 在某个群集节点上,转到目录 https-admserv,然后启动 Sun Java System 管理服务器。


    # cd https-admserv
    # ./start
    

  4. 在 Netscape 浏览器中输入 Sun Java System 管理服务器的 URL。

    此 URL 由物理主机名和端口号组成(例如 n1.eng.sun.com:8888),该物理主机名和端口号是在服务器安装过程的步骤 4 中由 Sun Java System 安装脚本建立的。 在此过程中,当您执行步骤 2 时,./start 命令将显示此管理 URL。

    系统提示时,使用在服务器安装过程的步骤 6 中指定的用户 ID 和口令登录到 Sun Java System 管理服务器界面。

  5. 在能用管理服务器的地方使用管理服务器(否则手动进行更改),并完成以下操作:

    • 检验服务器名称是否正确。

    • 检验服务器用户是否设置为超级用户。

    • 将绑定地址字段更改为以下地址之一。

      • 逻辑主机名或共享地址(如果您将 DNS 用作名称服务)

      • 与逻辑主机名或共享地址相关的 IP 地址(如果您将 NIS 用作名称服务)

    • 更新 ErrorLog、PidLog 和 Access Log 等项,以反映本节步骤 1 所创建的目录。

    • 保存您所做的更改。

  6. 创建包含启动此实例所需的安全密钥口令的文件,并将其放置在服务器根目录下。 将此文件命名为 keypass


    注意:

    因为此文件包含密钥数据库口令,所以请使用适当的权限来保护该文件。


安装 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 软件包的每个群集节点上执行此过程。

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

如何使用 Sun Java Enterprise System Common Installer 程序安装 Sun Cluster HA for Sun Java System Web Server 软件包

可以使用命令行界面 (CLI) 或图形用户界面 (GUI) 来运行 Sun Java Enterprise System Common Installer 程序。 CLI 和 GUI 中指令的内容和顺序类似。

要完成此过程,需要 Sun Java Enterprise System Common Installer CD-ROM。

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

  2. (可选的) 如果要使用 GUI 运行 Sun Java Enterprise System Common Installer 程序,请确保已设置 DISPLAY 环境变量。

  3. 将 Sun Java Enterprise System Common Installer CD-ROM 装入 CD-ROM 驱动器。

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

  4. 转到 CD-ROM 的 Sun Java Enterprise System Common Installer 目录。

    Sun Java Enterprise System Common Installer 位于此目录中。


    # cd /cdrom/Solaris_sparc
    
  5. 启动 Sun Java Enterprise System Common Installer 程序。


    # ./installer
    
  6. 系统提示时,请接受许可证协议并选择适当的语言支持。

    缺省情况下提供的是英文支持。

  7. 在“可用性服务和 Sun Cluster 3.1 子组件”下选择“Sun Cluster Agents for Sun Java System”并继续。

    此选择包括所有可用于 Sun Java System 应用程序的 Sun Cluster 数据服务,其中包括 Sun Cluster HA for Sun Java System Web Server。

  8. 系统提示时,请选择安装类型。

    • 如果要在安装时执行最小配置,请选择“定制安装”。 系统会提示您提供所需的配置信息。

    • 如果只想安装数据服务软件包,不进行任何配置,请选择“最小安装”。

  9. (可选)如果不想注册产品和接受产品更新,请取消选择“产品注册”框。

  10. 按照屏幕上的说明在节点上安装 Sun Cluster HA for Sun Java System Web Server 软件包。

    Sun Java Enterprise System Common Installer 程序会显示安装的情况。 安装完成后,程序将显示安装摘要和安装日志。

  11. 退出 Sun Java Enterprise System Common Installer 程序。

    退出安装程序之前,请确保已成功安装 Sun Cluster HA for Sun Java System Web Server。 执行以下命令,检查软件包是否存在:


    # pkginfo -l SUNWschtt
    
  12. 从 CD-ROM 驱动器中取出 Sun Java Enterprise System Common Installer CD-ROM。

    1. 要确保 CD-ROM 未在使用,请转到包含在 CD-ROM 中的某个目录。

    2. 弹出 CD-ROM。


      # eject cdrom
      

注册和配置 Sun Cluster HA for Sun Java System Web Server

您可以将 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。

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


注意:

通过其它选项也可以注册和配置数据服务。 有关这些选项的详细信息,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“数据服务资源管理工具”


要执行此过程,必须掌握以下信息。


注意:

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


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

  2. 注册 Sun Cluster HA for Sun Java System Web Server 的资源类型。


    # scrgadm -a -t SUNW.iws
    
    -a

    添加数据服务资源类型。

    -t SUNW.iws

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

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

    对于故障切换服务,此资源组还可以保存应用程序资源。

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


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

    指定故障切换资源组的名称。 可以选择此名称,但对于群集中的所有资源组来说,该名称必须唯一。

    -h nodelist

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


    注意:

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


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

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


    注意:

    为避免因名称服务查找而出现任何故障,请确保所有的逻辑主机名和共享地址都存在于服务器和客户机的 /etc/inet/hosts 文件中。 在尝试访问 NIS 或 NIS+ 之前,请在服务器上的 /etc/nsswitch.conf 中配置名称服务映射以先检查本地文件。


  5. 将网络资源(逻辑主机名或共享地址)添加到故障切换资源组中。


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

    对于共享地址资源,使用 -S;对于逻辑主机名资源,使用- L

    -g resource-group

    指定故障切换资源组的名称。

    -l network-resource, …

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

    -j resource

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

    -X auxnodelist=node, …

    指定可选的、用逗号分隔的物理节点 ID 的列表,这些 ID 标识了可以为共享地址提供服务但在发生故障切换时绝不会作为主节点的群集节点。 这些节点与资源组的 nodelist 中标识的节点(如果已指定)相互排斥。

    -g resource-group

    指定资源组的名称。 可以选择此名称,但对于群集中的所有资源组来说,该名称必须唯一。

    -h nodelist

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

    -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 Sun Java System Web Server 作为故障切换数据服务运行,请勿执行此步骤,转到步骤 8

    创建一个要保存数据服务应用程序资源的资源组。 必须指定主节点的最大数目和所需数目,以及此资源组与您在步骤 3 中创建的故障切换资源组之间的相关性。 此相关性可确保在发生故障切换时,资源管理器先启动网络资源,然后再启动依赖于该网络资源的任何数据服务。


    # scrgadm -a -g resource-group \
    -y Maximum_primaries=m -y Desired_primaries=n \
    -y RG_dependencies=resource-group
    
    -y Maximum_primaries=m

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

    -y Desired_primaries=n

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

    -y RG_dependencies=resource-group

    标识包含共享地址资源的资源组,将根据该资源创建资源组。

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

    如果您要将 Sun Cluster HA for Sun Java System Web Server 作为故障切换数据服务运行,请勿执行此步骤,转到步骤 8

    您可以重复此步骤以将多个应用程序资源(例如安全版本和不安全版本)添加到同一个资源组中。

    您可能还需要为数据服务设置负载平衡。 要执行此操作,请使用两个标准资源特性 Load_balancing_policyLoad_balancing_weights。 有关这些特性的说明,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“标准特性”。 另请参见本节后面的示例。


    # 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 Confdir_list=config-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 Confdir_list =config-directory, …

    指定用逗号分隔的 Sun Java System 配置文件的位置的列表。 Sun Cluster HA for Sun Java System Web Server 需要此扩展特性。


    注意:

    一对一映射适用于 Confdir_ListPort_List,即一个列表中的一个值必须按指定顺序对应于另一个列表中的值。


  8. 仅针对故障切换服务 – 在故障切换资源组中创建应用程序资源。

    仅当您将 Sun Cluster HA for Sun Java System Web Server 作为故障切换数据服务运行时,才执行此步骤。 如果您将 Sun Cluster HA for Sun Java System Web Server 作为可伸缩服务运行,则必须先前已经执行了步骤 6步骤 7 并且现在必须转到步骤 10

    您可以重复此步骤以将多个应用程序资源(例如安全版本和不安全版本)添加到同一个资源组中。


    # scrgadm -a -j resource -g resource-group \
    -t resource-type -y Network_resources_used=logical-hostname-list \
    -y Port_list=port-number/protocol \
    -x Confdir_list=config-directory
    
    -j resource

    指定要添加的资源的名称。

    -g resource-group

    指定要放置资源的故障切换资源组的名称。

    -t resource-type

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

    -y Network_resources_used =network-resource, …

    指定用逗号分隔的网络资源的列表,该列表标识数据服务使用的逻辑主机。

    -y Port_list =port-number/protocol

    指定要使用的端口号和协议,例如 80/tcp。 根据 Port_listConfdir_list 之间的一对一映射规则,故障切换服务的 Port_list 必须只能有一个项。

    -x Confdir_list =config-directory

    指定 Sun Java System 配置文件的位置。 故障切换服务的 Confdir_list 文件必须只能有一个项。 config-directory 必须包含名为 config 的目录。 Sun Cluster HA for Sun Java System Web Server 需要此扩展特性。


    注意:

    (可选)您可以设置属于 Sun Cluster HA for Sun Java System Web Server 的其它扩展特性,以覆盖特性的缺省值。 有关这些特性的列表,请参见表 1–2


  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 Sun Java System Web Server

以下示例显示了如何注册可伸缩 Sun Cluster HA for Sun Java System Web Server。


群集信息
节点名称:phys-schost-1、phys-schost-2
共享地址:schost-1
资源组:sa-resource-group-1(针对共享地址)、
iws-resource-group-1(针对可伸缩应用程序资源)
资源:schost-1(共享地址)、Sun-app-insecure-1(不安全的
应用程序资源)、Sun-app-secure-1(安全的应用程序资源)
 
(添加故障切换资源组以包含共享地址。)
# scrgadm -a -g sa-resource-group-1
 
(将共享地址资源添加到故障切换资源组。)
# scrgadm -a -S -g sa-resource-group-1 -l schost-1
 
(添加可伸缩资源组。)
# scrgadm -a -g iws-resource-group-1 -y Maximum_primaries=2 \
-y Desired_primaries=2 -y RG_dependencies=sa-resource-group-1
 
(为 Sun Cluster HA for Sun Java System Web Server 注册资源类型。)
# scrgadm -a -t SUNW.iws
 
(添加具有缺省负载平衡的不安全应用程序实例。)
# scrgadm -a -j Sun-app-insecure-1 -g iws-resource-group-1 -t SUNW.iws \
-x Confdir_List=/opt/SunONE/https-Sun-app-insecure-1 \
-y Scalable=True -y Network_resources_used=schost-1 -y Port_list=80/tcp 

(采用粘滞 IP 负载平衡添加安全的应用程序实例。)
# scrgadm -a -j Sun-app-secure-1 -g iws-resource-group-1 -t SUNW.iws \
-x Confdir_List=/opt/SunONE/https-Sun-app-secure-1 \
-y Scalable=True -y Network_resources_used=schost-1 \
-y Port_list=443/tcp -y Load_balancing_policy=LB_STICKY \
-y Load_balancing_weights=40@1,60@2使故障切换资源组联机。)
# scswitch -Z -g sa-resource-group-1
 
(使可伸缩资源组联机。)
# scswitch -Z -g iws-resource-group-1

示例 – 注册故障切换 Sun Cluster HA for Sun Java System Web Server

以下示例显示了如何在双节点群集中注册故障切换 Sun Cluster HA for Sun Java System Web Server 服务。


群集信息
节点名称:phys-schost-1、phys-schost-2
逻辑主机名:schost-1
资源组:resource-group-1(针对所有资源)
资源:schost-1(逻辑主机名)、Sun-app-insecure-1(不安全的
应用程序资源)、Sun-app-secure-1(安全的应用程序资源)
 
(添加资源组以包含所有资源。)
# scrgadm -a -g resource-group-1
 
(将逻辑主机名资源添加到资源组。)
# scrgadm -a -L -g resource-group-1 -l schost-1 
 
(为 Sun Cluster HA for Sun Java System Web Server 注册资源类型。)
# scrgadm -a -t SUNW.iws
 
(添加不安全的应用程序资源实例。)
# scrgadm -a -j Sun-app-insecure-1 -g resource-group-1 -t SUNW.iws \
-x Confdir_list=/opt/SunONE/conf -y Scalable=False \
-y Network_resources_used=schost-1 -y Port_list=80/tcp\ 

(添加安全的应用程序资源实例。)
# scrgadm -a -j Sun-app-secure-1 -g resource-group-1 -t SUNW.iws \ 
-x Confdir_List=/opt/SunONE/https-Sun-app-secure-1 -y Scalable=False \
-y Network_resources_used=schost-1 -y Port_list=443/tcp \ 

(使故障切换资源组联机。)
# scswitch -Z -g resource-group-1

如何配置 SUNW.HAStoragePlus 资源类型

SUNW.HAStoragePlus 资源类型是在 Sun Cluster 3.0 5/02 中引入的,这种新的资源类型具有与 SUNW.HAStorage 相同的功能,并将 HA 存储和数据服务之间的操作同步。

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

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

配置 Sun Cluster HA for Sun Java System Web Server 扩展特性

本节介绍 Sun Cluster HA for Sun Java System Web Server 的扩展特性。 对于故障切换,数据服务将强制 Confdir_list 的数量为一个。 如果您需要多个配置文件(实例),则需要创建多个故障切换资源,使每个资源都包含一个 Confdir_list 项。

通常,在创建 Sun Java System Web Server 资源时使用命令行 scrgadm -x parameter=value 来配置扩展特性。 有关所有 Sun Cluster 特性的详细信息,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“标准特性”

有关可以为 Sun Java System Web Server 配置的扩展特性的信息,请参见表 1–2。 创建 Sun Java System Web Server 资源时所需的唯一扩展特性是 Confdir_list 特性。 您可以动态地更新某些扩展特性。 但是,您只有在创建资源时才可以更新其它特性。 “可调”项表示何时可以更新各个特性。

表 1–2 Sun Cluster HA for Sun Java System Web Server 扩展特性

扩展特性名称  

说明 

Confdir_list(字符串数组)

特定 Sun Java System Web Server 实例的服务器根目录的指针。 如果 Sun Java System Web Server 处于安全模式,则路径名必须包含名为 keypass 的文件,该文件包含启动此实例所需的安全密钥口令。

缺省值:

范围:

可调:创建时

Failover_enabled(布尔值)

一种规范,用于指定如果在由 Retry_interval 指定的时间内尝试重新启动的次数超出了 Retry_count 的值,故障监视器是否对 Sun Java System Web Server 资源进行故障切换。 此扩展特性的可能值如下所示:

  • True – 指定故障监视器对 Sun Java System Web Server 资源进行故障切换

  • False – 指定故障监视器对 Sun Java System Web Server 资源进行故障切换

 

缺省值: True

范围:不适用

可调:当禁用资源时

Monitor_retry_count(整数)

Monitor_retry_interval 特性指定的时间窗口中显示进程监视工具 (PMF) 重新启动故障监视器的次数。 注意,此特性指的是重新启动故障监视器本身(而不是资源)。 系统定义的特性 Retry_intervalRetry_count 用于控制资源的重新启动。

 

缺省值: 4

范围: 02,147,483,641

–1 表示重试无限次。

可调:任何时候

Monitor_retry_interval(整数)

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

缺省值: 2

范围: 02,147,483,641

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

可调: 任何时候

Probe_timeout(整数)

故障监视器探测 Sun Java System Web Server 实例时使用的超时值(以秒为单位)。 

缺省值: 90

范围: 02,147,483,641

可调: 任何时候

Monitor_Uri_List(字符串)

故障监视器用于探测 Sun Java System Web Server 上部署的任何应用程序的单个 URI 或 URI 列表。 通过将该特性设置为一个或多个由 Sun Java System Web Server 上部署的应用程序提供服务的 URI,探测部署的应用程序。 

缺省值:

可调: 任何时候

是在以下发行版中引入的:3.1 10/03

监视任意 URI

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

示例 — 为可伸缩 Sun Java System Web Server 实例设置 Monitor_Uri_List


(添加具有缺省负载平衡的不安全 Sun Java System Web Server 实例。)

示例# scrgadm -a -j web-not-secure-1 -g resource-group-1 -t SUNW.iws \
-x Confdir_List=/opt/SunONE/https-Sun-app-insecure-1 \
-y Scalable=True -y Network_resources_used=schost-1 -y Port_list=8000/tcp
-x Monitor_Uri_list=http://schost-1:8000/servlet/monitor

示例 — 为故障切换 Sun Java System Web Server 实例设置 Monitor_Uri_List


(添加不安全的 Sun Java System Web Server 应用程序资源实例。)

示例# scrgadm -a -j web-not-secure-1 -g resource-group-1 -t SUNW.iws \
-x Confdir_list=/opt/SunONE/conf -y Scalable=False \
-y Network_resources_used=schost-1 -y Port_list=80/tcp \
-x Monitor_Uri_list=http://schost-1:80/servlet/monitor 

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

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

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

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

探测使用资源特性 Probe_timeout 指定的超时值来限制尝试成功探测 Sun Java System Web Server 所用的时间。 有关此资源特性的详细信息,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“标准特性”

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 地址和端口组合上进行侦听,则故障监视器将尝试探测所有这些组合,并可能会失败。

探测将执行以下步骤。

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

  2. 如果探测连接成功,探测将检查 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 出了故障。 该故障将被记录在探测的历史记录中。

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

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


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

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


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

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

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

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

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


      无法与服务器 %s 端口 %d 进行通信: %s
  3. 探测连接到 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 数据服务规划和管理指南(适用于 Solaris OS)》中的“Sun Cluster 数据服务故障监视器”中进一步介绍了此操作。

升级 Sun Cluster HA for Sun Java System Web Server 资源类型

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

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

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

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

资源类型版本 

Sun Cluster 数据服务发行版 

1.0 

3.1 

3.1 5/03 

3.1 10/03 

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

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

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

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

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


实例 1–1 迁移 SUNW.iws 资源类型的实例


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

此命令将对名为 webserver-rsSUNW.iws 资源进行如下修改: