运行 geopg switchover 命令时,horctakeover 命令会在 Hitachi TrueCopy 数据复制级别运行。如果 horctakeover 命令返回的值为 1,则表明切换操作成功。
在 Hitachi TrueCopy 的术语中,切换 (switchover) 被称为交换-接管 (swap-takeover)。在某些情况下,horctakeover 命令可能无法执行交换-接管操作。此时,系统将会返回 1 以外的返回值,这将被视为切换故障。
出现故障时,horctakeover 命令的返回值通常为 5,该值代表 SVOL-SSUS-takeover。
导致 horctakeover 命令未能执行交换-接管操作的原因之一可能是:数据复制链路 ESCON/FC 已关闭。
交换-接管以外的结果表明辅助卷可能没有与主卷完全同步。在切换操作失败的情况下,Sun Cluster Geographic Edition 软件不会在预期的新主群集上启动应用程序。
本节的其余部分介绍了导致切换故障的初始情况以及如何从切换故障中恢复。
本节介绍了一种切换故障情形。在此情形中,cluster-paris 是原来的主群集,cluster-newyork 是原来的辅助群集。
经过切换,使服务从 cluster-paris 切换到了 cluster-newyork,如下所示:
phys-newyork-1# geopg switchover -f -m cluster-newyork tcpg |
处理 geopg switchover 命令时,horctakeover 命令将执行 SVOL-SSUS 接管并向 Hitachi TrueCopy 设备组 devgroup1 返回数值 5。作为结果,geopg switchover 命令将返回以下故障消息:
Processing operation.... this may take a while .... "Switchover" failed for the following reason: Switchover failed for Truecopy DG devgroup1 |
显示此故障消息后,这两个群集将处于以下状态:
cluster-paris: tcpg role: Secondary cluster-newyork: tcpg role: Secondary phys-newyork-1# pairdisplay -g devgroup1 -fc Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#.P/S, Status,Fence,%, P-LDEV# M devgroup1 pair1(L) (CL1-C , 0, 20)12345 609..S-VOL SSWS ASYNC,100 1 - devgroup1 pair1(R) (CL1-A , 0, 1) 54321 1..P-VOL PSUS ASYNC,100 609 - |
本节描述了从上节所述的故障情形中进行恢复的过程。这些过程可使应用程序在相应群集上联机。
将 Hitachi TrueCopy 设备组 devgroup1 置于 SMPL 状态。
请使用 pairsplit 命令将 cluster-paris 和 cluster-newyork 上保护组中的设备组置于 SMPL 状态。对于上节所示的对状态,请运行以下 pairsplit 命令:
phys-newyork-1# pairsplit -R -g devgroup1 phys-newyork-1# pairsplit -S -g devgroup1 |
将其中的一个群集指定为保护组的 Primary 群集。
如果打算在原来的主群集 cluster-paris 上启动应用程序,请将该群集指定为保护组的 Primary 群集。应用程序将使用原主群集上的当前数据。
如果打算在原来的辅助群集 cluster-newyork 上启动应用程序,请将该群集指定为保护组的 Primary 群集。应用程序将使用原辅助群集上的当前数据。
由于 horctakeover 命令并未执行交换-接管操作,因此 cluster-newyork 上的数据卷可能没有与 cluster-paris 上的数据卷同步。如果打算使用原主群集上的数据启动应用程序,请确保毋使原辅助群集成为 Primary 群集。
在原来的主群集上取消激活该保护组。
phys-paris-1# geopg stop -e Local tcpg |
重新同步该保护组的配置。
此命令使用 cluster-newyork 上的保护组的配置信息来更新 cluster-paris 上的保护组配置。
phys-paris-1# geopg update tcpg |
geopg update 命令运行成功后,tcpg 在每个群集上具有以下角色:
cluster-paris: tcpg role: Primary cluster-newyork: tcpg role: secondary |
在伙伴关系中的两个群集上激活该保护组。
phys-paris-1# geopg start -e Global tcpg |
此命令将在 cluster-paris 上启动应用程序。从 cluster-paris 到 cluster-newyork 的数据复制将启动。
重新同步该保护组的配置。
此命令使用 cluster-paris 上的保护组的配置信息来更新 cluster-newyork 上的保护组配置。
phys-newyork-1# geopg update tcpg |
geopg update 命令运行成功后,tcpg 在每个群集上具有以下角色:
cluster-paris: tcpg role: Secondary cluster-newyork: tcpg role: Primary |
在伙伴关系中的两个群集上激活该保护组。
phys-newyork-1# geopg start -e Global tcpg |
此命令将在 cluster-newyork 上启动应用程序。从 cluster-newyork 到 cluster-paris 的数据复制将启动。
此命令将覆写 cluster-paris 上的数据。