本文介绍实例的自动恢复事件如何改善您使用阿里云ECS时的运维效率和整体体验。

什么是自动恢复

在托管ECS实例的底层硬件意外崩溃的情况下,如果确认故障不可逆转并且实例无法修复,则实例会在计划的维护时段自动重新启动,实现宕机迁移。在这种情况下,所恢复实例的所有实例元数据都将保持不变,例如实例ID以及私有和公有IP地址等。

自动恢复是一类系统事件,其事件代码为SystemFailure.Reboot。自动恢复事件有明确的维护时间表但不允许用户自行操作。因此,自动恢复不同于热迁移和其他类型的系统事件,热迁移是无感知且无需人工干预的,而您也可以在事件窗口期内自行响应其他类型的系统事件。下表区分了自动恢复与其他常见的运维事件:

运维事件类型 是否可以查询运维计划 是否可以人工干预
自动恢复
热迁移
其他类型系统事件

使用限制

  • 实例预约了自动恢复事件后,您无法自行重启实例。
  • 仅当底层硬件可在意外崩溃后重新启动时,本地盘实例才可自动恢复。 如果无法恢复使用本地磁盘的实例,您可以立即提交工单检查磁盘上的数据是否保留,或实例是否已重新部署到其他物理服务器。

调用API查看自动恢复事件

本文示例通过阿里云CLI调用DescribeInstancesFullStatus查看实例是否有计划中的自动恢复事件。

aliyun ecs DescribeInstancesFullStatus --RegionId TheRegionId --InstanceId.1 YourInstanceId --output cols=EventId,EventTypeName
说明 如果 EventTypeName返回的事件代码是 SystemFailure.Reboot,说明实例已经有计划中的自动恢复系统事件。

有关如何使用ECS控制台查看自动恢复事件,请参见系统事件。有关如何使用其他开发者工具的说明,请参见ECS API快速入门

如何提高容错率

若需充分利用实例的自动恢复功能和故障转移操作,请确保您完成了以下操作:

  • 将您的核心应用程序(例如SAP HANA)添加到自启动项列表中,避免业务操作的任何中断。
  • 开启应用程序的自动重新连接功能。例如,允许应用程序自动连接到MySQL、SQL Server或Apache Tomcat。
  • 对于负载均衡用户,请将多台ECS实例部署在集群环境中,当某一台ECS实例处于自动恢复过程中时,其余ECS实例可以继提供业务访问能力。
  • 定期备份本地磁盘上的数据,以实现数据冗余和提供实例重新部署的数据文件。