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

第 1 章 用于 Sun Java System Application Server EE 的 Sun Cluster HA(支持自 4.4 版之后的 HADB 版本)

此文档介绍了安装和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 数据服务的过程。

此文档分为两章。

本章包含以下小节。

用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 概述

本节介绍了用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 数据服务如何使 Sun Java System Application Server EE (HADB) 的 Management Agent 组件在 Sun Cluster 系统中具有高可用性。必须将数据服务配置为由多个节点主控。

有关数据服务的一般信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的第 1  章 “Planning for Sun Cluster Data Services”。必须配置数据服务。

Sun Java System Application Server EE (HADB) 软件与 Sun Java System Application Server Enterprise Edition 安装封装在一起。但是,您可以在不同的群集上分别运行 Sun Java System Application Server EE (HADB) 和 Sun Java System Application Server(如果合适)。此文档介绍了如何安装和配置允许您在群集中使用 Sun Java System Application Server EE (HADB) 的数据服务。首先,在群集中启用 Sun Java System Application Server EE (HADB) 以提供会话和 Enterprise Java Bean (EJB) 持久性。有关 Sun Java System Application Server EE (HADB) 的信息,请参阅 Sun Java System Application Server 文档。

用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的实现并没有假定体系结构所依赖的应用程序的存在(例如数据库和 Web 服务器)。但是,可以将这些应用程序配置为具有高可用性,并可以在不同的群集上运行。

HADB 管理体系结构

下图说明了管理域中具有四个活动节点的数据库的体系结构。

图 1–1 管理系统体系结构

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

该图说明了由数据库和数据库中的四个 HADB 节点进程组成的管理域。用 n0、n1、n2 和 n3 表示这些节点进程。Host A 和 Host B 表示群集节点并为 HADB 形成数据冗余单元 DRU(Host A:DRU0 和 Host B:DRU1)。

管理代理 MA1 管理 n0 和 n2,管理代理 MA2 管理 n1 和 n3。管理代理负责监视节点的运行状况并在必要时重新启动节点。管理代理还处理来自客户机的管理操作请求。

如果管理代理在群集节点上出现故障,则必须在同一节点上重新启动该代理,以便代理可以继续监视 HADB 节点并提供管理操作。因此,必须使管理代理具有高可用性。

具有高可用性的 HADB Management Agent

通过在配置为由多个节点同时主控的资源组中创建数据服务资源,可以使 Sun Java System Application Server EE (HADB) 的 Management Agent 组件具有高可用性。在此资源组中,最大主节点数和所需主节点数必须相同。在注册和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA中详细介绍了此配置。

下图说明了节点上出现任何故障之前的双节点配置。

图 1–2 出现故障前在多个节点上受控的管理代理

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

该图说明了在不同群集节点上由 MA1 和 MA2 表示的两个管理代理。应用程序安装在每个节点上的本地文件系统中。使用 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 数据服务,可以在由 RS 表示的一个资源中配置两个管理代理,并且此资源配置在一个资源组 RG 中。将资源组配置为同时在多个群集节点(在此例中,为 Node1 和 Node2)上主控。

数据服务将在配置了管理代理的所有节点上启动这些管理代理。管理代理将依次启动节点管理员 (NSUP) 进程,该进程随后将启动 HADB 节点进程。如果管理代理出现故障,数据服务将基于用户定义的参数重新启动它。如果 HADB 节点进程出现故障,管理代理将重新启动这些进程。如果任何数据库已停止,用户必须通过在命令行中发布命令来重新启动这些数据库。

如果用户定义的参数确定数据服务没有在管理代理出现故障后重新启动它,则这些进程将在该节点上保持停止状态。但是,其他受管理的节点上的管理代理进程会继续执行。不会发生故障转移。

下图说明了第一个节点出现故障后的双节点配置。第一个节点上的所有进程将停止,第二个节点将继续执行它的进程。

图 1–3 出现故障后在多个节点上受控的管理代理

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

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

下表列出了安装和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 时需要执行的所有任务,并提供了其中包含如何执行这些任务的详细说明的交叉引用。请按照表中所列的顺序来执行这些任务。

表 1–1 安装和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 时需要执行的任务

任务 

参考 

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

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

安装和配置 Sun Java System Application Server EE (HADB) 软件 

安装和配置 Sun Java System Application Server EE (HADB) 软件

创建 Sun Java System Application Server EE (HADB) 管理域 

创建 Sun Java System Application Server EE (HADB) 管理域

安装 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 软件包 

安装 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 软件包

将 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 注册并配置为同时在多个节点上受控的数据服务 

注册和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA

验证 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的安装和配置 

验证 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的安装和配置

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

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


注 –

如果在 Sun Cluster 配置下运行多个数据服务,您可以按任意顺序设置数据服务,但以下情况例外。如果 用于 Sun Java System Application Server EE (HADB) 的 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 EE (HADB) 的 Sun Cluster HA 的安装和配置

本节介绍了规划 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的安装和配置所需的信息。

配置限制和要求

将静态文件和数据存储在每个群集节点的本地文件系统中。Sun Java System Application Server EE (HADB) 软件是在安装 Sun Java System Application Server Enterprise Edition 软件时安装的。有关说明,请参见《用于 Sun Java System Application Server 的 Sun Cluster 数据服务指南(适用于 Solaris OS)》文档。创建数据库时,缺省情况下会在每个群集节点的本地文件系统上创建配置和数据文件。有关详细信息,请参见 Sun Java System Application Server 文档。

如果您使用的是 Solaris 5.8,则必须执行以下过程。

  1. 编辑文件 /etc/init.d/ma-initd

  2. 在文件的开始处添加以下条目。

    _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true" 
    export _JAVA_OPTIONS
  3. 保存此文件。

配置规划注意事项

有关有助于您规划 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的安装和配置的信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Considerations for Installing and Configuring a Data Service”。另请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的附录 C “Data Service Configuration Worksheets and Examples”中的工作单。

如果您选择将 HADB 数据服务与其他高可用性应用程序一起使用,则可能存在资源依赖性。有关 Resource_dependencies 属性的说明,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的附录 A “Standard Properties”

安装和配置 Sun Java System Application Server EE (HADB) 软件

Sun Java System Application Server EE (HADB) 软件是 Java 2 Enterprise Edition (J2EE™) 1.3 的兼容关系数据库。用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 数据服务用于满足企业用户的需要并在 Sun Cluster 软件的控制下运行。Sun Java System Application Server 提供高可用、高伸缩的事务会话状态持久性基础结构。Application Server 使用 HADB 来存储会话信息。HADB 管理客户机是用于 HADB 的命令行界面,有一整套实用程序可用来进行 HADB 的配置、运行时管理和监视。

有关使用这些实用程序的说明,请参见 Sun Java System Application Server 文档、hadbm 手册页以及 asadmin 命令会话持久性手册页。有关为 Sun Java System Application Server 安装和配置 HADB 的信息,请参见 Sun Java System Application Server 文档。有关配置 Sun Cluster HA for Sun Java System Application Server 的信息,请参见《用于 Sun Java System Application Server 的 Sun Cluster 数据服务指南(适用于 Solaris OS)》

创建 Sun Java System Application Server EE (HADB) 管理域

在用数据服务控制 HADB 管理代理之前,必须创建 Sun Java System Application Server EE (HADB) 管理域。

Procedure创建 Sun Java System Application Server EE (HADB) 管理域

使用以下过程中的示例创建、启动和验证管理域。

有关详细信息,请参见 Sun Java System Application Server 文档。

步骤
  1. 创建管理域。

    使用带有 createdomain 选项的 hadbm 命令。此命令将自动启动域。

  2. 验证是否已创建域和是否正在运行域。

    使用带有 listdomain 选项的 hadbm 命令。

安装 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 软件包

如果您在初始 Sun Cluster 安装期间没有安装 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 软件包,请执行此过程以安装软件包。在要安装 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 软件包的每个群集节点上执行此过程。

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


注 –

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


Procedure如何使用 scinstall 实用程序安装 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 软件包

在可以主控 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的所有群集成员上执行此过程。

开始之前

确保您拥有 Sun Cluster Agents CD。

步骤
  1. 将 Sun Cluster Agents CD 放入 CD-ROM 驱动器。

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

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

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

    scinstall 公用程序将提示您输入其它信息。

  4. 提供 Sun Cluster Agents CD 的路径。

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

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

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

  6. 退出 scinstall 公用程序。

  7. 从驱动器中取出 CD。

Procedure如何使用 Sun Java Enterprise System Common Installer 程序来安装 用于 Sun Java System Application Server EE (HADB) 的 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 EE (HADB) 的 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 设备,则它将在 /cdrom 目录中自动安装 CD-ROM。

  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 EE (HADB) 的 Sun Cluster HA。

  8. 当提示您输入配置的时间时,请选择“以后配置”。

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

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

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

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

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

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


    # pkginfo -l SUNWschadb
    
  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 EE (HADB) 的 Sun Cluster HA

此过程介绍了如何使用 scrgadm 命令将 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 注册和配置为同时在多个节点上受控的资源。


注 –

有关用于注册和配置数据服务的其他选项的详细信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Tools for Data Service Resource Administration”


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

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

以下各节介绍如何注册和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 资源。有关扩展属性的信息,请参见附录 A,用于 Sun Java System Application Server EE 的 Sun Cluster HA(支持自 4.4 版之后的 HADB 版本)的属性。“可调”条目表示何时可以更新属性。

有关所有 Sun Cluster 属性的详细信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的附录 A “Standard Properties”

要设置资源的扩展属性,请在创建或修改资源的 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 EE (HADB) 的 Sun Cluster HA

请执行以下步骤以完成配置。

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

  2. 注册 Sun Java System Application Server EE (HADB) 的资源类型。


    # scrgadm -a -t SUNW.hadb_ma
    
  3. 创建 Sun Java System Application Server EE (HADB) 软件的资源组。

    此资源组被配置为由多个节点同时主控。


    # scrgadm -a -g resource_group \
    -y Maximum_primaries=nodes_in_rg \
    -y Desired_primaries=nodes_in_rg \
    -h nodelist
    
    -a

    指定要创建资源组。

    -g resource_group

    指定要创建的资源组的名称。

    -y Maximum_primaries=nodes_in_rg

    指定最多可以在多少个节点上启动该资源。指定的数值必须与 Desired_primaries 属性的值相同。

    -y Desired_primaries=nodes_in_rg

    指定需要在多少个节点上启动该资源。指定的数值必须与 Maximum_primaries 属性的值相同。

    -h nodelist

    指定要运行 Sun Java System Application Server EE (HADB) 软件的群集节点子集, 各节点之间以逗号分隔。如果省略了此选项,则所有群集节点均将运行 Sun Java System Application Server EE (HADB)。使用 scconf -p | less 命令查找节点列表名称。

  4. 创建 Sun Java System Application Server EE (HADB) 的资源。

    有关此资源类型的扩展属性的详细说明,请参见附录 A,用于 Sun Java System Application Server EE 的 Sun Cluster HA(支持自 4.4 版之后的 HADB 版本)的属性


    # scrgadm -a -j resource -g resource_group  -t SUNW.hadb_ma \
    -x HADBM_PASSWORDFILE=path_to_pw_file
    
    -a

    指定将创建数据服务资源

    -j resource

    指定要创建的资源的名称

    -g resource_group

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

    -t SUNW.hadb_ma

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

    -x HADBM_PASSWORDFILE=path_to_pw_file

    指定包含 HADBM 管理密码的文件的完整路径

    有关密码文件内容的详细信息,请参见 Sun Java System Application Server 文档。

  5. 使资源组处于联机状态。


    # scswitch -Z -g resource_group
    
    -Z

    启用资源及其监视器

    -g resource_group

    指定要联机的资源组的名称

  6. 检验资源组和 HADB 资源是否处于联机状态。


    # scstat -g
    # ps -ef
    
  7. 要检验是否正确安装和配置了用于 HADB 的 Sun Cluster HA,请运行以下命令。


    # hadbm status database_name --nodes
    

    其输出应指明所指定的数据库正在运行。


示例 1–1 创建 SUNW.hadb_ma 资源

此示例显示了如何创建 SUNW.hadb_ma 资源。

在此示例中,使用了扩展属性的默认值。该资源具有以下属性:


scrgadm -a -j hadb-rs -g hadb-rg -t SUNW.hadb_ma \
-x HADBM_PASSWORDFILE=/global/disk1/hadbm-pwfile

验证 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的安装和配置

本节介绍如何检验是否正确安装和配置了数据服务。

Procedure如何验证 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 的安装和配置

步骤
  1. 确保 Sun Java System Application Server EE (HADB) 软件在 Sun Cluster 软件的控制下启动。


    # scswitch -Z -g resource_group
    
  2. 验证资源组和 Sun Java System Application Server EE (HADB) 资源是否联机。


    # scstat -g
    # ps -ef
    
  3. 验证是否已正确安装和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA。


    # hadbm status database_name --nodes
    

    其输出应指明所指定的数据库正在运行。

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

用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 故障监视器包含在表示 Sun Java System Application Server EE (HADB) 的资源中。此资源是在注册和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA 时创建的。有关更多信息,请参见“注册和配置 用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster HA”。

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

有关更多信息,请参见以下部分。