Sun Java System Application Server Enterprise Edition 8.2 高可用性管理指南

从故障中恢复

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

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

使用 Netbackup


注 –

此过程尚未经 Sun QA 测试。


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

对于已经恢复的每台计算机,使用与原始计算机相同的配置,例如,相同的主机名、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 进行备份。使用 asadmin backup-domain 来备份当前域。


Procedure迁移域管理服务器

要将 DAS 从第一台计算机 (machine1) 迁移到第三台计算机 (machine3),请执行以下步骤:

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

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

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

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


      ./bundle-filename -console

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

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

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

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

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

  3. 执行 asadmin restore-domain 命令将 zip 文件恢复到第三台计算机:


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

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

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

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

    例如:

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

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

  5. 更改第三台计算机的 domain.xml 文件中的主机属性值:

  6. 更新第三台计算机上的 domain-root-dir/domain1/config/domain.xml

    例如,搜索 machine1 并将其替换为 machine3。这样,您就可以将:

    <jmx-connector><property name=client-hostname value=machine1/>...

    更改为:

    <jmx-connector><property name=client-hostname value=machine3/>...
  7. 将:

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

    更改为:

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


    asadmin start-domain --user admin-user --password admin-password domain1
  9. 在 machine2 上更改节点代理下的 DAS 主机属性值。

  10. 更改 machine2 中 install-dir/nodeagents/nodeagent/agent/config/das.properties 中的 agent.das.host 属性值。

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


    注 –

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