Sun Java System Application Server 9.1 高可用性管理指南

从故障中恢复

使用 Sun Cluster

Sun Cluster 提供域管理服务器、节点代理、Application Server 实例、Message Queue 和 HADB 的自动故障转移。有关更多信息,请参见《Sun Cluster Data Service for Sun Java System Application Server Guide for Solaris OS》

使用标准以太网互联和 Sun Cluster 产品的子集。该功能包含在 Java ES 中。

手动恢复

您可以使用多种技术来手动恢复各个子组件:

恢复域管理服务器

丢失域管理服务器 (Domain Administration Server, DAS) 只会影响管理。即使 DAS 不可访问,Application Server 群集和应用程序也将继续像以前那样运行。

可使用以下任一方法恢复 DAS:

恢复节点代理和服务器实例

可采用两种方法来恢复节点代理和服务器实例。

保存备份 zip 文件。没有用于备份节点代理和服务器实例的显式命令。只需创建一个包含节点代理目录的内容的 zip 文件。发生故障后,将保存的备份解压至具有相同主机名和 IP 地址的新计算机上。请使用相同的安装目录位置、OS 等。该计算机上必须有基于文件的安装、基于软件包的安装或恢复的备份映像。

手动恢复。使用的新计算机必须具有相同的 IP 地址。

  1. 在该计算机上安装 Application Server 节点代理位。

  2. 请参见 AS8.1 UR2 修补程序 4 安装说明。

  3. 重新创建节点代理。您无需创建任何服务器实例。

  4. 同步过程将从 DAS 复制配置和数据,并进行更新。

恢复负载平衡器和 Web 服务器

没有专门用于备份 Web 服务器配置的显式命令。只需压缩 Web 服务器安装目录。发生故障后,将保存的备份解压至具有相同网络标识的新计算机上。如果新计算机具有不同的 IP 地址,则更新 DNS 服务器或路由器。


注 –

这里假定首先重新安装了 Web 服务器或从映像恢复了 Web 服务器。


负载平衡器插件(插件目录)和配置位于 Web 服务器安装目录(通常为 /opt/SUNWwbsvr)。web-install/web-instance/config 目录包含 loadbalancer.xml 文件。

恢复 Message Queue

Message Queue (MQ) 配置和资源存储在 DAS 中,可以将其与实例同步。任何其他数据和配置信息都位于 MQ 目录中,通常位于 /var/imq 下,所以可以根据需要备份和修复这些目录。新的计算机必须已经包含 MQ 安装。恢复计算机时,确保像以前一样启动 MQ 代理。

恢复 HADB


注 –

HADB 软件随 Sun Java System Application Server 的 Application Server 独立分发提供。有关 Sun Java System Application Server 的可用分发的信息,请参见《Sun Java System Application Server 9.1 Installation Guide》中的“Distribution Types and Their Components”。HADB 功能仅在企业配置文件中可用。有关配置文件的信息,请参见《Sun Java System Application Server 9.1 管理指南》中的“用法配置文件”


如果您具有两个活动 HADB 节点,则可以配置两个备用节点(在单独的计算机上),如果发生故障,它们可以接管。这是一种比较干净利落的方法,因为备份和恢复 HADB 可能会导致恢复过时的会话。

有关创建具有备用节点的数据库的信息,请参见创建数据库。有关将备用节点添加到数据库的信息,请参见添加节点。如果恢复和自我修复失败,则备用节点将自动接管。

使用 Netbackup


注 –

此过程尚未经 Sun QA 测试。


使用 Veritas Netbackup 可以保存每台计算机的映像。对于 BPIP,备份四台具有 Web 服务器和 Application Server 的计算机。

对于已经恢复的每台计算机,使用与原始计算机相同的配置,例如,相同的主机名、IP 地址等。

对于基于文件的产品(如 Application Server),仅备份和恢复相关的目录。但是,对于基于软件包的安装(如 Web 服务器映像),必须备份和恢复整个计算机。软件包安装到 Solaris 软件包数据库中。因此,如果仅备份目录,随后将其恢复至新系统中,将会造成“已部署”的 Web 服务器无法识别软件包数据库。这可能会给将来的修补和升级带来问题。

请勿手动复制和恢复 Solaris 软件包数据库,其他替代方法是在安装组件(例如,Web 服务器)后备份计算机的映像,这称为基准 tar 文件。对 Web 服务器进行更改时,备份这些目录(例如,在 /opt/SUNWwbsvr 下)。恢复时,先恢复基准 tar 文件,然后覆盖已修改的 Web 服务器目录。同样,可以对 MQ(BPIP 的基于软件包的安装)使用该过程。如果您升级或修补原始计算机,请确保创建一个新的基准 tar 文件。

如果具有 DAS 的计算机发生故障,则在恢复之前将无法使用 DAS。

DAS 是中心系统信息库。恢复服务器实例并重新启动它们时,这些实例只会与 DAS 中的信息同步。因此,必须通过 asadmin 或 管理控制台 进行所有更改。

每天备份 HADB 的映像可能并不可行,因为映像可能包含旧的应用程序会话状态。

重新创建域管理服务器

在托管域管理服务器 (domain administration server, DAS) 的计算机出现故障时,如果以前已备份 DAS,则可以重新创建 DAS。要重新创建 DAS 的工作副本,您必须具有:


注 –

必须对第一台计算机上的 DAS 进行备份。使用 asadmin backup-domain 来备份当前域。


Procedure迁移 DAS

以下步骤用于将域管理服务器从第一台计算机 (machine1) 迁移到第三台计算机 (machine3)。

  1. 在第三台计算机上安装应用程序服务器,方法与在第一台计算机上安装相同。

    为了可以在第三台计算机上正确地恢复 DAS 并且不会发生路径冲突,您必须执行此操作。

    1. 使用命令行(交互式)模式来安装应用程序服务器管理软件包。

      要激活交互式命令行模式,请使用 console 选项调用安装程序:


      ./bundle-filename -console
      

      要使用命令行界面进行安装,您必须具有超级用户权限。

    2. 要安装默认域,请取消选择该选项。

      只有具有相同体系结构并具有完全相同的安装路径(即都使用相同的 as-installdomain-root-dir)的两台计算机才支持备份域的恢复。

  2. 将第一台计算机上的备份 ZIP 文件复制到第三台计算机上的 domain-root-dir 中。

    也可以通过 FTP(文件传输协议)方式传输文件。

  3. 将 ZIP 文件恢复到第三台计算机上。


    asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip 
    --clienthostname machine3 domain1
    

    注 –

    通过指定 --clienthostname 选项,就无需在 domain.xml 文件中修改 jmx-connector 元素的 client-hostname 属性。


    可以备份任何域。但是,在重新创建域时,域名称应与原始域名称相同。

  4. 将第三台计算机上的 domain-root-dir/domain1/generated/tmp 目录的权限更改为与第一台计算机上相同目录的权限相匹配。

    该目录的默认权限为:drwx------(或 700)。

    例如:


    chmod 700 domain-root-dir/domain1/generated/tmp
    

    以上示例假定您备份的是 domain1。如果备份的是其他名称的域,应使用要备份的域的名称替换上面的 domain1

  5. 在第三台计算机上的 domain-root-dir/domain1/config/domain.xml 文件中,更新 jms-service 元素的 host 属性值。

    此属性的原始设置如下:

    <jms-service... host=machine1.../>

    对此属性的设置进行如下修改:

    <jms-service... host=machine3.../>
  6. 在 machine3 上启动已恢复的域:


    asadmin start-domain --user admin-user --password admin-password domain1
    

    DAS 与正在运行的所有节点代理联系,并为节点代理提供用于联系 DAS 的信息。节点代理使用此信息与 DAS 通信。

  7. 对于重新启动 DAS 时未运行的任何节点代理,请在 machine2 上更改 as-install /nodeagents/nodeagent/agent/config/das.properties 中的 agent.das.host 属性值。

    对于重新启动 DAS 时正在运行的节点代理,不需要执行此步骤。

  8. 在 machine2 上重新启动节点代理。


    注 –

    使用 asadmin start-instance 命令启动群集实例,可以使这些实例与已恢复的域同步。