执行 geopg switchover 命令时,将在 Hitachi TrueCopy 数据复制级别执行 horctakeover 命令。如果 horctakeover 命令返回的值为 1,则表明切换操作成功。
在 Hitachi TrueCopy 的术语中,switchover(切换)被称为 swap-takeover(交换-接管)。在某些情况下,horctakeover 命令可能无法执行“交换-接管”操作。此时,系统将会返回 1 以外的返回值,这视为切换操作的故障。
如果出现故障,horctakeover 命令的返回值通常为 5,这表明 SVOL-SSUS-接管。
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 上的数据。