[{"data":1,"prerenderedAt":510},["ShallowReactive",2],{"content-doc-\u002Fzh\u002Fblogs\u002Fefficiency-improved150":3,"surround-\u002Fzh\u002Fblogs\u002Fefficiency-improved150":508},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"category":11,"author":12,"body":16,"_type":500,"_id":501,"_source":502,"_file":503,"_stem":504,"_extension":505,"coverImage":152,"plainText":506,"authorNames":507},"\u002Fzh\u002Fblogs\u002Fefficiency-improved150","blogs",false,"","效率提升150%！基于openUBMC的高密存储服务器产品化实践","概要：\n在 AI 与大数据时代，海量数据的存储需求催生了高密度存储服务器的蓬勃发展。然而，当一台服务器容纳的硬盘数量从传统的十几块跃升至 60甚至 70 块时，带外管理系统（BMC）便面临着前所未有的并发压力与性能挑战。\n如何让 BMC 在如此庞大的硬件规模下依然保持高效、稳定、流畅的管理体验，成为产品化落地的关键一环。本文将分享我们基于 openUBMC 与社区协作，成功实现高密存储型服务器产品化的实践经验。","2026\u002F04\u002F14","essentials",[13],{"name":14,"description":15},"华从辉","长江计算 BMC 系统工程师，从事8年嵌入式软件开发，深耕鲲鹏生态，主导多款服务器BMC 及整机柜 RMC 研发。",{"type":17,"children":18,"toc":492},"root",[19,42,49,54,98,103,109,114,122,145,160,168,207,215,236,242,247,255,288,295,303,342,349,357,378,385,391,396,439,444,450,455,460,487],{"type":20,"tag":21,"props":22,"children":23},"element","p",{},[24,31,35,37,40],{"type":20,"tag":25,"props":26,"children":27},"strong",{},[28],{"type":29,"value":30},"text","概要：",{"type":20,"tag":32,"props":33,"children":34},"br",{},[],{"type":29,"value":36},"\n在 AI 与大数据时代，海量数据的存储需求催生了高密度存储服务器的蓬勃发展。然而，当一台服务器容纳的硬盘数量从传统的十几块跃升至 60甚至 70 块时，带外管理系统（BMC）便面临着前所未有的并发压力与性能挑战。",{"type":20,"tag":32,"props":38,"children":39},{},[],{"type":29,"value":41},"\n如何让 BMC 在如此庞大的硬件规模下依然保持高效、稳定、流畅的管理体验，成为产品化落地的关键一环。本文将分享我们基于 openUBMC 与社区协作，成功实现高密存储型服务器产品化的实践经验。",{"type":20,"tag":43,"props":44,"children":46},"h4",{"id":45},"背景当盘多多遇上-bmc-管理瓶颈",[47],{"type":29,"value":48},"背景：当“盘多多”遇上 BMC 管理瓶颈",{"type":20,"tag":21,"props":50,"children":51},{},[52],{"type":29,"value":53},"我们的目标产品是一款典型的高密存储服务器，其核心特点在于极致的存储密度：",{"type":20,"tag":55,"props":56,"children":57},"ul",{},[58,72,85],{"type":20,"tag":59,"props":60,"children":61},"li",{},[62,67,70],{"type":20,"tag":25,"props":63,"children":64},{},[65],{"type":29,"value":66},"双 RAID 卡管理高达 70 块硬盘：",{"type":20,"tag":32,"props":68,"children":69},{},[],{"type":29,"value":71},"\n包括 60 块 3.5 英寸机械盘和 10 块 2.5 英寸盘。",{"type":20,"tag":59,"props":73,"children":74},{},[75,80,83],{"type":20,"tag":25,"props":76,"children":77},{},[78],{"type":29,"value":79},"复杂的硬件拓扑：",{"type":20,"tag":32,"props":81,"children":82},{},[],{"type":29,"value":84},"\n4 个 15 盘位背板通过二级扩展架构连接，支持跨槽位即插即用。",{"type":20,"tag":59,"props":86,"children":87},{},[88,93,96],{"type":20,"tag":25,"props":89,"children":90},{},[91],{"type":29,"value":92},"独特的散热设计：",{"type":20,"tag":32,"props":94,"children":95},{},[],{"type":29,"value":97},"\n采用双型号风扇分区调速，前置风扇负责主板\u002FPCIe 卡散热，后置风扇专责 3U 硬盘仓散热。",{"type":20,"tag":21,"props":99,"children":100},{},[101],{"type":29,"value":102},"在基于 openUBMC 进行开发初期，我们遇到了一个严重影响用户体验的核心痛点：首次上电或 OS 重启后，Web 界面刷新全部 60+ 块硬盘的带外信息需要长达 20分钟以上!对于运维人员而言，这意味着漫长的等待，极大地降低了服务器的可用性和管理效率。",{"type":20,"tag":43,"props":104,"children":106},{"id":105},"问题与挑战多任务并发下的性能瓶颈",[107],{"type":29,"value":108},"问题与挑战：多任务并发下的性能瓶颈",{"type":20,"tag":21,"props":110,"children":111},{},[112],{"type":29,"value":113},"深入分析发现，这一痛点背后是多重挑战的叠加：",{"type":20,"tag":21,"props":115,"children":116},{},[117],{"type":20,"tag":25,"props":118,"children":119},{},[120],{"type":29,"value":121},"挑战一：海量任务并发阻塞",{"type":20,"tag":55,"props":123,"children":124},{},[125,135],{"type":20,"tag":59,"props":126,"children":127},{},[128,133],{"type":20,"tag":25,"props":129,"children":130},{},[131],{"type":29,"value":132},"现象：",{"type":29,"value":134}," 满配 70 盘时，BMC 需要同时处理超过 200 个并发任务，包括RAID 信息刷新、硬盘点灯、SMART 信息读取等。",{"type":20,"tag":59,"props":136,"children":137},{},[138,143],{"type":20,"tag":25,"props":139,"children":140},{},[141],{"type":29,"value":142},"根因：",{"type":29,"value":144}," 有限的 I²C 总线带宽无法承受瞬间爆发的高并发通信压力，导致任务大量阻塞和超时。",{"type":20,"tag":21,"props":146,"children":147},{},[148,155],{"type":20,"tag":149,"props":150,"children":154},"img",{"alt":151,"src":152,"title":153},"alt text","\u002Fcategory\u002Fblog\u002F20250807\u002F%E6%95%88%E7%8E%87%E6%8F%90%E5%8D%87150\u002F1212%20(1).png","60+盘场景，上电需要等待20分钟以上",[],{"type":20,"tag":149,"props":156,"children":159},{"alt":151,"src":157,"title":158},"\u002Fcategory\u002Fblog\u002F20250807\u002F%E6%95%88%E7%8E%87%E6%8F%90%E5%8D%87150\u002F21212.png","任务阻塞超时",[],{"type":20,"tag":21,"props":161,"children":162},{},[163],{"type":20,"tag":25,"props":164,"children":165},{},[166],{"type":29,"value":167},"挑战二：多RAID 场景下的数据获取失败",{"type":20,"tag":55,"props":169,"children":170},{},[171,180],{"type":20,"tag":59,"props":172,"children":173},{},[174,178],{"type":20,"tag":25,"props":175,"children":176},{},[177],{"type":29,"value":132},{"type":29,"value":179}," 在双 RAID 卡场景下，BMC 概率性地无法获取完整的 RAID 数据。",{"type":20,"tag":59,"props":181,"children":182},{},[183,188,190,197,199,205],{"type":20,"tag":25,"props":184,"children":185},{},[186],{"type":29,"value":187},"根因:",{"type":29,"value":189}," 该场景独特,强依赖于闭源组件 ",{"type":20,"tag":191,"props":192,"children":194},"code",{"className":193},[],[195],{"type":29,"value":196},"hwproxy",{"type":29,"value":198}," 和 ",{"type":20,"tag":191,"props":200,"children":202},{"className":201},[],[203],{"type":29,"value":204},"raid sdk",{"type":29,"value":206},",原生机制存在兼容性问题。",{"type":20,"tag":21,"props":208,"children":209},{},[210],{"type":20,"tag":25,"props":211,"children":212},{},[213],{"type":29,"value":214},"挑战三：硬件适配与部署效率低下",{"type":20,"tag":55,"props":216,"children":217},{},[218,227],{"type":20,"tag":59,"props":219,"children":220},{},[221,225],{"type":20,"tag":25,"props":222,"children":223},{},[224],{"type":29,"value":132},{"type":29,"value":226}," 4个相同的 15 盘背板需支持跨槽位即插即用，但传统方案需为每个槽位编写不同的 CSR 配置，物料成本高且部署繁琐。",{"type":20,"tag":59,"props":228,"children":229},{},[230,234],{"type":20,"tag":25,"props":231,"children":232},{},[233],{"type":29,"value":142},{"type":29,"value":235}," 多部件 (如扩展板、Riser卡)的 CSR包需独立升级，每次升级都伴随 BMC 重启，耗时费力。",{"type":20,"tag":43,"props":237,"children":239},{"id":238},"openubmc-方案社区协作驱动的创新优化",[240],{"type":29,"value":241},"openUBMC 方案:社区协作驱动的创新优化",{"type":20,"tag":21,"props":243,"children":244},{},[245],{"type":29,"value":246},"面对这些挑战，我们采取了“本地(场景发现 +开源优化) +社区 (闭源优化)”的协作模式，充分利用 openUBMC 的开放性和灵活性，实施了一系列针对性优化。",{"type":20,"tag":21,"props":248,"children":249},{},[250],{"type":20,"tag":25,"props":251,"children":252},{},[253],{"type":29,"value":254},"功能一：多任务并发访问优化",{"type":20,"tag":55,"props":256,"children":257},{},[258,268,278],{"type":20,"tag":59,"props":259,"children":260},{},[261,266],{"type":20,"tag":25,"props":262,"children":263},{},[264],{"type":29,"value":265},"无效冗余优化：",{"type":29,"value":267}," 重构硬盘点灯逻辑，将非必要的“盘在位”判断优化为精准的“盘定位”，并减少点灯状态确认次数，单次操作节省数百毫秒，累积效应显著。",{"type":20,"tag":59,"props":269,"children":270},{},[271,276],{"type":20,"tag":25,"props":272,"children":273},{},[274],{"type":29,"value":275},"任务分级运行：",{"type":29,"value":277}," 对硬盘任务进行优先级划分，高优先级任务 (如盘符匹配)优先执行，次要任务(如日志收集)延长刷新周期，有效降低瞬时I²C 通信压力。",{"type":20,"tag":59,"props":279,"children":280},{},[281,286],{"type":20,"tag":25,"props":282,"children":283},{},[284],{"type":29,"value":285},"多任务隔离：",{"type":29,"value":287}," 在非首次上电场景下，优先完成 RAID 任务后再更新硬盘信息，避免任务相互干扰。",{"type":20,"tag":21,"props":289,"children":290},{},[291],{"type":20,"tag":149,"props":292,"children":294},{"alt":151,"src":293},"\u002Fcategory\u002Fblog\u002F20250807\u002F%E6%95%88%E7%8E%87%E6%8F%90%E5%8D%87150\u002Fppt%E5%9B%BE1.png",[],{"type":20,"tag":21,"props":296,"children":297},{},[298],{"type":20,"tag":25,"props":299,"children":300},{},[301],{"type":29,"value":302},"功能二：自适应盘符机制",{"type":20,"tag":55,"props":304,"children":305},{},[306,332],{"type":20,"tag":59,"props":307,"children":308},{},[309,314,316,322,324,330],{"type":20,"tag":25,"props":310,"children":311},{},[312],{"type":29,"value":313},"问题解决：",{"type":29,"value":315}," 利用 openUBMC 强大的 CSR 模型和字符串操作能力，设计了一套基于 ",{"type":20,"tag":191,"props":317,"children":319},{"className":318},[],[320],{"type":29,"value":321},"Connector.Slot",{"type":29,"value":323}," 与 ",{"type":20,"tag":191,"props":325,"children":327},{"className":326},[],[328],{"type":29,"value":329},"SR",{"type":29,"value":331}," 公式的自适应公式。",{"type":20,"tag":59,"props":333,"children":334},{},[335,340],{"type":20,"tag":25,"props":336,"children":337},{},[338],{"type":29,"value":339},"实现效果：",{"type":29,"value":341}," 无论 15 盘背板插入哪个槽位，系统都能根据物理链路自动计算并生成正确的对外盘符（如 Disk10-Disk24），真正实现了跨槽位即插即用，省去了硬件拨码开关的成本。",{"type":20,"tag":21,"props":343,"children":344},{},[345],{"type":20,"tag":149,"props":346,"children":348},{"alt":151,"src":347},"\u002Fcategory\u002Fblog\u002F20250807\u002F%E6%95%88%E7%8E%87%E6%8F%90%E5%8D%87150\u002Fppt%E5%9B%BE2.png",[],{"type":20,"tag":21,"props":350,"children":351},{},[352],{"type":20,"tag":25,"props":353,"children":354},{},[355],{"type":29,"value":356},"功能三：高效 CSR 部署",{"type":20,"tag":55,"props":358,"children":359},{},[360,369],{"type":20,"tag":59,"props":361,"children":362},{},[363,367],{"type":20,"tag":25,"props":364,"children":365},{},[366],{"type":29,"value":313},{"type":29,"value":368}," 借助社区推出的 BMC Studio 图形化工具，将多个独立的 CSR 包打包成一个 ALL-in-One 的升级包。",{"type":20,"tag":59,"props":370,"children":371},{},[372,376],{"type":20,"tag":25,"props":373,"children":374},{},[375],{"type":29,"value":339},{"type":29,"value":377}," 部署方式从“多次升级、多次重启”转变为“一次升级、一次重启”，极大提升了多部件产品的部署效率。",{"type":20,"tag":21,"props":379,"children":380},{},[381],{"type":20,"tag":149,"props":382,"children":384},{"alt":151,"src":383},"\u002Fcategory\u002Fblog\u002F20250807\u002F%E6%95%88%E7%8E%87%E6%8F%90%E5%8D%87150\u002Fppt%E5%9B%BE3.png",[],{"type":20,"tag":43,"props":386,"children":388},{"id":387},"看得见的价值从-20-分钟级到-8-分钟的飞跃",[389],{"type":29,"value":390},"看得见的价值：从 20 分钟级到 8 分钟的飞跃",{"type":20,"tag":21,"props":392,"children":393},{},[394],{"type":29,"value":395},"我们的优化带来了立竿见影的效果 ，用数据证明了方案的有效性：",{"type":20,"tag":55,"props":397,"children":398},{},[399,409,419,429],{"type":20,"tag":59,"props":400,"children":401},{},[402,407],{"type":20,"tag":25,"props":403,"children":404},{},[405],{"type":29,"value":406},"性能提升：",{"type":29,"value":408}," 60+ 盘信息刷新时间从 20+ 分钟缩短至8分钟，效率提升150%+。",{"type":20,"tag":59,"props":410,"children":411},{},[412,417],{"type":20,"tag":25,"props":413,"children":414},{},[415],{"type":29,"value":416},"稳定性增强 ：",{"type":29,"value":418}," 双 RAID 场景下 RAID 数据获取成功率从概率性失败提升至100%稳定获取 。",{"type":20,"tag":59,"props":420,"children":421},{},[422,427],{"type":20,"tag":25,"props":423,"children":424},{},[425],{"type":29,"value":426},"部署提效：",{"type":29,"value":428}," CSR 多部件部署时间大幅缩短，运维效率显著提升。",{"type":20,"tag":59,"props":430,"children":431},{},[432,437],{"type":20,"tag":25,"props":433,"children":434},{},[435],{"type":29,"value":436},"成本节约 ：",{"type":29,"value":438}," 自适应盘符机制节省了硬件拨码物料成本，并简化了现场运维部署流程。",{"type":20,"tag":21,"props":440,"children":441},{},[442],{"type":29,"value":443},"此外，整个项目过程中，我们向openUBMC社区贡献了38条经验总结与优化建议，形成了良性的社区共建循环。",{"type":20,"tag":43,"props":445,"children":447},{"id":446},"_5-共建打造更强大的-openubmc-存储生态",[448],{"type":29,"value":449},"5. 共建：打造更强大的 openUBMC 存储生态",{"type":20,"tag":21,"props":451,"children":452},{},[453],{"type":29,"value":454},"高密存储服务器的挑战只是 openUBMC 应用场景的一个缩影。我们相信，openUBMC的未来在于每一位开发者的共同参与和贡献。",{"type":20,"tag":21,"props":456,"children":457},{},[458],{"type":29,"value":459},"在此，我们诚挚邀请各位开发者、合作伙伴加入 openUBMC 社区：",{"type":20,"tag":55,"props":461,"children":462},{},[463,471,479],{"type":20,"tag":59,"props":464,"children":465},{},[466],{"type":20,"tag":25,"props":467,"children":468},{},[469],{"type":29,"value":470},"如果您也在进行高密存储、AI 服务器或其他创新硬件的产品化开发，欢迎分享您的挑战与解决方案。",{"type":20,"tag":59,"props":472,"children":473},{},[474],{"type":20,"tag":25,"props":475,"children":476},{},[477],{"type":29,"value":478},"如果您对 BMC 的性能优化、硬件抽象、自动化部署等方向有独到见解，期待您的代码贡献。",{"type":20,"tag":59,"props":480,"children":481},{},[482],{"type":20,"tag":25,"props":483,"children":484},{},[485],{"type":29,"value":486},"让我们一同将“问题场景”前置为“需求场景”，推动社区基线版本更贴合产业实际，共同构建一个繁荣、高效、稳定的开源 BMC 生态！",{"type":20,"tag":21,"props":488,"children":489},{},[490],{"type":29,"value":491},"加入我们，让每一次“盘多多”的挑战，都成为 openUBMC 进化的新动力！",{"title":7,"searchDepth":493,"depth":493,"links":494},4,[495,496,497,498,499],{"id":45,"depth":493,"text":48},{"id":105,"depth":493,"text":108},{"id":238,"depth":493,"text":241},{"id":387,"depth":493,"text":390},{"id":446,"depth":493,"text":449},"markdown","content:zh:blogs:efficiency- improved150.md","content","zh\u002Fblogs\u002Fefficiency- improved150.md","zh\u002Fblogs\u002Fefficiency- improved150","md","概要：  \n在 AI 与大数据时代，海量数据的存储需求催生了高密度存储服务器的蓬勃发展。然而，当一台服务器容纳的硬盘数量从传统的十几块跃升至 60甚至 70 块时，带外管理系统（BMC）便面临着前所未有的并发压力与性能挑战。  \n如何让 BMC 在如此庞大的硬件规模下依然保持高效、稳定、流畅的管理体验，成为产品化落地的关键一环。本文将分享我们基于 openUBMC 与社区协作，成功实现高密存储型服务器产品化的实践经验。 背景：当“盘多多”遇上 BMC 管理瓶颈 我们的目标产品是一款典型的高密存储服务器，其核心特点在于极致的存储密度： 双 RAID 卡管理高达 70 块硬盘：  \n包括 60 块 3.5 英寸机械盘和 10 块 2.5 英寸盘。 复杂的硬件拓扑：  \n4 个 15 盘位背板通过二级扩展架构连接，支持跨槽位即插即用。 独特的散热设计：  \n采用双型号风扇分区调速，前置风扇负责主板\u002FPCIe 卡散热，后置风扇专责 3U 硬盘仓散热。 在基于 openUBMC 进行开发初期，我们遇到了一个严重影响用户体验的核心痛点：首次上电或 OS 重启后，Web 界面刷新全部 60+ 块硬盘的带外信息需要长达 20分钟以上!对于运维人员而言，这意味着漫长的等待，极大地降低了服务器的可用性和管理效率。 问题与挑战：多任务并发下的性能瓶颈 深入分析发现，这一痛点背后是多重挑战的叠加： 挑战一：海量任务并发阻塞 现象：  满配 70 盘时，BMC 需要同时处理超过 200 个并发任务，包括RAID 信息刷新、硬盘点灯、SMART 信息读取等。 根因：  有限的 I²C 总线带宽无法承受瞬间爆发的高并发通信压力，导致任务大量阻塞和超时。   挑战二：多RAID 场景下的数据获取失败 现象：  在双 RAID 卡场景下，BMC 概率性地无法获取完整的 RAID 数据。 根因:  该场景独特,强依赖于闭源组件  hwproxy  和  raid sdk ,原生机制存在兼容性问题。 挑战三：硬件适配与部署效率低下 现象：  4个相同的 15 盘背板需支持跨槽位即插即用，但传统方案需为每个槽位编写不同的 CSR 配置，物料成本高且部署繁琐。 根因：  多部件 (如扩展板、Riser卡)的 CSR包需独立升级，每次升级都伴随 BMC 重启，耗时费力。 openUBMC 方案:社区协作驱动的创新优化 面对这些挑战，我们采取了“本地(场景发现 +开源优化) +社区 (闭源优化)”的协作模式，充分利用 openUBMC 的开放性和灵活性，实施了一系列针对性优化。 功能一：多任务并发访问优化 无效冗余优化：  重构硬盘点灯逻辑，将非必要的“盘在位”判断优化为精准的“盘定位”，并减少点灯状态确认次数，单次操作节省数百毫秒，累积效应显著。 任务分级运行：  对硬盘任务进行优先级划分，高优先级任务 (如盘符匹配)优先执行，次要任务(如日志收集)延长刷新周期，有效降低瞬时I²C 通信压力。 多任务隔离：  在非首次上电场景下，优先完成 RAID 任务后再更新硬盘信息，避免任务相互干扰。  功能二：自适应盘符机制 问题解决：  利用 openUBMC 强大的 CSR 模型和字符串操作能力，设计了一套基于  Connector.Slot  与  SR  公式的自适应公式。 实现效果：  无论 15 盘背板插入哪个槽位，系统都能根据物理链路自动计算并生成正确的对外盘符（如 Disk10-Disk24），真正实现了跨槽位即插即用，省去了硬件拨码开关的成本。  功能三：高效 CSR 部署 问题解决：  借助社区推出的 BMC Studio 图形化工具，将多个独立的 CSR 包打包成一个 ALL-in-One 的升级包。 实现效果：  部署方式从“多次升级、多次重启”转变为“一次升级、一次重启”，极大提升了多部件产品的部署效率。  看得见的价值：从 20 分钟级到 8 分钟的飞跃 我们的优化带来了立竿见影的效果 ，用数据证明了方案的有效性： 性能提升：  60+ 盘信息刷新时间从 20+ 分钟缩短至8分钟，效率提升150%+。 稳定性增强 ：  双 RAID 场景下 RAID 数据获取成功率从概率性失败提升至100%稳定获取 。 部署提效：  CSR 多部件部署时间大幅缩短，运维效率显著提升。 成本节约 ：  自适应盘符机制节省了硬件拨码物料成本，并简化了现场运维部署流程。 此外，整个项目过程中，我们向openUBMC社区贡献了38条经验总结与优化建议，形成了良性的社区共建循环。 5. 共建：打造更强大的 openUBMC 存储生态 高密存储服务器的挑战只是 openUBMC 应用场景的一个缩影。我们相信，openUBMC的未来在于每一位开发者的共同参与和贡献。 在此，我们诚挚邀请各位开发者、合作伙伴加入 openUBMC 社区： 如果您也在进行高密存储、AI 服务器或其他创新硬件的产品化开发，欢迎分享您的挑战与解决方案。 如果您对 BMC 的性能优化、硬件抽象、自动化部署等方向有独到见解，期待您的代码贡献。 让我们一同将“问题场景”前置为“需求场景”，推动社区基线版本更贴合产业实际，共同构建一个繁荣、高效、稳定的开源 BMC 生态！ 加入我们，让每一次“盘多多”的挑战，都成为 openUBMC 进化的新动力！",[14],[509,509],null,1784971487738]