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

第 2 章 安装和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 之前的支持版本

本章介绍了安装和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 之前的支持版本的过程。

有关安装和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 的支持版本的信息,请参见第 1 章,安装和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 的支持版本

本章包含以下小节。

用于 Sun Java System Application Server 的 Sun Cluster HA 概述

本节说明了 用于 Sun Java System Application Server 的 Sun Cluster HA 如何使 Sun Java System Application Server 具有高度可用性。有关 用于 Sun Java System Application Server 的 Sun Cluster HA 安装和配置的新信息,请查阅 《Sun Cluster Data Service Release Notes for Solaris OS》。

Sun Java System Application Server 提供了与 Java 2 Enterprise Edition (J2EE™) 1.3 兼容的高性能平台,该平台适用于部署各种应用程序服务和 Web 服务。此平台旨在满足企业用户的需要,它可以在 Sun Cluster 软件的控制下运行。

Sun Java System Message Queue 随 Sun Java System Application Server 一起安装。有关配置 Sun Java System Message Queue 以获得高可用性的信息,请参见《用于 Sun Java System Message Queue 的 Sun Cluster 数据服务指南(适用于 Solaris OS)》

许多客户机可直接连接到 Sun Java System Application Server。通过前端 Web 服务器可以将 Web 客户机连接定向到 Sun Java System Application Server。Sun Java System Application Server 提供一个中间插件来与 Sun Java System Web Server 一同使用。

用于 Sun Java System Application Server 的 Sun Cluster HA 的实现假设您的体系结构所依赖的程序不存在。您的体系结构所依赖的程序(例如,数据库和 Web 服务器)应配置为具有高度可用性,但可在另一个群集上运行。

有关数据服务、资源组、资源和其他相关主题的一般信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的第 1  章 “Planning for Sun Cluster Data Services”《Sun Cluster 概述(适用于 Solaris OS)》

可以使用以下方法之一配置 用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 之前的支持版本。

故障转移配置概述

用于 Sun Java System Application Server 的 Sun Cluster HA 是具有适当扩展属性的数据服务,可配置一次在一个节点上进行控制的故障切换应用服务器。域的管理服务器也可以成为具有高度可用性的故障转移资源。Web 客户机可直接连接到 Sun Java System Application Server。

在群集环境中,限制使用 Sun Java System Application Server 命令行或 GUI 管理工具。在将应用程序实例和管理服务器配置到资源组中之前,请参见配置限制以获得有关在群集中使用 asadmin 或 Sun Java System Application Server 管理界面的信息。有关配置资源和资源组的更多信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Configuration Guidelines for Sun Cluster Data Services”

请使用本节中的标准配置来规划 用于 Sun Java System Application Server 的 Sun Cluster HA 的安装和配置。用于 Sun Java System Application Server 的 Sun Cluster HA 可能还支持其它配置。但是,您必须与您的 Enterprise 服务代表联系以获得有关其他配置的信息。

下图说明了在双节点群集上运行的 Sun Java System Application Server 的标准故障切换配置。有关将 用于 Sun Java System Application Server 的 Sun Cluster HA 配置为故障转移数据服务的附加信息,请参见配置限制

图 2–1 具有故障切换数据服务配置的双节点群集

说明:上文介绍了此图形。

多个主节点配置概述

您还可以将 用于 Sun Java System Application Server 的 Sun Cluster HA 配置为可同时在多个节点上进行控制。 多个主节点配置中,通过使用前端 Web 层将请求定向到应用服务器来提供可伸缩性。应用服务器提供的中间插件必须与前端 Web 层一同使用,以将请求定向到某个运行中的 Sun Java System Application Server 实例。

具有高度可用性的 Sun Java System Web Server 被配置为在侦听逻辑主机名的群集上运行。如果 Web 层在应用服务器所在的群集上运行,则插件应配置为将请求传送到群集专用 IP 地址。Sun Java System Web Server 实例也可以配置为在其他群集上运行。如果 Web 层在一个单独的群集上运行,插件被配置为将请求传送到可以运行 Sun Java System Application Server 资源的群集成员的物理主机名。phys-schost-1 就是一个物理主机名。

对于可在多个节点上进行控制的 用于 Sun Java System Application Server 的 Sun Cluster HA 配置,可使用专用互连来定向 Sun Java System Web Server 和 Sun Java System Application Server 之间的通信。


注 –

如果将 用于 Sun Java System Application Server 的 Sun Cluster HA 配置为可同时在多个节点上进行控制的服务,您必须安装和配置 Sun Java System Web Server。所有群集节点上的 Sun Java System Web Server 配置必须都相同。


可使 Sun Java System Application Server 的多个实例负载平衡。要实现负载平衡,在 Sun Java System Web Server 配置中安装 Sun Java System Application Server 插件。当 Sun Java System Web Server 用作 Sun Java System Application Server 的前端时,可将其配置为故障切换或可伸缩资源。

将 Sun Java System Application Server 实例配置成其 HTTP 侦听程序侦听所有接口 (0.0.0.0),这是 Sun Java System Application Server 的缺省设置。


注 –

对于可在多个节点上进行控制的数据服务,IIOP 侦听程序不具有高度可用性。


下图说明了可同时在两个节点上控制资源的 Sun Java System Application Server 配置。

图 2–2 可在多个节点上控制数据服务的双节点群集

说明:上文介绍了此图形。

用于 Sun Java System Application Server 的 Sun Cluster HA 的安装和配置过程概述

下表概括了安装和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 的任务。请按照列出的顺序执行这些任务。

表 2–1 任务对应关系:安装和配置 用于 Sun Java System Application Server 的 Sun Cluster HA

任务 

参考 

规划 用于 Sun Java System Application Server 的 Sun Cluster HA 的安装和配置 

规划 用于 Sun Java System Application Server 的 Sun Cluster HA 的安装和配置

安装和配置 Sun Java System Application Server 

如何安装和配置 Sun Java System Application Server

(可选)使用具有 HADB 的 Sun Java System Application Server 

使用具有 HADB 的 Sun Java System Application Server

安装和配置前端 Sun Java System Web Server 

配置 Sun Java System Web Server 插件

安装 用于 Sun Java System Application Server 的 Sun Cluster HA 软件包 

安装 用于 Sun Java System Application Server 的 Sun Cluster HA 软件包

注册和配置 用于 Sun Java System Application Server 的 Sun Cluster HA  

注册和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 之前的支持版本

(可选)配置 SUNW.HAStoragePlus 资源类型

配置 SUNW.HAStoragePlus 资源类型

(可选)调谐 用于 Sun Java System Application Server 的 Sun Cluster HA 故障监视器 

调谐 用于 Sun Java System Application Server 的 Sun Cluster HA 的故障监视器

检验 用于 Sun Java System Application Server 的 Sun Cluster HA 安装和配置 

检验 用于 Sun Java System Application Server 的 Sun Cluster HA 的安装和配置


注 –

如果在 Sun Cluster 配置下运行多个数据服务,您可以按任意顺序设置数据服务,但以下情况例外。如果 用于 Sun Java System Application Server 的 Sun Cluster HA 依赖于 Sun Cluster HA for DNS,您必须先设置 DNS。有关详细信息,请参见 《Sun Cluster Data Service for DNS Guide for Solaris OS》。DNS 软件包含于 Solaris 操作环境中。如果群集将从另一个服务器获取 DNS 服务,则先将该群集配置为 DNS 客户机。


规划 用于 Sun Java System Application Server 的 Sun Cluster HA 的安装和配置

本节包含安装和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 所需的信息。

配置限制

开始安装之前,请注意以下限制和要求。

配置规划问题

请使用本节中的问题来规划 用于 Sun Java System Application Server 的 Sun Cluster HA 的安装和配置。

安装和配置 Sun Java System Application Server

本节介绍如何安装 Sun Java System Application Server。此处仅包含特定于 用于 Sun Java System Application Server 的 Sun Cluster HA 的信息。有关详细的安装说明(包括修补程序需求),请参见 Sun Java System Application Server 文档。

Procedure如何配置和激活故障切换配置的网络资源

如果将 Sun Java System Application Server 配置为故障转移服务,则必须在安装和配置 Sun Java System Application Server 之前设置网络资源。该故障转移服务在安装和配置之后使用这些网络资源才能在群集中运行。

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


注 –

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


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

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

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


    注 –

    要避免名称服务查找失败,请确保所有群集节点上的 /etc/inet/hosts 文件中包含所有的逻辑主机名。在服务器上的 /etc/nsswitch.conf 文件中配置名称服务映射,以在尝试访问 NIS、NIS+ 或 DNS 之前检查本地文件。


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


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

    指定资源组的名称。您可以选择此名称。

    [-h nodelist]

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


    注 –

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


  4. 将网络资源添加到资源组。

    使用以下命令将逻辑主机名添加到资源组中。


    # scrgadm -a -L -g resource-group -l hostname, …[-n netiflist]
    -L

    指定将添加网络资源。

    -g resource-group

    指定资源组的名称。

    -l hostname, …

    指定一个用逗号分隔的网络资源的列表。

    -n netiflist

    指定一个可选的、用逗号分隔的列表,该列表标识各节点上的 IP 网络多路径处理 组。


    注 –

    netiflist 中每个元素的格式都必须为 netif@node,其中 netif 可以作为 IP 网络多路径处理 组名给出,例如 sc_ipmp0。节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1。Sun Cluster 目前不支持将适配器名称用于 netif


  5. 使资源组联机。


    # scswitch -Z -g resource-group
    
    -Z

    将资源组切换到 MANAGED 状态并使其联机

    -g resource-group

    指定资源组的名称

Procedure如何安装和配置 Sun Java System Application Server

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

  2. 确定是否在 Solaris 8 上安装 Sun Java System Application Server。

    • 如果否,请前进至步骤 4

    • 如果是,则执行以下操作。

    1. 对所有群集节点从 Sun Java System Application Server 的安装目录运行 setup 命令。

    2. setup 命令提示符处给出 Sun Java System Application Server 实例的默认位置。

      通过使用默认目录 /var/opt/SUNWappserver7 将服务器配置目录置于本地文件系统中。创建由 Sun Cluster 管理的服务器实例时,指定全局文件系统或 HAStoragePlus 文件系统的路径。请确保 Sun Java System Application Server 实例的所有潜在主节点可以访问 Sun Java System Application Server 实例配置文件。


      注 –

      Sun Cluster 无法使用通过 setup 命令创建的域。


  3. 如果要在 Solaris 8 上安装 Sun Java System Application Server 或安装未与 Solaris 9 一起封装的 Sun Java System Application Server Enterprise Edition,则前进至步骤 5

  4. 如果您安装与 Solaris 9 一起封装的 Sun Java System Application Server,请执行以下操作:

    1. 在群集的所有节点上安装 Sun Java System Application Server 软件包。

    2. 在全局文件系统上标识将用于保存应用服务器配置文件的位置。

      您可以为该文件系统创建一个单独的目录。

  5. (可选)在所有节点上,从缺省配置目录创建指向全局文件系统上服务器配置目录的链接。

    步骤 8 中创建 Sun Java System Application Server 域时,您可以创建指向服务器配置目录的链接或指定在全局文件系统中该位置的完整路径。

    • 要为与 Solaris 9 一起封装的 Sun Java System Application Server 创建链接,请运行以下命令。


      # ln -s /global/appserver /var/appserver
      
    • 要为未封装的 Sun Java System Application Server 创建链接,请运行以下命令。


      # ln -s /global/appserver /var/opt/SUNWappserver7
      
  6. 如果要在 Solaris 8 上安装 Sun Java System Application Server,请前进至步骤 8

  7. 如果您要安装与 Solaris 9 一同封装的 Sun Java System Application Server,请在所有节点上执行以下操作:

    1. 列出 Sun Java System Application Server 运行控制脚本。


      # ls -1 /etc/rc?.d/*appserv
      /etc/rc0.d/K05appserv
      /etc/rc1.d/K05appserv
      /etc/rc2.d/K05appserv
      /etc/rc3.d/S84appserv
      /etc/rcS.d/K05appserv
    2. 重命名 Sun Java System Application Server 运行控制脚本。

      重命名运行控制脚本将禁用作为 SUNWasr 软件包(或 SUNWasro 软件包,如果已安装的是未绑定的 Sun Java System Application Server)的一部分安装的 START 和 STOP 运行控制脚本。此步骤是必需的,因为在配置了数据服务后,用于 Sun Java System Application Server 的 Sun Cluster HA 启动并停止 Sun Java System Application Server 实例。


      # mv /etc/rc0.d/K05appserv  /etc/rc0.d/k05appserv
      # mv /etc/rc1.d/K05appserv  /etc/rc1.d/k05appserv
      # mv /etc/rc2.d/K05appserv  /etc/rc2.d/k05appserv
      # mv /etc/rc3.d/S85appserv  /etc/rc3.d/s85appserv
      # mv /etc/rcS.d/K05appserv  /etc/rcS.d/k05appserv

      注 –

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


    3. 检验所有的 Sun Java System Application Server 运行控制脚本是否已被重命名。


      # ls -1 /etc/rc?.d/*appserv
      /etc/rc0.d/k05appserv
      /etc/rc1.d/k05appserv
      /etc/rc2.d/k05appserv
      /etc/rc3.d/s85appserv
      /etc/rcS.d/k05appserv
  8. 在全局文件系统上创建一个带有配置信息的域。


    # asadmin create-domain --path /global/appserver/domains \
    --adminport=4848 --adminuser admin --adminpassword password scdomain
    
  9. 启动域管理服务器。


    # /global/appserver/domains/scdomain/admin-server/bin/startserv
    
  10. 使用管理服务器创建具有高度可用性的新应用服务器。

  11. 在本地磁盘上为 Sun Java System Application Server 实例使用的每个节点创建一个日志目录。

    为使 Sun Java System Application Server 实例正常工作,日志目录必须位于群集的每个节点上,而不是位于群集文件系统上。在本地磁盘上选择一个位置。对于群集中的所有节点来说,该位置应该相同。


    schost-1# mkdir -p /var/pathname/domain/instance/logs/
    

    注 –

    如果您预料会有较大的日志文件,请确保包含目录的文件系统有足够的空间来处理文件。


  12. 更改 Sun Java System Application Server 实例 PidLog 的位置,以反映在步骤 11 中创建的目录。要更改位置,请编辑服务器配置目录中的 init.conf 文件。

  13. stopserv 文件中更改 PID_FILE 的位置,以匹配在步骤 12 中设置的 PidLog 的值。

  14. 更改 Log FileLog RootTransaction Log Location 参数的位置,以反映在步骤 11 中创建的目录。要更改这些参数,请使用 Sun Java System Application Server 管理界面。有关配置的说明,请参见 Sun Java System Application Server 文档。

  15. 更改 accesslog 参数的位置,以反映在步骤 11 中创建的目录。要更改该参数,请使用 asadmin 公用程序。有关说明,请参见 Sun Java System Application Server 文档。

  16. 请确保应用服务器使用的所有逻辑主机名均已配置并联机。

  17. 如果将应用服务器配置为故障转移服务,请使用逻辑 IP 地址配置 HTTP 侦听程序 IP 地址,并使用逻辑主机名配置服务器名称。如果将应用服务器配置为可在多个节点上进行控制的服务,请前进至步骤 19

    必须在逻辑主机的主节点上执行此操作。

  18. 如果将应用服务器配置为可在多个节点上进行控制的服务,请将 HTTP 侦听器的 IP 地址配置为 0.0.0.0 并将 Return Server Name 配置为 localhost

  19. 检验 HTTP 侦听程序是否返回正确的服务器名称。

    正确的服务器名称通常是客户机用于访问应用服务器上资源的主机名。

  20. 如果将应用服务器配置为故障转移服务,则使用逻辑 IP 地址配置 用于 Sun Java System Application Server 的 Sun Cluster HA 实例的 IIOP 侦听程序。如果将应用服务器配置为可在多个节点上进行控制的服务,请前进至步骤 21

    如果要使管理服务器具有高度可用性,仅配置 HTTP 侦听程序,因为管理服务器不具有 IIOP 侦听程序。

  21. 通过取消选中 JMS 下服务的 Start Enable,禁止 Message Queue 服务器启动 Sun Java System Application Server。

  22. 通过发出 startserv 命令,启动应用服务器。


    # /global/appserver/domains/scdomain/server1/bin/startserv
    

    如果服务器未启动,请解决该问题。有关详细信息,请参见 Sun Java System Application Server 文档。

  23. 通过发出 stopserv 命令,停止应用服务器。


    # /global/appserver/domains/scdomain/server1/bin/stopserv
    

    在进入安装和配置过程的下一部分之前,必须停止服务器。

使用具有 HADB 的 Sun Java System Application Server

要在群集中使用启用了 HADB 的 Sun Java System Application Server 企业版,请安装并配置用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster 数据服务。有关过程说明,请参见《用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster 数据服务指南(适用于 Solaris OS)》

配置 Sun Java System Web Server 插件

Sun Java System Web Server 插件可用作与 Sun Java System Application Server 之间的中间负载平衡装置。此处仅包含特定于 用于 Sun Java System Application Server 的 Sun Cluster HA 的配置信息。这些配置说明要求安装 Sun Java System Web Server 插件。有关详细的安装说明(包括修补程序需求),请参见 Sun Java System Application Server 文档。

如果要将 用于 Sun Java System Application Server 的 Sun Cluster HA 配置为故障切换数据服务,则可任意选择是否安装前端 Sun Java System Web Server。

要配置 Sun Java System Web Server 插件,请在 loadbalancer.xml 文件中配置侦听器。

安装 用于 Sun Java System Application Server 的 Sun Cluster HA 软件包

如果在初始安装 Sun Cluster 期间未安装 用于 Sun Java System Application Server 的 Sun Cluster HA 软件包,请执行以下步骤安装软件包。在安装 用于 Sun Java System Application Server 的 Sun Cluster HA 软件包的每个群集节点上执行此过程。

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


注 –

如果使用的是 Solaris 10,请在全局区域中安装这些软件包。为确保这些软件包不会被复制到安装完软件包之后创建的任何本地区域,请使用 scinstall 实用程序安装这些软件包。请不要使用 Sun Java Enterprise System Common Installer 程序。


Procedure如何使用 Sun Java Enterprise System Common Installer 程序来安装 用于 Sun Java System Application Server 的 Sun Cluster HA 软件包

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

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

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

  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 目录。


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


    # ./installer
    
  6. 当提示您接受许可证协议和相应的语言支持时,请接受。

    缺省情况下,英语支持为可用的语言支持。

  7. 在“可用服务和 Sun Cluster 3.1 子组件”下选择“用于 Sun Java System 的 Sun Cluster 代理”,然后继续。

    此选项包含所有用于 Sun Java System 应用程序的可用 Sun Cluster 数据服务,包括 用于 Sun Java System Application Server 的 Sun Cluster HA 。

  8. 当提示您配置时,请选择“稍后配置”。

    指定“稍后配置”以便在安装后执行配置。

  9. (可选)如果您不希望注册产品以及接收产品更新,取消选择“产品注册”框。

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

    Sun Java Enterprise System Common Installer 程序将显示安装的状态。当安装完成时,程序会显示安装摘要和安装日志。

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

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


    # pkginfo -l SUNWscs1as
    
  12. 从 CD-ROM 驱动器卸下 Sun Java Enterprise System Common Installer CD-ROM。

    1. 要确保 CD-ROM 不在使用,更改到属于 CD-ROM 的目录。

    2. 弹出 CD-ROM。


      # eject cdrom
      

注册和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 之前的支持版本

以下过程介绍如何使用 scrgadm 命令注册和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 。这些说明介绍了如何设置附录 A,用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 的支持版本 的扩展属性中所述的扩展属性。

可以使用以下方法配置 用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 之前的支持版本 数据服务。


注 –

有关注册和配置数据服务的一般信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Tools for Data Service Resource Administration”


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

设置 用于 Sun Java System Application Server 的 Sun Cluster HA 扩展属性

以下各节介绍如何注册和配置资源。这些说明介绍了如何设置 用于 Sun Java System Application Server 的 Sun Cluster HA 要求设置的扩展属性。有关所有 用于 Sun Java System Application Server 的 Sun Cluster HA 扩展属性的信息,请参见附录 A,用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 的支持版本 的扩展属性。您可以动态地更新某些扩展属性。但是,只能在创建或禁用资源时更新其他扩展属性。“可调”条目表示何时可以更新属性。

要设置资源的扩展属性,请在创建或修改资源的 scrgadm(1M) 命令中使用以下选项:


-x property=value
-x property

标识要设置的扩展属性

value

指定要为扩展属性设置的值

您还可以使用《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的第 2  章 “Administering Data Service Resources”中的过程在创建资源后配置资源。

Procedure如何将 用于 Sun Java System Application Server 的 Sun Cluster HA 注册并配置为故障切换数据服务

执行以下步骤以完成 用于 Sun Java System Application Server 的 Sun Cluster HA 故障转移配置。您还可以使用此过程将域管理服务器配置为故障转移资源。

请注意,在如何配置和激活故障切换配置的网络资源中,您将创建故障转移资源组、向资源组中添加逻辑主机名并使资源组联机。

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

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


    # scrgadm -a -t SUNW.s1as
    
    -a

    添加数据服务资源类型

    -t SUNW.s1as

    指定预定义的资源类型名称

  3. 将 Sun Java System Application Server 资源实例添加到为网络资源创建的故障转移资源组中。


    # scrgadm -a -j resource -g resource-group \
    -t SUNW.s1as \
    y Network_resources_used=network-resources \
    y Port_list=port/tcp,port/tcp \
    x Confdir_list=install-directory/domains/domain/server \
    x Monitor_Uri_List=http://logical-hostname[:port][/path]
    
    -j resource

    指定 Sun Java System Application Server 应用程序资源名称。

    -g resource-group

    指定资源组。

    -t SUNW.s1as

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

    -y Network_resources_used =network-resources

    resource-group 中指定以逗号分隔的网络资源列表。

    -y Port_list= port-number/protocol

    指定要使用的、以逗号分隔的端口号和协议组合列表,例如,80/tcp。如果设置了 Monitor_Uri_List,则 Port_list 设置是可选的。

    -x Confdir_list= install-directory/domains/domain /server

    指定 Sun Java System Application Server 配置目录的路径。需要 Confdir_list 扩展属性,并且该属性必须仅包含一个条目。

    -x Monitor_Uri_List =logical-hostname[:port][/path]

    指定 用于 Sun Java System Application Server 的 Sun Cluster HA 从其发出请求的以逗号分隔的 URI 列表。如果未设置 Port_list 属性,则 Monitor_Uri_List 扩展属性是必需的。

  4. 检验资源组和应用服务器资源是否联机。


    # scstat -g
    # ps -ef
    

示例 2–1 将 用于 Sun Java System Application Server 的 Sun Cluster HA 注册和配置为故障转移数据服务

群集信息

  1. 要创建故障转移资源组,请运行以下命令。


    # scrgadm -a -g appsrv-rg -h phys-schost-1,phys-schost-2
    
  2. 要向资源组中添加逻辑主机名资源,请运行以下命令。


    # scrgadm -a -L -g appsrv-rg -l schost-1
    
  3. 要注册 SUNW.s1as 资源类型,请运行以下命令。


    # scrgadm -a -t SUNW.s1as
    
  4. 要创建 Sun Java System Application Server 资源并将其添加到资源组中,请运行以下命令。


    # scrgadm -a -j appsrv-rs -g appsrv-rg \
    -t SUNW.s1as \
    -y Network_resources_used=schost-1 \
    -y Port_list=80/tcp,3700/tcp \
    -x Confdir_list=/global/appsrv/domains/scdomain/server1 \
    -x Monitor_Uri_List=http://schost-1:80/servlet/monitor
    
  5. 要使应用程序资源组联机,请运行以下命令。


    # scswitch -Z -g appsrv-rg
    


示例 2–2 将 admin-server 注册和配置为故障转移数据服务

本示例显示如何将 admin-server 配置为上面示例中创建的故障转移资源组的一部分。

群集信息

要创建 Sun Java System Application Server 资源并将其添加到资源组中,请运行以下命令。


# scrgadm -a -j admin-rs -g appsrv-rg \
-t SUNW.s1as \
-y Network_resources_used=schost-1 \
-y Port_list=4848/tcp \
-x Confdir_list=/global/appsrv/domains/scdomain/admin-server \
-x Monitor_Uri_List=http://schost-1:484

Procedure如何将 用于 Sun Java System Application Server 的 Sun Cluster HA 注册并配置为可在多个节点上进行控制的数据服务

此过程假定您在 用于 Sun Java System Application Server 的 Sun Cluster HA 的初始安装期间安装了该数据服务软件包。如果在初始安装期间没有安装 Sun Java System Application Server 软件包,请转至安装 用于 Sun Java System Application Server 的 Sun Cluster HA 软件包以安装该数据服务软件包。

在开始将 用于 Sun Java System Application Server 的 Sun Cluster HA 注册并配置为可同时在多个节点上对其进行控制的服务之前,请考虑以下要求。

有关此过程的概念性信息,请参见多个主节点配置概述


注 –

请勿使用 Sun Java System Application Server 命令行或 GUI 管理工具来启动或停止 Sun Java System Application Server 实例。Sun Java System Application Server 管理服务器可能无法显示被配置为可在多个节点上对其进行控制的服务的应用服务器实例的正确状态。


步骤
  1. 成为托管应用服务器的群集中的某个节点上的超级用户。

  2. 为 Sun Java System Application Server 添加可伸缩资源组。


    # scrgadm -a -g resource-group \
    -y Maximum_primaries=value \
    -y Desired_primaries=value [-h nodelist]
    
  3. 为 Sun Java System Application Server 注册资源类型。


    # scrgadm -a -t SUNW.s1as
    
  4. 将 Sun Java System Application Server 资源实例添加到资源组中。


    # scrgadm -a -j  resource -g resource-group -t SUNW.s1as \ 
    -x Confdir_list=install-directory/domains/domain/server \
    -x Monitor_Uri_List=http://localhost[:port][/path]
    
    -j resource

    指定 Sun Java System Application Server 应用程序资源名称。

    -t SUNW.s1as

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

    -x Confdir_list= install-directory/domains/domain/server

    指定 Sun Java System Application Server 配置目录的路径。需要 Confdir_list 扩展属性,并且该属性必须仅包含一个条目。

    -x Monitor_Uri_List =localhost[:port][/path]

    指定 用于 Sun Java System Application Server 的 Sun Cluster HA 从其发出请求的 URI。Monitor_Uri_List 扩展属性是必需的。

  5. 使可伸缩资源组联机。


    # scswitch -Z -g resource-group
    
    -Z

    使资源组联机。

    -g resource-group

    指定要使其联机的应用程序资源组的名称。


示例 2–3 将 用于 Sun Java System Application Server 的 Sun Cluster HA 注册并配置为可在多个节点上对其进行控制的服务

本示例显示如何将 用于 Sun Java System Application Server 的 Sun Cluster HA 注册为可同时在两个节点上对其进行控制的服务。

群集信息

  1. 要创建可伸缩资源组,请运行以下命令。


    # scrgadm -a -g appserv-rg \ 
    -y Maximum_primaries=2 \
    -y Desired_primaries=2 \
    -h phys-schost-1,phys-schost-2
    
  2. 要注册 SUNW.s1as 资源类型,请运行以下命令。


    # scrgadm -a -t SUNW.s1as
    
  3. 要创建 Sun Java System Application Server 资源并将其添加到资源组中,请运行以下命令。


    # scrgadm -a -j appsrv-rs -g appsrv-rg -t SUNW.s1as \
    -x Confdir_list=/global/appserver/domains/scdomain/server1 \ 
    -x Monitor_Uri_List=http://localhost:8000/servlet/monitor
    
  4. 要使应用程序资源组联机,请运行以下命令。


    # scswitch -Z -g appsrv-rg
    

配置 SUNW.HAStoragePlus 资源类型

SUNW.HAStoragePlus 资源类型与 SUNW.HAStorage 执行的功能相同,并且将同步 HA 存储设备与数据服务之间的操作。

SUNW.HAStoragePlus 还具备使本地文件系统具有高可用性的附加功能。对于 用于 Sun Java System Application Server 的 Sun Cluster HA 而言,配置 SUNW.HAStoragePlus 资源类型是可选的。

有关背景信息,请参见 SUNW.HAStoragePlus(5) 手册页和《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Synchronizing the Startups Between Resource Groups and Disk Device Groups”

调谐 用于 Sun Java System Application Server 的 Sun Cluster HA 的故障监视器

用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 之前的支持版本的故障监视器包含在资源类型为 SUNW.s1as 的资源中。

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

调节这些故障监视器包括以下任务:

注册和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 时,执行以下任务(如注册和配置 用于 Sun Java System Application Server 的 Sun Cluster HA 8.1 之前的支持版本中所述)。

有关这些任务的详细信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Tuning Fault Monitors for Sun Cluster Data Services”

本节提供了以下信息。

探测期间 用于 Sun Java System Application Server 的 Sun Cluster HA 故障监视器的操作

用于 Sun Java System Application Server 的 Sun Cluster HA 故障监视器探测将向服务器发送请求,以查询 Sun Java System Application Server 服务器的运行状况。探测执行以下步骤:

  1. 故障监视器根据 Probe_timeout 资源属性设置的超时值探测 Sun Java System Application Server 实例。

  2. 探测将连接到由资源组的网络资源配置和 Port_list 设置定义的 IP 地址和端口组合。如果资源被配置为具有非空的 Port_list,则跳过此步骤。如果连接成功,则探测将断开连接。如果连接失败,系统将记录失败。

    网络通信繁忙、系统负载大和配置错误均会导致查询失败。如果您未将 Sun Java System Application Server 服务器配置为侦听所有被探测的 IP 地址/端口组合,可能会发生错误配置。Sun Java System Application Server 服务器应该为针对此资源指定的每个 IP 地址的每个端口提供服务。

  3. 探测将连接到 Sun Java System Application Server 服务器并通过向 Monitor_Uri_List 中的每个 URI 发送 HTTP 请求和接收响应来执行 HTTP 1.1 GET 检查。

    每个 HTTP 请求的结果不是失败就是成功。如果所有请求均成功从 Sun Java System Application Server 服务器接收到回复,则探测将返回并继续执行下一轮探测和休眠。

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

  4. 如果在 Probe_timeout 限制内没有收到探测的回复,则探测将在历史记录日志中记录一次失败。探测会将这种情况视为 Sun Java System Application Server 数据服务部分出现故障。Sun Java System Application Server 探测失败可以是完全失败,也可以是部分失败。

    如果在 Probe_timeout 限制内接收到探测回复,则将检查 HTTP 回复码。如果回复码为 500(内部服务器错误),则探测将被视为完全失败。所有其他回复码都被忽略。

    下面是探测完全失败的一些例子。

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


      无法连接到主机 <%s> 和端口 <%d>。收到的回复码为 500(内部服务器错误),
      %s 探测的 HTTP GET
      回复码为 500。将进行故障转移
    • 无法成功将探测字符串发送到服务器时会收到以下错误消息。第一个 %s 表示主机名,%d 表示端口号,第二个 %s 表示错误的更详细信息。


      向服务器写入数据失败:服务器 %s,端口 %d:%s。
  5. 监视器将累积 Retry_interval 资源属性设置内发生的部分失败,直至其等于一次完全失败。

    下面是探测部分失败的一些例子:

    • 如果在 Probe_timeout 设置的时间内无法断开连接,则会收到以下错误消息。%d 表示端口号,%s 表示资源名称。


      无法从资源 %s 的端口 %d 断开连接。
    • 无法在 Probe_timeout 时间内完成所有探测步骤是部分失败。

    • 由于其他原因从服务器读取信息失败时将收到以下错误消息。第一个 %s 表示主机名,%d 表示端口号,第二个 %s 表示错误的更详细信息。


      无法与服务器 %s 端口 %d 进行通信: %s
  6. 基于故障的历史记录,故障会导致本地重新启动或数据服务的故障转移。

检验 用于 Sun Java System Application Server 的 Sun Cluster HA 的安装和配置

本节介绍如何检验是否正确安装了 用于 Sun Java System Application Server 的 Sun Cluster HA 。


注 –

安装后,请仅使用群集管理命令 scswitch(1M) 手动启动和停止 Sun Java System Application Server。启动 Sun Java System Application Server 后,它在 Sun Cluster 软件的控制下运行。


Procedure如何检验 用于 Sun Java System Application Server 的 Sun Cluster HA 的安装和配置

步骤
  1. 在 Sun Cluster 软件控制下启动 Sun Java System Application Server。


    # scswitch -Z -g resource-group
    
  2. 使用 Web 浏览器连接到 Sun Java System Application Server,并检验 Sun Java System Application Server 软件是否正常工作。

  3. 运行 scswitch 命令将资源组切换到另一个群集节点,例如,node2


    # scswitch -z -g resource-group -h node2
    
  4. 检验资源组和 Sun Java System Application Server 资源是否联机。


    # scstat -g
    # ps -ef
    
  5. 在 Sun Java System Application Server 资源组的所有潜在主节点上重复执行步骤 2步骤 3