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

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

本章介绍安装和配置 Sun Cluster HA for Sun Java System Application Server 的过程。此数据服务以前称为 Sun Cluster HA for Sun ONE Application Server。

本章包含以下过程。

Sun Cluster HA for Sun Java System Application Server 概述

本节介绍 Sun Cluster HA for Sun Java System Application Server 如何使 Sun Java System Application Server 具有高度可用性。有关 Sun Cluster HA for Sun Java System Application Server 安装和配置的新信息,请查阅 《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 Cluster HA for Sun Java System Application Server 的实现假设您的体系结构所依赖的程序不存在。您的体系结构所依赖的程序(例如,数据库和 Web 服务器)应配置为具有高度可用性,但可在另一个群集上运行。

有关数据服务、资源组、资源及其他相关主题的一般信息,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“规划 Sun Cluster 数据服务”Sun Cluster 概述(适用于 Solaris OS)

您可以用以下方法之一来配置 Sun Cluster HA for Sun Java System Application Server:

有关过程信息,请参见如何将 Sun Cluster HA for Sun Java System Application Server 注册并配置为故障转移数据服务如何将 Sun Cluster HA for Sun Java System Application Server 注册并配置为可在多个节点上对其进行控制的服务

故障转移配置概述

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

在群集环境中,限制使用 Sun Java System Application Server 命令行或 GUI 管理工具。将应用程序实例和管理服务器配置为资源组之前,有关在群集中使用 asadmin 或 Sun Java System Application Server 管理界面的信息,请参见配置限制。有关配置资源和资源组的详细信息,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“Sun Cluster 数据服务配置准则”

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

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

图 1–1 具有故障转移数据服务配置的双节点群集

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

多个主节点配置概述

您还可以将 Sun Cluster HA for Sun Java System Application Server 配置为可同时在多个节点上进行控制。多个主节点配置中,通过使用前端 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 Cluster HA for Sun Java System Application Server 配置,可使用专用互连来定向 Sun Java System Web Server 和 Sun Java System Application Server 之间的通信。


注意 –

如果将 Sun Cluster HA for Sun Java System Application Server 配置为可同时在多个节点上进行控制的服务,您必须安装和配置 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 配置。

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

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

任务对应关系:安装和配置 Sun Cluster HA for Sun Java System Application Server

下表列出了介绍安装和配置任务的各节。请按照列出的顺序执行这些任务。

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

任务 

参考 

规划 Sun Java System Application Server 的安装和配置 

规划 Sun Java System Application Server 的安装和配置

配置和激活网络资源 

如何配置和激活故障转移配置的网络资源

安装和配置 Sun Java System Application Server 

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

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

如何安装和配置 Sun Java System Web Server 插件

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

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

安装 Sun Cluster HA for Sun Java System Application Server 软件包 

安装 Sun Cluster HA for Sun Java System Application Server

将 Sun Cluster HA for Sun Java System Application Server 注册并配置为故障转移数据服务 

如何将 Sun Cluster HA for Sun Java System Application Server 注册并配置为故障转移数据服务

将 Sun Cluster HA for Sun Java System Application Server 注册并配置为可在多个节点上进行控制的服务。 

如何将 Sun Cluster HA for Sun Java System Application Server 注册并配置为可在多个节点上对其进行控制的服务

检验 Sun Cluster HA for Sun Java System Application Server 安装和配置 

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

查看和了解故障监视器信息 

调节 Sun Cluster HA for Sun Java System Application Server 故障监视器


注意 –

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


规划 Sun Java System Application Server 的安装和配置

在安装和配置 Sun Java System Application Server 之前,请按照本节介绍的内容进行检查。

配置限制

开始安装前,请考虑以下限制和要求。

配置和激活用于故障转移的网络资源

在安装 Sun Java System Application Server 并将其配置为故障转移数据服务之前,请设置安装和配置后服务器要使用的网络资源。要配置和激活网络资源,请使用以下命令行过程。如果您要将 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@nodenetif 可被指定为 IP 网络多路径处理 组的名称,例如 sc_ipmp0。节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1。Sun Cluster 目前不支持在 netif 中使用适配器名称。


  5. 运行 scswitch 命令以启用资源组并使其联机。


    # scswitch -Z -g resource-group
    
    -Z

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

    -g resource-group

    指定资源组的名称

安装和配置 Sun Java System Application Server

本节介绍 Sun Java System Application Server 的安装。此处包含的内容仅针对 Sun Cluster HA for Sun Java System Application Server。有关详细的安装说明(包括修补程序需求),请参见 Sun Java System Application Server 文档。

如何安装和配置 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 企业版,请转到步骤 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 Cluster HA for Sun Java System Application Server 启动并停止 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 Cluster HA for Sun Java System Application Server 实例的 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 HADB 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

安装和配置 Sun Java System Web Server 插件

本过程介绍如何安装中间插件来使用 Sun Java System Application Server 进行配置。此处包含的内容仅针对 Sun Cluster HA for Sun Java System Application Server。有关详细的安装说明(包括修补程序需求),请参见 Sun Java System Application Server 文档。

如何安装和配置 Sun Java System Web Server 插件

  1. 使用 Sun Java System Application Server 文档来安装 Sun Java System Web Server 插件。

  2. 是否要将 Sun Cluster HA for Sun Java System Application Server 配置为故障转移数据服务?

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

  3. Web 服务器与应用服务器是否在相同的群集上运行?

    1. 使用群集专用 IP 地址将 Sun Java System Web Server 插件配置为 loadbalancer.xml 文件中的侦听程序。


      <instance name="server1" enabled=true disable-timeout-in-minutes="60" 
      listeners="http://172.16.193.1:80/ http://172.16.194.5:80/ " />
      

    注意 –

    在插件配置中必须使用节点传输适配器 IP 地址。要找到这些 IP 地址,请从主 Sun Cluster 节点执行 scconf -p | less 命令。请注意,等效的主机名(例如,clusternode1-priv)在配置中不起作用,因此不应使用。


  4. loadbalancer.xml 文件中使用物理主机名将 Sun Java System Web Server 插件配置为侦听程序。


    <instance name="server1" enabled=true disable-timeout-in-minutes="60" 
    listeners=http://hosta:80/ http://hostb:80/ " />
    

    上面的示例假设 Sun Java System Application Server 实例被配置为侦听群集节点一和二的端口 80。

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

本节包含 Sun Cluster HA for Sun Java System Application Server 安装和配置时的规划问题。

配置规划问题

规划 Sun Cluster HA for Sun Java System Application Server 的安装和配置时,请考虑本节中提出的以下问题。

安装 Sun Cluster HA for Sun Java System Application Server

如果在 Sun Cluster 初始安装期间没有安装 Sun Cluster HA for Sun Java System Application Server 软件包,请执行此过程以安装相应的软件包。在要安装 Sun Cluster HA for Sun Java System Application Server 软件包的每个群集节点上执行此过程。

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

如何使用 Sun Java Enterprise System 通用安装程序程序安装 Sun Cluster HA for Sun Java System Application Server 软件包

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

要完成该过程,您需要 Sun Java Enterprise System 通用安装程序 CD-ROM。

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

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

  3. 将 Sun Java Enterprise System 通用安装程序 CD-ROM 装入 CD-ROM 驱动器。

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

  4. 更改到 CD-ROM 的 Sun Java Enterprise System 通用安装程序 目录。

    Sun Java Enterprise System 通用安装程序 驻留在此目录中。


    # cd /cdrom/Solaris_sparc
    
  5. 启动 Sun Java Enterprise System 通用安装程序 程序。


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

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

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

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

  8. 系统提示时,选择配置时间。

    • 如果要立即执行配置,请选择“现在配置”。您可以接受或忽略缺省值,逐步进行配置。

    • 如果要在安装后执行配置,请选择“以后配置”。

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

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

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

  11. 退出 Sun Java Enterprise System 通用安装程序 程序。

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


    # pkginfo -l SUNWscs1as
    
  12. 从 CD-ROM 驱动器卸下 Sun Java Enterprise System 通用安装程序 CD-ROM。

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

    2. 弹出 CD-ROM。


      # eject cdrom
      

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

以下过程介绍如何使用 scrgadm 命令注册和配置 Sun Cluster HA for Sun Java System Application Server。这些说明解释了如何设置扩展特性中介绍的扩展特性。

可以将 Sun Cluster HA for Sun Java System Application Server 配置为故障转移数据服务或配置为可同时在多个节点上对其进行控制的服务。


注意 –

有关注册和配置数据服务的一般信息,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“数据服务资源管理的工具”


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

如何将 Sun Cluster HA for Sun Java System Application Server 注册并配置为故障转移数据服务

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

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

  2. 如果您尚未执行配置和激活用于故障转移的网络资源中的步骤,请为 Sun Java System Application Server 添加资源组。


    # scrgadm -a -g resource-group [-h nodelist]
  3. 如果您尚未执行配置和激活用于故障转移的网络资源中的步骤,请将逻辑主机名资源添加到资源组中。


    # scrgadm -a -L -g  resource-group -l logical-hostname
    
  4. 注册数据服务的资源类型。


    # scrgadm -a -t SUNW.s1as
    
    -a

    添加数据服务资源类型

    -t SUNW.s1as

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

  5. 将应用服务器资源实例添加到为网络资源创建的故障转移资源组中:


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

    包含应用程序资源的资源组与Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》的“创建资源组”中为网络资源创建的资源组相同。

    -j resource

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

    -y Network_resources_used =network-resource

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

    -tSUNW.s1as

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


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

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

    -y Port_list =port-number/protocol

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

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

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

  6. 使资源组联机。


    # scswitch -Z -g resource-group
    
    -Z

    启用资源及其监视器。

    -g resource-group

    指定要启用的应用程序资源组的名称。

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


    # scstat -g
    # ps -ef
    

示例 — 将 Sun Cluster HA for Sun Java System Application Server 注册并配置为故障转移数据服务

本示例显示了如何将 Sun Cluster HA for Sun Java System Application Server 注册为故障转移数据服务。


群集信息
节点名称:phys-schost-1、phys-schost-2
逻辑主机名:schost-1
资源组:appsrv-rg(适用于所有资源)
资源:schost-1(逻辑主机名)
SUNW.s1as(Sun Java System Application Server 应用程序资源)
 
(创建故障转移资源组。)
# scrgadm -a -g appsrv-rg -h phys-schost-1,phys-schost-2
 
(向资源组添加逻辑主机名资源。)
# scrgadm -a -L -g appsrv-rg -l schost-1
 
(将 SUNW.s1 注册为资源类型。)
# scrgadm -a -t SUNW.s1as 

(创建 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
 
(使应用程序资源组联机。)
# scswitch -Z -g appsrv-rg

示例 — 将 admin-server 配置为故障转移数据服务

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


群集信息
节点名称:phys-schost-1、phys-schost-2
逻辑主机名:schost-1
资源组:appsrv-rg(适用于任何资源)
资源:schost-1(逻辑主机名) 
(创建 Sun Java System Application Server 资源并将其添加到资源组中。)
# scrgadm -a -j admin-rs -g appserv-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:4848

如何将 Sun Cluster HA for Sun Java System Application Server 注册并配置为可在多个节点上对其进行控制的服务

本过程假定在 Sun Cluster HA for Sun Java System Application Server 初始安装过程中安装了这些数据服务软件包。如果您未将 Sun Java System Application Server 软件包作为初始安装的一部分进行安装,请转到安装 Sun Cluster HA for Sun Java System Application Server以安装数据服务软件包。

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

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


注意 –

请勿使用 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 Cluster HA for Sun Java System Application Server 从其发出请求的 URI。Monitor_Uri_list 扩展特性是必需的。

  5. 检验前端 Web 层的安装和配置。

    有关过程信息,请参见如何安装和配置 Sun Java System Web Server 插件

  6. 启用可伸缩资源组及其监视器。


    # scswitch -Z -g resource-group
    
    -Z

    启用资源及其监视器。

    -g resource-group

    指定要启用的应用程序资源组的名称。


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

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


群集信息
节点名称:phys-schost-1、phys-schost-2
资源组:appsrv-rg(对于所有资源)
 
(创建可伸缩资源组。)
# scrgadm -a -g appserv-rg  -y Maximum_primaries=2 \
-y Desired_primaries=2 -h phys-schost-1,phys-schost-2
 
(将 SUNW.s1 注册为资源类型。)
# scrgadm -a -t SUNW.s1as 

(创建 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
 
(启用应用程序资源组。)
# scswitch -Z -g appsrv-rg

配置 SUNW.HAStoragePlus 资源类型

SUNW.HAStoragePlus 资源类型具有 SUNW.HAStorage 的功能,并同步 HA 存储与数据服务之间的操作。

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

有关背景信息,请参见 SUNW.HAStoragePlus(1) 手册页和Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“使资源组与磁盘设备组之间的启动同步”

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

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

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

  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


注意 –

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


调节 Sun Cluster HA for Sun Java System Application Server 故障监视器

本节介绍 Sun Cluster HA for Sun Java System Application Server 故障监视器。

本节提供了以下信息。

扩展特性

Sun Cluster HA for Sun Java System Application Server 故障监视器使用下表中介绍的扩展特性。“可调”条目用于指明是可以动态更新特性还是仅在创建时才可以更新特性。

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

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

名称/数据类型 

说明 

Confdir_list(字符串数组)

指向某一特定 Sun Java System Application Server 实例的配置目录的完整路径。 

缺省值:

可调:创建时

Monitor_Uri_List(字符串)

故障监视器用来测试 Sun Java System Application Server 的功能的单个 URI 或 URI 列表。故障监视器通过在 URI 上执行 HTTP GET 来测试应用服务器。Monitor_Uri_List 扩展特性可用于探测已部署的应用程序的功能。通过将该特性设置为由 Sun Java System Application Server 上部署的应用程序提供服务的一个或多个 URI,来探测已部署的应用程序。如果 HTTP 服务器返回的代码是 500(内部服务器错误)或者如果连接失败,探测将采取操作。有关详细信息,请参见探测方法。

缺省值:

可调:任何时候

探测算法和功能

Sun Cluster HA for Sun Java System Application Server 探测向服务器发送请求来查询 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 表示端口号。


      Failed to connect to the host <%s> and port <%d>. Receiving a response code of 500 “Internal Server Error” HTTP GET Response Code for probe of %s is 500. Failover will be in progress

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


      Write to server failed:server %s port %d: %s.

  5. 监视器累积 Retry_interval 资源特性设置内发生的部分失败,直到相当于一次完全失败。

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

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


      Failed to disconnect from port %d of resource %s.

    • 无法在 Probe_timeout 时间内完成所有探测步骤是部分失败。

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


      Failed to communicate with server %s port %d: %s

  6. 基于故障的历史记录,故障会导致本地重新启动或数据服务的故障转移。