乐趣区

关于服务器:关键基础部件如何保障高可靠

4 月 14 日,服气云可靠性技术专家 Marshall 在服气云《Tech Talk · 云技术有话聊》系列直播课上进行了《要害根底部件可靠性技术解析》的分享,具体介绍了 IT 零碎常见的物理故障对业务的可靠性的影响、如何使用软件定义解决硬件故障等内容。以下是他分享的内容摘要,想要理解更多能够点击浏览原文观看直播回放。

一、可靠性的定义和指标
可靠性是指零碎不会意外地解体、重启甚至产生数据失落,这意味着一个牢靠的零碎必须可能做到故障自修复,对于无奈自修复的故障也尽可能进行隔离,保障系统其余部分失常运行。简而言之,可靠性的指标是缩短因故障(产品质量、内部部件、环境、人因等)造成的业务中断工夫。

高牢靠能够从三个层面了解:一,不出故障,零碎能够始终失常运行,这种状况就须要进步硬件的研发品质。二,故障不影响业务。三,影响业务但能疾速复原。后两个层面能够通过“软件定义”的形式去躲避硬件故障产生的业务中断。

谈到可靠性,首先要理解服务器的要害根底部件。从业界的服务器统计数据看,硬件部件的问题集中在内存、硬盘、CPU、主板、电源、网卡上。在云的环境当中,同一台服务器上可能运行了若干不同业务、不同场景的虚拟机,一旦物理设施解体,将会波及泛滥用户,同时也会对运营商本身造成巨大损失。而在现有的故障模式中,内存、硬盘故障是最高发和最重大故障。

对于内存和硬盘的故障,能够通过这两个案例来进一步理解。

案例一,内存 UCE 谬误导致服务器零碎重复宕机重启。服务器产生宕机重启,登录服务器的 BMC 治理界面,查问服务器的告警信息,呈现如下告警:“2019-07-25 08:03:06 memory has a uncorrectable error.”起初,进一步查问硬件谬误日志文件,发现 DIMM020 有大量内存 CE 谬误和局部内存 UCE 谬误,可知是因为 DIMM020 内存条产生 UCE 谬误导致服务器宕机重启。

案例二,磁盘卡慢导致大数据集群故障。某大数据平台集群节点呈现慢盘故障(零碎每一秒执行一次 iostat 命令,监控磁盘 I / O 的零碎指标,如果在 60s 内,svctm 大于 100ms 的周期数大于 30 次则认为磁盘有问题,产生该告警)。先是 ZOOKEEPER 呈现故障,后呈现集群均衡状态异样。而后同一节点的其余服务也呈现故障,最初整个节点所有服务全副故障,随后重启主动复原。然而在 3 -10 分钟之后该节点就会反复呈现此状况。在未发现其余问题的状况下抉择重启零碎,业务中断工夫十几分钟。
二、内存的可靠性技术
内存从内部构造看有 PCB 板、金手指、内存芯片、内存条固定卡缺口等。从内部结构看,包含存储体、存储单元 Cell、存储阵列 Bank、Chip(device)、Rank、DIMM、Channel 等。

基于内存的构造,内存技术的晋升(制程放大和频率)容易带来更高的故障率。
制程放大带来的挑战
○ 光刻更容易受到衍射,聚焦等影响品质。
○ 内涵成长(EPI)容易呈现漏成长和内涵成长间的短路等。
○ 蚀刻荡涤等工艺的 particle 造成的影响减轻。
○ 单 die 尺寸变小,单 wafer die 数量减少。
○ 将来 TSV 封装多 die 后段封装难度加大,失效率减少。
频率晋升带来的挑战
○ 高速信号时序 margin 更小,兼容性问题更突出。
○ 信号衰减更重大,DDR5 减少 DFE 电路,设计更简单。
○ 更高频率带来更高功耗,对 PI 的要求更高。

内存故障依照“故障能不能纠正”能够分为两类:CE(Correctable Error):能够纠正任意单比特谬误、局部单颗粒多比特谬误的统称;UE(Uncorrectable Error):不能纠正的谬误统称。有一部分 UE 谬误因为操作系统无奈解决会导致系统宕机。

内存产生故障的起因有:内存单元能量透露 leakage、内存数据传输门路存在高阻抗、内存电压工作异样、外部时序异样、外部操作异样(如自刷新)、bit line/word line 线路异样、地址解码线路异样、内存存在弱单元(可失常应用)、宇宙射线或放射性(没有造成永恒伤害)导致的软生效(屡次检测故障不复现)。

在解决故障时,会进行分层解决,业内有软件主导和和硬件主导两种思维。基于硬件主导的观点,会在器件选型的时候,抉择一些品质比拟高的硬件,另外,硬件自身具备一些“可靠性”,比方会主动地纠正一些比较简单的谬误。

但硬件是没有方法做得十分牢靠的,就须要软件去做一些工作。软件定义的形式会把有故障的内存区域隔离进去,让它不再应用,从而不会对业务产生影响。

CE(能够纠正的谬误)产生后,如果不去解决它,会有可能变成不可纠正的 UE 谬误。所以要防微杜渐,产生 CE(能够纠正的谬误)时,要进一步解决,隔离出可疑的故障。
服气云针对内存 CE 故障隔离方案设计思路
当内存硬件产生 CE 触发中断,看这些内存是否被隔离(不是被操作系统内核或外设应用),如果能够被隔离就退出白名单,对这些内存进行隔离。当应用内存隔离性能把产生故障的内存页切换到失常的内存页后,就把这个故障内存页隔离进去不再应用。

同时,这些故障产生的地位和次数等详细信息会进行告警,帮忙运维人员对故障内存条进行更换。针对没有方法隔离的内存,在零碎下次重启时依据重启之前记录的内存谬误区域的信息,在零碎没有应用这些内存时就把有问题的内存局部隔离进去,这样就保证系统应用的内存是没有问题的局部。

内存 CE 故障隔离计划总体架构

服气云施行这个计划之后,通过收集现网经营数据统计,均匀隔离胜利成功率为 96.93%。相较于业界个别的计划的 CE 屏蔽,不能及时隔离 CE 以及出错后定位内存条的问题,服气云在计划上具备当先劣势,并且在这个畛域申请了 5 项专利。隔离计划在应用过程中针对 CPU 和内存资源开销小,并且成果显著。

针对内存 UE 故障,服气云的方案设计思路是解决内存 UE 的可复原和提前预警问题,把一部分 UE 宕机降级为杀死对应应用程序,甚至只需隔离坏页,防止宕机来晋升零碎稳定性和可靠性。至多晋升 30% 以上内存故障恢复能力,服气云的解决方案可能达到 60% 内存 UE 故障复原率,成果优于业界公开数据(业界广泛是 UE 故障复原能笼罩 50%),在理论 POC 测试场景中,优于业界的个别计划(如个别计划会宕机,无内存故障告警日志,无奈定位故障内存所在的插槽地位)。

内存 UE 故障隔离计划总体架构

三、硬盘的可靠性技术
硬盘次要包含系统盘、缓存盘、数据盘。系统盘个别应用固态硬盘 SSD,寄存云平台系统软件和主机 OS,以及相干的日志和配置。缓存盘个别应用固态硬盘 SSD,利用 SSD 速度快的个性作为缓存盘作为 IO 读写提速的缓存层,用于寄存用户业务常常被拜访的数据,称之为热数据。数据盘个别应用机械硬盘 HDD,容量高适宜做数据盘则作为数据(如虚拟机的虚构磁盘)最终寄存的地位。
硬盘 TOP 故障模式 / 分类:
卡死:硬盘 IO 临时或者始终不响应;
卡慢:硬盘 IO 显著变慢或者卡顿;
坏道:硬盘逻辑单元(sector)损坏;
坏块:硬盘物理单元(block)损坏;
寿命有余:机械硬盘物理磨损,或者固态硬盘的闪存颗粒踊跃达到擦写次数。

当硬盘呈现输入输出(Input Output,I/O)响应工夫变长,或者卡住不返回的状况,会导致用户业务继续呈现卡慢,甚至挂起,一块硬盘卡住甚至会导致系统的全副业务中断。

随着应用年限的减少,硬盘呈现坏道、磁头进化或者其余问题的概率也在减少;从历史问题散布、以及业界硬盘可靠性故障曲线,都能够看到硬盘卡盘问题正成为影响零碎稳固运行的最重大问题之一。

服气云卡慢盘解决方案总体架构

服气云针对卡慢盘解决方案的思路:
1. 针对磁盘卡慢故障模式简单的问题,多维度检测确诊。采纳了 Linux 通用的工具和信息,不依赖特定硬件工具,包含内核日志剖析、smart 信息剖析、硬盘 io 监控数据分析等从多个维度精确定位故障硬盘。

2. 针对卡慢盘处理时业务还是数据的抉择,制订了多级隔离算法。①轻度慢盘:不隔离,在页面告警告诉用户;②重大慢盘:抉择业务:对端异样时不隔离,页面告警告诉用户;③卡盘:抉择业务:第一次呈现对端异样时不隔离,页面告警告诉用户;④卡盘(频繁):抉择数据:一个小时内呈现 3 次异样,进行永恒隔离。

3. 在多级隔离算法的根底上进行阈值打磨。用大量实在卡慢盘进行测试以及用户侧采集的数据制订更加精准的卡慢检测阈值;应用故障注入工具进行阈值验证。

开启卡慢盘性能后的成果,可保障 1min 内触发隔离,虚拟机未呈现 HA,隔离后业务 IO 复原稳固。

以上就是本次直播的次要内容。对云计算感兴趣的 IT 敌人能够点击 https://sangfor.bizconf.cn/li… 回顾本期直播,理解更多云计算常识。

退出移动版