![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
备份集群
备份集群是主服务器集群的镜像。镜像集群支持仅适用于 Enterprise JavaBeans (EJB) 请求。

当集群的所有成员对服务 Enterprise JavaBeans (EJB) 请求不再可用时,集群中必须与其中一个 Enterprise JavaBeans (EJB) 应用程序服务器互动的任何客户机将无法工作。 当在主集群中没有 EJB 应用程序服务器能够对请求提供服务时,镜像集群可使一个 Enterprise JavaBeans (EJB) 集群(主集群)故障转移到另一个 Enterprise JavaBeans (EJB) 集群(备份集群)。当主集群中的所有集群成员不可用时,备份集群允许客户机继续运行。
故障回退是自动的。重新启动主集群中的服务器之后,您不需要为主集群启动故障回退。只要主集群可用,备份集群就停止为请求提供服务。但是,为了提供备份集群支持,所有 Deployment Manager 都必须起作用,并且必须将主集群定义为备份集群的备份。
- 主集群中可用的对象和资源必须在备份集群中也可用。
- 您在备份集群中使用的集群名称、安装的应用程序、使用的应用程序名和定义的资源必须与主集群中的相同。
- 由于集群在单元中必须有唯一的名称,所以主集群和备份集群必须在不同的单元中。
- 主集群和备份集群必须都已配置了备份集群,并且每个集群必须将对应的集群指定为它的备份集群。
因为主集群和备份集群在不同的单元中,所以使用产品的当前版本,集群也在不同的核心组中。必须配置核心组网桥服务,以允许核心组之间的通信。核心组网桥服务使得备份集群支持不需要运行中的 Deployment Manager 和 Node Agent。在先前发行版中,如果 Deployment Manager 已停止,那么在主集群发生故障之后,新的请求无法被转发到备份集群。在包含主集群的 单元中配置的任何核心组网桥服务器可以提供有关备份集群的信息。仅当单元中的所有核心组网桥服务器未 运行时,备份集群支持才会失败。
为了使集群故障转移和故障回退如期望的那样运行,主集群和备份集群的所有服务器(包括 Deployment Manager、Node Agent 和应用程序服务器)都必须处于提供镜像集群支持的发行版和级别。
镜像集群支持不是缺省配置的。要使用镜像集群支持,必须在配置中指定备份集群。每个集群只能拥有一个备份集群,此备份集群必须在将它指定为备份集群之前配置好。
要在集群中配置备份集群,必须指定名称和域引导程序地址。引导主机是包含 Deployment Manager(备份集群在其中配置)的主机。引导端口是此 Deployment Manager 的引导端口。
主集群和备份集群必须在不同的单元中。要将镜像集群置于不同的单元,请配置适当的备份集群域引导程序地址。备份集群引导主机和端口确定包含备份集群的单元。
- 使用“域引导程序地址”页上的配置选项卡静态地定义备份集群;每次 Deployment Manager 启动时就会使用静态值。
- 当集群正在运行时,使用“域引导程序地址”页上的运行时选项卡定义备份集群。当 Deployment Manager 停止时,就会废弃用于定义运行时备份集群的信息。
因为主集群和备份集群在不同的单元中,所以使用产品的当前版本,集群也在不同的核心组中。必须配置核心组网桥服务,以允许核心组之间的通信。使用访问点组来连接两个核心组。在主单元的 Deployment Manager 中,配置访问点组(拥有备份单元的核心组访问点)作为对等访问点。在备份单元的 Deployment Manager 中,创建名称与主单元中所创建的访问点组的名称相同的访问点组。添加引用主单元中核心组访问点的对等访问点。
如果正在使用 ExtendedCluster MBean 来配置备份集群,那么可以仅更改运行时配置。MBean 更改不影响静态配置。可以使用在 ExtendedCluster MBean 上的 setBackup 操作来更改运行时配置。例如,可以使用下列 Java 代码来设置主集群的备份集群:
ac.invoke(extendedCluster,“setBackup”,new Object[] {
backupClusterName,backupBootstrapHost,backupBootstrapPort},
new String[] {
“java.lang.String”,“java.lang.String”,“java.lang.Integer”});
在此样本中,ac 是 AdminClient,而 extendedCluster 是主集群的 ExtendedClusterObjectName。
- 在第一种方案中,客户机请求主集群,主集群最终停止接受请求。然后将请求路由到备份集群。客户机最初将请求发送到主集群,并因此具有关于主集群的信息。结果,当主集群再次可用时,请求故障回退到主集群。
- 在第二种方案中,主集群当机后客户机才开始发送请求,且请求直接进入备份集群。在这种情况下,客户机仅具有关于备份集群的信息。因为客户机仅知道备份集群,所以当主集群可用时,请求从此客户机继续路由到备份集群,并且在主集群可用时不再故障回退到主集群。此方案发生在当在备份集群上创建对象时。既然这样,备份集群就成为此对象的主集群。