如果应用程序的新版本与旧版本不兼容,请使用以下过程。有关应用程序兼容条件的信息,请参见应用程序兼容性。此外,您必须在两个或更多群集中升级不兼容的应用程序。如果您只有一个群集,则请为升级创建“阴影群集”,如下所述。
升级不兼容的应用程序时,请执行以下操作:
赋予应用程序新版本一个名称,此名称应与旧版本的名称不同。以下步骤假定已重新命名此应用程序。
如果数据模式不兼容,请在规划数据迁移后使用不同的物理数据源。
将应用程序的新版本部署到与旧版本所部署到的群集不同的群集上。
在使运行旧应用程序的群集脱机前,请为其设置一个适当长的超时,因为此应用程序的请求无法故障转移到新的群集。这些用户会话将只会失败。
保存旧版本的应用程序或备份域。
要备份域,请使用 asadmin backup-domain 命令。有关该命令的更多信息,请参见 backup-domain(1)。
在与现有群集相同或不同组的计算机上创建“阴影群集”。如果已经拥有第二个群集,请跳过此步骤。
使用管理控制台创建新的群集并引用现有群集的命名配置。
为每台计算机上的新实例自定义端口,以避免与现有的活动端口冲突。
对于所有与群集相关联的资源,请使用 asadmin create-resource-ref 将资源引用添加到新创建的群集。有关该命令的更多信息,请参见 create-resource-ref(1)。
使用 asadmin create-application-ref 从新创建的群集创建对部署到此群集的所有其他应用程序(当前已重新部署的应用程序除外)的引用。有关该命令的更多信息,请参见 create-application-ref(1)。
使用 asadmin configure-ha-cluster 将群集配置为高可用性群集。有关该命令的更多信息,请参见 configure-ha-cluster(1)。
使用 asadmin create-http-lb-ref 创建对负载平衡器配置文件中新创建的群集的引用。有关该命令的更多信息,请参见 create-http-lb-ref(1)。
赋予应用程序新版本一个名称,此名称应与旧版本的名称不同。
将新群集作为目标来部署新的应用程序。使用一个或多个不同的上下文根。
使用 asadmin enable-http-lb-application 为群集启用已部署的新应用程序。有关该命令的更多信息,请参见 enable-http-lb-application(1)。
在另一个群集仍处于运行状态的情况下,启动新群集。
启动操作将导致群集与域同步,并使用新应用程序进行更新。
测试新群集上的应用程序,以确保应用程序运行正常。
使用 asadmin disable-http-lb-server 从负载平衡器上禁用旧群集。有关该命令的更多信息,请参见 disable-http-lb-server(1)。
为延迟会话存在的时间设置超时值。
使用 asadmin enable-http-lb-server 从负载平衡器上启用新群集。有关该命令的更多信息,请参见 enable-http-lb-server(1)。
使用 asadmin export-http-lb-config 导出负载平衡器配置文件。有关该命令的更多信息,请参见 export-http-lb-config(1)。
将已导出的配置文件复制到 Web 服务器实例的配置目录。
例如,对于 Sun Java System Web Server,目录位置为 web-server-install-dir /https-host-name /config/loadbalancer.xml。必须为负载平衡器启用动态重新配置(通过在负载平衡器配置中设置 reloadinterval),以便自动装入新的负载平衡器配置文件。
在超时时间到期或旧应用程序的所有用户都退出后,停止旧的群集并删除旧的应用程序。