云时代到来,云服务变成像水电一样的基础服务。作为云计算的底层承载,服务器的RAS特性(Reliability、Accessibility、Serviceability)决定着云服务的质量,也影响着云上用户业务运行的连续性。
然而,服务器难免因发生硬件故障导致宕机。据统计,硬件故障是服务器宕机的重要因素,而内存故障占了硬件故障整体的50%。
为了给客户提供安全、稳定的云计算服务,腾讯云联合英特尔共同探索影响服务器宕机的关键因素,率先引用并积极完善MCA Recovery技术,同时通过结合硬件品控等手段,成功规避40%由内存故障引起的服务器宕机事故,有效保证云上用户的业务连续性。
腾讯云也是首家在云计算领域大规模研发和使用MCA Recovery技术的云服务商。
内存故障:服务器的最大杀手
硬件故障是服务器宕机的重要因素,而内存故障占了硬件故障整体的50%。如果能够有效解决内存故障引起的服务器宕机问题,服务器宕机情况将能够得到极大的改善。
由于内存不可纠正错误的出现,内存故障只能被减少,不可被消除。因此如何降低内存故障对宕机的影响、保证系统正常运行成为更有价值的研究方向,而MCA Recovery技术则是降低内存故障负面影响的关键技术之一。
图:内存错误分析
MCA Recovery技术:内存故障的重要突破点
MCA Recovery(Machine Check Architecture Recovery)技术源自2010年英特尔提出的硬件自检机制。然而,由于以往CPU RAS特性的收费门槛与小规模云厂商对宕机的高容忍度,所以业界缺少对该技术的深入研究和工程实践,导致技术性能未被最大限度地发掘出来。
经过多维度的对比测试,腾讯云工程师发现:MCA Recovery技术能够有效缓解不可纠正错误的影响,缩小内存故障情况下对业务的负面影响范围。在使用MCA Recovery技术后,发生不可纠正错误的服务器不会立即重启系统,而是标记和传递故障数据,待消费者根据实际情况进行灵活处理,从而规避不可纠正错误导致系统立即重启的问题,更大限度地保证了系统的可用性。
图:MCA Recovery技术原理图
来源:Intel RAS Technology Integration and Validation Guide
在技术研究基础上,腾讯云推动MCA Recovery技术的应用落地,成为首家大规模研发和使用该技术的企业。配合压测、硬件品控等各项手段,腾讯云服务器内存质量得到很大改善,成功减少由内存故障引起的服务器宕机事故达40%,客户体验进一步提升。
MCA Recovery技术的应用推广
MCA Recovery技术帮助腾讯云更好地满足客户需求。
以游戏客户为例,由于成本、架构设计等原因,部分游戏客户采用数据、计算、日志全部集中于同一台服务器的集中式部署架构,导致单机可用性要求高。腾讯云利用MCA Recovery 技术,建立OS适配、隐患通知、热迁移规避、下线维修、重新上线等配套流程,延长机器uptime,极致地满足客户需求。
同时腾讯云开发一套自动化注错工具,有效检测MCA Recovery流程触发是否正常。此注错工具已成为腾讯内部规范,同时也推广到服务器厂商,方便行业早期识别相关隐患。
腾讯云还与英特尔及主板厂商紧密合作,推动行业技术合作进步。在技术研究过程中,腾讯云与厂商紧密合作,有效修复多个底层固件问题。同时与英特尔的联合项目推动一系列知识沉淀,如腾讯-英特尔技术白皮书(详见阅读原文),积累大量的软硬件知识储备,为客户提供更安全、稳定、高效的云服务。
图:腾讯-英特尔技术白皮书
英特尔高级技术总监Niveditha Sundaram表示:“经过大量线上故障分析诊断和双方通力协作,腾讯云成功将英特尔平台的MCA Recovery技术运用部署,并将由内存故障导致的服务器宕机率大幅降低了40%,其敏捷高效的运维堪称业界典范。我们深信双方合作必将在腾讯未来的数据中心基建中诞生更多成果,并给最终客户带来更好的体验。”