栏目介绍:" OurBMC 大咖说"是一个由 OurBMC 社区精心策划的线上讲座栏目,每期邀请一位 BMC 相关领域大咖共同探讨 BMC 全栈技术的发展趋势、挑战和机遇。无论你是初学者还是资深从业者," OurBMC 大咖说"都将为你提供一个宝贵的学习和交流的平台。
快来关注" OurBMC 大咖说"吧!让我们一起聆听大咖们的智慧之声,共同推动BMC全栈技术的进步和发展!
本期人物介绍:梅海鹏,统信软件有限公司 产研平台内核研发部研发经理,目前主要负责统信服务器操作系统内核研发, 先后参与并主导了统信 uos 服务器操作系统 V20 的 1050、1060、1070 版本的商用开发和发布,目前专注于内核高性能时延网络、高性能存储方面的研究和开发。
开源的理解
在求学阶段,我便投身于 Linux 嵌入式板级开发与内核裁剪工作。彼时,我对开源的理解尚处于浅层,仅将其视为可免费借用行业大牛现成代码、提升开发效率的途径。踏入职场后,尤其是加入统信并直接参与商用操作系统开发以来,我对开源有了全新且深刻的认识。
开源绝非简单的免费使用,它更强调参与与共享。各方力量汇聚于此,携手推动技术方向不断前进,并助力其在各类实际应用场景中落地生根。因为,一项技术或一个开源项目,若缺乏广泛的应用场景来检验与验证,其价值必将大打折扣,质量也难以保障。
统信的开源之路
在开源领域的发展征程中,统信软件堪称国内较早一批的“拓荒者”。其创始人同时也是知名开源社区——deepin 社区的缔造者。如今,由统信软件精心运营的 deepin 社区,已成长为国内首屈一指、国际声名远扬的 Linux 开源社区。其发展历程如下:
-
1997年,发起创立了 WHLUG(Wuhan Linux User Group)
-
2004年,发布国内首个基于 Debian 的中文版本 Linux 操作系统 Hiweed Linux 0.3
-
2008年,deepin 收购 Hiweed Linux 团队和品牌,建设 deepin 社区
-
2009年,Hiweed Linux更名为 Linux deepin,同年发布Linux deepin 9.12
-
2010年,发布 Linux deepin 10.12 ,同年召开第一届 DDUC(deepin developer&user conference)
-
2011年,武汉深之度科技有限公司成立
-
2014年,由 Linux deepin 正式更名为 deepin
-
2015年,发布全新架构的 deepin V15,同年加入 Linux基金会
-
2022年,发布国内首个桌面操作系统根社区,脱离 Debian 社区,开始自选软件、自定版本,自行设计软件封包与管理系统
-
2023年,将社区知名项目“玲珑”捐赠给开放原子开源基金会
统信在OurBMC的社区共建
BMC,作为服务器系统的基石,承担着运行监控、远程管理、日志记录及问题调试等核心职责,是服务器软硬件架构中不可或缺的一环。随着云计算与分布式技术的广泛应用,BMC 的重要性愈发凸显,正逐步成为推动行业进步的关键力量。
2023年,飞腾公司牵头开创性地建立了开源 BMC 根社区—— OurBMC 社区,致力于打造一个自主创新、技术先进的全栈式 BMC 软硬件技术生态体系,携手各方力量共同推动国产 BMC 技术的迅猛发展。2023年7月,统信以社区创始成员的身份,深度参与 OurBMC 社区成立大会,为社区发展积极贡献智慧与方案。2024年11月,统信软件作为社区Meetup活动承办方,于广州举办“ OurBMC 社区 Meetup 之走进统信”主题活动,并协助举行了OurBMC 社区技术委员会例会(2024年四季度)和 OurBMC社区运营委员会例会(2024下半年),同时也带来了一场题为《 从Linux OS角度来分析BMC和IPMI 》的精彩专题演讲。
而当我们把目光聚焦到服务器操作系统和 BMC 这一领域时,会发现二者之间存在着千丝万缕的联系。从服务器操作系统的角度来看 BMC,其中联系最为紧密、不可忽视的便是 IPMI(智能平台管理接口)和 RAS(可靠性、可用性和可服务性)技术。接下来,我们将围绕 IPMI和RAS 相关内容展开详细阐述。
服务器操作系统和B
BMC和操作系统之间的桥梁---IPMI
-
IPMI原理
IPMI的整体框架图如下:
上图显示了 IPMI 系统中的各组成元素。 IPMI 系统的核心是一块 BMC(Baseboard Management Controller) 的控制板,BMC 实现了IPMI协议中的大部分功能, 而且BMC并不依赖服务器的 CPU、BIOS 或者操作系统来工作,是一个单独在系统内运行的无代理管理子系统。
BMC 能够提供自主监控、事件记录、日志提取,并作为网关在系统管理软件和IPMB(Intelligent Platform Management Bus)、ICMB (Intelligent Chassis Management Bus) 之间提供服务。
-
IPMI---层次关系
使用 IPMI的必要条件—— BMC硬件、OS(ipmi驱动)、ipmitool 管理工具等几个方面都满足:
(1) 服务器硬件本身提供对IPMI的支持 (硬件)
目前惠普、戴尔和 NEC 等大多数厂商的服务器都支持 IPMI 2.0,但并不是所有服务器都支持,所以应该先通过产品手册或在 BIOS 中确定服务器是否支持 ipmi,也就是说服务器在主板上要具有 BMC 等嵌入式的管理微控制器。
(2) 操作系统提供相应的IPMI驱动 (OS)
使用IPMI的必要条件—— BMC 硬件、OS ( ipmi 驱动)、ipmitool 管理工具等几个方面都满足:
通过操作系统监控服务器自身的IPMI信息时需要系统内核提供相应的支持,linux 系统通过内核对 OpenIPMI(ipmi 驱动)的支持来提供对 ipmi 的系统接口。在使用驱动之前,请先启动该驱动:
-
modprobe ipmi_msghandler --- 必选
-
modprobe ipmi_devintf --- 必选
-
modprobe ipmi_si --- 必选
-
modprobe ipmi_ssif --- 可选
-
modprobe ipmi_poweroff --- 可选
-
modprobe ipmi_watchdog --- 可选
(3) ipmitool 管理工具 (管理工具)
Linux 平台下基于命令行的 IPMI 硬件管理工具 ipmitool。
a) 通过 ipmitool 命令获取获取传感器中的各种监测值和该值的监测阈值
b) ipmi 的远程监控是通过向与 BMC 相连的网络接口发送udp数据包实现的
BMC 记录和输出 RAS 信息
-
RAS的标准定义
(1) Reliability---可靠性
is the probability that a system will produce correct outputs.
• Generally measured as Mean Time Between Failures (MTBF)
• Enhanced by features that help to avoid, detect and repair hardware faults
(2) Availability---可用性
is the probability that a system is operational at a given time
• Generally measured as a percentage of downtime per a period of time
• Often uses mechanisms to detect and correct hardware faults in runtime;
(3) Serviceability (or maintainability)---可服务性
is the simplicity and speed with which a system can be repaired or maintained
• Generally measured on Mean Time Between Repair (MTBR)
-
RAS 分类
目前从硬件层面RAS分为:
CPU RAS:主要L1/L2/L3 cache控制器所报告的错误
PCIE RAS:负责PCI设备所报告的错误
Momery RAS:主要负责内存控制器所报告的错误
-
内核处理框架
在内核与之对应的处理框架叫 EDAC(Error Detection And Correction)。由一个核心(edac_core.ko)和多个内存控制器驱动模块组成。
RAS基本流程框图
硬件发生故障后,通过硬件RAS能力触发中断或异常,通知到 Firmware/OS,软件收到通知后采取相应策略(如 Panic、执行恢复操作或通知用户)的过程,是现代服务器和系统设计中确保高可用性的关键机制。
对于 Linux 驱动来说,包括 mce 驱动、apei 驱动、edac 驱动等;对于用户态 RAS服务来说,包括 mcelog、rasdaemon、perf event 通知等。
CPU RAS、PCIe RAS 和 Memory RAS 分别负责处理器、PCIe 总线和内存的可靠性、可用性和可服务性。在 Linux 内核中,EDAC框架为Memory RAS 提供了强大的支持,通过核心模块和驱动模块的协同工作,确保了内存错误的及时检测和有效处理。这些技术和框架共同构成了服务器系统高可用性的重要基石。
BMC 作为服务器硬件管理的核心单元,通过 IPMI 与 RAS 技术为操作系统提供了独立于软件层的硬件管理能力。IPMI 实现了带外管理的灵活性,而 RAS 技术则保障了硬件的可靠性、可用性和可服务性。未来,随着协议融合、AI 驱动及边缘计算的推进,BMC 将在数据中心与边缘场景中发挥更关键的作用,推动硬件管理向智能化、自动化方向发展。
期望 OurBMC 社区未来能以用户需求为导向,深化 SIG 组价值,推动标准化建设,构建开放生态,强化安全性,筑牢硬件管理底座。统信愿与 OurBMC 社区携手,以技术创新驱动硬件管理升级,以开放协作赋能产业生态,共同构建安全、可靠、智能的服务器硬件管理未来。