大规模系统中的亚健康故障(4)外部根因

2023-11-09 12:10

本文主要是介绍大规模系统中的亚健康故障(4)外部根因,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现在,我们描述硬件亚健康故障的外部根本原因,如温度变化、供电不足、环境条件和配置错误。这些外部原因使故障排除变得复杂,因为症状可能是不确定的,只能在同一在线场景中再现,但在离线(办公室)测试中无法观察到。

5.1 温度

为了使温度保持在正常工作状态,风扇或散热器必须正常工作。以下是未被监测工具检测到的温度变化的根本原因。

空气过滤器堵塞:在一份报告中,空气过滤器堵塞导致交换机中的光学元件由于高温而开始出现故障,从而产生高达10%的丢包率。清洁空气滤清器后,交换机返回正常速度,但只是暂时恢复。很可能是高温损坏了交换机的内部部件。

冷环境:冷温度也会导致亚健康故障[19]。在一次部署中,一些磁盘进入先读后写模式。经检查,机房有“地板下冷空气”系统,这在过去更为常见。机架底部的磁盘具有较高的低性能发生率。这表明温度变化也可能源于部署环境。

风扇损坏:风扇等冷却系统有时作为一个整体工作,而不是单独工作。有一种情况是,计算节点中的风扇停止工作,为了补偿此故障风扇,其他计算节点中的风扇开始以最大速度运行,这会产生严重的噪音和振动,从而降低磁盘性能。同样,这是级联异常的根本原因的一个例子(§3.4)。

风扇固件问题:风扇可以完全正常工作,但其速度由风扇固件控制。在一种情况下,当CPU密集型作业正在运行时,风扇固件的反应不够快,因此CPU在风扇有机会冷却CPU之前进入热节流(降低速度)。

不正确的设计/组装/操作:其中一个故事是,定制主板的设计“糟糕”,导致NIC焊接在CPU和内存后面的主板上。来自CPU的热量影响NIC,导致许多数据包错误和重试。在另一个相关的故事中,由于组装不良,CPU散热器无法与CPU进行物理接触,导致许多节点过热。在另一种情况下,新磁盘被插入带有“非常旧”风扇的机器。风扇没有为较新的磁盘提供足够的冷却,导致磁盘运行缓慢。

5.2 电源

电源供电不足很容易触发硬件的亚健康转台。以下是供电不足的一些根本原因。

​电容器不足:在一种定制主板设计中,主板电源控制逻辑上的电容器在特定负载下无法为CPU提供足够的电压。这使处理器不符合规格要求,导致损坏和重新计算。由于无法可靠地再现问题,诊断时间为数月。为了解决这个问题,在现场的数千个节点中的每个主板上添加了一个小电容器。在类似的案例中,也是电容器不足导致电压下降,但只有当多个核心同时从平静状态提升为性能状态时(一种极端情况)出现。因此,对更新的BIOS和软件进行的独立测试没有再现该问题。

PCU固件错误:在一种情况下,电源控制单元(PCU)的固件进入“奇怪”状态,无法提供足够的电源,整个机架无法关闭电源控制。这是一个暂时性故障,有时可以通过重置控制器、有时重新刷新固件以及在极少数情况下更换PCU来修复。

部分电源故障:在一次部署中,每四台机器共享一个电源。但是,当一个电源发生故障时,没有足够的电源以正常容量运行所有四台机器,因此每台机器上的CPU都会受到50%的限制。当这些机器被用于索引服务时,问题层出不穷,无法跟上请求的数量。这个问题花了好几天时间才解决,因为操作员无法了解电源的健康状况。这个问题也很有趣,因为两个电源并不意味着其中一个是完全工作的备用电源,而一个降低的电源,足以让机器继续工作。

耗电邻居:某些节点运行缓慢,因为同一机架中的其他节点耗电较多,导致机架电源不稳定,机架各个部分的电源供电能力下降。诊断这个问题花了几个月的时间,因为它不是源于速度慢的机器,并且只有在邻近节点上运行耗电的应用程序时才会发生。

主板传感器故障:在对速度较慢的机器进行长时间调试后,操作员发现主板上有一个传感器故障,该传感器向操作系统报告了故障值,从而使操作系统将CPU配置为在节能模式下以较慢的速度运行。

5.3 环境

各种环境条件都可能导致硬件出现亚健康故障,如下所示。

高度引发的重大事件:我们收集的最有趣的报告之一是在7500英尺的高空部署的。在这个高度,一些CPU会变热并进入热节流(性能降低)。显然,故障不在CPU上,而是在供应商的冷却设计中,在如此高的海拔下没有提供足够的冷却。在另一份仍处于相同高度的报告中,一些内存系统出现了比平常更频繁的多位故障(ECC检查和维修增加),这些故障内存随后被运回供应商,并装配更多的内存保护。

松散互连:松散的网络电缆和挤压的光纤导致网络延迟高达数百毫秒,使存储集群表现异常。由于症状不确定,诊断该问题需要几天时间。电缆松动/挤压的原因可能是振动或人为因素。在其他一些情况下,SSD和PCIe插槽之间的PCIe连接松动会导致设备驱动程序层多次重试操作。在另一个故事中,当操作员匆忙修理机器时,NVDIMM没有正确插入。尽管速度要低得多,但这台机器仍能正常工作。

震荡:一些磁盘驱动器在机架中部署时的性能降至100 KB/s,但在办公室中测试时的性能最高为100 MB/s。显然,节点周围有故障的机箱风扇导致了如此强烈的振动,使驱动器进入恢复模式。解决方案是在八个硬盘驱动器螺钉中的每一个都添加减震器,并在所有节点中更换大约10%的系统风扇。

环境和操作条件不匹配:在一个机构中,系统按照公布的时钟频率、温度范围和电压范围正确配置。然而,由于未知的环境条件,它无法以最佳方式工作,解决方案是稍微降低时钟,在处理器温度和电压上放置一个软件监视器,如果电压/温度接近装箱值的边缘(即,死节点优于慢节点),则杀死节点。由于不能可靠地复现,诊断时间为数月。在另一种情况下,交换机环境不支持“巨型帧”,导致10 Gbps吞吐量网络的吞吐量很低。修复方法是将MTU大小重新配置为1500字节。

未知原因:在一份有趣的报告中,集群中的所有独立驱动器同时报告了数十亿个SAS错误,持续了五分钟。报告称,这是一名技术人员在另一台机器上进行维护时发生的。

5.4 配置

虽然硬件通常在默认配置下运行,但今天的硬件具有允许配置参数的“旋钮”。此类配置可由人工操作员或软件/固件层(例如BIOS)修改。在我们的发现中,硬件的亚健康故障可能是由以下错误配置引起的。

有缺陷的BIOS固件:在一家机构中,其中一个系统通常每分钟接收28亿个值,但值写入时间一度增加,需要一分钟以上的时间来处理前几分钟的所有值。运营商增加了更多节点(认为这样可以平衡请求峰值的负载)。与直觉相反,添加更多节点会增加写入时间。诊断持续了一个月。根本原因是BIOS对添加到数据库群集的新机器的CPU进行了错误的时钟关闭。这些机器“一瘸一拐”地前进,但被分配了相同数量的负载(就像一台时钟正确的机器)。类似地,如其他地方[16,§3.6]所述,有缺陷的初始化配置也会禁用处理器缓存。

人为错误:关于SSD连接,并非所有PCIe插槽都有相同数量的通道。人工操作员偶尔会在将PCIe卡映射到具有不同通道数的PCIe插槽时出错,这导致全连接带宽利用率不足。在另一种情况下,xtnird.ini中设置的参数不正确。这是一种通过InfiniBand管理高速网络(HSN)的网络配置,未正确设置,导致网络被节流。关于配置错误,有大量相关工作[5,42]。我们相信还有更多的配置错误会导致硬件故障,而未被记录在生产日志中。

这篇关于大规模系统中的亚健康故障(4)外部根因的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/vhghhd/article/details/123020423
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/376005

相关文章

C#通过进程调用外部应用的实现示例

《C#通过进程调用外部应用的实现示例》本文主要介绍了C#通过进程调用外部应用的实现示例,以WINFORM应用程序为例,在C#应用程序中调用PYTHON程序,具有一定的参考价值,感兴趣的可以了解一下... 目录窗口程序类进程信息类 系统设置类 以WINFORM应用程序为例,在C#应用程序中调用python程序

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL