大规模自主硬件诊断与恢复

💡 原文英文,约2200词,阅读约需8分钟。
📝

内容提要

Cloudflare开发了名为Phoenix的自主系统,用于处理服务器修复和恢复。Phoenix在没有人工干预的情况下对损坏的服务器进行诊断、修复和重新启用。系统定期运行,发现损坏的服务器,运行测试并确定恢复候选人。Phoenix是自动化感知的,确保恢复操作不会干扰其他正在进行的操作。系统通过详细的日志记录和进度更新提供透明度。Cloudflare还实施了错误预算概念来管理服务器故障的风险。Phoenix已被证明是高效的,减少能源浪费,使工程师能够专注于更有生产力的工作。

🔎

延伸解读

自主系统与自动化感知

Phoenix 被设计为自主系统,而非普通自动化脚本。它能在无人工干预下完成诊断、修复和重新启用。其自动化感知能力确保恢复操作不会干扰数据中心内其他正在进行的操作,例如当有 provisioning 任务时,Phoenix 会等待。这种设计提升了操作安全性,避免了资源冲突。

错误预算:平衡自动化与可靠性

Cloudflare 为 Phoenix 引入了错误预算概念,以管理恢复服务器可能再次故障的风险。错误预算以24小时为周期,分为三个时段,对应SRE三班倒。每个时段内,若恢复服务器失败次数超过2次,Phoenix 将停止恢复,并扣减后续时段的预算。预算每日重置,确保自动化不会给SRE带来过多告警噪音。

诊断流程与硬件验证

Phoenix 的诊断包括带外连通性检查和节点验收测试。带外检查通过IPMI验证设备可达性,只有通过才能进入下一阶段。节点验收测试利用内部工具INAT,运行硬件验证、性能测试等套件。服务器会启动到自定义Linux镜像执行测试,结果以HTML和JSON格式发布,后者由Phoenix解析。测试完成后服务器会关机以节省能源。

效率提升与可持续性

Phoenix 显著减少了处理损坏服务器所需的人工劳动,使工程师能专注于更高价值的工作。同时,系统确保损坏服务器在诊断后关机,避免了闲置耗电,从而减少能源浪费并支持可持续发展目标。自动化流程还帮助Cloudflare优化了旧的硬件故障处理流程,提升了整体运营效率。

❓

Q&A

Phoenix系统是如何工作的?

Phoenix系统定期运行,发现损坏的服务器,进行诊断并恢复通过测试的服务器,整个过程无需人工干预。

Cloudflare为什么需要Phoenix系统?

由于服务器数量庞大,手动处理故障服务器效率低下,Phoenix系统通过自动化提高了修复和恢复的效率。

Phoenix系统如何确保恢复操作的安全性?

Phoenix具备自动化感知能力,确保在没有其他操作干扰的情况下执行恢复操作。

什么是错误预算,Phoenix系统是如何应用的?

错误预算是指在一定时间内允许的错误数量,Phoenix系统在达到错误预算后会停止恢复操作,以管理服务器故障的风险。

Phoenix系统如何提高能源效率?

Phoenix系统通过自动关闭损坏的服务器,避免其在闲置时浪费能源,从而提高整体能源效率。

Phoenix系统的诊断过程包括哪些步骤?

诊断过程包括进行多种测试以验证硬件组件的可行性,并识别可以恢复的候选服务器。

🏷️

标签

➡️

继续阅读