对于手动应用程序推出,通过停止要更新的集群成员所在的应用程序服务器,以控制工作负载路由。这会导致该服务器停顿。允许服务器中的所有现有请求完成,但不接受任何新请求。综合系统分发器和 WebSphere® Application Server Web 服务器插件路由可以离开停止的服务器工作。所有工作完成后,可在此服务器上启动应用程序更新进程。
开始之前
确定哪些应用程序服务器在主管需要更新的集群成员。
关于此任务
如果要手动控制高可用性应用程序的更新,那么可以使用此过程,也可以使用 MVS™ 修改命令来对受影响应用程序服务器暂停侦听器。请参阅有关暂停应用程序服务器以手动更新高可用性应用程序的信息。
要在高可用性环境中手动控制应用程序推出和工作负载路由:
过程
- 在单元的所有节点中禁用所有形式的自动同步并保存更改。 执行下列其中一个过程来完成此步骤:
- 在管理控制台中:
- 单击node_agent_name > 文件同步服务。
- 取消选择自动同步和启动同步选项。
- 选择与节点同步更改选项。
- 单击保存。
- 使用 wsadmin 脚本来指定下列命令,然后重新启动所有受影响的 Node Agent:
set node NODE
set na_id [$AdminConfig getid /Node:$node/Server:nodeagent/]
set syncServ [$AdminConfig list ConfigSynchronizationService $na_id]
$AdminConfig modify $syncServ {{autoSynchEnabled false}}
$AdminConfig modify $syncServ {{synchOnServerStartup false}}
$AdminConfig save
set nodeSync [$AdminControl completeObjectName type=NodeSync,node=$node,*]
$AdminControl invoke $nodeSync sync
避免故障: 对于生产环境,始终在禁用自动同步的情况下运行 Node Agent 是合理的。但是,最好对 Node Agent 启用启动同步,以便可以获取 Node Agent 关闭时进行的配置更新。只要您确保在应用程序更新过程中不会以手动方式、自动或者通过自动重新启动管理器来重新启动 Node Agent,那么启动同步可以保持已启用状态。
gotcha
- 在 Deployment Manager 服务器上的主配置库中更新应用程序。 执行下列其中一个过程来完成此步骤:
- 在管理控制台中:
- 单击应用程序 > 企业应用程序。
- 选择想要更新的应用程序。
- 完成应用程序更新进程。
- 保存对主配置所作的更改。不要选择与节点同步更改选项。
- 使用 wsadmin 脚本来发出以下命令:
set app_loc /path/to/app
set app_options {application options ie: -appname app}
set options [list -update] lappend options $app_options
$AdminApp install $app_loc $options
$AdminConfig save
此时您就在主配置中更新了应用程序版本(下图中的 App V2)。但是,应用程序的原始版本(下图中的
App V1)仍然在集群(该集群在 LPAR1 和 LPAR2 上具有集群成员)上运行。
图 1. 安装应用程序更新.
下图说明在高可用性环境中进行应用程序更新的第一个阶段。
- 在 LPAR1 上停止应用程序服务器并以手动方式使节点与应用程序的已更新版本同步。 因为服务器必须等待所有当前指定的工作项完成才能关闭,所以此步骤可能要花一点时间才能完成。
执行下列其中一个过程来完成此步骤:
- 使节点同步。 执行下列其中一个过程来完成此步骤:
如下图中所示,应用程序的已更新版本 (App V2) 现在驻留在 LPAR1 上的节点中。
图 2. 在 LPAR1 上更新节点.
下图说明在具有两个 LPAR 的高可用性环境中进行应用程序更新的第一个阶段。
- 在 LPAR1 上重新启动服务器。 执行下列其中一个过程来完成此步骤:
- 在管理控制台中:
- 单击。
- 选择想要启动的服务器,然后单击启动。
- 使用 wsadmin 脚本以发出以下命令:
set node NODE
set server SERVER
$AdminControl startServer $server $node
- 从 MVS 控制台发出以下命令:
START procname,JOBNAME=server_short_name.ENV=cell_short_name.node_short_name.server_short_name
例如:START BBO6ACR,JOBNAME=BBOS001,ENV=PLEX1.SY1.BBOS001
服务器进行备份时,它将运行应用程序的新版本 (App V2),图 3. 在 LPAR1 上重新启动服务器.
下图说明如何在高可用性环境中完成应用程序更新的第一个阶段。
- 在 LPAR1 上运行新版本应用程序的情况下,对集群中的其他 LPAR
重复先前三个步骤,以使用应用程序的新版本更新这些 LPAR。 下图说明您的配置在带两个 LPAR 的集群中的情况。
图 4. 在 LPAR2 上更新节点.
下图说明在高可用性环境中进行应用程序更新的第二个阶段。
结果
当新版本的应用程序在集群中的所有集群成员上运行时,所有应用程序更新过程就已完成。下图说明在
LPAR2 上重新启动服务器之后带两个 LPAR 的集群的情况。
图 5. 在 LPAR2
上重新启动服务器.
下图说明在 LPAR2 上重新启动服务器之后带两个 LPAR 的集群的情况。