ECS容灾故障演练

更新时间:2025-03-03 08:32:36

本文详细介绍了ECS在云盘数据、镜像备份以及跨可用区的故障演练与恢复操作。

应用场景

场景

说明

场景

说明

云盘数据异常演练和恢复

当云盘数据出现异常或丢失时,可利用快照将云盘数据恢复至创建快照时的状态。通过故障注入和演练恢复,能够加深对相关操作的理解。

镜像备份的故障演练和恢复

镜像为ECS实例提供操作系统初始化的应用数据、预装软件和预配置数据,如果环境异常可以通过备份的镜像创建新的ECS实例,快速部署相同的操作系统和数据环境的ECS实例,以达到恢复的效果。通过故障注入和演练恢复,能够加深对操作的理解。

SMC跨可用区演练和恢复

当单可用区存在风险或已有风险需要将实例迁移至其他可用区时,可通过SMC实现跨可用区迁移。同时在迁移过程中,如果目标可用区规格售空,也可以选择变更实例类型选取新的实例规格。通过单机故障和网络不通模拟出现宕机一次的风险,通过SMC迁移实例至新可用区,以避免受到风险影响。

准备工作

  • 云盘数据与镜像备份演练:Linux操作系统实例,云助手为可用状态。具体操作,请参见创建ECS实例

  • SMC跨可用区演练:Linux操作系统实例,并且有如下限制。

    • 不支持计费类型为抢占式实例。

    • 更换实例规格时,仅限同规格族内变配,不支持跨规格族更改实例规格。关于实例规格族的详细信息,请参见实例规格族

      说明

      如果您想跨可用区更改到其他规格族,建议您执行跨可用区迁移操作后,再更改实例规格,具体操作,请参见更改包年包月实例规格更改按量付费实例规格

    • 以下实例规格族不支持跨可用区迁移。

      • 异构计算

      • 弹性裸金属服务器

      • 超级计算集群

      • 通用算力型实例规格族u1

      • 经济型实例规格族e

      • x86计算

        • 大数据型

        • 本地SSD

        • 安全增强型

      • 8代实例规格族(g8ise、g8a、g8i、g8ae、g8y、c8a、c8i、c8ae、c8y、r8a、r8i、r8ae、r8y)

云盘数据异常演练和恢复

  1. 连接实例并输入以下命令新建模拟数据。

    远程连接实例具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

    touch hello.txt
    echo "Hello, World!" > hello.txt
  2. ECS实例云盘进行快照备份,具体操作,请参见创建快照

  3. 故障注入。

    1. 输入以下命令,模拟数据误删除。

      rm hello.txt 
    2. 通过云助插件ecs-fault-oscrash模拟被攻击导致云服务器异常宕机。具体操作,请参见宕机演练

      sudo acs-plugin-manager --exec --plugin ecs-fault-oscrash --params inject

      image.png

  4. 验证故障注入。

    • ECS非预期运维事件中,出现因实例错误实例重启类型的事件,说明故障注入成功。

      image.png

    • ECS实例中,执行uptime,查看系统运行时间来确定ECS实例是否重启。

      image

  5. 通过云盘快照恢复数据。具体操作,请参见使用快照回滚云盘

  6. 验证数据正常且删除的数据是否已经成功恢复。

    image

镜像备份的故障演练和恢复

  1. 连接实例并新建模拟数据。

    远程连接实例具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

    1. 输入以下命令,模拟新建数据。

      touch hello.txt
      echo "Hello, World!" > hello.txt
    2. 输入以下命令,查看系统环境。当前$MY_VAR环境变量数据为空。

      echo $MY_VAR

      image

  2. 对整个ECS实例的配置、操作系统、已安装的软件和数据进行全量备份。具体操作,请参见使用实例创建自定义镜像

    image.png

  3. 故障注入。

    1. 输入以下命令,模拟数据误删除。

      rm hello.txt 
    2. 输入以下命令,模拟永久修改系统MY_VAR环境变量修改系统的运行环境。

      echo 'export MY_VAR="value"' >> ~/.bashrc && source ~/.bashrc

      image.png

    3. 通过云助插件ecs-fault-oscrash模拟被攻击导致云服务器异常宕机。具体操作,请参见宕机演练

      sudo acs-plugin-manager --exec --plugin ecs-fault-oscrash --params inject

      image.png

  4. 验证故障注入。

    • ECS非预期运维事件中,出现因实例错误实例重启类型的事件,说明故障注入成功。

      image.png

    • ECS实例中,执行uptime,查看系统运行时间来确定ECS实例是否重启。

    • 宕机启动后查看hello.txt被删除且环境变量$MY_VAR是有效状态。

      image

  5. 使用预先备份的自定义镜像,创建具有相同操作系统、应用程序和数据的ECS实例,从而实现数据恢复。在同一地域的不同可用区中新建实例。具体操作,请参见使用自定义镜像创建实例

  6. 登录使用自定义镜像创建ECS实例查看文件恢复,且环境变量也恢复到创建镜像时的状态。

    image

SMC跨可用区演练和恢复

  1. 连接实例并输入以下命令新建模拟数据。

    远程连接实例具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

    touch hello.txt
    echo "Hello, World!" > hello.txt
  2. 通过SMCECS云服务器迁移到同地域的不同可用区。具体操作,请参见跨可用区迁移操作

    image.png

  3. 待迁移成功后登录验证,验证实例迁移到其他可用区且迁移前数据未发现丢失。

    image.png

  • 本页导读 (1)
  • 应用场景
  • 准备工作
  • 云盘数据异常演练和恢复
  • 镜像备份的故障演练和恢复
  • SMC跨可用区演练和恢复