自定义恢复计划执行步骤

当容灾恢复过程中需要对灾备端的容灾网络进行重置,或者需要停止灾备端某些运行的不重要业务以释放系统资源保证业务恢复时,eReplication现有的默认恢复计划执行步骤可能不足以满足实际业务恢复要求,此时您可以自定义恢复计划执行步骤以确保业务正确恢复或切换。

前提条件

已成功登录容灾管理服务器。

背景信息

管理系统针对不同的恢复类型(包括测试、清理、计划性迁移、故障恢复、重保护、备份恢复)提供了默认的恢复计划执行步骤以确保业务正确恢复或切换。但由于在实际场景中运行的业务各不相同,eReplication已有功能还不足以满足业务恢复需求,比如在容灾恢复过程中需要对灾备端的容灾网络进行重置等,或者需要停止灾备端某些运行的不重要业务以释放系统资源保证业务恢复等。因此,eReplication提供了编辑恢复计划执行步骤功能。

恢复计划执行步骤包括两种,如表1所示。

表1 恢复计划执行步骤

类别

说明

系统默认恢复计划执行步骤

针对系统默认执行步骤,系统对部分不重要的执行步骤定义了可选与可编辑属性,并提供了默认配置以满足基本恢复需求。您可以根据这些步骤实现的具体功能以及实际业务恢复需要,对默认恢复计划执行步骤进行编辑,控制其在恢复计划执行过程中是否生效。

自定义恢复计划执行步骤

自定义恢复计划执行步骤是当系统默认执行步骤不能满足恢复业务需求时,可以在系统提供的任一默认恢复计划执行步骤前后增加一个脚本步骤,灵活满足不同场景的恢复需要。但在默认执行步骤的第一步不能添加前置步骤,最后一步不能添加后置步骤。当环境发生变更时,也可以根据实际情况修改或删除。

无论哪种恢复类型的执行步骤,针对测试与清理两种相对的执行行为,当自定义了测试的执行步骤后,需要判定在清理测试环境时,是否需要运行相对的操作确保环境正确恢复。如果需要,务必确保在清理流程中增加相对的操作。例如,测试流程中增加自定义执行步骤“设置容灾路由网络”,则在清理流程中需要增加自定义步骤“清理容灾路由网络”。

操作步骤

  1. 在菜单栏上,单击“数据利用 > 数据恢复”。
  2. 选择需要编辑执行步骤的恢复计划,单击下方的“执行步骤”页签。
  3. 单击“编辑步骤”。

    系统弹出“编辑步骤”对话框。

  4. 选择需要自定义执行步骤的阶段,例如测试、清理。
  5. 单击“添加”。

    系统弹出“添加步骤”对话框。

  6. 根据实际需要,自定义恢复计划执行脚本。

    • 当保护对象为NAS文件系统和VMware虚拟机时,不支持自定义恢复计划执行步骤。
    • 自定义脚本运行在eReplication服务端的场景下,不支持传递参数给自定义脚本。
    • 由于自定义脚本非eReplication提供,脚本的正确性需要脚本提供方进行保证。在配置脚本前,请确认该脚本已通过测试验证。
    • 当保护对象为FusionCompute虚拟机时:
      1. 登录容灾管理服务器,将自定义的执行脚本放置到指定路径下。
        Linux系统:脚本放置的路径为“$OceanStor BCManager Server安装根目录$/Runtime/LegoRuntime/tools/thirdParty/”
        • 在Server执行的脚本,脚本执行路径为“$OceanStor BCManager Server安装根目录$/Runtime/LegoRuntime/”。
        • 针对主备部署模式,Server端执行的自定义脚本,在主备节点都需要放置。
      2. 设置自定义执行脚本的属主和执行权限。

        Linux/Unix系统:执行chown ICUser:LEGO xxx.sh命令,设置脚本属主为ICUser:LEGO;执行chmod 500 xxx.sh命令,设置脚本执行权限为500。

        其中,xxx为用户自定义的脚本名称。

        如果您不设置自定义执行脚本的属主和执行权限,则上传的脚本有可能被攻击者篡改,存在安全风险。

    • 当保护对象为Oracle、IBM DB2、Microsoft SQL Server、Microsoft Exchange Server、本地文件系统、SAP HANA时:
      1. 登录保护对象所在业务主机,获取脚本模板,并按照模板自定义执行脚本。

        自定义执行脚本名称长度范围为4到32位,只能由字母、中文、数字、_和-组成,且必须以字母、数字、中文或_开头,脚本后缀名为.bat(Windows系统)或.sh(Linux/Unix系统)。

        • Windows系统:脚本模板放置的路径为“%OceanStor BCManager Agent install path%\bin\thirdparty\sample”,脚本模板名称为sample.bat。
        • Linux/Unix系统:脚本模板放置的路径为“/home/rdadmin/Agent/sbin/thirdparty/sample”,脚本模板名称为sample.sh。
      2. 将自定义的执行脚本放置到指定路径下。
        • Windows系统:脚本放置路径为“%OceanStor BCManager Agent install path%\bin\thirdparty\”
        • Linux/Unix系统:脚本放置路径为“/home/rdadmin/Agent/sbin/thirdparty/”
      3. 设置自定义执行脚本的属主和执行权限。

        Linux/Unix系统:执行chown root xxx.sh命令,设置脚本属主为root;执行chmod 500 xxx.sh命令,设置脚本执行权限为500。

        其中,xxx为用户自定义的脚本名称。

        如果您不设置自定义执行脚本的属主和执行权限,则上传的脚本有可能被攻击者篡改,存在安全风险。

    • 当保护对象为LUN时:
      • 计划迁移,故障恢复,重保护,备份恢复操作没有选择主机/主机组场景:
        1. 登录容灾管理服务器,将自定义的执行脚本放置到指定路径下。
          Linux系统:脚本放置的路径为“$OceanStor BCManager Server安装根目录$/Runtime/LegoRuntime/tools/thirdParty/”
          • 在Server执行脚本时,脚本内的当前路径为“$OceanStor BCManager Server安装根目录$/Runtime/LegoRuntime/”。
          • 针对主备部署模式,Server端执行的自定义脚本,在主备节点都需要放置。
          • 如果被保护的对象组网类型为存储复制(异步)、存储复制(同步)、双活+存储复制(异步)、SAN双活+SAN级联复制(双活+异步+异步)、SAN双活+SAN级联复制(双活+同步+异步)、SAN双活+SAN并联复制(双活+异步+异步)、SAN双活+SAN并联复制(双活+同步+异步),支持如下操作:
            • 支持在自定义脚本中通过“$BCM_MORPHOLOGICAL”参数获取组网信息,使用时可参考表2
            • 支持在“计划性迁移”流程中,自主选择是否启用步骤“检查存储资源与主机映射状态”,默认为启用。如果选择不启用,需要客户人工保障计划迁移过程中,生产端业务是正常停止的。
            • 支持在“计划性迁移”流程中,自主选择是否启用步骤“备份生产数据”,默认为不启用。
            • 支持在“重保护”的“警告”窗口中自主选择是否“保留用户配置数据”,默认未勾选。
          表2 组网信息说明

          组网类型

          完整组网信息

          站点说明

          切换方向

          切换组网信息

          判定示例

          返回码为0时

          主备组网

          Site-A->Site-B

          生产站点为Site-A,灾备站点为Site-B

          正向:切换到Site-B

          Site-A->Site-B

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '->Site-B$'

          灾备站点为Site-B

          Site-B->Site-A

          生产站点为Site-B,灾备站点为Site-A

          反向:从Site-B回切

          Site-B->Site-A

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '->Site-A$'

          灾备站点为Site-A

          两地三中心

          Site-A:Site-B->Site-C

          生产站点为双活Site-A:Site-B,灾备站点为Site-C

          正向:切换到Site-C

          Site-A:Site-B->Site-C

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '->Site-C$'

          灾备站点为Site-C

          Site-C->Site-B:Site-A

          生产站点为Site-C,灾备站点为双活Site-B:Site-A

          反向:从Site-C回切

          Site-C->Site-B:Site-A

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '^Site-C->'

          灾备站点为双活Site-A:Site-B

          两地三中心多副本(并联)

          Site-D<-Site-A:Site-B->Site-C

          生产站点为双活Site-A:Site-B,灾备站点为Site-C,二级灾备站点为Site-D

          正向:切换到Site-C

          Site-A:Site-B->Site-C

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '->Site-C$'

          灾备站点为Site-C

          Site-D<-Site-A:Site-B->Site-C

          生产站点为双活Site-A:Site-B,灾备站点为Site-C,二级灾备站点为Site-D

          正向:切换到Site-D

          Site-B:Site-A->Site-D

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '->Site-D$'

          灾备站点为Site-D

          Site-C->Site-B:Site-A->Site-D

          生产站点为Site-C,灾备站点为双活Site-B:Site-A,,二级灾备站点为Site-D

          反向:从Site-C回切

          Site-C->Site-B:Site-A

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '^Site-C->'

          灾备站点为双活Site-A:Site-B

          Site-D->Site-A:Site-B->Site-C

          生产站点为Site-D,灾备站点为双活Site-B:Site-A,二级灾备站点为Site-C

          反向:从Site-D回切

          Site-D->Site-A:Site-B

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '^Site-D->'

          灾备站点为双活Site-A:Site-B

          两地三中心多副本(级联)

          Site-A:Site-B->Site-C->Site-D

          生产站点为双活Site-A:Site-B,灾备站点为Site-C,二级灾备站点为Site-D

          正向:切换到Site-C

          Site-A:Site-B->Site-C

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '->Site-C$'

          灾备站点为Site-C

          Site-A:Site-B->Site-C->Site-D

          生产站点为双活Site-A:Site-B,灾备站点为Site-C,二级灾备站点为Site-D

          正向:切换到Site-D

          Site-A:Site-B->Site-C->Site-D

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe ':.*->Site-D$'

          灾备站点为Site-D

          Site-A:Site-B<-Site-C->Site-D

          生产站点为Site-C,灾备站点为双活Site-B:Site-A,,二级灾备站点为Site-D

          正向:切换到Site-D

          Site-C->Site-D

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '^[^:]*->Site-D$'

          灾备站点为Site-D

          Site-D<-Site-C->Site-B:Site-A

          生产站点为Site-C,灾备站点为双活Site-B:Site-A,,二级灾备站点为Site-D

          反向:从Site-C回切

          Site-C->Site-B:Site-A

          echo "$BCM_MORPHOLOGICAL" | grep -Eqe '^Site-C->.*:'

          灾备站点为双活Site-A:Site-B

          • 切换组网信息中,仅传递切换流程相关的站点。
          • 站点名称只能为字母、数字、中文字符、-和_,并且不能以-开头。组网判断方法以“->”的方式进行判断,不存在判定异常。
        2. 设置自定义执行脚本的属主和执行权限。

          Linux/Unix系统:执行chown ICUser:LEGO xxx.sh命令,设置脚本属主为ICUser:LEGO;执行chmod 500 xxx.sh命令,设置脚本执行权限为500。

          其中,xxx为用户自定义的脚本名称。

          如果您不设置自定义执行脚本的属主和执行权限,则上传的脚本有可能被攻击者篡改,存在安全风险。

      • 测试、清理操作,以及计划迁移、故障恢复,重保护,备份恢复操作选择主机/主机组场景:
        1. 登录保护对象所在业务主机,获取脚本模板,并按照模板自定义执行脚本。

          自定义执行脚本名称长度范围为4到32位,只能由字母、中文、数字、_和-组成,且必须以字母、数字、中文或_开头,脚本后缀名为.bat(Windows系统)或.sh(Linux/Unix系统)。

          • Windows系统:脚本模板放置的路径为“%OceanStor BCManager Agent install path%\bin\thirdparty\sample”,脚本模板名称为sample.bat。
          • Linux/Unix系统:脚本模板放置的路径为“/home/rdadmin/Agent/sbin/thirdparty/sample”,脚本模板名称为sample.sh。
        2. 将自定义的执行脚本放置到指定路径下。
          • Windows系统:脚本放置路径为“%OceanStor BCManager Agent install path%\bin\thirdparty\”
          • Linux/Unix系统:脚本放置路径为“/home/rdadmin/Agent/sbin/thirdparty/”
        3. 设置自定义执行脚本的属主和执行权限。

          Linux/Unix系统:执行chown root xxx.sh命令,设置脚本属主为root;执行chmod 500 xxx.sh命令,设置脚本执行权限为500。

          其中,xxx为用户自定义的脚本名称。

          如果您不设置自定义执行脚本的属主和执行权限,则上传的脚本有可能被攻击者篡改,存在安全风险。

  7. 输入“步骤名称”,“脚本名称”。
  8. 选择“步骤执行策略”和“步骤位置”,单击“确定”。

    “步骤执行策略”说明如下:

    • “失败后继续运行”:该步骤执行失败,恢复计划继续执行容灾恢复操作。
    • “失败后流程终止”:该步骤执行失败,恢复计划停止执行容灾恢复操作。

    “步骤位置”可以选择“前置步骤”或“后置步骤”,设置添加步骤的执行位置,第一步不能添加前置步骤,最后一步不能添加后置步骤。

  9. 当需要启用或禁用某步骤时,选择该步骤然后在右侧区域框中勾选“启用该步骤”或去掉勾选,再单击“应用”。
  10. 单击“关闭”。

后续处理

恢复计划执行步骤编辑完成后,将在恢复计划下一次运行时生效,当恢复计划运行时,系统将组合默认的恢复计划执行步骤与自定义恢复步骤,以工作流方式顺序运行。建议当恢复计划执行步骤被更改后,立即运行一次恢复计划测试与清理流程确保配置正确。


版权所有 © 华为技术有限公司