本章介绍了维护中常用的服务迁移信息或群集故障所产生的服务迁移信息。本章包含以下几节:
本节介绍了当主群集或辅助群集上检测到故障时发生的内部进程。
特定保护组的主群集出现故障时,伙伴关系中的辅助群集将检测到故障。出现故障的群集可能是多个伙伴关系的成员,这将导致进行多个故障检测。
当主群集上出现故障时,系统会执行以下操作。在故障期间,相应保护组处于 Unknown(未知)状态。
伙伴群集检测到心跳故障。
以紧急模式激活心跳以验证心跳丢失是否不是瞬态以及主群集是否已出现故障。心跳机制继续重试主群集时,在此默认的超时时间间隔内心跳保持 Online 状态。
使用 Query_interval 心跳属性可设置此查询时间间隔。如果经过配置的时间间隔之后心跳仍然存在故障,则将会生成心跳丢失事件并将其记录在系统日志中。使用默认的时间间隔时,紧急模式的重试操作可能会使心跳丢失通知延迟大约九分钟。多条消息将显示在图形用户界面 (GUI) 和 geoadm status 命令的输出中。
有关日志记录的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“查看 Sun Cluster Geographic Edition 日志消息”。
特定保护组的辅助群集出现故障时,同一伙伴关系中的另一个群集将检测到故障。出现故障的群集可能是多个伙伴关系的成员,这将导致进行多个故障检测。
故障检测过程中,将会发生以下操作:
伙伴群集检测到心跳故障。
以紧急模式激活心跳以验证辅助群集是否已停用。
群集将通知管理员。系统会检测将故障群集作为辅助群集的所有保护组。相应保护组的状态将标记为 Unknown。
当您希望将服务依次迁移到伙伴群集上时,可对 Hitachi TrueCopy 保护组执行切换操作。切换操作包括以下内容:
使应用程序服务在原先的主群集 cluster-paris 上脱机。
有关哪个群集是 cluster-paris 的提示信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 群集配置示例”。
颠倒数据复制的角色,然后从新的主群集 cluster-newyork 到原先的主群集 cluster-paris 继续进行数据复制。
使应用程序服务在新的主群集 cluster-newyork 上进入联机状态。
使用 geopg switchover 命令启动切换操作时,数据复制子系统将在两个群集上运行几项验证。只有当两个群集上均成功完成验证步骤后,才会执行切换操作。
首先,复制子系统将检查 Hitachi TrueCopy 设备组是否处于有效的聚集设备组状态。然后,它将检查目标主群集 cluster-newyork 上的本地设备组状态是否为 23、33、43 或 53。本地设备组状态是由 pairvolchk -g device-group-name -ss 命令返回的。这些值对应于 PVOL_PAIR 或 SVOL_PAIR 状态。下表介绍了在新的主群集 cluster-newyork 上运行的 Hitachi TrueCopy 命令。
表 3–1 在新主群集上执行的 Hitachi TrueCopy 切换验证
聚集设备组状态 |
本地群集上有效的设备组状态 |
在 cluster-newyork 上运行的 Hitachi TrueCopy 切换命令 |
---|---|---|
SMPL |
无 |
无 |
Regular primary |
23,43 |
不运行任何命令(因为 Hitachi TrueCopy 设备组已处于 PVOL_PAIR 状态)。 |
Regular secondary |
33,53 |
horctakeover -g dg [-t] 当 Hitachi TrueCopy 设备组的 fence_level 为 async 时,应指定 -t 选项。其值按保护组的 Timeout 属性值的 80% 计算。例如,如果保护组的 Timeout 值为 200 秒,则此命令中的 -t 值为 200 秒的 80%,即 160 秒。 |
Takeover primary |
无 |
无 |
Takeover secondary |
无 |
无 |
切换操作成功执行之后,在数据复制级别主卷和辅助卷的角色已完成切换。执行切换操作之前已存在的 PVOL_PAIR 卷会变为 SVOL_PAIR 卷;执行切换操作之前已存在的 SVOL_PAIR 卷则会变为 PVOL_PAIR 卷。数据复制将按照从新的 PVOL_PAIR 卷到新的 SVOL_PAIR 卷的方向继续进行。
此外,作为切换操作的一部分,系统还会切换保护组的 Local-role 属性,不管应用程序是否在新的主群集上联机。在保护组的 Local-role 属性为 Secondary 的群集上,该保护组的 Local-role 属性将变为 Primary;而在保护组的 Local-role 属性为 Primary 的群集上,该保护组的 Local-role 属性将变为 Secondary。
成功的切换操作意味着,主群集和辅助群集之间的数据复制一定要处于活动状态,而且两个群集上的数据卷一定要同步。
将保护组从主群集切换到辅助群集前,请确保满足以下条件:
两个群集上均正在运行 Sun Cluster Geographic Edition 软件。
辅助群集是伙伴关系的成员。
两个群集伙伴均可访问。
保护组处于 OK 状态。
如果您已配置了 Cluster_dgs 属性,则只有属于保护组的应用程序可以写入 Cluster_dgs 属性所指定的设备组。
登录到一个群集节点。
要完成此过程,必须为您指定 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 软件和 RBAC”。
执行切换操作。
在切换操作期间启动和停止属于该保护组的应用程序资源组。
# geopg switchover [-f] -m newprimarycluster protectiongroupname |
在不经您确认的情况下强制命令执行该操作
指定将成为该保护组新主群集的群集的名称
指定保护组的名称
以下示例执行了到辅助群集的切换操作。
# geopg switchover -f -m cluster-newyork tcpg |
当需要在辅助群集上使应用程序进入联机状态时,请执行接管操作,无论主卷和辅助卷上的数据是否完全一致。本节中介绍的信息均假定保护组已经启动。
启动接管操作后将执行以下步骤:
如果可以访问原先的主群集 cluster-paris,并且出于通知处理或其他某种原因并未锁定保护组,则应用程序服务将在原先的主群集上脱机。
有关哪个群集是 cluster-paris 的提示信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 群集配置示例”。
原先的主群集 cluster-paris 的数据卷将由新主群集 cluster-newyork 接管。
此数据可以与最初的主卷不一致。执行接管操作后,从新的主群集 cluster-newyork 到原先的主群集 cluster-paris 的数据复制将停止。
使应用程序服务在新的主群集 cluster-newyork 上进入联机状态。
有关主群集和辅助群集在接管操作前后可能出现哪些状况的详细信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的附录 C “接管后的情况”。
以下几节介绍了强制辅助群集执行接管操作时必须执行的步骤。
使用 geopg takeover 命令启动接管操作时,数据复制子系统将在两个群集上运行几个验证。仅在可访问主群集的情况下,系统才会在原来的主群集上执行这些步骤。如果在原来的主群集上验证失败,则仍会执行接管操作。
首先,复制子系统将检查 Hitachi TrueCopy 设备组是否处于有效的聚集设备组状态。然后,复制子系统将检查目标主群集 cluster-newyork 上的本地设备组状态是否既非 32 也非 52。这些值对应于 SVOL_COPY 状态,该状态会使 horctakeover 命令执行失败。下表介绍了用于接管操作的 Hitachi TrueCopy 命令。
表 3–2 在新主群集上执行的 Hitachi TrueCopy 接管验证
聚集设备组状态 |
有效的本地状态设备组状态 |
在 cluster-newyork 上运行的 Hitachi TrueCopy 接管命令 |
---|---|---|
SMPL |
全部 |
不运行任何命令。 |
Regular primary |
全部 |
不运行任何命令。 |
Regular secondary |
除 32 或 52 之外的所有常规辅助状态 |
horctakeover -S -g dg [-t] 当 Hitachi TrueCopy 设备组的 fence_level 为 async 时给出 -t 选项。其值按保护组的 Timeout 属性值的 80% 计算。例如,如果保护组的 Timeout 值为 200 秒,则此命令中的 -t 值将为 200 秒的 80%,即 160 秒。 |
Takeover primary |
全部 |
不运行任何命令。 |
Takeover secondary |
全部 |
pairsplit -R-g dg pairsplit -S-g dg |
从复制的角度来看,成功执行接管操作之后,保护组的 Local-role 属性会被更改以反映新的角色,至于在接管操作执行过程中应用程序是否会在新的主群集上联机则是无关紧要的。在保护组的 Local-role 属性为 Secondary 的 cluster-newyork 群集上,该保护组的 Local-role 属性将变为 Primary;在保护组的 Local-role 属性为 Primary 的 cluster-paris 群集上,可能出现以下情况:
如果可以访问该群集,则保护组的 Local-role 属性将变为 Secondary。
如果无法访问该群集,则保护组的 Local-role 属性将仍为 Primary。
如果接管操作执行成功,则应用程序将进入联机状态。您无需再单独运行 geopg start 命令。
成功执行接管操作后,新的主群集 cluster-newyork 和原先的主群集 cluster-paris 之间的数据复制将停止。如果要运行 geopg start 命令,您必须使用 -n 选项来防止复制操作重新开始。
在强制辅助群集承担主群集的活动前,请确保满足以下条件:
该群集上正在运行 Sun Cluster Geographic Edition 软件。
该群集是伙伴关系的成员。
在辅助群集上保护组的 Configuration 状态为 OK。
登录到一个辅助群集中的节点。
要完成此过程,必须为您指定 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 软件和 RBAC”。
启动接管操作。
# geopg takeover [-f] protectiongroupname |
在不经您确认的情况下强制该命令执行操作
指定保护组的名称
本示例将强制辅助群集 cluster-newyork 对 tcpg 执行接管操作。
phys-newyork-1 是辅助群集中的第一个节点。有关哪一个节点是 phys-newyork-1 的提示信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 群集配置示例”。
phys-newyork-1# geopg takeover -f tcpg |
有关主群集和辅助群集在接管操作完成后的状态信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的附录 C “接管后的情况”。
成功执行接管操作后,辅助群集 cluster-newyork 将成为保护组的主群集,而服务也将在辅助群集上联机。恢复原来的主群集 cluster-paris 后,可使用故障恢复过程重新使服务在原来的主群集上联机。
Sun Cluster Geographic Edition 软件支持以下两种故障恢复:
故障恢复-切换。在故障恢复-切换期间,当使用辅助群集 cluster-newyork 上的数据对原主群集 cluster-paris 上的数据进行重新同步之后,应用程序将重新在原来的主群集上联机。
有关哪个群集是 cluster-paris 以及哪个群集是 cluster-newyork 的提示信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 群集配置示例”。
故障恢复-接管。在故障恢复-接管期间,应用程序将在原来的主群集 cluster-paris 上重新联机,并使用原主群集上的当前数据。在辅助群集 cluster-newyork 作为主群集时,在它的上面进行的任何更新均将被放弃。
当原来的主群集重新运行之后,如果要继续将新主群集 cluster-paris 用作主群集,而将原主群集 cluster-paris 用作辅助群集,可在不执行切换或接管操作的情况下重新同步并重新验证保护组配置。
可通过执行以下过程用当前主群集 cluster-newyork 上的数据重新同步和重新验证最初的主群集 cluster-paris 上的数据。
重新同步和重新验证保护组的配置之前,cluster-newyork 上已执行了接管操作。这些群集现在具有以下角色:
如果最初的主群集 cluster-paris 已关闭,请确认是否已引导该群集以及是否已在该群集上启用 Sun Cluster Geographic Edition 基础结构。有关引导群集的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“引导群集”。
cluster-newyork 上的保护组具有 primary 角色。
cluster-paris 上的保护组具有主角色或辅助角色,具体值取决于在 cluster-newyork 上执行接管操作期间是否可以对 cluster-paris 进行访问。
将最初的主群集 cluster-paris 与当前的主群集 cluster-newyork 进行重新同步。
cluster-paris 将放弃自己的配置,并在本地复制 cluster-newyork 的配置。重新同步伙伴关系和保护组配置。
在 cluster-paris 上重新同步伙伴关系。
# geops update partnershipname |
指定伙伴关系的名称。
此步骤只需执行一次即可,即使是要重新同步多个保护组亦是如此。
有关对伙伴关系进行同步的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“重新同步伙伴关系”。
在 cluster-paris 上重新同步每个保护组。
由于在 cluster-newyork 上保护组的角色为 primary,因此此步骤可确保在 cluster-paris 上保护组的角色为 secondary。
# geopg update protectiongroupname |
指定保护组的名称
有关同步保护组的更多信息,请参见重新同步 Hitachi TrueCopy 保护组。
在 cluster-paris 上,验证每个保护组的群集配置。
# geopg validate protectiongroupname |
指定标识单个保护组的唯一名称
有关更多信息,请参见如何验证 Hitachi TrueCopy 保护组。
在 cluster-paris 上激活每个保护组。
由于 cluster-paris 上的保护组具辅助角色,因此 geopg start 命令不会重新启动 cluster-paris 上的应用程序。
# geopg start -e local protectiongroupname |
指定命令的范围。
指定 local 范围后,该命令将仅在本地群集上有效。
指定保护组的名称。
由于数据要从当前主群集 cluster-newyork 同步到当前辅助群集 cluster-paris,因此请不要使用 -n 选项。
由于保护组具有辅助角色,因此将从当前主群集 cluster-newyork 到当前辅助群集 cluster-paris 对数据进行同步。
有关 geopg start 命令的更多信息,请参见如何激活 Hitachi TrueCopy 保护组。
确认数据已完全同步。
保护组在 cluster-newyork 上的状态必须为 OK。
phys-newyork-1# geoadm status |
参阅输出的 Protection Group 部分。
当 cluster-newyork 上 Hitachi TrueCopy 设备组的状态为 PVOL_PAIR 且 cluster-paris 上 Hitachi TrueCopy 设备组的状态为 SVOL_PAIR 时,保护组的本地状态将为 OK。
当使用当前主群集 cluster-newyork 上的数据重新同步原主群集 cluster-paris 上的数据后,可执行本过程在原主群集上重新启动应用程序。
故障恢复过程仅适用于处在伙伴关系中的群集。对于每个伙伴关系而言,以下过程只需执行一次。
在执行“故障恢复-切换”前,cluster-newyork 上已进行了接管操作。群集具有以下角色:
如果最初的主群集 cluster-paris 已关闭,请确认是否已引导该群集以及是否已在该群集上启用 Sun Cluster Geographic Edition 基础结构。有关引导群集的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“引导群集”。
cluster-newyork 上的保护组具有 primary 角色。
cluster-paris 上的保护组具有主角色或辅助角色,具体值取决于在 cluster-newyork 上执行接管操作期间是否可以对 cluster-paris 进行访问。
将最初的主群集 cluster-paris 与当前的主群集 cluster-newyork 进行重新同步。
cluster-paris 将放弃自己的配置,并在本地复制 cluster-newyork 的配置。重新同步伙伴关系和保护组配置。
在 cluster-paris 上重新同步伙伴关系。
phys-paris-1# geops update partnershipname |
指定伙伴关系的名称。
对于每个伙伴关系而言,即使是要对该伙伴关系中的多个保护组执行“故障恢复-切换”操作,也只需为该伙伴关系执行一次此步骤即可。
有关对伙伴关系进行同步的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“重新同步伙伴关系”。
在 cluster-paris 上重新同步每个保护组。
由于保护组在 cluster-newyork 上的本地角色现在为 primary,因此该步骤可确保保护组在 cluster-paris 上的角色变为 secondary。
phys-paris-1# geopg update protectiongroupname |
指定保护组的名称
有关同步保护组的更多信息,请参见重新同步 Hitachi TrueCopy 保护组。
在 cluster-paris 上,验证每个保护组的群集配置。
因此,请确保保护组不处于错误状态。保护组处于错误状态时是无法启动的。
phys-paris-1# geopg validate protectiongroupname |
指定标识单个保护组的唯一名称
有关更多信息,请参见如何验证 Hitachi TrueCopy 保护组。
在 cluster-paris 上激活每个保护组。
由于保护组在 cluster-paris 上的角色为 secondary,因此 geopg start 命令不会重新启动 cluster-paris 上的应用程序。
phys-paris-1# geopg start -e local protectiongroupname |
指定命令的范围。
指定 local 范围后,该命令将仅在本地群集上有效。
指定保护组的名称。
由于数据要从当前主群集 cluster-newyork 同步到当前辅助群集 cluster-paris,因此请不要使用 -n 选项。
由于保护组的角色为 secondary,因此数据将从当前的主群集 cluster-newyork 同步到当前的辅助群集 cluster-paris。
有关 geopg start 命令的更多信息,请参见如何激活 Hitachi TrueCopy 保护组。
确认数据已完全同步。
保护组在 cluster-newyork 上的状态必须是 OK。
phys-newyork-1# geoadm status |
参阅输出的 Protection Group 部分。
当在 cluster-newyork 上 Hitachi TrueCopy 设备组的状态为 PVOL_PAIR 并且在 cluster-paris 上 Hitachi TrueCopy 设备组的状态为 SVOL_PAIR 时,保护组的本地状态将为 OK。
在任一个群集上,为每个保护组从 cluster-newyork 到 cluster-paris 执行切换操作。
# geopg switchover [-f] -m clusterparis protectiongroupname |
有关更多信息,请参见如何将 Hitachi TrueCopy 保护组由主群集切换为辅助群集。
cluster-paris 承担其作为保护组主群集的最初角色。
确保成功执行了切换操作。
检验保护组当前在 cluster-paris 上是否为主角色,在 cluster-newyork 上是否为辅助角色,并检验两个群集上的数据复制状态和资源组状态是否均为 OK。
# geoadm status |
检查每个 Hitachi TrueCopy 保护组的应用程序资源组和数据复制的运行时状态。
# scstat -g |
请参阅针对您要检查的数据复制设备组所显示的 Status 和 Status Message 字段。有关这些字段的更多信息,请参见表 2–1。
有关数据复制运行时状态的更多信息,请参见检查 Hitachi TrueCopy 数据复制的运行时状态。
使用此过程在最初的主群集 cluster-paris 上重新启动应用程序,然后在最初的主群集上使用当前数据。在辅助群集 cluster-newyork 作为主群集时,在它的上面进行的任何更新均将被放弃。
故障恢复过程仅适用于处在伙伴关系中的群集。对于每个伙伴关系而言,以下过程只需执行一次。
在一定条件下,您还可以重新使用原主群集 cluster-paris 上的数据。在 cluster-newyork 上执行接管操作后,千万不要从新主群集 cluster-newyork 向原主群集 cluster-paris 复制数据。要防止在新的主群集和原来的主群集之间进行数据复制,您必须在运行 geopg start 命令时使用 -n 选项。
确保群集具有以下角色:
cluster-newyork 上的保护组具有 primary 角色。
cluster-paris 上的保护组具有 primary 角色或 secondary 角色,这取决于在执行接管操作期间是否可以访问该保护组。
将最初的主群集 cluster-paris 与最初的辅助群集 cluster-newyork 进行重新同步。
cluster-paris 将放弃自己的配置,并在本地复制 cluster-newyork 的配置。
在 cluster-paris 上重新同步伙伴关系。
phys-paris-1# geops update partnershipname |
指定伙伴关系的名称。
对于每个伙伴关系而言,即使是要对该伙伴关系中的多个保护组执行“故障恢复-接管”操作,也只需为该伙伴关系执行一次此步骤即可。
有关对伙伴关系进行同步的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“重新同步伙伴关系”。
将 Hitachi TrueCopy 设备组 devgroup1 置于 SMPL 状态。
请使用 pairsplit 命令将 cluster-paris 和 cluster-newyork 上保护组中的 Hitachi TrueCopy 设备组置于 SMPL 状态。您使用的 pairsplit 命令取决于 Hitachi TrueCopy 设备组的对状态。下表列出了针对部分典型对状态,需要您在 cluster-paris 上使用的一些命令示例。
cluster-paris 上的对状态 |
cluster-newyork 上的对状态 |
在 cluster-paris 上使用的 pairsplit 命令 |
---|---|---|
PSUS 或 PSUE |
SSWS |
pairsplit -R -g dgname pairsplit -S -g dgname |
SSUS |
PSUS |
pairsplit -S -g dgname |
有关 pairsplit 命令的更多信息,请参见《Sun StorEdge SE 9900 V Series Command and Control Interface User and Reference Guide》。
如果该命令运行成功,则 pairdisplay 命令的输出中将会显示 devgroup1 的状态:
phys-paris-1# pairdisplay -g devgroup1 Group PairVol(L/R) (Port#,TID,LU),Seq#,LDEV#,P/S,Status,Fence,Seq#,P-LDEV# M devgroup1 pair1(L) (CL1-A , 0, 1) 12345 1..SMPL ---- ----,----- ---- - devgroup1 pair1(R) (CL1-C , 0, 20)54321 609..SMPL ---- ----,----- ---- - devgroup1 pair2(L) (CL1-A , 0, 2) 12345 2..SMPL ---- ----,----- ---- - devgroup1 pair2(R) (CL1-C , 0,21) 54321 610..SMPL ---- ----,----- ---- - |
。
在 cluster-paris 上重新同步每个保护组。
phys-paris-1# geopg update protectiongroupname |
指定保护组的名称
有关重新同步保护组的更多信息,请参见如何重新同步保护组。
在 cluster-paris 上,验证每个保护组的配置。
因此,请确保保护组不处于错误状态。由于保护组处于错误状态时是无法启动的,
phys-paris-1# geopg validate protectiongroupname |
指定标识单个保护组的唯一名称
有关更多信息,请参见如何验证 Hitachi TrueCopy 保护组。
在 cluster-paris 上,在没有进行数据复制的情况下激活辅助角色中的每个保护组。
由于 cluster-paris 上的保护组具有 secondary 角色,因此 geopg start 命令不会重新启动 cluster-paris 上的应用程序。
phys-paris-1# geopg start -e local -n protectiongroupname |
指定命令的作用范围
。
指定 local 范围后,该命令将仅在本地群集上有效。
防止在启动保护组时启动数据复制。
您必须使用 -n 选项。
指定保护组的名称。
有关更多信息,请参见如何激活 Hitachi TrueCopy 保护组。
由于在 cluster-paris 上使用了 -n 选项,因此从 cluster-newyork 到 cluster-paris 的复制不会启动。
在 cluster-paris 上,为每个保护组执行接管操作。
phys-paris-1# geopg takeover [-f] protectiongroupname |
在不经您确认的情况下强制该命令执行操作
指定保护组的名称
有关 geopg takeover 命令的更多信息,请参见如何强制辅助群集对 Hitachi TrueCopy 服务立即执行接管操作。
cluster-paris 上的保护组现在具有 primary 角色,而 cluster-newyork 上的保护组则具有 secondary 角色。在 cluster-paris 上,应用程序服务现在已处于联机状态。
在 cluster-paris 上激活每个保护组。
完成步骤 4 后,cluster-newyork 上保护组的本地状态为 Offline。要启动对保护组的本地状态的监视,您必须在 cluster-newyork 上激活保护组。
由于 cluster-newyork 上的保护组具有 secondary 角色,因此 geopg start 命令不会重新启动 cluster-newyork 上的应用程序。
phys-newyork-1# geopg start -e local [-n] protectiongroupname |
指定命令的范围。
指定 local 范围后,该命令将仅在本地群集上有效。
防止在启动保护组时启动数据复制。
如果省略此选项,则在启动保护组时会启动数据复制子系统。
指定保护组的名称。
有关 geopg start 命令的更多信息,请参见如何激活 Hitachi TrueCopy 保护组。
确保已成功执行接管操作。
检验保护组此时在 cluster-paris 上是否为主角色,在 cluster-newyork 上是否为辅助角色,并检验两个群集上的数据复制状态和资源组状态是否均为 OK。
# geoadm status |
检查每个 Hitachi TrueCopy 保护组的应用程序资源组和数据复制的运行时状态。
# scstat -g |
请参阅针对您要检查的数据复制设备组所显示的 Status 和 Status Message 字段。有关这些字段的更多信息,请参见表 2–1。
有关数据复制运行时状态的更多信息,请参见检查 Hitachi TrueCopy 数据复制的运行时状态。
运行 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 上的数据。
在数据复制级别发生错误时,该错误反映在相关设备组的复制资源组中资源的状态中。
有关不同的 Resource status 值如何映射到实际的复制对状态的信息,请参见表 2–6。
您可以按如下所示使用 scstat -g 命令来查看复制资源的状态:
phys-paris-1# scstat -g |
运行 scstat -g 命令可能会返回以下内容:
... --Resources -- Resource Name Node Name State Status Message ------------- --------- ----- -------------- Resource: r-tc-tcpg1-devgroup1 phys-paris-2 Offline Offline Resource: r-tc-tcpg1-devgroup1 phys-paris-1 Online Faulted - P-VOL:PSUE Resource: hasp4nfs phys-paris-1 Offline Offline Resource: hasp4nfs phys-paris-2 Offline Offline ... |
使用 geoadm status 命令可显示保护组中所有设备组的聚集资源状态。例如,前面示例中的 scstat -g 命令的输出表明 Hitachi TrueCopy 设备组 devgroup1 在 cluster-paris 上处于 PSUE 状态。表 2–6 表明 PSUE 状态对应于资源状态 FAULTED。因此,保护组的数据复制状态也是 FAULTED。此状态反映在 geoadm status 命令的输出中,该命令会将保护组的状态显示为 Error。
phys-paris-1# geoadm status Cluster: cluster-paris Partnership "paris-newyork-ps" : OK Partner clusters : cluster-newyork Synchronization : OK ICRM Connection : OK Heartbeat "paris-to-newyork" monitoring "cluster-newyork": OK Heartbeat plug-in "ping_plugin" : Inactive Heartbeat plug-in "tcp_udp_plugin" : OK Protection group "tcpg" : Error Partnership : paris-newyork-ps Synchronization : OK Cluster cluster-paris : Error Role : Primary PG activation state : Activated Configuration : OK Data replication : Error Resource groups : OK Cluster cluster-newyork : Error Role : Secondary PG activation state : Activated Configuration : OK Data replication : Error Resource groups : OK Pending Operations Protection Group : "tcpg" Operations : start |
要从错误状态中恢复,您可能需要执行以下过程中的部分或全部步骤。
使用 Hitachi TrueCopy 文档中的过程来确定导致 FAULTED 状态的原因。此状态显示为 PSUE。
使用 Hitachi TrueCopy 过程从故障状态中恢复。
如果恢复过程更改了设备组状态,则资源将自动检测此状态并将其作为新的保护组状态来报告。
重新验证保护组的配置
phys-paris-1# geopg validate protectiongroupname |
指定 Hitachi TrueCopy 保护组的名称
查看保护组配置的状态。
phys-paris-1# geopg list protectiongroupname |
指定 Hitachi TrueCopy 保护组的名称
查看该保护组的运行时状态。
phys-paris-1# geoadm status |