2021-06-28 11:59:45
阿里云就香港可用区 C 大规模服务中断事件公开致歉,承诺尽快处理赔偿事宜,并详细说明故障情况、问题分析与改进措施。
事件概述
北京时间 2022 年 12 月 18 日,阿里云香港 Region 可用区 C 发生大规模服务中断,是阿里云运营十多年来持续时间最长的一次大规模故障,对众多客户业务产生重大影响。
故障处理过程
08:56,监控到机房包间通道温控告警,工程师介入并通知机房服务商排查。
09:01,多个包间温升告警,排查到冷机异常。
09:09,机房服务商对异常冷机进行主备切换及重启操作失败,冷水机组无法恢复。
09:17,启动制冷异常应急预案,进行辅助散热和应急通风,联系冷机设备供应商到现场排查。此时部分服务器开始受高温影响。
10:30 开始,为避免高温消防问题,对整个机房计算、存储等集群进行降载处理,期间多次操作冷机设备均无法稳定运行。
12:30,冷机设备供应商到场,进行手工补水排气操作,系统仍无法稳定运行,对部分高温包间启动服务器关机操作。
14:47,冷机设备供应商排查遇到困难,一个包间因高温触发强制消防喷淋。
15:20,经现场手工调整配置,第 1 台冷机恢复正常,温度开始下降,随后继续对其他冷机进行操作。
18:55,4 台冷机恢复到正常制冷量。
19:02,分批启动服务器,持续观察温升情况。
19:47,机房温度趋于稳定,开始进行服务启动恢复及数据完整性检查。
21:36,大部分机房包间服务器陆续启动并完成检查,机房温度稳定。一个包间因消防喷淋未进行服务器上电,工程师进行数据安全检查。
22:50,数据检查及风险评估完成,最后一个包间逐步进行供电恢复和服务器启动。
服务影响
ECS 服务器:09:23 开始部分服务器停机,触发宕机迁移。随着温度升高,受影响服务器数量增加,影响面扩大到 EBS、OSS、RDS 等更多云服纯乱务。
ECS 管控服务:未直接影响客户在香港其他可用区的业务,但影响了香港 Region ECS 管控服务正常使用。大量客户在香港其他可用区新购 ECS 实例,导致 ECS 管控服务触发限流,可用性最低跌至 20%。部分实例购买成功后启动失败,部分 Dataworks、k8s 用户控制台操作受影响,API 完全恢复可用为当日 23:11。
OSS 存储服务:10:37 部分 OSS 开始受停机影响,持续高温会导致磁盘坏道,影响数据安全,工程师对服务器进行停机操作,11:07 至 18:26 中断服务。阿里云提供两种类型的 OSS 服务,OSS 同城冗余 ZRS 服务基本未受影响,OSS 本地冗余 LRS 服务中断时间较长,直至 12 月 19 日 00:30 才恢复对外服务能力。
网络产品:少量单可用区产品(如 VPN、Privatelink 以及少量 GA 实例)受影响。11:21 启动网络产品可用区容灾逃逸,12:45 完成 SLB 等大部分网络产品可用区容灾逃逸,13:47 NAT 产品完成收尾逃逸。除少量单可用区产品外,各网络产品在故障期间保持业务连续性,NAT 有分钟级业务受损。
RDS 数据库:10:17 开始部分 RDS 实例出现不可用报警,随着故障影响的主机范围扩大,服务异常实例数量增加,工程师启动数据库应急切换预案流程。截至 12:30,部分跨可用区实例完成切换,少量单可用区实例及单可用区高可用实例仅少量实现有效迁移,少量支持跨可用区切厅蚂换的 RDS 实例未及时完成切换。21:30 左右绝大部分数据库实例恢复正常,对于受影响的单机版实例及主备均在香港 Region 可用区 C 的高可用版实例,提供克隆实例、实例迁移等临时性恢复方案,但部分实例迁移恢复过程遇到异常情况,处理时间较长。
业务架构建议:同时在多个可用区运行业务的客户在此次事件中可维持业务运行。对于业务需要绝对高可用的客户,建议采用全链路多可用区的业务架构设计。
问题分析与改进措施
冷机系统故障恢复时间过长
原因:机房冷却系统缺水进气形成气阻,影响水路循环导致主冷机服务异常,启动备冷机时因共用系统气阻导致启动失败。水盘补水后,因群控逻辑无法单台独立启动冷机,手工修改配置后陆续启动,影响恢复时长。原因定位、补水排气、解锁群控逻辑启动冷机耗时较长。
改进:全面检查机房基础设施管控系统,扩大监控数据采集覆盖度,提升精细度,提高做伏档故障排查和定位速度;确保设施管控逻辑系统自动切换符合预期,保证手工切换准确性,防止内部状态死锁影响故障恢复。
现场处置不及时导致触发消防喷淋
原因:机房冷却系统失效,包间温度升高达到临界值触发消防系统喷淋,电源柜和机柜进水,部分机器硬件损坏,增加后续恢复难度和时长。
改进:加强机房服务商管理,梳理机房温升预案及标准化执行动作,明确温升场景下的业务侧关机和机房强制关电预案,通过常态化演练强化执行。
客户在香港地域新购 ECS 等管控操作失败
原因:ECS 管控系统为双机房容灾,C 可用区故障后由 B 可用区对外提供服务,大量客户新购实例及 C 可用区 ECS 实例恢复动作引入流量,导致 B 可用区管控服务资源不足。新扩容的 ECS 管控系统启动时依赖的中间件服务部署在 C 可用区机房,导致较长时间内无法扩容。ECS 管控依赖的自定义镜像数据服务依赖 C 可用区的单 AZ 冗余版本的 OSS 服务,导致客户新购实例后启动失败。
改进:全网巡检,整体优化多 AZ 产品高可用设计,避免依赖 OSS 单 AZ 和中间件单 AZ 的问题。加强阿里云管控平面的容灾演练,提升云产品高可用容灾逃逸能力。
故障信息发布不够及时透明
原因:故障发生后启动对客钉群、公告等通知手段,但现场冷机处理进展缓慢,有效信息不足。Status Page 页面信息更新不及时引发客户困惑。
改进:提升故障影响和客户影响的快速评估和识别拉取能力。尽快上线新版的阿里云服务健康状态页面(Status Page),提高信息发布速度,让客户更便捷了解故障事件对各类产品服务的影响。
总结
阿里云向所有受故障影响的客户公开致歉,并承诺尽快处理赔偿事宜。此次事件对客户业务影响重大,阿里云将吸取经验教训,持续提升云服务稳定性,不辜负客户信任。