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

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

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

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

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

检测主群集故障

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

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

检测辅助群集故障

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

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

通过切换操作迁移使用 Sun StorageTek Availability Suite 的服务

当您希望将服务依次迁移到伙伴群集上时,请对 Sun StorageTek Availability Suite 保护组执行切换操作。切换操作包括以下内容:

本节提供了以下信息:

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

开始之前

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

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

  1. 登录到一个群集节点。

    要完成此过程,必须为您指定 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见《Sun Cluster Geographic Edition System Administration Guide》中的“Sun Cluster Geographic Edition Software and 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。保护组可以处于已激活或已取消激活的状态。

如果保护组的 Configuratio 状态被设置为 Error,请使用如何验证 Sun StorageTek Availability Suite 保护组所介绍的过程重新验证保护组。

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

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

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

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

有关接管前后主群集和辅助群集可能出现的情况的详细信息,请参见《Sun Cluster Geographic Edition System Administration Guide》中的附录 C “Takeover Postconditions”

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

Procedure如何强制辅助群集立即接管 Sun StorageTek Availability Suite 服务

开始之前

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

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

    要完成此过程,必须为您指定 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见《Sun Cluster Geographic Edition System Administration Guide》中的“Sun Cluster Geographic Edition Software and RBAC”

  2. 启动接管操作。


    # geopg takeover [-f] protectiongroupname
    
    -f

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

    protectiongroupname

    指定保护组的名称


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

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

phys-newyork-1 是辅助群集上的第一个节点。有关哪一个节点是 phys-newyork-1 的提示信息,请参见《Sun Cluster Geographic Edition System Administration Guide》中的“Example Sun Cluster Geographic Edition Cluster Configuration”


phys-newyork-1# geopg takeover -f avspg

接下来的操作

有关接管后主群集和辅助群集的状态的信息,请参见《Sun Cluster Geographic Edition System Administration Guide》中的附录 C “Takeover Postconditions”

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

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

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

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

如果命令成功完成,则辅助群集 cluster-newyork 将成为保护组的新主群集。与保护组中的设备组相关联的卷集将根据本地群集上保护组的角色颠倒其角色。如果在执行接管操作之前在原来的辅助群集上保护组处于活动状态,则在新的主群集上应用程序资源组将进入联机状态。如果可以访问原来的主群集,则它将成为该保护组的新辅助群集。对于与保护组中的设备组相关联的所有卷集,复制将停止。


注意 – 注意 –

成功地执行接管操作后,数据复制将停止。如果您希望继续暂停复制,请在使用 geopg start 命令时指定 -n 选项。此选项可防止启动从新的主群集到新的辅助群集的数据复制。


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

如果保护组的 Configuratio 状态被设置为 Error,请使用如何验证 Sun StorageTek Availability Suite 保护组所介绍的过程重新验证保护组。

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

执行接管操作后恢复 Sun StorageTek Availability Suite 数据

成功执行接管操作后,辅助群集 cluster-newyork 将成为保护组的主群集,并且服务将在辅助群集上处于联机状态。恢复原来的主群集后,可使用故障恢复过程重新使服务在原来的主群集上联机。

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

当原来的主群集重新启动后,如果要使新的主群集 cluster-newyork 保持为主群集并使原来的主群集 cluster-paris 作为辅助群集,您可以重新同步和重新验证保护组配置,而无需执行切换或接管操作。

本节提供了以下信息:

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

      指定保护组的名称。

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

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

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


      # geops update partnershipname
      
      partnershipname

      指定伙伴关系的名称。


      注 –

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


      有关如何同步伙伴关系的更多信息,请参见《Sun Cluster Geographic Edition System Administration Guide》中的“Resynchronizing a Partnership”

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

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


      # geopg update protectiongroupname 
      
      protectiongroupname

      指定保护组的名称

      有关对保护组进行同步的更多信息,请参见重新同步 Sun StorageTek Availability Suite 保护组

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


    # geopg validate protectiongroupname 
    
    protectiongroupname

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

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

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

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


    # geopg start -e Global protectiongroupname
    
    -e Global

    指定命令的范围。

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

    protectiongroupname

    指定保护组的名称。


    注意 – 注意 –

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

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

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


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

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


    phys-newyork-1# geoadm status
    

    参阅输出的 Protection Group 部分。

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


    phys-newyork-1# clresource status -v AVSdevicegroupname-rep-rs
    

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

当使用当前主群集 cluster-newyork 上的数据重新同步原主群集 cluster-paris 上的数据后,可执行本过程在原主群集上重新启动应用程序。

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

开始之前

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

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

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

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


      phys-paris-1# geops update partnershipname
      
      partnershipname

      指定伙伴关系的名称。


      注 –

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


      有关如何同步伙伴关系的更多信息,请参见《Sun Cluster Geographic Edition System Administration Guide》中的“Resynchronizing a Partnership”

    2. 确定原始主群集 cluster-paris 上的保护组是否处于活动状态。


      phys-paris-1# geoadm status
      
    3. 如果原始主群集上的保护组处于活动状态,则将其停止。


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

      指定命令的范围。

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

      protectiongroupname

      指定保护组的名称。

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

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

    4. 检验保护组是否已停止。


      phys-paris-1# geoadm status
      
    5. cluster-paris 上重新同步每个保护组。

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


      phys-paris-1# geopg update protectiongroupname 
      
      protectiongroupname

      指定保护组的名称

      有关对保护组进行同步的更多信息,请参见重新同步 Sun StorageTek Availability Suite 保护组

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

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


    phys-paris-1# geopg validate protectiongroupname 
    
    protectiongroupname

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

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

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

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


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

    指定命令的范围。

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

    protectiongroupname

    指定保护组的名称。


    注意 – 注意 –

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

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

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


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

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


    phys-newyork-1# geoadm status
    

    参阅输出的 Protection Group 部分。

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


    phys-newyork-1# clresource status -v AVSdevicegroupname-rep-rs
    
  5. 确保两个伙伴群集上的保护组处于激活状态。


    # geoadm status
    
  6. 在任一个群集上,为每个保护组从 cluster-newyorkcluster-paris 执行切换操作。


    # geopg switchover [-f] -m clusterparis protectiongroupname
    

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

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

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

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


    # geoadm status
    

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


    # clresourcegroup status -v resourcegroupname
    # clresource status -v AVSdevicegroupname-rep-rs
    

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

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

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

使用此过程在最初的主群集 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 System Administration Guide》中的“Resynchronizing a Partnership”

    2. 确定原始主群集 cluster-paris 上的保护组是否处于活动状态。


      phys-paris-1# geoadm status
      
    3. 如果原始主群集上的保护组处于活动状态,则将其停止。


      phys-paris-1# geopg stop -e local protectiongroupname
      
    4. 检验保护组是否已停止。


      phys-paris-1# geoadm status
      
    5. cluster-paris 上重新同步每个保护组。

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


      phys-paris-1# geopg update protectiongroupname
      
      protectiongroupname

      指定保护组的名称

      有关对保护组进行同步的更多信息,请参见如何重新同步 Sun StorageTek Availability Suite 保护组

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

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


    phys-paris-1# geopg validate protectiongroupname 
    
    protectiongroupname

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

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

  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 StorageTek Availability Suite 保护组

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

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


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

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

    protectiongroupname

    指定保护组的名称

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

    此时 cluster-paris 上保护组的角色为 primarycluster-newyork 上保护组的角色为 secondary

  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 StorageTek Availability Suite 保护组

  6. 启动数据复制。

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


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

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

  7. 针对每个群集,检验保护组的设置是否正确,应用程序资源组的状态和数据复制的状态是否均为正常。

    1. 检验保护组此时在 cluster-paris 上是否为主角色,在 cluster-newyork 上是否为辅助角色。请从每个群集中的某一节点上运行以下命令:


      # geoadm status
      
    2. 查看每个 Sun StorageTek Availability Suite 保护组的应用程序资源组和数据复制的运行时状态。请从每个群集中的某一节点上运行以下命令:


      # clresourcegroup status -v resourcegroupname
      # clresource status -v AVSdevicegroupname-rep-rs
      

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

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

从 Sun StorageTek Availability Suite 数据复制错误中恢复

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

例如,假设一个由 Sun StorageTek Availability Suite 控制的名为 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 StorageTek Availability Suite 文档中介绍的过程来确定导致 FAULTED 状态的原因。此状态显示为 VF

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

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

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


    phys-paris-1# geopg validate protectiongroupname 
    
    protectiongroupname

    指定 Sun StorageTek Availability Suite 保护组的名称

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


    phys-paris-1# geopg list protectiongroupname 
    
    protectiongroupname

    指定 Sun StorageTek Availability Suite 保护组的名称