BMC解决方案丨服务器故障诊断与预测平台方案设计与实现

news2024/9/23 13:16:28

近日,OurBMC社区理事成员单位浪潮计算机科技有限公司基于开放原子开源大赛的成果梳理了一份成熟的可落地方案——《基于BMC技术的服务器故障诊断与预测平台方案设计与实现》。该方案为开放原子开源大赛的冠军之作,极大推动了社区产业化落地的发展和工作。

产业化落地SIG包括软硬件及系统解决方案,重点对产业化落地中遇到的困难点进行分析,并贡献解决方案,为产业化做贡献。

《基于BMC技术的服务器故障诊断与预测平台方案设计与实现》针对 “故障预测” 提出了DTF(Dynamic Threshold Funnel 动态阈值漏斗)算法和CPU高温降频算法。DTF算法解决了用户频繁收到CE(Correctable Error 可纠正错误)告警的问题,并利用CE告警对固定位置部件进行故障预测,提前预知服务器部件的健康状态。CPU高温降频算法可辅助CPU降温,一方面缓解了整机散热的压力,另一方面也降低了CPU因高温带来的一系列损耗和负面影响。

服务器故障诊断与预测平台整体方案

本方案系统架构如下图所示,以飞腾服务器芯片搭配浪潮自研主板为基础硬件,从BMC软件应用角度,设计出集故障数据收集、故障诊断、故障预测为一体的完整方案,主要监控CPU、MEM、PCIe、NVMe、PSU等部件。

图片

故障采集模块的实现

· CPU、MEM、PCIe故障数据采集

OS运行期间,当CPU发生error interrupt或者error register时,PBF模块对硬件错误信息进行收集,并通过MM(Management Mode)模块以及SDEI(software Delegated exception interface)模块将CPER(common platform error record)格式的错误数据发送给BMC和OS。

· PSU、NVMe故障数据采集

针对NVMe硬盘,可以通过BMC透过Smbus协议读NVMe的寄存器,具体命令为i2ctransfer -y {bus} w2@0xd4 0x00 0x04 r1,或者通过代码中Smbus标准接口获取寄存器信息。

针对PSU电源,可以通过BMC透过Pmbus协议读PSU的寄存器,具体命令为i2ctransfer -y {bus} w1@addr 0x79  r2, 或者通过代码中Pmbus标准接口获取寄存器信息。

故障诊断模块的实现

· 对CPU、MEM、PCIe故障数据进行诊断

BMC在进行CPER数据组包接收后,若判断接收到完整的CPER数据,会进行后续数据解析处理。主要流程包括对CPER格式转换,把原始CPER数据转换成JSON格式以及根据所得JSON数据提取重要字段记录错误信息。

图片

· 对PSU、NVMe故障数据进行诊断

针对NVMe硬盘,可以通过BMC透过I2C链路读NVMe的寄存器,当使用Smbus 0x00命令读取0x04寄存器时获取到的数据就是NVMe硬盘的寿命。

BMC通过Smbus接口与PSU进行通讯,通过读取PSU的STATUS_WORD(0x79)寄存器来获取PSU的状态,当电源有Predict_failure情况时上报SEL日志。

故障预测模块的实现

· 对CPU、MEM、PCIe故障数据进行预测

针对飞腾服务器CE告警,采用DTF( Dynamic Threshold Funnel )算法进行故障预测,其故障预测流程图如下:

图片

· 对PSU、NVMe故障数据进行预测

根据IPMI协议,当满足如下条件时,说明电源有Predict_failure情况,此时上报SEL日志。

图片

· NVMe故障预测

BMC通过mi basic command命令向NVMe的物理地址发送命令码获取到NVMe的状态、使用的驱动器寿命百分比(PDLU)等信息,进而对NVMe进行故障预测。获取到NVMe的使用寿命信息后,BMC会将其与预设的阈值进行比较,设定当使用寿命低于10%时,系统将触发告警机制,生成SEL日志。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2081475.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么用AI做赚钱的表情包?我来教你!真能轻松变现?我们试了试。

最近看到一则新闻,一个小哥靠做微信表情包赚了几十万,这引起了我的兴趣。 这让我想到,无论是传统的利他思维,还是投资自己的头脑,或者是表情包这样的新兴赚钱方式,成功的路径从未改变。 利他思维&#xff…

SystemTap(stap)脚本举例 包括系统调用监控,函数执行时间 函数出参信息和信号捕捉脚本等

SystemTap 脚本举例 运行环境检查 要想使用SystemTap,需要依赖环境支持。可以执行如下命令查看stap是否已经安装。 stap -ve probe begin { log("hello world") exit () }对内核函数增加探针,需要debuginfo信息,可以通过如下步检…

PyTorch构建神经网络

【图书推荐】《PyTorch深度学习与企业级项目实战》-CSDN博客 《PyTorch深度学习与企业级项目实战(人工智能技术丛书)》(宋立桓,宋立林)【摘要 书评 试读】- 京东图书 (jd.com) 训练一个神经网络通常需要提供大量的数据,我们称之…

特殊类设计(5个)与类型转换

引子:在生活中我们经常有不同类的需求,因此我们有了特殊类的设计(有很多种模式等)。由于类型需求不同我们有了类型转换。今天我们就来略讲略讲一下这方面的知识。 特殊类设计(5个) 注意:关键字…

uniapp发布包app.json文件配置及发包上传注意事项

一、分包(提示主包大小不小于1.5M) 我的分包代码 二、未开启js压缩 操作:【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩脚本文件」的设置 三、未开启组件懒注入(按需注入) 只需将代码"lazyCodeLoading&qu…

深度剖析:黑神化悟空的防御机制,为何成为破解难题?

深度剖析:黑神化悟空的防御机制,为何成为破解难题? 黑神话悟空还没发售就被破解? #国产游戏 #悟空 #西游记 推荐阅读: 全红婵抖音魅力无限,粉丝数量历史性突破1000万大关! 奥运激情日&#…

【日记】今天实在太累了(436 字)

正文 今天的工作强度跟之前完全不是一个级别。能不能不要给我找这么多事做,我只想摸鱼摆烂。以后到下一个单位就说自己啥都不会好了,省得一天天全来找我。 忙碌程度上升了一个数量级,一天结束之后完全不想说话。 好想睡觉。 昨晚尝试完成年度…

利用ADB命令截屏,并发送至指定邮箱

需求分析: 为满足对Android设备远程监控、故障排查或自动化报告生成等应用场景需求,本指南将指导你如何利用ADB(Android Debug Bridge)工具实现Android设备的截屏功能,并介绍如何将截屏结果通过远程通知的形式发送至指定邮箱。 关键词:ADB、截屏、远程通知、发送邮箱 准备…

程序设计—气象数据共享平台设计与实现 项目源码30172

摘 要 当前,气象数据的及时获取和共享对于许多行业和个人具有重要意义。然而,存在着数据获取不便、共享不畅、数据可视化展示不足等问题。为了解决这些问题,本研究旨在设计和开发一个基于C语言的气象数据共享平台,结合React框架实…

天津国芯SP下载工具 加个防呆 避免选了OTA升级的固件(后缀带有SIG.BIN)

V2.1 20240828 天津国芯SP下载工具 加个防呆 避免选了OTA升级的固件(后缀带有SIG.BIN) 兆讯的芯片1902首次下载必须先下载key,再下载加密固件。 天津国芯没有这个限制,固件是明文的。 自测使用的版本信息: 本地最新…

count格式的数据转换(count to FPKM,count to TPM) 【GEO数据库】

在正式分析之前,对于数据的处理是至关重要的,这种重要性是体现在很多方面,其中有一点是要求分析者采用正确的数据类型。 对于芯片数据,原始数据进行log2处理之后可以进行很多常见的分析,比如差异分析、热图、箱线图、…

linux下一切皆文件,如何理解?

linux下一切皆文件,不管你有没有学过linux,都应该听过这句话,就像java的一切皆对象一样。 今天就来看看它的真面目。 你记住了,只要一个竞争退出它的PCB要被释放文件名,客服表也要被释放。那么,指向这个文件…

基于大数据的电信诈骗行为可视化系统含预测研究【lightGBM,XGBoost,随机森林】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍 电信诈骗预测与分析系统项目概述系统架构详细功能描述1. 数据预处理2. 数据可视化与分析3. 机器学习预测4. 系统集成与用户界面 技术亮点应用价值未来展望lightGBMXGBoost随机森林…

猫头虎分享:什么是信创体系?

猫头虎分享:什么是信创体系? 猫头虎技术团队:深入解析信创体系 引言:为什么信创体系是未来发展的关键? 大家好,我是猫头虎,今天我们来聊一聊科技领域的热议话题——信创体系。随着国内外信息技术产业的迅…

分布式云扩展 AI 边缘算力,助力用户智能化创新

近期,AI 创新圈再次发布重磅产品更新。OpenAI 全新旗舰版多模态模型 GPT-4o 横空出世,其打通文本、图像、视频的富媒体理解能力以及敏捷的智能化对话,将 AI 助手的人性化表达效果,提升至更高水平。 ​ 从技术源头来看&#xff0c…

栈OJ题——有效的括号

文章目录 一、题目链接二、解题思路三、解题代码 一、题目链接 有效的括号 题目描述:给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。括号匹配。 二、…

《大模型应用开发极简入门》学习成为善用 AI 的人!看完懂得90%的大模型!{含pdf版电子书}

📖《大模型应用开发极简入门:基于GPT-4与ChatGPT》 真心建议学习大模型的朋友都去看看这本书,作为一本应用开发入门书,在豆瓣评分好评不断,其中知识点有不少值得深入研究的领域,适合小白初学者阅读学习的&…

【Google Maps JavaScript API】详解地图本地化(Localizing the Map)

文章目录 一、地图本地化概述1. 什么是地图本地化?2. 为什么需要地图本地化? 二、如何实现地图本地化?1. 准备工作2. 编写 HTML 文件3. 初始化地图 三、详细代码解析1. HTML 部分2. JavaScript 部分 四、如何在本地运行示例代码?五…

Spring Boot如何压缩Json并写入redis?

1.为什么需要压缩json? 由于业务需要,存入redis中的缓存数据过大,占用了10G的内存,内存作为重要资源,需要优化一下大对象缓存,采用gzip压缩存储,可以将 redis 的 kv 对大小缩小大约 7-8 倍&…

Jmeter录制脚本(不推荐,因为有大量冗余)

1、以百度举例 2、选择“Requests Filtering”,在“包含模式”中填入“.(baidu\.com).”用以过滤非http://baidu.com的请求; 同时在“排除模式”中填入“(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2|htm|html).”用以过滤js、图片、html等…