OurBMC大咖说丨第5期:BMC开发中的非标准化问题探讨

news2024/11/16 17:42:46

图片

栏目介绍:"OurBMC大咖说" 是由 OurBMC 社区精心策划的线上讲座栏目,邀请 BMC 相关领域大咖共同探讨 BMC 全栈技术的发展趋势、挑战和机遇。无论你是初学者还是资深从业者,"OurBMC大咖说" 都将为你提供一个宝贵的学习和交流的平台。

欢迎各位关注 "OurBMC大咖说",聆听大咖们的智慧之声,共同推动 BMC 全栈技术的进步和发展!

本期人物介绍:汪涛,南京百敖软件有限公司技术总监,百敖BMC团队负责人。毕业于德国不来梅大学电气工程专业,从事固件开发14年,历年来多次承担国家科技支撑计划、科技型中小企业、江苏省科技成果转化、无锡市科技支撑项目等,发表论文3篇,申请专利5项,参与多项BMC固件行业和团体标准制定。

图片

前几期的专家老师们都提到了OurBMC社区标准化的问题,我对此深有感触,也十分赞同几位专家老师们的看法,百敖作为国内主要的 IBV 厂家之一,基于 OpenBMC 代码为国内多家厂商提供了基于 E2000 BMC 和基于其它 BMC 的技术服务,对 BMC 软件的开发和适配有着深厚的经验,借此机会初步探讨下当前 BMC 开发过程中遇到的一些非标准化的问题。

BMC 相关软件需求非标准化问题

BMC 的 SEL 事件日志功能是服务器管理中的一个关键组件,可以记录服务器运行过程中硬件或软件发生的各种事件或状态变化。这些事件的描述在 IPMI 规范中都有定义,主要包括,CPU、内存、硬盘、PCIE、电源、风扇等模块的硬件故障信息,相关组件的温度过高、电压异常等系统告警信息,系统开机/关机/重启等状态变化事件。

随着服务器行业的发展,对事件日志的精细化和可扩展性有了更高的要求,如果出现了系统硬件故障后,运维人员想要知道具体发生了什么样的故障,如果故障类型不能准确记录,会给系统运维人员造成很大的困扰,相反如果故障信息能精确的话,则运维人员可以针对不同的故障信息做不同的故障处理,可以大大的提高运维效率和节省运维成本。例如,有些厂商想让 BMC 能记录 CPU 或者 PCIE 设备的 MCE/AER 事件,但当前 IPMI SEL 事件中所支持的 CPU 或 PCIE 事件列表中都没有此类事件,BMC 如不能准确记录此类事件的话,则运维人员就不能做有针对的处理。

为了解决 BMC SEL 事件日志不够准确和事件类型不够丰富的问题,很多厂商都自定义了一套区别于传统 IPMI SEL 事件日志的日志规范。但由于各家的规范并不统一,要适配不同的服务器产品就意味着 BMC 需要不同的日志功能解决方案,而事件日志又是 BMC 的标配功能,这一基础功能的开发却需要实现多套不同方案,额外增加了 BMC 软件适配的工作量。如果能新制定一套统一的事件日志规范,同时能兼顾多方需求,则在能降低 BMC 的开发适配工作的同时也能大大提升服务器的运维管理能力。

BIOS 与 BMC 交互接口非标准化问题

BIOS 在启动过程中与 BMC 会有一些信息交互,这些交互基本上是通过 IPMI 命令来实现的。主要包括,BIOS 在启动过程中会获取 BMC 的版本信息、自检状态,BMC 的网络配置信息、BMC 的用户信息以及系统启动项等信息,同时在 BIOS setup 界面也可以修改 BMC 的网络配置以及用户配置,最终通过 IPMI 命令发送给 BMC,这些命令都有标准的 IPMI 规范。但是,随着服务器上的需求越来越多,BIOS 需要传送更多的信息给 BMC,例如 BIOS 的版本信息、CPU/内存/硬盘/PCIE 的设备信息或启动过程中检测到的一些设备故障信息,以及 BIOS 的 setup 配置信息等,这些信息标准的 IPMI 命令并没有实现,各家厂商实现这些需求时,要么是 BIOS 与 BMC 之间协商一套 OEM 命令,要么是用其它方式实现,总之,这些无法用标准 IPMI 命令支持的需求,各家 BIOS 和 BMC 厂商都没有一套统一的通信规范,从而造成不同厂商的 BMC 适配另一家的 BIOS 时,无法做到代码兼容,需要重新去适配 BIOS 与 BMC 之间的交互接口,增加了适配的工作量。如果能有一套统一的 BIOS 与 BMC 通信标准规范,则能大大的提高 BMC 的通用性,减少新的服务器项目中的适配工作。

其他固件升级的非标准化问题

服务器主板或各种背板上常用的 CPLD 主要由 Lattice、安路、紫光等厂商提供,服务器厂商对 CPLD 都有通过 BMC 进行在线升级的需求,然而各 CPLD 厂商通过 BMC 进行在线升级的文件格式基本各不相同,有 Lattice 的 jed 格式文件、安路的 aje 格式文件,也有 svf 格式或者 vme 格式的升级文件。不同格式的升级文件意味着 BMC 需要去适配开发不同的 CPLD 固件升级应用程序和设备驱动程序,如果某款服务器上有多个主板及背板 CPLD,且不同板卡上的 CPLD 还有几个备选厂家的话,则 BMC 在适配 CPLD 升级代码上就有较大工作量并且无法做到代码归一,这样就会加大开发此种场景下 CPLD 在线升级程序的复杂度。实际上,CPLD 的在线升级功能基本都是使用的 JTAG 接口,也有少量选择 I2C 接口,在统一使用 JTAG 接口的情况下,各 CPLD 厂商如果能提供统一的升级格式文件给到 BMC,如 svf 或者 vme 格式的在线升级文件,则 BMC 就可以用一套代码支持不同厂家的 CPLD 在线升级方案,无论服务器上有多少个 CPLD 需要升级或有多少家厂商需要支持。

同样的情况在 PSU 固件升级上也存在,服务器厂商对 PSU 也都有通过 BMC 进行在线升级的需求,而 PMBUS 规范中并没有定义固件升级相关的命令字,只是预留了一些厂商自定义命令字,因此各厂商在 PMBUS 规范中的自定义命令字里实现了各自的一些功能,包括在线升级功能,由于没有统一的规范,就会导致各家 PSU 厂商的升级功能实现各不相同,也给 BMC 的 PSU 在线升级功能的实现增加复杂度,在每适配一款新的服务器时就有可能需要重新适配修改 PSU 的在线升级代码。如果各 PSU 厂商把在线升级功能或设置 PSU 主备模式等功能相关的命令字都能做成一个标准规范的话,对 BMC 的硬件适配工作将会有极大的帮助。

BMC 接口标准化展望

在 BMC 的开发适配工作中,类似上述的非标准化接口非常之多,上述也只做了小部分举例说明,这些不仅体现在 BMC 自身的一些软件需求上,与其它领域都有涉及,例如 BIOS、CPLD、PSU、VR、PCIE网卡、NVMe硬盘、RAID卡、GPU卡、DPU卡等。百敖深耕国产化服务器已有多年,积累了深厚的服务器 BMC 开发经验,同时百敖的 BMC 和 BIOS 早已有一套通信标准,为了国产化服务器的发展繁荣,我们愿意跟行业内的相关厂商和合作伙伴分享经验并一起制定相关的 BMC 开发标准,让 BMC 的开发不再有高的门槛,使 BMC 的适配工作变得简单,大家能专注于新功能以及更有价值的功能开发,共同推动国产化服务器的新发展。

我们很荣幸能加 OurBMC社区,也很高兴看到越来越多的伙伴们加入OurBMC社区。国产 BMC 的发展,不仅依靠像飞腾这样的国产芯片厂商和 BMC 固件厂商,也依赖跟 BMC 有交互的各模块对应的厂商一起助力,也希望越来越多的厂商加入到OurBMC社区,壮大OurBMC社区,一起为国产 BMC 的发展谱写新的篇章。

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

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

相关文章

MobileViT v3 论文解读

paper:MobileViTv3: Mobile-Friendly Vision Transformer with Simple and Effective Fusion of Local, Global and Input Features official implementation:GitHub - micronDLA/MobileViTv3 出发点 MobileViT v1通过结合CNN和ViT的优势,…

用户是如何访问网站的?

由于IP地址不方便记忆并且不能显示地址组织的名称和性质,人们设计出了域名,并通过域名系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直…

数字心动+华为运动健康服务 使用体验指导

一、应用介绍 “数字心动”是一个体育生态平台APP,践行“体育大健康娱乐数字营销”模式,打造深度融合体育平台。APP集跑步运动记录、赛事活动报名、成绩/大众等级证书查询等多功能于一体,采取“线上线下”模式,结合协会、行业、品…

安泰电压放大器有什么作用

电压放大器是一种电子器件,它能够将输入信号的电压增大到所需的输出电压水平。电压放大器在电子电路设计中起到了至关重要的作用,下面将详细介绍电压放大器的作用。 信号放大作用:电压放大器主要作用是放大输入信号的电压,使其具有…

vue3组件通讯-介绍

简介 Vue 3 引入了多种强大的功能和改进,其中包括增强的组件通信机制。了解这些机制对于构建复杂、可维护的应用程序至关重要。下面,我们将介绍在 Vue 3 中组件通信的几种方法。 通讯类型 父子组件通信上下级通信(不仅父子级)兄…

什么牌子的开放式耳机性价比高?2024超靠谱品牌推荐!

开放式耳机最近几年已经成为音乐爱好者们的一个新的选择。它们从最初的基本音质发展到了现在的高解析度,不断的升级。这类耳机开放式、安全的性能和舒适的佩戴体验,无论你是在街上漫步还是在家中享受安静的时光,都能够得到很好的体验。在众多…

Go语言之控制结构

个人网站: http://hardyfish.top/ 免费书籍分享: 资料链接:https://url81.ctfile.com/d/57345181-61545511-81795b?p3899 访问密码:3899 免费专栏分享: 资料链接:https://url81.ctfile.com/d/57345181-6…

HarmonyOS Next开发学习手册——通过startAbilityByType拉起垂类应用

使用场景 开发者可通过特定的业务类型如导航、金融等,调用startAbilityByType接口拉起对应的垂域面板,该面板将展示目标方接入的垂域应用,由用户选择打开指定应用以实现相应的垂类意图。垂域面板为调用方提供统一的安全、可信的目标方应用&a…

Qt-Advanced-Docking-System示例程序

写了一些简单的示例程序,帮助我更好地使用和了解Qt-Advanced-Docking-System 1.写一个如图页面布局的程序 m_pDockMangernew ads::CDockManager(this);this->setCentralWidget(m_pDockManger);ads::CDockWidget* centerDockWidgetnew ads::CDockWidget("中…

MinIO下载和安装(Windows)

1、MinIO下载和安装 | 用于创建高性能对象存储的代码和下载内容 2、在本地硬盘中并新建一个minio文件夹 里面再创建bin文件夹和data文件夹 bin 用于存放下载的minio.exe data 用于存放数据 logs 用于存放日志 3、 编写启动脚本start.bat echo off echo [信息] 运行MinIO文服务…

探索新质生产力,Coremail邮件新品系列重磅发布!

数字化发展至今,新一轮科技革命与产业变革加速推进,利用新质生产力成为企业发展的关键,而邮箱作为日常工作的重要软件应用,如何紧追时代风口助力行业革新? 6月20日,探索新质生产力:Coremail智能…

自动化IC封装模拟分析工作流程

在IC封装制程的制程模拟中,为了同时提升工作效率与质量,CAE团队常会面临到许多挑战。在一般的CAE分析流程中,仿真分析产生结构性网格,是非常繁琐且相当花时间的。必须要先汇入2D (或3D) 图档,接着陆续建立表面网格、高…

华为升腾显卡选型备忘

目录 1. 开发套件 2. 加速模块 3. 加速卡 4. 训练卡 官方地址:https://www.hiascend.com/ 备注: (1)V后缀的都是Video视频解析卡,本质是推理卡; (2)I后缀的都是推理卡&#…

Ubuntu server 22.04 (Linux) 安装部署 redis 7.4 详细步骤 Tab 不能自动补全

1 安装依赖软件 sudo apt update sudo apt-get install tcl-dev 2 下载 wget https://download.redis.io/releases/redis-7.4-rc1.tar.gz 3 编译安装 #解压 tar zxvf redis-7.4-rc1.tar.gz # cd redis-7.4-rc1/ #编译 make make test #安装 sudo make install PREFIX/usr…

防爆气象站的工作原理

TH-FBCQX2防爆气象监测设备是为了在存在爆炸性气体或粉尘的潜在危险环境中进行气象监测而专门设计的设备。以下是对防爆气象监测设备的详细介绍: 防爆气象监测设备符合防爆安全标准,确保在易燃易爆环境中不会产生火花或热源,从而避免引发爆炸…

IDEA2024关闭自动AI代码补全功能

文章目录 一、背景二、教程四、写在后面 一、背景 在本人前段时间的一次面试算法题中,面试官让我关闭代码提示功能,当时气氛尴尬的可以抠出三室一厅,但是这个功能是2024新版参考文献自带的,本次来分享如何关闭新版代码补全功能。…

Model3C芯片方案--86彩屏中控面板Modbus协议说明

一、概述 Model3C芯片是一款基于RISC-V的高性能、国产自主、工业级高清显示与智能控制MCU,配备强大的2D图形加速处理器、PNG/JPEG解码引擎,并支持工业宽温。基于Model3C芯片的86彩屏中控面板,通过集成Modbus协议,实现了与多种控制…

一键登录功能实现(采用极光SDK)

前端流程 1. 引入极光认证 SDK&#xff1a; 通过 <script> 标签引入 &#xff0c;在 public/index.html 中确认 SDK 脚本已正确加载&#xff1a;参考官网Web SDK 概述 - 极光文档 <!-- 引入极光认证 SDK --> <script type"text/javascript" src&qu…

three.js - 置换贴图(displacementMap)、凹凸贴图(bumpMap)

这就是个灰度图 瞅瞅下面的贴图们&#xff0c;加深一下印象吧 说一下灰度图 在灰度图中&#xff0c; 黑色&#xff1a;代表最低的深度&#xff08;或最低的置换&#xff09; 白色&#xff1a;代表最高的深度&#xff08;或最高的置换&#xff09; 中间的灰度值&#xff0c;则…

java基于ssm+jsp 网络视频播放器

1前台首页功能模块 网络视频播放器&#xff0c;在系统首页可以查看首页、视频信息、系统公告、论坛信息、我的、跳转到后台、客服等内容&#xff0c;如图1所示。 图1前台首页功能界面图 用户登录&#xff0c;在登录页面可以填写账号、密码等信息进行登录&#xff0c;如图2所示…