大规模系统中的亚健康故障(2)故障观察

本文深入探讨了硬件故障的亚健康状态,包括各种根本原因,如固件问题、环境因素等。故障可以转化为亚健康状态,如性能下降、瞬时减速和部分减速。这些亚健康症状影响硬件的不同部分,如CPU、磁盘和网络,且可能引发级联故障。诊断和解决这类问题通常需要长时间,增加了调试复杂性和成本。
摘要由CSDN通过智能技术生成

从这项研究中,我们得出了上一篇文章中表中总结的五个重要的高层次发现。下面详细描述下这五个重要的发现。

3.1各种根本原因

找出硬件故障慢的根本原因是一项艰巨的任务,因为它可能由多种根本原因引起,如表3所示。硬件性能故障可能由设备内部的根本原因引起,如固件问题(FW)或设备错误/磨损(ERR),这将在第4节中讨论。然而,完美工作的设备也可能因许多外部根本原因而降级,如配置(CONF)、环境(ENV)、温度(TEMP)和功率(PWR)相关问题,这些问题将在§5节中介绍。请注意,一份报告可能有多个根本原因(环境和电源/温度问题),因此表3(112)中的总数大于101份报告。

根本原因

SSD

Disk

Mem

Net

CPU

Total

ERR

FW

10

6

8

3

9

0

10

9

3

2

40

20

TEMP

PWR

ENV

CONF

1

1

3

1

3

0

5

1

0

1

2

0

2

0

4

2

5

6

4

3

11

8

18

7

UNK

0

3

1

2

2

8

Total

22

23

13

29

25

112

表3:跨硬件类型的根本原因。该表显示了不同硬件类型的根本原因。该表见第3.1节。硬件类型包括SSD、磁盘、内存(“Mem”)、网络(“Net”)和处理器(“CPU”)。内部根本原因是设备错误(ERR)和固件问题(FW),外部根本原因是温度(TEMP)、电源(PWR)、环境(ENV)和配置(CONF)。标记为未知(UNK)的问题意味着操作员无法查明根本原因,而只是更换了硬件。请注意,一个报告可能有多个根本原因(环境和电源/温度问题),因此总数(112)大于101个报告。

3.2故障转换为亚健康

不同类型的故障(如故障停止、部分故障和瞬态故障)可转换为亚健康故障。

故障停止到亚健康故障:由于许多硬件部件连接在一起,故障停止组件可能会使其他组件表现出亚健康故障的行为。例如,由于备用电源没有提供足够的电源,CPU的速度被限制在了50%;单个坏磁盘耗尽了整个RAID卡的性能;一家供应商的错误固件使一批SSD停止数秒,从而禁用闪存缓存层,并使整个存储堆栈变慢。这些示例表明,亚健康故障的发生可能与系统中的其他停止故障相关。此外,一个健壮的故障停止容错系统应确保故障停止故障不会转化为亚健康故障。

瞬时故障到故障慢:除了故障停止,许多类型的硬件可能会出现瞬变故障,例如,磁盘偶尔返回IO错误,处理器有时会产生错误结果,有时内存位会损坏。由于其瞬态和“罕见”性质,固件/软件通常会对用户屏蔽这些错误。一种简单的机制是重试操作或修复错误(例如,使用ECC或奇偶校验)。然而,当瞬时故障频繁出现时,错误屏蔽可能是一把“双刃剑”,也就是说,因为错误屏蔽不是免费的操作(例如,重试延迟、修复成本),当错误并不罕见时,屏蔽开销将成为常见情况下的性能损失。

我们观察到许多故障瞬态到故障缓慢转换的情况。例如,在降级磁盘中,磁盘固件触发频繁的“写后读”检查;由于大量DRAM位翻转的ECC纠正,机器被视为不起作用;PCIe连接松动导致驱动程序多次重试IOs;许多网络数据包丢失/损坏的案例(在我们的报告中,丢失/损坏的比率在1-50%之间)引发了大量重试,导致网络吞吐量大幅下降。

从上面的故事中可以清楚地看出,必须区分罕见故障和频繁故障瞬态故障。虽然屏蔽前者是可以接受的,但后者应该暴露于高级软件堆栈和监视工具中,而不是隐藏于这些工具之外。

部分故障到亚健康故障:某些硬件也可能出现【部分故障】,其中只有设备的某些部分不可用(即部分故障停止)。这种故障通常由固件/软件层掩盖(例如,通过重新映射)。然而,当【部分故障】规模增大时,故障掩蔽会给性能带来负面影响。例如,在一次部署中,可用内存大小随着时间的推移而减小,从而增加了缓存未命中率,但并未导致系统崩溃;SSD中的坏芯片减少了过度配置空间的大小,从而触发更频繁的垃圾收集;还有一个更为人所知的问题,大量坏扇区的重新映射会导致更多的磁盘寻道。与上述故障瞬态情况类似,必须区分小规模和大规模的【部分故障】。

3.3 各种亚健康的故障症状

我们观察到亚健康故障症状的“许多方面”:永久性、暂时性、部分亚健康故障和暂时性故障停止,如图1所示。表4显示了这些故障模式在不同硬件类型中的细分。表5显示了这些故障模式在不同根本原因中的细分情况。

 

 

表4:不同硬件类型的亚健康故障症状。该表描述了不同硬件类型出现的亚健康故障症状。该表见第3.3节。永久性减速、瞬时减速、部分减速以及瞬时停止这四种症状。

 

表5:无根本原因的亚健康故障症状。该表见第3.3节。根本原因缩写可在表3的标题中找到。永久性减速、瞬时减速、部分减速以及瞬时停止这四种症状。

•永久性减速:第一个症状(图1a)是永久性减速,设备最初工作正常,但随后其性能下降,并且不会出现异常情况(直到手动修复问题)。该模式是四种模式中最简单的,因为操作员可以始终看到问题。如表4所示,这种症状(幸运的)是最常见的。

•瞬时减速:第二种(图1b)是瞬时减速,其中设备性能在正常条件和显著退化之间波动,这更难排除故障。例如,当环境太冷/太热时,磁盘和网络性能可能会降低,但当温度恢复正常时,磁盘和网络性能会恢复;当多个磁盘同时处于繁忙状态时,偶尔会发生振动,这会使磁盘速度降低几个数量级;而产生巨大负载的应用程序可能会导致机架电源控制向其他机器提供的电源不足(降低其性能),直到耗电的应用程序完成。

•部分减速:第三种模式(图1c)是部分减速,其中只有设备的某些部分会出现减速。换句话说,这是部分故障停止转换为部分减速的情况(§3.2)。例如,内存的某些故障部分需要执行更多ECC检查;网络路由器缓冲区的某些部分被破坏,只会导致受影响的数据包被重新发送;在一次事件中,40%的大数据包丢失,而小数据包没有丢失。部分故障转换成的亚健康模式还使调试复杂化,因为某些操作会经历减速,但其他操作(在同一设备上)不会受到影响。

•瞬时停止:最后一个(图1d)是瞬时停止的情况,设备偶尔会自行重新启动,随后性能降至零。例如,一个有缺陷的固件使得SSD有时从RAID控制器“消失”,然后重新出现;SAS/SCSI命令中偶尔的位翻转导致主机总线适配器反复重新启动;节点在热节流阀上自动重新启动(例如,当风扇固件没有快速反应时)。

在一个(搞笑的)故事中,在数据中心,有一个方便的用于登台的桌子,一个操作员在存储集群旁边放了一把办公椅。操作员喜欢坐在椅子上摇摇晃晃,反复将热插拔驱动器从机箱中弹出(这是一个很难诊断的关联)。

3.4连锁原因和影响

亚健康故障的另一个复杂性是级联事件链:首先,在实际的根本原因和硬件的亚健康故障之间,有一个级联原因链。其次,亚健康故障的症状会对高级软件堆栈产生级联影响,并可能对整个集群产生影响。

下面是导致亚健康故障的长级联根本原因的一些示例。计算节点中的一个风扇停止工作,使其他风扇以最大速度运行以补偿死机风扇,从而导致大量噪音和振动,进而降低磁盘性能。主板中的一个有故障的传感器向操作系统报告了一个错误的值,使得CPU在节能模式下运行速度变慢。电源中断导致的电源不足可能会导致许多类型的硬件、磁盘、处理器和网络组件运行不理想。电源故障本身也可能引起亚健康故障,例如,供应商遗漏了一个120V保险丝,该保险丝与故障电容器一起装运,在电源循环时,故障电容器极有可能短路,从而导致小电气火灾,并串接至机架级电源故障。

接下来,当硬件进入亚健康状态速度变慢时,它不仅会影响主机,还会在整个集群中造成级联影响。例如,一台机器中的降级NIC(从1 Gbps到1 Kbps)会导致连锁反应,从而减慢整个100台机器集群的速度(因为受影响的连接任务会占用容器/信号很长时间,并且由于信号不足,新作业无法运行)。在HDFS HA(高可用性)部署中,当其中一个磁盘速度非常慢时,名称节点的仲裁将挂起。在HBase部署中,存储卡以正常速度的25%运行会导致积压、内存不足和崩溃。类似地,一个降级的磁盘创建了一个一直到客户机VM的积压工作,给用户弹出了“死亡蓝屏”;

3.5罕见但致命:长检测时间

我们报告中的亚健康故障事件需要数小时甚至数月才能检测(精确定位)。更具体地说,1%的问题在几分钟内发现,13%在几小时内发现,13%在几天内发现,11%在几周内发现,17%在几个月内发现(未知时间为45%)。一些工程师称之为“昂贵的调试尾巴”。在一个故事中,整个工程师团队被拉去调试这个问题,花费了该机构数万美元。检测时间(TTD)过长的原因有很多。

首先,亚健康故障的发生率没有故障停止案例那么频繁,这一事实意味着当今的软件系统不能完全预见(即破坏)这种情况。因此,虽然可以快速解决更频繁的故障,但频率较低但更复杂的故障(系统无法缓解)可能会大大耗费工程师的时间。

第二,如前所述,根本原因可能不是由亚健康的硬件引起的(例如,§3.3中的耗电应用程序导致的瞬时减速需要几个月的时间才能解决,因为问题并非源于速度缓慢的机器或电源)。

第三,超出操作员控制范围的外部环境条件可能延长诊断时间(例如,数月来,供应商未能在其低水位测试设施中再现亚健康故障减速症状,因为硬件仅在高水位时减速)。

最后,运营商并不总是能够完全了解整个硬件堆栈(例如,由于运营商无法了解电源设备的运行状况,因此事件需要几天时间才能解决)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值