本章介绍了维护中常用的服务迁移信息或群集故障所产生的服务迁移信息。本章介绍了有关以下内容的信息:
本节介绍了当主群集或辅助群集上检测到故障时发生的内部进程。
特定保护组的主群集出现故障时,伙伴关系中的辅助群集将检测到故障。出现故障的群集可能是多个伙伴关系的成员,这将导致进行多个故障检测。
保护组的整体状态更改为 Unknown 状态时,将会发生以下操作:
伙伴群集检测到心跳故障。
以紧急模式激活心跳以验证心跳丢失是否不是瞬态以及主群集是否已出现故障。心跳机制继续重试主群集的时候,心跳在此默认超时时限间隔内保持 OK 状态。只有心跳插件显示 Error 状态。
此查询时间间隔是通过心跳的 Query_interval 属性设置的。如果经过四次(三次重试以及一次紧急模式探测)配置的 Query_interval 后心跳仍然存在故障,则将会生成心跳丢失事件,并将其记入系统日志。使用默认的时间间隔时,紧急模式的重试操作可能会使心跳丢失通知延迟大约九分钟。消息都将显示在图形用户界面 (GUI) 和 geoadm status 命令的输出中。
有关日志记录的更多信息,请参见查看 Sun Cluster Geographic Edition 日志消息。
特定保护组的辅助群集出现故障时,同一伙伴关系中的另一个群集将检测到故障。出现故障的群集可能是多个伙伴关系的成员,这将导致进行多个故障检测。
故障检测过程中,将会发生以下操作:
伙伴群集检测到心跳故障。
以紧急模式激活心跳以验证辅助群集是否已停用。
群集将通知管理员。系统会检测将故障群集作为辅助群集的所有保护组。这些保护组的状态变为 Unknown。
如果希望顺序将服务迁移到伙伴群集,可以执行 Sun StorEdge Availability Suite 3.2.1 保护组的切换操作。切换操作包括以下内容:
在原先的主群集 cluster-paris 上使应用程序服务脱机。
有关哪一个群集是 cluster-paris 的提示信息,请参见图 2–1。
颠倒数据复制的角色,然后从新的主群集 cluster-newyork 到原先的主群集 cluster-paris 继续进行数据复制。
使应用程序服务在新的主群集 cluster-newyork 上进入联机状态。
要进行切换操作,主群集和辅助群集之间的数据复制必须处于活动状态。此外,两个群集上的数据卷也必须处于已同步的状态。
将保护组从主群集切换到辅助群集前,请确保满足以下条件:
在两个群集上均已启动和运行 Sun Cluster Geographic Edition 软件。
辅助群集是伙伴关系的成员。
两个群集伙伴均可访问。
保护组的整体状态为 OK。
登录至一个群集节点。
要完成此过程,必须为您指定 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见Sun Cluster Geographic Edition 软件和 RBAC。
执行切换操作。
在切换操作期间启动和停止属于该保护组的应用程序资源组。
# geopg switchover [-f] -m new-primary-cluster protection-group-name |
在不经您确认的情况下强制命令执行该操作
指定将作为保护组主群集的群集的名称
指定保护组的名称
以下示例说明如何执行到辅助群集的切换操作:
# geopg switchover -f -m cluster-newyork avspg |
执行 geopg switchover 命令时,该软件将确认与设备组相关联的卷集是否处于 replicating 状态。然后,软件在最初的主群集上执行以下操作:
删除保护组中所有应用程序资源组和内部资源组(如轻量资源组)之间的关联和资源依赖性
使应用程序资源组脱机,并使它们处于 unmanaged 状态
等待写入操作完成
卸载与保护组中的设备组相对应的主卷
通过使所有的卷集进入记录模式停止数据复制
颠倒所有卷集的角色
在最初的辅助群集上,该命令进行以下操作:
使所有的卷集进入记录模式
颠倒所有卷集的角色
在已启用自动同步特性的情况下通过更新同步来启动数据复制
运行 RoleChange_ActionCmd 属性中定义的脚本
使所有的应用程序资源组进入联机状态,并在应用程序资源组和内部资源组(如轻量资源组)之间添加关联
如果命令执行成功,则辅助群集 cluster-newyork 将成为保护组的新的主群集。而最初的主群集 cluster-paris 将成为新的辅助群集。与保护组的设备组相关联的卷集将根据本地群集上保护组的角色颠倒其角色。应用程序资源组在新的主群集上处于联机状态。从新的主群集到新的辅助群集的数据复制开始进行。
如果以前的任何操作失败,则此命令均会返回错误。执行 geoadm status 命令查看每个组件的状态。例如,根据故障的原因,保护组的 Configuration 状态可能会被设置为 Error。保护组可以处于已激活或已取消激活的状态。
如果保护组的 Configuration 状态被设置为 Error,请使用如何验证 Sun StorEdge Availability Suite 3.2.1 保护组中介绍的过程重新验证该保护组。
如果在每个伙伴群集上保护组的配置不相同,则您需要使用如何重新同步 Sun StorEdge Availability Suite 3.2.1 保护组中介绍的过程对配置进行重新同步。
在辅助群集上需要使应用程序进入联机状态时,您可以执行接管操作(而无论在主卷和辅助卷之间数据是否完全一致)。启动接管操作后将执行以下步骤:
如果可以访问以前的主群集 cluster-paris,则将取消激活保护组。
有关哪一个群集是 cluster-paris 的提示信息,请参见图 2–1。
原先的主群集 cluster-paris 的数据卷将由新主群集 cluster-newyork 接管。
此数据可以与最初的主卷不一致。从新的主群集 cluster-newyork 到原先的主群集 cluster-paris 的数据复制将停止。
在不进行数据复制的情况下将激活保护组。
有关在执行接管操作前后主群集和辅助群集的各种可能情况的详细信息,请参见附录 C,接管执行后的情况。
以下过程介绍了强制辅助群集执行接管操作时所必须执行的步骤以及如何恢复数据。
在强制辅助群集承担主群集的活动前,请确保满足以下条件:
已在该群集上启动和运行 Sun Cluster Geographic Edition 软件。
该群集是伙伴关系的成员。
在辅助群集上保护组的 Configuration 状态为 OK。
登录到一个辅助群集中的节点。
要完成此过程,必须为您指定 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见Sun Cluster Geographic Edition 软件和 RBAC。
启动接管操作。
# geopg takeover [-f] protection-group-name |
在不经您确认的情况下强制该命令执行操作
指定保护组的名称
以下示例说明如何强制辅助群集 cluster-newyork 对 avspg 执行接管操作。
phys-newyork-1 是辅助群集上的第一个节点。有关哪一个节点是 phys-newyork-1 的提示信息,请参见Sun Cluster Geographic Edition 群集配置示例。
phys-newyork-1# geopg takeover -f avspg |
当执行 geopg takeover 命令时,该软件将确认辅助群集上的卷集是处于 Replicating 状态还是 Logging 状态。
如果可以访问最初的主群集 cluster-paris,则软件将执行以下操作:
删除保护组中的所有应用程序资源组与内部资源组之间的关联和资源依赖性(如果该保护组处于活动状态)
使应用程序资源组脱机,并使它们处于 unmanaged 状态
卸载与保护组中的设备组相对应的主卷
通过使所有的卷集进入记录模式停止数据复制
颠倒所有卷集的角色
在最初的辅助群集 cluster-newyork 上,软件将执行以下操作:
使所有的卷集进入记录模式
颠倒所有卷集的角色
运行 RoleChange_ActionCmd 属性中指定的脚本
如果在执行接管操作之前在最初的辅助群集上保护组处于活动状态,则将使所有的应用程序资源组进入联机状态,并在应用程序资源组和内部资源组之间添加关联和资源依赖性
如果命令执行成功,则辅助群集 cluster-newyork 将成为保护组新的主群集。与保护组中的设备组相关联的卷集将根据本地群集上保护组的角色颠倒其角色。如果在执行接管操作之前在最初的辅助群集上保护组处于活动状态,则在新的主群集上应用程序资源组将进入联机状态。如果可以访问最初的主群集,则它将成为该保护组的新辅助群集。对于所有与保护组的设备组相关联的卷集,复制将停止。
成功地执行接管操作后,数据复制将停止。如果您希望继续暂停复制,请在使用 geopg start 命令时指定 -n 选项。此选项可防止启动从新的主群集到新的辅助群集的数据复制。
如果以前的任何操作失败,则此命令均会返回错误。执行 geoadm status 命令查看每个组件的状态。例如,根据故障的原因,保护组的 Configuration 状态可能会被设置为 Error。保护组可以处于已激活或已取消激活的状态。
如果保护组的 Configuration 状态被设置为 Error,请使用如何验证 Sun StorEdge Availability Suite 3.2.1 保护组中介绍的过程重新验证该保护组。
如果在每个伙伴群集上保护组的配置不相同,则您需要使用如何重新同步 Sun StorEdge Availability Suite 3.2.1 保护组中介绍的过程对配置进行重新同步。
成功地执行接管操作后,辅助群集 (cluster-newyork) 将成为保护组的主群集,并且辅助群集上的服务将处于联机状态。恢复最初的主群集后,通过使用所谓的故障恢复进程,在最初的主群集上可以使服务再次进入联机状态。
Sun Cluster Geographic Edition 软件支持以下两种故障恢复:
故障恢复-切换。在“故障恢复-切换”期间,主群集的数据与辅助群集 cluster-newyork 上的数据进行重新同步后,在最初的主群集 cluster-paris 上应用程序将再次进入联机状态。
有关哪些群集是 cluster-paris 和 cluster-newyork 的提示信息,请参见图 2–1。
故障恢复-接管。在“故障恢复-接管”期间,在最初的主群集上应用程序再次进入联机状态,并在主群集上使用当前的数据。在辅助群集上进行的任何更新将被放弃。
在此群集的数据已与当前主群集 cluster-newyork 上的数据重新同步后,请使用此过程在最初的主群集 cluster-paris 上重新启动应用程序。
在执行“故障转移-切换”前,在 cluster-newyork 上已进行了接管操作。这些群集现在具有以下角色:
cluster-newyork 上的保护组具有 primary 角色。
cluster-paris 上的保护组具有 primary 角色或 secondary 角色,这取决于在执行接管操作期间是否可以访问该保护组。
将最初的主群集 cluster-paris 与当前的主群集 cluster-newyork 进行重新同步。
cluster-paris 放弃自己的配置,从本地复制 cluster-newyork 配置。重新同步伙伴关系和保护组配置。
在 cluster-paris 上,取消激活本地群集上的保护组。
# geopg stop -e Local protection-group-name |
指定命令的范围
指定 local 范围后,该命令将仅在本地群集上有效。
指定保护组的名称
如果已取消激活该保护组,则保护组中资源组的状态可能为 Error。状态为 Error,原因是应用程序资源组处于被管理和脱机状态。
取消激活保护组将导致应用程序资源组不再受到管理,并且清除 Error 状态。
在 cluster-paris 上重新同步伙伴关系。
# geops update partnership-name |
指定伙伴关系的名称。
即使您在为多个保护组执行“故障恢复-切换”操作,您也仅需要执行一次此步骤。
有关同步伙伴关系的更多信息,请参见重新同步伙伴关系。
在 cluster-paris 上重新同步每个保护组。
由于在 cluster-newyork 上保护组的角色为 primary,因此此步骤可确保在 cluster-paris 上保护组的角色为 secondary。
# geopg update protection-group-name |
指定保护组的名称
有关同步保护组的更多信息,请参见重新同步 Sun StorEdge Availability Suite 3.2.1 保护组。
在 cluster-paris 上,验证每个保护组的群集配置。
# geopg validate protection-group-name |
指定标识单个保护组的唯一名称
在 cluster-paris 上激活每个保护组。
在激活保护组时,它的应用程序资源组也会进入联机状态。
# geopg start -e Global protection-group-name |
指定命令的范围
通过指定 Global 范围,该命令在部署了保护组的两个群集上生效。
指定保护组的名称
进行“故障转移-切换”操作时,请勿使用 -n 选项,原因是需要从当前的主群集 cluster-newyork 到当前的辅助群集 cluster-paris 对数据进行同步。
由于保护组具有辅助角色,因此将从当前主群集 cluster-newyork 到当前辅助群集 cluster-paris 对数据进行同步。
有关 geopg start 命令的更多信息,请参见如何激活 Sun StorEdge Availability Suite 3.2.1 保护组。
确认数据已完全同步。
首先,确认在 cluster-newyork 上保护组的状态为正常。
phys-newyork-1# geoadm status |
参阅输出的 Protection Group 部分。
下一步,确认复制资源组 AVS-protection-group-name-rep-rg 中的所有资源均报告 OK 状态。
phys-newyork-1# scstat -g |
在任一个群集上,为每个保护组从 cluster-newyork 到 cluster-paris 执行切换操作。
# geopg switchover [-f] -m cluster-paris protection-group-name |
有关更多信息,请参见如何将 Sun StorEdge Availability Suite 3.2.1 保护组从主群集切换到辅助群集。
cluster-paris 承担其作为保护组主群集的最初角色。
在每个群集上使用 geoadm status 命令验证复制资源和应用程序资源组与资源是否处于联机状态,以确保切换操作成功执行。
另外,必须验证目前保护组是否在 cluster-paris 上为“主”、在 cluster-newyork 上为“辅助”,而且两个群集的“数据复制”和“资源组”状态是否均显示为 OK。
# geoadm status |
使用此过程在最初的主群集 cluster-paris 上重新启动应用程序,然后在最初的主群集上使用当前数据。在辅助群集 cluster-newyork 作为主群集时,其上的所有更新都将被放弃。
此外,您还可以在最初的主群集 cluster-paris 上继续使用数据。在 cluster-newyork 上执行接管操作后,肯定没有从新的主群集 cluster-newyork 向最初的主群集 cluster-paris 复制数据。
执行“故障转移-接管”操作前,群集具有以下角色:
cluster-newyork 上的保护组具有 primary 角色。
cluster-paris 上的保护组具有 primary 角色或 secondary 角色,这取决于在执行接管操作期间是否可以访问该保护组。
将最初的主群集 cluster-paris 与最初的辅助群集 cluster-newyork 进行重新同步。
cluster-paris 将放弃自己的配置,并在本地复制 cluster-newyork 的配置。
在 cluster-paris 上重新同步伙伴关系。
# geops update partnership-name |
指定伙伴关系的名称。
即使您在为多个保护组执行“故障恢复-接管”操作,您也仅需要执行一次此步骤。
有关同步伙伴关系的更多信息,请参见重新同步伙伴关系。
在 cluster-paris 上重新同步每个保护组。
如果已激活保护组,请使用 geopg stop 命令取消激活该保护组。有关取消激活保护组的更多信息,请参见如何取消激活 Sun StorEdge Availability Suite 3.2.1 保护组。
# geopg update protection-group-name |
指定保护组的名称
有关同步保护组的更多信息,请参见如何重新同步 Sun StorEdge Availability Suite 3.2.1 保护组。
在 cluster-paris 上,验证每个保护组的群集配置。
# geopg validate protection-group-name |
指定标识单个保护组的唯一名称
在 cluster-paris 上,在没有进行数据复制的情况下激活辅助角色中的每个保护组。
由于 cluster-paris 上的保护组具有 secondary 角色,因此 geopg start 命令不会重新启动 cluster-paris 上的应用程序。
# geopg start -e local -n protection-group-name |
指定命令的范围
指定 local 范围后,该命令将仅在本地群集上有效。
防止在启动保护组时启动数据复制
您必须使用 -n 选项。
指定保护组的名称
有关更多信息,请参见如何激活 Sun StorEdge Availability Suite 3.2.1 保护组。
系统不会启动从 cluster-newyork 到 cluster-paris 的复制,因为在 cluster-paris 上已指定 -n 选项。
在 cluster-paris 上,为每个保护组执行接管操作。
# geopg takeover [-f] protection-group-name |
在不经您确认的情况下强制该命令执行操作
指定保护组的名称
有关 geopg takeover 命令的更多信息,请参见如何强制辅助群集对 Sun StorEdge Availability Suite 3.2.1 服务立即执行接管操作。
cluster-paris 上的保护组现在具有 primary 角色,而 cluster-newyork 上的保护组则具有 secondary 角色。
在 cluster-paris 上激活每个保护组。
由于 cluster-newyork 上的保护组具有 secondary 角色,因此 geopg start 命令不会重新启动 cluster-newyork 上的应用程序。
# geopg start -e local [-n] protection-group-name |
指定命令的范围
指定 local 范围后,该命令将仅在本地群集上有效。
防止在启动保护组时启动数据复制
如果省略此选项,则在启动保护组时会启动数据复制子系统。
指定保护组的名称
有关 geopg start 命令的更多信息,请参见如何激活 Sun StorEdge Availability Suite 3.2.1 保护组。
启动数据复制。
要启动数据复制,请激活主群集 cluster-paris 上的保护组。
# geopg start -e local protection-group-name |
有关 geopg start 命令的更多信息,请参见如何激活 Sun StorEdge Availability Suite 3.2.1 保护组。
在数据复制级别发生错误时,该错误反映在相关设备组的复制资源组中资源的状态中。
例如,假设一个由 Sun StorEdge Availability Suite 3.2.1 控制的名为 avsdg 的设备组变为 Volume failed 状态 VF。此状态反映在以下的资源状态中:
Resource Status = "FAULTED" Resource status message = "FAULTED : Volume failed" |
由于探测仍在正常运行,Resource State 保持为 Online。
由于资源的状态发生了更改,因此保护组的状态也会发生更改。在这种情况下,本地 Data Replication 状态、本地群集上的 Protection Group 状态以及整体的 Protection Group 状态将变成 Error。
要从错误状态中恢复,请执行以下过程中的相关步骤。
使用 Sun StorEdge Availability Suite 3.2.1 文档中的过程来确定导致 FAULTED 状态的原因。此状态显示为 VF。
使用 Sun StorEdge Availability Suite 3.2.1 过程从故障状态中恢复。
如果恢复过程更改了设备组状态,则资源将自动检测此状态并将其作为新的保护组状态报告。
重新验证保护组的配置
phys-paris-1# geopg validate protection-group-name |
指定 Sun StorEdge Availability Suite 3.2.1 保护组的名称
查看保护组配置的状态。
phys-paris-1# geopg list protection-group-name |
指定 Sun StorEdge Availability Suite 3.2.1 保护组的名称