OurBMC大咖说|第4期:基于飞腾腾珑E2000的国产化BMC固件开发简介

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

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

本期人物介绍:王亚洲,昆仑太科(北京)技术股份有限公司固件产品一部经理,昆仑BMC团队负责人。毕业于北京航空航天大学计算机学院,从事固件开发17年,参加包括国家 “核高基”、产业发展基金等多项重点工程项目开发,参与多项BMC固件行业和团体标准制定。

开源社区支持国产BMC产业快速健康发展

BMC(Baseboard Management Controller)系统作为服务器不可或缺的带外管理系统,承担着服务器远程集中运维、管理和监控的重要职责,是服务器运作的中枢神经系统。该系统主要由两大部分组成:BMC 芯片与 BMC 固件。其中,BMC 芯片作为计算力载体,承载着 BMC 固件的运行,而 BMC 固件则扮演着实现各类带外管理功能的关键控制程序角色。

长久以来,BMC 系统的软硬件核心技术主要集中在少数几家厂商手中,以Aspeed公司的AST 2400\2500\2600系列 BMC 芯片(来自我国台湾地区的信骅科技股份有限公司)和 AMI 公司的 MegaRack 系列 BMC 固件(美国安迈公司)所组成的解决方案,在全球 BMC 市场中占据主导地位。

随着我国信息技术应用创新产业的蓬勃发展,这一局面得以改观。自 2016 年起,昆仑太科公司在 OpenBMC 的基础上研发出昆仑 BMC 固件产品,成功突破了国产 BMC 固件核心技术瓶颈,并不断迭代升级,目前已被广泛应用,累计装机量已达数十万台套。至 2022 年,飞腾公司又推出了与AST系列最新产品相媲美的飞腾腾珑E2000S/D/Q 系列芯片,有力地满足了 BMC 系统日益增长的应用需求,标志着国产 BMC 系统取得了显著的技术进步。

进入 2023 年,飞腾公司牵头开创性地建立了中国首个开源 BMC 根社区—— OurBMC 社区,致力于打造一个自主可控、技术先进的全栈式 BMC 软硬件技术生态体系,携手各方力量共同推动国产 BMC 技术自主快速发展。依托国产 BMC 芯片及开源 BMC 固件,相关企业和技术爱好者将能够更加便捷地构建具备基础功能的 BMC 系统,并在此基础上进行深度的技术验证和二次开发。中国开源 BMC 根社区的诞生,无疑为国产 BMC 技术和产业发展注入了新的活力,提供了广阔的发展空间与前所未有的机遇。

开源BMC面临的挑战

相较于封闭式的商业 BMC 方案,开源 BMC 因其开放性和广泛的参与度,发展速度更显迅猛,现已成为 BMC 技术演进的核心趋势之一。然而,将开源 BMC 直接转化为大规模市场化应用产品,则需直面技术成熟度不足、产品质量难以保证以及服务体系构建等一系列严峻挑战。

首先,开源 BMC 的原始状态往往无法充分适应规模化部署的需求。开源社区的核心聚焦点并非商业化应用,其开源代码多以功能验证和初步实现为主,故在功能完整性、安全性、稳定性等方面可能尚难满足商业级应用场景的高标准要求。例如,对于 RAID 管理、系统崩溃时的屏幕录像、SNMP Agent 集成、CPLD 与 PSU 固件更新机制、BMC 网页安全防护、BMC 固件备份与恢复等功能模块,当前开源社区尚未提供完备的支持。因此,填补开源 BMC 在关键能力上的空缺,应当成为未来开源社区持续改进和发展规划中的重要一环。

其次,开源 BMC 在技术支持和服务保障层面存在天然短板。作为一个复杂的管理系统,BMC 在实际的大规模运营过程中,难免会遭遇各类故障和问题。然而,开源项目往往缺乏专职的专业团队来确保用户系统的稳定、连续运行。当出现突发故障时,若无专业维护力量的即时响应与妥善处理,将严重影响系统正常运作。鉴于 BMC 系统在服务器管控中的核心地位,任何潜在的问题都有可能导致整个信息系统瘫痪,带来不可估量的损失。

再者,开源 BMC 难以满足各行各业高度定制化的优化需求。服务器管理的实践运用与服务器部署环境、业务需求密切相关,不同行业和用户群体对服务器管理的具体要求千变万化,且不同品牌、型号乃至平台的设备特性各异。从基础的出厂默认账号密码设定,到复杂的 Redfish 接口标准个性化配置,乃至多样化的功能需求和硬件设计方案,均对 BMC 系统尤其是 BMC 固件的深度定制开发和优化提出了极高要求。而开源社区提供的代码虽然覆盖了基础通用功能,但难以应对如此庞大且精细的定制化差异需求。

综上所述,开源 BMC 在大多数情况下难以直接投入到商业化大规模产品的应用中去,需要有专业厂商对其进行深度的产品化改造和优化,使之达到商业应用所需的严格标准。

昆仑BMC的技术路线

昆仑太科作为首批基于飞腾腾珑E2000系列芯片研发 BMC 固件产品的领军企业之一,技术路线选择直接采用自主研发的昆仑 BMC 源代码作为基础,该源代码是在 OpenBMC 社区代码的基础上精心改良而成。在整个架构构建过程中,得益于飞腾公司的强大支持,我们获得了包括 uboot 引导加载程序、Linux 内核以及全套编译工具链在内的关键技术资源。

面对飞腾腾珑E2000芯片与 AST 系列芯片之间的内在差异,昆仑太科团队从零开始重构了一系列与硬件紧密结合的基础功能组件,诸如 KVM 虚拟化技术、虚拟介质支持等核心模块,均经过深度定制和创新研发。

在构筑起坚实的基础框架之后,我们面临着更具挑战性的任务——深化功能开发与全面提升产品化水准。作为在固件技术研发领域近二十年的企业,昆仑太科积累了深厚的专业底蕴,涵盖了广泛而详尽的 BMC 功能诉求及各行业定制化需求。正是基于这样的积淀,我们提炼出一套独特且严谨的 BMC 功能规范及品质标准体系,以此指引我们在昆仑 BMC 的深入开发和产品化进程中的每一步决策与设计。

在这一阶段,我们尤为重视团队建设与管理水平,对构建一个既具备规模化开发能力又兼具成熟经验的 BMC 研发团队提出了近乎苛刻的要求,确保能够在高效协作与严谨把控中稳步推进各项功能开发与产品优化工作,最终打造出符合市场需求、具有竞争力的高质量 BMC 固件产品。

产品BMC适配开发流程

基于开源 BMC 固件代码,在飞腾腾珑E2000硬件平台上构建一款适用于大规模商业部署的服务器 BMC 系统,整个开发过程可划分为六大关键环节:

1. 硬件平台深度适配:这一阶段囊括了与服务器各个关键子系统及组件的深度融合与适配工作,涉及范围包括但不限于传感器数据读取与解析、机箱散热风扇调控、精密温控策略制定、电源开关机管理、现场可更换单元(FRU)信息获取、网络通信功能优化以及固件自动更新机制的确立等核心功能。

2. BIOS 联动功能开发与适配:此部分着重于强化与服务器 BIOS 系统的协同作业,具体表现为开发并实现 SOL 远程串口查看功能,一键导出服务器串口完整日志记录,实时监测 POST 状态码,以及对 CPU、内存和 PCIe 故障进行精准告警。同时,还需实现对服务器硬件详细信息的展示与 BIOS 菜单配置项的灵活控制。

3. 定制功能专项开发:针对客户提出的多样化非标准化需求,进行针对性功能开发,比如支持查询特定型号 RAID 卡详细信息、精细化控制服务器定位灯与告警指示灯状态、定制化背板访问权限与操作流程、一键收集特定类型的辅助诊断数据,并扩展支持使用 SD 卡等大容量存储介质以满足客户的特殊应用需求。

4. 定制接口拓展与优化:在 web、IPMI、Redfish、SNMP 等多种管理接口层面,不仅要完善标准功能,更要根据客户需求定制开发 IPMI OEM 命令和 Redfish 扩展接口,增强 SNMP Trap 以支持上报特定类型告警信息,同时使 Web 界面能灵活展示符合客户需求的定制化信息内容。

5. 全面的质量管理:构建严格的版本测试与问题修复流程,涵盖功能验证、安全性能评估、压力测试等多个维度,旨在确保交付给用户的 BMC 系统在大型复杂应用场景下保持高效稳定的运行状态。

6. 配套文档与实用工具:提供翔实的用户手册以指导操作,编写详尽的 IPMI、Redfish、SNMP 接口应用指南,配备高效的 BMC 固件在线更新工具,以及针对生产线作业优化的专用工具包,全方位保障用户在安装、调试、维护及升级过程中拥有充足的技术支撑。

作为 IBV 厂商,昆仑太科已经为国内数十家厂商提供 E2000 BMC 固件的技术服务,支持了包括信创、行业定制在内的各种固件版本。我们很荣幸能够参与 OurBMC 社区,为国产 BMC 的发展贡献出自己的一份力量。

祝愿 OurBMC 社区的发展越来越好!

Linus 亲自动手,阻止内核开发者用空格替换制表符 父亲是少数会写代码的领导人、次子是开源科技部主管、幼子是开源核心贡献者 华为:用 1 年时间将 5000 个常用手机应用全面迁移至鸿蒙 Java 是最容易出现第三方漏洞的语言 鸿蒙之父王成录:开源鸿蒙是我国基础软件领域唯一一次架构创新 马化腾周鸿祎握手“泯恩仇” 前微软开发人员:Windows 11 性能“糟糕得可笑” 虽然老乡鸡开源的不是代码,但背后的原因却让人很暖心 Meta Llama 3 正式发布 谷歌宣布进行大规模重组
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/ourbmc/blog/11054449