服务器性能如何驱动Helpful Content系统的稳定性评估

RAS(一)介绍

RAS(一)介绍RAS,全称为Reliability(可靠性)、Availability(可用性)和Serviceability(可服务性),是衡量服务器硬件稳定性的重要指标。以下是对RAS的详细介绍:一、RAS背景随着云时代的到来,越来越多的公司选择将产品、服务等迁移至云端,云为数字化建设提供了极大的便利。然而,随着云服务市场的快速发展,云服务宕机事件也时有发生,这使得云的稳定性问题日益受到关注。同时,在嵌入式领域,国产自研硬件的商用发布数量也在飞速上升,包括内存、硬盘、GPU、CPU等,这些硬件的稳定性问题也逐渐暴露出来。因此,RAS的重要性愈发凸显。二、RAS定义RAS具体定义如下:Reliability(可靠性):指系统产生正确输出的概率。通常通过平均无故障时间(Mean Time Between Failures,MTBF)来衡量。可靠性通过帮助避免、检测和修复硬件故障的特性来增强。Availability(可用性):指系统在给定时间内处于运行状态的概率。通常通过一段时间内的停机时间百分比来衡量。可用性机制通常用于在运行时检测和纠正硬件故障。Serviceability(可服务性):指系统维修或维护的简便性和速度。通常通过平均修复时间(Mean Time Between Repair,MTBR)来衡量。RAS的目标是使系统尽可能长期可靠地运行而不停机,减少系统停机时间;提供硬件检测上报机制,以便在硬件错误引起数据丢失或宕机之前能够通知管理员及时更换硬件;提供硬件错误恢复机制,并尽可能纠正错误,使系统可持续可靠地运行。三、RAS涉及的硬件RAS涉及的硬件包括且不限于CPU、Memory、IO、PCIe、硬盘和其他外设。这些硬件在RAS体系中的作用如下:CPU:检测指令执行和L1/L2/L3缓存中的错误。Memory:添加错误纠正逻辑(ECC)来检测和纠正错误。I/O:为传输的数据添加CRC校验和。Storage:使用RAID、日志文件系统、校验和、自监测、分析和报告技术(SMART)等技术来提高存储可靠性。四、硬件错误的分类硬件错误通常分为以下几类:Correctable Error(CE):错误检测机制检测到并纠正了错误。这类错误通常不是致命的,尽管某些内核机制允许系统管理员将它们视为致命错误。Uncorrected Error(UE):发生的错误数量超过了错误纠正阈值,系统无法自动纠正。Fatal Error:当UE错误发生在系统的关键组件上时(例如,内核的一部分被UE损坏),避免数据损坏的唯一可靠方法是挂起或重启机器。Non-fatal Error:当UE错误发生在未使用的组件上时(例如,处于掉电状态的CPU或未使用的内存条),系统可能仍然可以运行,最终通过热备用替换受影响的硬件(如果可用)。此外,还有Deferred Error(DE)等分类,以及Intel定义的软件可恢复的UC Error,如UCR(Uncorrected Recoverable)Error等。五、RAS基本框图与流程RAS基本流程框图展示了硬件发生故障后,通过硬件RAS能力触发中断或异常,通知到Firmware/OS,软件收到通知后采取相应的策略,如Panic、执行Recover actions或者通知到用户。随着RAS功能不断更新迭代以及架构不同,RAS体系开始呈现多样性。这体现在通知方式多样(如IRQ、Exception、Poll等)、Mode多样(如Firmware First Mode、Kernel First Mode等)、芯片架构和硬件多样性以及软件多样性等方面。六、RAS故障处理流程以Intel服务器为例,RAS故障处理流程如下:当Intel服务器内存发生CE故障时,硬件会触发CMCI中断,并执行OS注册的中断处理函数。该函数调用EDAC驱动代码,读取MCA状态寄存器来获取硬件故障信息,如故障级别、故障硬件位置、故障地址等。EDAC驱动会将这些信息保存在/dev/mcelog中。Mcelog是一个用户态的服务程序,通过解析/dev/mcelog信息,将其保存在/var/log/mcelog。用户可以通过查看该文件了解服务器是否发生过硬件故障以及故障发生的时间、硬件信息、是否恢复等关键信息。七、RAS硬件故障举例以下是一个x86服务器注入内存CE故障的日志示例。EDAC驱动会打印故障发生所在的硬件(Memory)、Addr、Processor、类型(CE)、memory channel/dimm等信息。这些信息对于定位和解决硬件故障具有重要意义。综上所述,RAS是衡量服务器硬件稳定性的重要指标,涉及多个硬件组件和复杂的故障处理流程。作为RAS开发或维护人员,需要深入了解RAS的原理和流程,以便根据不同业务场景采取对应的RAS方案,确保系统的稳定性和可靠性。


nginx