Sun Cluster Geographic Edition 系统管理指南

第 8 章 迁移使用 Sun StorEdge Availability Suite 3.2.1 数据复制的服务

本章介绍了维护中常用的服务迁移信息或群集故障所产生的服务迁移信息。本章介绍了有关以下内容的信息:

检测使用 Sun StorEdge Availability Suite 3.2.1 数据复制的系统上的群集故障

本节介绍了当主群集或辅助群集上检测到故障时发生的内部进程。

检测主群集故障

特定保护组的主群集出现故障时,伙伴关系中的辅助群集将检测到故障。出现故障的群集可能是多个伙伴关系的成员,这将导致进行多个故障检测。

保护组的整体状态更改为 Unknown 状态时,将会发生以下操作:

检测辅助群集故障

特定保护组的辅助群集出现故障时,同一伙伴关系中的另一个群集将检测到故障。出现故障的群集可能是多个伙伴关系的成员,这将导致进行多个故障检测。

故障检测过程中,将会发生以下操作:

使用切换操作来迁移使用 Sun StorEdge Availability Suite 3.2.1 的服务

如果希望顺序将服务迁移到伙伴群集,可以执行 Sun StorEdge Availability Suite 3.2.1 保护组的切换操作。切换操作包括以下内容:

Procedure如何将 Sun StorEdge Availability Suite 3.2.1 保护组从主群集切换到辅助群集

开始之前

要进行切换操作,主群集和辅助群集之间的数据复制必须处于活动状态。此外,两个群集上的数据卷也必须处于已同步的状态。

将保护组从主群集切换到辅助群集前,请确保满足以下条件:

步骤
  1. 登录至一个群集节点。

    要完成此过程,必须为您指定 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见Sun Cluster Geographic Edition 软件和 RBAC

  2. 执行切换操作。

    在切换操作期间启动和停止属于该保护组的应用程序资源组。


    # geopg  switchover [-f] -m new-primary-cluster protection-group-name
    
    -f

    在不经您确认的情况下强制命令执行该操作

    -m new-primary-cluster

    指定将作为保护组主群集的群集的名称

    protection-group-name

    指定保护组的名称


示例 8–1 强制从主群集切换到辅助群集

以下示例说明如何执行到辅助群集的切换操作:


# geopg switchover -f -m cluster-newyork avspg

Sun Cluster Geographic Edition 软件在切换操作期间执行的操作

执行 geopg switchover 命令时,该软件将确认与设备组相关联的卷集是否处于 replicating 状态。然后,软件在最初的主群集上执行以下操作:

在最初的辅助群集上,该命令进行以下操作:

如果命令执行成功,则辅助群集 cluster-newyork 将成为保护组的新的主群集。而最初的主群集 cluster-paris 将成为新的辅助群集。与保护组的设备组相关联的卷集将根据本地群集上保护组的角色颠倒其角色。应用程序资源组在新的主群集上处于联机状态。从新的主群集到新的辅助群集的数据复制开始进行。

如果以前的任何操作失败,则此命令均会返回错误。执行 geoadm status 命令查看每个组件的状态。例如,根据故障的原因,保护组的 Configuration 状态可能会被设置为 Error。保护组可以处于已激活或已取消激活的状态。

如果保护组的 Configuration 状态被设置为 Error,请使用如何验证 Sun StorEdge Availability Suite 3.2.1 保护组中介绍的过程重新验证该保护组。

如果在每个伙伴群集上保护组的配置不相同,则您需要使用如何重新同步 Sun StorEdge Availability Suite 3.2.1 保护组中介绍的过程对配置进行重新同步。

在使用 Sun StorEdge Availability Suite 3.2.1 的系统上强制执行接管操作

在辅助群集上需要使应用程序进入联机状态时,您可以执行接管操作(而无论在主卷和辅助卷之间数据是否完全一致)。启动接管操作后将执行以下步骤:

有关在执行接管操作前后主群集和辅助群集的各种可能情况的详细信息,请参见附录 C,接管执行后的情况

以下过程介绍了强制辅助群集执行接管操作时所必须执行的步骤以及如何恢复数据。

Procedure如何强制辅助群集对 Sun StorEdge Availability Suite 3.2.1 服务立即执行接管操作

开始之前

在强制辅助群集承担主群集的活动前,请确保满足以下条件:

步骤
  1. 登录到一个辅助群集中的节点。

    要完成此过程,必须为您指定 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见Sun Cluster Geographic Edition 软件和 RBAC

  2. 启动接管操作。


    # geopg takeover  [-f] protection-group-name
    
    -f

    在不经您确认的情况下强制该命令执行操作

    protection-group-name

    指定保护组的名称


示例 8–2 强制辅助群集执行接管操作

以下示例说明如何强制辅助群集 cluster-newyorkavspg 执行接管操作。

phys-newyork-1 是辅助群集上的第一个节点。有关哪一个节点是 phys-newyork-1 的提示信息,请参见Sun Cluster Geographic Edition 群集配置示例


phys-newyork-1# geopg takeover -f avspg

执行接管操作期间由 Sun Cluster Geographic Edition 软件执行的操作

当执行 geopg takeover 命令时,该软件将确认辅助群集上的卷集是处于 Replicating 状态还是 Logging 状态。

如果可以访问最初的主群集 cluster-paris,则软件将执行以下操作:

在最初的辅助群集 cluster-newyork 上,软件将执行以下操作:

如果命令执行成功,则辅助群集 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 保护组中介绍的过程对配置进行重新同步。

在执行接管操作后恢复 Sun StorEdge Availability Suite 3.2.1 数据

成功地执行接管操作后,辅助群集 (cluster-newyork) 将成为保护组的主群集,并且辅助群集上的服务将处于联机状态。恢复最初的主群集后,通过使用所谓的故障恢复进程,在最初的主群集上可以使服务再次进入联机状态。

Sun Cluster Geographic Edition 软件支持以下两种故障恢复:

Procedure如何在使用 Sun StorEdge Availability Suite 3.2.1 复制的系统上执行“故障恢复-切换”操作

在此群集的数据已与当前主群集 cluster-newyork 上的数据重新同步后,请使用此过程在最初的主群集 cluster-paris 上重新启动应用程序。

开始之前

在执行“故障转移-切换”前,在 cluster-newyork 上已进行了接管操作。这些群集现在具有以下角色:

步骤
  1. 将最初的主群集 cluster-paris 与当前的主群集 cluster-newyork 进行重新同步。

    cluster-paris 放弃自己的配置,从本地复制 cluster-newyork 配置。重新同步伙伴关系和保护组配置。

    1. cluster-paris 上,取消激活本地群集上的保护组。


      # geopg stop -e Local protection-group-name
      
      -e Local

      指定命令的范围

      指定 local 范围后,该命令将仅在本地群集上有效。

      protection-group-name

      指定保护组的名称

      如果已取消激活该保护组,则保护组中资源组的状态可能为 Error。状态为 Error,原因是应用程序资源组处于被管理和脱机状态。

      取消激活保护组将导致应用程序资源组不再受到管理,并且清除 Error 状态。

    2. cluster-paris 上重新同步伙伴关系。


      # geops update partnership-name
      
      partnership-name

      指定伙伴关系的名称。


      注 –

      即使您在为多个保护组执行“故障恢复-切换”操作,您也仅需要执行一次此步骤。


      有关同步伙伴关系的更多信息,请参见重新同步伙伴关系

    3. cluster-paris 上重新同步每个保护组。

      由于在 cluster-newyork 上保护组的角色为 primary,因此此步骤可确保在 cluster-paris 上保护组的角色为 secondary


      # geopg update protection-group-name 
      
      protection-group-name

      指定保护组的名称

      有关同步保护组的更多信息,请参见重新同步 Sun StorEdge Availability Suite 3.2.1 保护组

  2. cluster-paris 上,验证每个保护组的群集配置。


    # geopg validate protection-group-name
    
    protection-group-name

    指定标识单个保护组的唯一名称

    有关更多信息,请参见如何验证 Sun StorEdge Availability Suite 3.2.1 保护组

  3. cluster-paris 上激活每个保护组。

    在激活保护组时,它的应用程序资源组也会进入联机状态。


    # geopg start -e Global protection-group-name
    
    -e Global

    指定命令的范围

    通过指定 Global 范围,该命令在部署了保护组的两个群集上生效。

    protection-group-name

    指定保护组的名称


    注 –

    进行“故障转移-切换”操作时,请勿使用 -n 选项,原因是需要从当前的主群集 cluster-newyork 到当前的辅助群集 cluster-paris 对数据进行同步。


    由于保护组具有辅助角色,因此将从当前主群集 cluster-newyork 到当前辅助群集 cluster-paris 对数据进行同步。

    有关 geopg start 命令的更多信息,请参见如何激活 Sun StorEdge Availability Suite 3.2.1 保护组

  4. 确认数据已完全同步。

    首先,确认在 cluster-newyork 上保护组的状态为正常


    phys-newyork-1# geoadm status

    参阅输出的 Protection Group 部分。

    下一步,确认复制资源组 AVS-protection-group-name-rep-rg 中的所有资源均报告 OK 状态。


    phys-newyork-1# scstat -g
  5. 在任一个群集上,为每个保护组从 cluster-newyorkcluster-paris 执行切换操作。


    # geopg  switchover [-f] -m cluster-paris protection-group-name
    

    有关更多信息,请参见如何将 Sun StorEdge Availability Suite 3.2.1 保护组从主群集切换到辅助群集

    cluster-paris 承担其作为保护组主群集的最初角色。

  6. 在每个群集上使用 geoadm status 命令验证复制资源和应用程序资源组与资源是否处于联机状态,以确保切换操作成功执行。

    另外,必须验证目前保护组是否在 cluster-paris 上为“主”、在 cluster-newyork 上为“辅助”,而且两个群集的“数据复制”和“资源组”状态是否均显示为 OK


    # geoadm status

Procedure如何在使用 Sun StorEdge Availability Suite 3.2.1 复制的系统上执行“故障恢复-接管”操作

使用此过程在最初的主群集 cluster-paris 上重新启动应用程序,然后在最初的主群集上使用当前数据。在辅助群集 cluster-newyork 作为主群集时,其上的所有更新都将被放弃。


注 –

此外,您还可以在最初的主群集 cluster-paris 上继续使用数据。在 cluster-newyork 上执行接管操作后,肯定没有从新的主群集 cluster-newyork 向最初的主群集 cluster-paris 复制数据。


开始之前

执行“故障转移-接管”操作前,群集具有以下角色:

步骤
  1. 将最初的主群集 cluster-paris 与最初的辅助群集 cluster-newyork 进行重新同步。

    cluster-paris 将放弃自己的配置,并在本地复制 cluster-newyork 的配置。

    1. cluster-paris 上重新同步伙伴关系。


      # geops update partnership-name
      
      partnership-name

      指定伙伴关系的名称。


      注 –

      即使您在为多个保护组执行“故障恢复-接管”操作,您也仅需要执行一次此步骤。


      有关同步伙伴关系的更多信息,请参见重新同步伙伴关系

    2. cluster-paris 上重新同步每个保护组。

      如果已激活保护组,请使用 geopg stop 命令取消激活该保护组。有关取消激活保护组的更多信息,请参见如何取消激活 Sun StorEdge Availability Suite 3.2.1 保护组


      # geopg update protection-group-name
      
      protection-group-name

      指定保护组的名称

      有关同步保护组的更多信息,请参见如何重新同步 Sun StorEdge Availability Suite 3.2.1 保护组

  2. cluster-paris 上,验证每个保护组的群集配置。


    # geopg validate protection-group-name
    
    protection-group-name

    指定标识单个保护组的唯一名称

    有关更多信息,请参见如何验证 Sun StorEdge Availability Suite 3.2.1 保护组

  3. cluster-paris 上,在没有进行数据复制的情况下激活辅助角色中的每个保护组。

    由于 cluster-paris 上的保护组具有 secondary 角色,因此 geopg start 命令不会重新启动 cluster-paris 上的应用程序。


    # geopg start -e local -n protection-group-name
    
    -e local

    指定命令的范围

    指定 local 范围后,该命令将仅在本地群集上有效。

    -n

    防止在启动保护组时启动数据复制


    注 –

    您必须使用 -n 选项。


    protection-group-name

    指定保护组的名称

    有关更多信息,请参见如何激活 Sun StorEdge Availability Suite 3.2.1 保护组

    系统不会启动从 cluster-newyorkcluster-paris 的复制,因为在 cluster-paris 上已指定 -n 选项。

  4. cluster-paris 上,为每个保护组执行接管操作。


    # geopg takeover  [-f] protection-group-name
    
    -f

    在不经您确认的情况下强制该命令执行操作

    protection-group-name

    指定保护组的名称

    有关 geopg takeover 命令的更多信息,请参见如何强制辅助群集对 Sun StorEdge Availability Suite 3.2.1 服务立即执行接管操作

    cluster-paris 上的保护组现在具有 primary 角色,而 cluster-newyork 上的保护组则具有 secondary 角色。

  5. cluster-paris 上激活每个保护组。

    由于 cluster-newyork 上的保护组具有 secondary 角色,因此 geopg start 命令不会重新启动 cluster-newyork 上的应用程序。


    # geopg start -e local [-n] protection-group-name
    
    -e local

    指定命令的范围

    指定 local 范围后,该命令将仅在本地群集上有效。

    -n

    防止在启动保护组时启动数据复制

    如果省略此选项,则在启动保护组时会启动数据复制子系统。

    protection-group-name

    指定保护组的名称

    有关 geopg start 命令的更多信息,请参见如何激活 Sun StorEdge Availability Suite 3.2.1 保护组

  6. 启动数据复制。

    要启动数据复制,请激活主群集 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 数据复制错误中恢复

在数据复制级别发生错误时,该错误反映在相关设备组的复制资源组中资源的状态中。

例如,假设一个由 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

要从错误状态中恢复,请执行以下过程中的相关步骤。

Procedure如何从数据复制错误中恢复

步骤
  1. 使用 Sun StorEdge Availability Suite 3.2.1 文档中的过程来确定导致 FAULTED 状态的原因。此状态显示为 VF

  2. 使用 Sun StorEdge Availability Suite 3.2.1 过程从故障状态中恢复。

    如果恢复过程更改了设备组状态,则资源将自动检测此状态并将其作为新的保护组状态报告。

  3. 重新验证保护组的配置


    phys-paris-1# geopg validate protection-group-name 
    
    protection-group-name

    指定 Sun StorEdge Availability Suite 3.2.1 保护组的名称

  4. 查看保护组配置的状态。


    phys-paris-1# geopg list protection-group-name 
    
    protection-group-name

    指定 Sun StorEdge Availability Suite 3.2.1 保护组的名称