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:
定期运行 asadmin 备份命令,以便获得定期快照。发生硬件故障后,在具有相同网络标识的新计算机上安装 Application Server,然后运行 asadmin 从以前创建的备份中恢复。有关更多信息,请参见重新创建域管理服务器。
将域安装和配置放置在共享的强健文件系统(例如 NFS)上。如果主 DAS 计算机发生故障,则会初启具有相同 IP 地址的第二台计算机,并通过手动介入或用户提供的自动控制功能让该台计算机进行接管。Sun Cluster 使用类似的方法来实现 DAS 容错。
压缩 Application Server 安装和域根目录。在新计算机上恢复它,为其指定相同的网络标识。如果您使用的是基于文件的安装,这可能是最简单的方法。
从 DAS 备份中恢复。请参见 AS8.1 UR2 修补程序 4 的说明。
可采用两种方法来恢复节点代理和服务器实例。
保存备份 zip 文件。没有用于备份节点代理和服务器实例的显式命令。只需创建一个包含节点代理目录的内容的 zip 文件。发生故障后,将保存的备份解压至具有相同主机名和 IP 地址的新计算机上。请使用相同的安装目录位置、OS 等。该计算机上必须有基于文件的安装、基于软件包的安装或恢复的备份映像。
手动恢复。使用的新计算机必须具有相同的 IP 地址。
在该计算机上安装 Application Server 节点代理位。
请参见 AS8.1 UR2 修补程序 4 安装说明。
重新创建节点代理。您无需创建任何服务器实例。
同步过程将从 DAS 复制配置和数据,并进行更新。
没有专门用于备份 Web 服务器配置的显式命令。只需压缩 Web 服务器安装目录。发生故障后,将保存的备份解压至具有相同网络标识的新计算机上。如果新计算机具有不同的 IP 地址,则更新 DNS 服务器或路由器。
这里假定首先重新安装了 Web 服务器或从映像恢复了 Web 服务器。
负载平衡器插件(插件目录)和配置位于 Web 服务器安装目录(通常为 /opt/SUNWwbsvr)。web-install/web-instance/config 目录包含 loadbalancer.xml 文件。
Message Queue (MQ) 配置和资源存储在 DAS 中,可以将其与实例同步。任何其他数据和配置信息都位于 MQ 目录中,通常位于 /var/imq 下,所以可以根据需要备份和修复这些目录。新的计算机必须已经包含 MQ 安装。恢复计算机时,确保像以前一样启动 MQ 代理。
如果您具有两个活动 HADB 节点,则可以配置两个备用节点(在单独的计算机上),如果发生故障,它们可以接管。这是一种比较干净利落的方法,因为备份和恢复 HADB 可能会导致恢复过时的会话。
有关创建具有备用节点的数据库的信息,请参见创建数据库。有关将备用节点添加到数据库的信息,请参见添加节点。如果恢复和自我修复失败,则备用节点将自动接管。
此过程尚未经 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 的计算机 (machine1)。
一台包含群集的计算机 (machine2),该群集具有运行应用程序并满足客户机需要的服务器实例。该群集是使用第一台计算机上的 DAS 配置的。
一台备份计算机,当第一台计算机崩溃时,需要在该备份计算机上重新创建 。
必须对第一台计算机上的 DAS 进行备份。使用 asadmin backup-domain 来备份当前域。
要将 DAS 从第一台计算机 (machine1) 迁移到第三台计算机 (machine3),请执行以下步骤:
在第三台计算机上安装应用程序服务器,方法与在第一台计算机上安装相同。
为了可以在第三台计算机上正确地恢复 DAS 并且不会发生路径冲突,您必须执行此操作。
将第一台计算机上的备份 ZIP 文件复制到第三台计算机上的 domain-root-dir 中。
也可以通过 FTP(文件传输协议)方式传输文件。
执行 asadmin restore-domain 命令将 zip 文件恢复到第三台计算机:
asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip domain1 |
可以备份任何域。但是,在重新创建域时,域名称应与原始域名称相同。
将第三台计算机上的 domain-root-dir/domain1/generated/tmp 目录的权限更改为与第一台计算机上相同目录的权限相匹配。
该目录的默认权限为:drwx------(或 700)。
例如:
chmod 700 domain-root-dir/domain1/generated/tmp
以上示例假定您备份的是 domain1。如果备份的是其他名称的域,应使用要备份的域的名称替换上面的 domain1。
更改第三台计算机的 domain.xml 文件中的主机属性值:
更新第三台计算机上的 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/>...
将:
<jms-service... host=machine1.../>
更改为:
<jms-service... host=machine3.../>
在 上启动已恢复的域:
asadmin start-domain --user admin-user --password admin-password domain1 |
在 machine2 上更改节点代理下的 DAS 主机属性值。
更改 machine2 中 install-dir/nodeagents/nodeagent/agent/config/das.properties 中的 agent.das.host 属性值。
在 machine2 上重新启动节点代理。
使用 asadmin start-instance 命令启动群集实例,可以使这些实例与已恢复的域同步。