WAS/DB2 集群模型和用例
此模型包含一个 DB2® 数据库,一个依赖于 DB2 和四个 WebSphere 应用程序的 WebSphere® Application Server 应用程序。 此模型的父/子依赖关系是 DB2 在激活 WAS 之前应可用,而 WebSphere (WS#) 应用程序取决于 WAS 的可用性。
资源组的位置依赖关系是, DB2 和 WAS 不应 在同一节点上激活, WAS 在依赖于 WS4 的同一节点上处于联机状态 (请参阅图) , DB2 在具有 WS1, WS2 和 WS3的同一节点上处于联机状态。 在此示例中,WS# 的位置依赖性完全是虚假的。 但是,这是一个配置,其中一个节点针对 DB2 进行了微调 (因此将是 DB2的最高优先级节点) ,另一个节点针对 WAS 进行了微调。 它们具有一个通用的备份节点,此节点在同一时间内只能托管两个组中的一个。

资源组策略
所有资源组均具有以下策略:
- 启动策略:在第一个可用节点上联机
- 失败转移策略:失败转移到下一个优先级节点
- 回退策略:从不回退
| 参与节点 | 位置依赖性 | 父/子依赖性 |
|---|---|---|
|
“在同一节点上连接”依赖组:
“在不同节点上联机”依赖组:
|
|
用例 1:启动第一个节点(节点 1)
| 步骤/限定符 | 操作 | 节点 1 | 节点 2 | 节点 3 |
|---|---|---|---|---|
| 1 | 启动节点 1 | 父/子依赖性未满足。 | ||
| 2 | WAS:ERROR | |||
| 3 | WS4:ERROR | |||
| 后置条件/资源组状态 | WAS:ERROR WS4:ERROR |
|
WAS: DB2:
|
WAS 和 WS4 可能已在节点 1 上启动,但父资源组 DB2 仍处于脱机状态。 因此,WAS 和 WS4 被置于 ERROR 状态。
用例 2:启动第二个节点(节点 2)
| 步骤/限定符 | 操作 | 节点 1 | 节点 2 | 节点 3 |
|---|---|---|---|---|
| 1 | 启动节点 2 | |||
| 2 | 获取 DB2 | |||
| 3 | 获取 WAS | |||
| 4 | 获取 WS4 | 获取 WS1、WS2、WS3 | ||
| 后置条件/资源组状态 | WAS:ONLINE WS4:ONLINE |
|
WAS: DB2:
|
节点 2 启动 DB2 (父 RG) ,这将触发 WAS ( DB2的子代) 的处理。 最终,所有孙代都在其各自节点上启动。
启动节点顺序 1、2、3 的整合视图
| 步骤 | 节点 1 | 节点 2 | 节点 3 |
|---|---|---|---|
| 启动节点 1 | WAS:ERROR WS4:ERROR |
DB2:
|
WAS: DB2:
|
| 启动节点 2 | WAS:ONLINE WS4:ONLINE |
|
WAS: DB2:
|
| 启动节点 3 | WAS:ONLINE WS4:ONLINE |
|
|
用例 3:不按顺序启动节点(节点 3)
| 步骤/限定符 | 操作 | 节点 1 | 节点 2 | 节点 3 | 注释 |
|---|---|---|---|---|---|
| 1 | 启动节点 3 | ||||
| 2 | 获取 DB2 | ||||
| 后置条件/资源组状态 | WAS: DB2: WS4 |
WS1:
|
|
节点 3 是所有资源组的参与节点。 但是, WAS 和 DB2 不能共存于同一节点上。 DB2 -作为父代-在节点 3 上启动,这意味着 WAS 无法在同一节点上启动。 由于 WAS 未联机,因此 WAS 的任何子代都不能在节点 3 上联机。
用例 4:不按顺序启动第二个节点(节点 2)
| 步骤/限定符 | 操作 | 节点 1 | 节点 2 | 节点 3 |
|---|---|---|---|---|
| 1 | 启动节点 2 | |||
| 2 | 发行版 DB2 | |||
| 3 | 获取 DB2 | |||
| 4 | 获取 WAS | |||
| 获取 WS1、WS2、WS3 | 获取 WS4 | |||
| 后置条件/资源组状态 | WAS: WS4 |
|
|
节点 2 是 DB2的更高优先级节点。 因此, DB2 将回退到节点 2 ,现在可以在节点 3 上获取 WAS (Online On 不同节点依赖关系集)。
用例 5:启动第三个节点(节点 1)
| 步骤/限定符 | 操作 | 节点 1 | 节点 2 | 节点 3 |
|---|---|---|---|---|
| 1 | 启动节点 1 | |||
| 2 | 释放 WS1、WS2、WS3 | 释放 WS4 | ||
| 3 | 获取 WAS | |||
| 4 | 获取 WS4 | |||
| 5 | 获取 WS1、WS2 和 WS3 | |||
| 后置条件/资源组状态 | WAS:ONLINE WS4:ONLINE |
|
|
所有组现在均已联机。
启动节点顺序 3、2、1 的整合视图
| 步骤 | 节点 1 | 节点 2 | 节点 3 |
|---|---|---|---|
| 启动节点 3 | WAS: WS4: |
DB2:
|
|
| 启动节点 2 | WAS: WS4: |
|
|
| 启动节点 1 | WAS:ONLINE WS4:ONLINE |
|
|
用例 6:获取失败示例
| 步骤/限定符 | 操作 | 节点 1 | 节点 2 | 节点 3 | 注释 |
|---|---|---|---|---|---|
| WAS:WS4: |
|
|
|||
| 1 | Node_up 1 | ||||
| 2 | 释放 WS1 WS2 WS3 释放 | 释放 WS4 | |||
| 3 | 释放 WAS | ||||
| 4 | 获取 WAS | WAS 的获取失败 | |||
| 5 | rg_move WAS | 正常的 rg_move 事件 | |||
| 6 | 获取 WAS | ||||
| 7 | 获取 WS1 WS2 WS3 获取 | 获取 WS4 | |||
| 后置条件/资源组状态 | WAS:OFFLINE WS4:OFFLINE |
DB2: 在线 WS1: 在线
|
|
在节点 1 加入集群时,WAS 尝试回退,但是收到了获取失败。 获取失败会启动 resource_state_change 事件;这触发 rg_move 事件,此事件将 WAS 移动到其原始节点。