Sun Cluster Geographic Edition 数据复制指南(适用于 Sun StorEdge Availability Suite)

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

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

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

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

检测主群集故障

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

当保护组的整体状态变为未知状态时,系统将会执行以下操作:

检测辅助群集故障

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

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

使用切换操作来迁移使用 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 系统管理指南》中的“Sun Cluster Geographic Edition 软件和 RBAC”

  2. 执行切换操作。

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


    # geopg  switchover [-f] -m newprimarycluster protectiongroupname 
    
    -f

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

    -m newprimarycluster

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

    protectiongroupname

    指定保护组的名称


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

以下示例执行了到辅助群集的切换操作。


# geopg switchover -f -m cluster-newyork avspg

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

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

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

如果命令成功完成,则辅助群集 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 的系统上强制执行接管操作

在辅助群集上需要使应用程序进入联机状态时,您可以执行接管操作(而无论在主卷和辅助卷之间数据是否完全一致)。本节中介绍的信息均假定保护组已经启动。

启动接管操作后将执行以下步骤:

有关主群集和辅助群集在接管操作前后可能出现哪些状况的详细信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的附录 C “接管后的情况”

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

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

开始之前

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

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

    要完成此过程,必须为您指定 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 软件和 RBAC”

  2. 启动接管操作。


    # geopg takeover  [-f] protectiongroupname
    
    -f

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

    protectiongroupname

    指定保护组的名称


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

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

phys-newyork-1 是辅助群集上的第一个节点。有关哪一个节点是 phys-newyork-1 的提示信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 群集配置示例”


phys-newyork-1# geopg takeover -f avspg

接下来的操作

有关主群集和辅助群集在接管操作完成后的状态信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的附录 C “接管后的情况”

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

当您运行 geopg takeover 命令时,该软件将确认辅助群集上的卷集是处于正在复制状态还是正在记录状态。

如果可以访问最初的主群集 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 软件支持以下两种故障恢复:

最初的主群集 cluster-paris 再次启动后,如果您希望新的主群集 cluster-newyork 继续作为主群集,最初的主群集继续作为辅助群集,则可以在不执行切换或接管操作的情况下重新同步和重新验证保护组配置。

Procedure如何重新同步和重新验证保护组的配置

可通过执行以下过程用当前主群集 cluster-newyork 上的数据重新同步和重新验证最初的主群集 cluster-paris 上的数据。

开始之前

重新同步和重新验证保护组的配置之前,cluster-newyork 上已执行了接管操作。这些群集现在具有以下角色:

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

    群集 cluster-paris 将放弃其原有的配置,并将 cluster-newyork 的配置复制到本地。重新同步伙伴关系和保护组配置。

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


      # geopg stop -e Local protectiongroupname
      
      -e Local

      指定命令的范围。

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

      protectiongroupname

      指定保护组的名称。

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

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

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


      # geops update partnershipname
      
      partnershipname

      指定伙伴关系的名称。


      注 –

      此步骤只需执行一次即可,即使是要重新同步多个保护组亦是如此。


      有关对伙伴关系进行同步的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“重新同步伙伴关系”

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

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


      # geopg update protectiongroupname 
      
      protectiongroupname

      指定保护组的名称

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

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


    # geopg validate protectiongroupname 
    
    protectiongroupname

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

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

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

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


    # geopg start -e Global protectiongroupname
    
    -e Global

    指定命令的范围。

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

    protectiongroupname

    指定保护组的名称。


    注意 – 注意 –

    由于需要将数据从当前的主群集 cluster-newyork 同步到当前的辅助群集 cluster-paris,因此请不要使用 -n 选项。

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

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


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

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


    phys-newyork-1# geoadm status

    参阅输出的 Protection Group 部分。

    下一步,确认复制资源组 AVSprotectiongroupname-rep-rg 中的所有资源是否均报告正常状态。


    phys-newyork-1# scstat -g

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

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

故障恢复过程仅适用于处在伙伴关系中的群集。对于每个伙伴关系而言,以下过程只需执行一次。

开始之前

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

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

    群集 cluster-paris 将放弃其原有的配置,并将 cluster-newyork 的配置复制到本地。重新同步伙伴关系和保护组配置。

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


      phys-paris-1# geopg stop -e Local protectiongroupname
      
      -e Local

      指定命令的范围。

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

      protectiongroupname

      指定保护组的名称。

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

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

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


      phys-paris-1# geops update partnershipname
      
      partnershipname

      指定伙伴关系的名称。


      注 –

      对于每个伙伴关系而言,即使是要对该伙伴关系中的多个保护组执行“故障恢复-切换”操作,也只需为该伙伴关系执行一次此步骤即可。


      有关对伙伴关系进行同步的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“重新同步伙伴关系”

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

      由于保护组在 cluster-newyork 上的本地角色现在为角色,因而此步骤可确保它在 cluster-paris 上成为辅助角色。


      phys-paris-1# geopg update protectiongroupname 
      
      protectiongroupname

      指定保护组的名称

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

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

    由于保护组处于错误状态时是无法启动的,因此,请确保保护组不处于错误状态。


    phys-paris-1# geopg validate protectiongroupname 
    
    protectiongroupname

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

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

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

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


    phys-paris-1# geopg start -e Global protectiongroupname
    
    -e Global

    指定命令的范围。

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

    protectiongroupname

    指定保护组的名称。


    注意 – 注意 –

    执行“故障恢复-切换”操作时,由于需要将数据从当前的主群集 cluster-newyork 同步到当前的辅助群集 cluster-paris,因此请不要使用 -n 选项。

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

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


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

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


    phys-newyork-1# geoadm status

    参阅输出的 Protection Group 部分。

    下一步,确认复制资源组 AVSprotectiongroupname-rep-rg 中的所有资源是否均报告正常状态。


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


    # geopg  switchover [-f] -m clusterparis protectiongroupname
    

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

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

  6. 确保成功执行了切换操作。

    检验保护组此时在 cluster-paris 上是否为主角色,在 cluster-newyork 上是否为辅助角色,并检验其在两个群集上的“数据复制”状态和“资源组”状态是否均为正常


    # geoadm status

    查看每个 Sun StorEdge Availability Suite 3.2.1 保护组的应用程序资源组和数据复制的运行时状态。


    # scstat -g

    请参阅针对您要检查的数据复制设备组所显示的 StatusStatus Message 字段。有关这些字段的更多信息,请参见表 2–1

    有关数据复制运行时状态的更多信息,请参见检查 Sun StorEdge Availability Suite 3.2.1 数据复制的运行时状态

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 上重新同步伙伴关系。


      phys-paris-1# geops update partnershipname
      
      partnershipname

      指定伙伴关系的名称。


      注 –

      对于每个伙伴关系而言,即使是要对该伙伴关系中的多个保护组执行“故障恢复-接管”操作,也只需为该伙伴关系执行一次此步骤即可。


      有关对伙伴关系进行同步的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“重新同步伙伴关系”

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

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


      phys-paris-1# geopg update protectiongroupname
      
      protectiongroupname

      指定保护组的名称

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

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

    因此,请确保保护组不处于错误状态。保护组处于错误状态时是无法启动的。


    phys-paris-1# geopg validate protectiongroupname 
    
    protectiongroupname

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

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

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

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


    phys-paris-1# geopg start -e local -n protectiongroupname
    
    -e local

    指定命令的范围。

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

    -n

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


    注 –

    您必须使用 -n 选项。


    protectiongroupname

    指定保护组的名称。

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

    由于在 cluster-paris 上使用了 -n 选项,因此从 cluster-newyorkcluster-paris 的复制不会启动。

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


    phys-paris-1# geopg takeover  [-f] protectiongroupname
    
    -f

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

    protectiongroupname

    指定保护组的名称

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

    保护组此时在 cluster-paris 上具有角色,在 cluster-newyork 上具有辅助角色。

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

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


    phys-newyork-1# geopg start -e local [-n] protectiongroupname
    
    -e local

    指定命令的范围。

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

    -n

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

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

    protectiongroupname

    指定保护组的名称。

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

  6. 启动数据复制。

    要启动数据复制,请激活主群集 cluster-paris 上的保护组。


    # geopg start -e local protectiongroupname
    

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

  7. 确保已成功执行接管操作。

    检验保护组当前在 cluster-paris 上是否为主角色,在 cluster-newyork 上是否为辅助角色,并检验两个群集上的“数据复制”状态和“资源组”状态是否均为 OK(正常)。


    # geoadm status

    查看每个 Sun StorEdge Availability Suite 3.2.1 保护组的应用程序资源组和数据复制的运行时状态。


    # scstat -g

    请参阅要查看的数据复制设备组所对应的“状态”和“状态消息”字段。有关这些字段的更多信息,请参见表 2–1

    有关数据复制运行时状态的更多信息,请参见检查 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 protectiongroupname 
    
    protectiongroupname

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

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


    phys-paris-1# geopg list protectiongroupname 
    
    protectiongroupname

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