5.4. 测试 2:故障切换具有被动第三个站点的主节点
| 测试的主题 | 没有重新注册已停止的第三个站点。 即使第三个站点停机,故障转移也可以正常工作。 |
| 测试先决条件 |
|
| 测试步骤 |
使用 |
| 启动测试 |
执行集群命令 |
| 预期结果 | DC3 没有更改。SAP HANA 系统复制与旧关系保持同步。 |
| 返回初始状态的方法 | 在新主上重新注册 DC3,并启动 SAP HANA。 |
详细描述
以 root 用户身份在 clusternode1 或 clusternode2 上检查集群的初始状态:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例的输出显示,HANA 在 clusternode1 上被提升,它是主 SAP HANA 服务器,克隆资源的名称为
SAPHana_RH2_02-clone是可升级的。如果您在 HANA 之前运行 test 3,则可能会在 clusternode2 上提升。停止 remotehost3 上的数据库:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 remotehost3 上的主数据库:
remotehost3:rh2adm> hdbnsutil -sr_stateConfiguration| grep -i "primary masters" primary masters: clusterclusternode2
remotehost3:rh2adm> hdbnsutil -sr_stateConfiguration| grep -i "primary masters" primary masters: clusterclusternode2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查集群节点上集群中的当前主要信息:
pcs resource | grep Masters
[root@clusterclusternode1]# pcs resource | grep Masters * Masters: [ clusternode2 ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查
sr_state以查看 SAP HANA 系统复制关系:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
SAP HANA 系统复制关系仍然有一个主要(DC1),它被复制到 DC2 和 DC3。remotehost3 (关闭)上的复制关系可以使用以下方法显示:
remotehost3 上的数据库,其离线检查 global.ini 文件中的条目。
启动测试:在集群中启动故障转移,移动
SAPHana-clone-resource示例:pcs resource move SAPHana_RH2_02-clone clusternode2
[root@clusternode1]# pcs resource move SAPHana_RH2_02-clone clusternode2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果在 clusternode2 上提升 SAPHana,则必须将克隆资源移到 clusternode1。该示例要求 SAPHana 在 clusternode1 上提升。
没有输出。与之前的测试类似,会创建一个位置约束,该约束可以使用以下方法显示:
pcs constraint location
[root@clusternode1]# pcs constraint location Location Constraints: Resource: SAPHana_RH2_02-clone Enabled on: Node: clusternode1 (score:INFINITY) (role:Started)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 即使集群再次查找正常,此约束也会避免另一个故障转移,除非删除了约束。其中一种方法是清除资源。
清除资源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 清理资源:
pcs resource cleanup SAPHana_RH2_02-clone
[root@clusternode1]# pcs resource cleanup SAPHana_RH2_02-clone Cleaned up SAPHana_RH2_02:0 on clusternode2 Cleaned up SAPHana_RH2_02:1 on clusternode1 Waiting for 1 reply from the controller ... got reply (done)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查当前状态。可以通过两种方式显示需要同步的复制状态。从 remotehost3 上的主设备开始:
remotehost3:rh2adm> hdbnsutil -sr_stateConfiguration| grep -i primary active primary site: 1 primary masters: clusternode1
remotehost3:rh2adm> hdbnsutil -sr_stateConfiguration| grep -i primary active primary site: 1 primary masters: clusternode1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示站点 1 或 clusternode1,这是开始测试之前的主要内容,将主要移到 clusternode2。然后再检查新主上的系统复制状态。首先检测新主设备:
pcs resource | grep Master
[root@clusternode1]# pcs resource | grep Master * Masters: [ clusternode2 ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在这里,我们有一个不一致的,需要重新注册 remotehost3。您可能认为,如果我们再次运行测试,我们可能会将主设备切回到原始 clusternode1。在这种情况下,我们有第三个方法来识别系统复制是否正常工作。在主节点上,我们的问题单 clusternode2 运行:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果在此输出中没有看到 remotehost3,则必须重新注册 remotehost3。在注册前,请在主节点上运行以下内容以观察注册的进度:
clusternode2:rh2adm> watch python $DIR_EXECUTABLE/python_support/systemReplicationStatus.py
clusternode2:rh2adm> watch python $DIR_EXECUTABLE/python_support/systemReplicationStatus.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您可以使用以下命令重新注册 remotehost3:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 即使 remotehost3 上的数据库尚未启动,您也无法在系统复制状态输出中看到第三个站点。
通过在 remotehost3 上启动数据库,可以完成注册:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
上面启动的监控器将立即显示 remotehost3 的同步。
- 要切换回来,请再次运行测试。一个可选测试是将主要测试切换到节点,该节点在 remotehost3 上的 global.ini 上配置,然后启动数据库。数据库可能会启动,但永远不会显示在系统复制状态的输出中,除非它被重新注册。
如需更多信息,请参阅 检查 SAP HANA 系统复制状态。