近日,OurBMC 社区理事成员单位昆仑太科(北京)技术股份有限公司基于开放源子大赛的成果梳理了一份成熟的可落地方案——《基于OurBMC平台的硬盘故障预测实现方案》。该方案为产业化落地 SIG 的首篇解决方案,极大推动了社区产业化落地的发展和工作。
产业化落地 SIG 包括软硬件及系统解决方案,重点对产业化落地中遇到的困难点进行分析与解决,并贡献解决方案,为行业产业化做贡献。
《基于OurBMC平台的硬盘故障预测实现方案》内容核心包括故障预测模型训练和故障预测功能与 OurBMC 的结合两部分,方案中使用 SVM 机器学习算法实现了对硬盘数据的故障预测模型,提高了预测的准确性。同时,将故障预测模型文件编译打包到 OurBMC 的文件系统中,借助 OurBMC 的接口和 web 端最终实现硬盘故障预测。
硬盘故障预测整体方案
硬盘故障预测整体框架如下图所示,分为模型训练和故障预测两个阶段。模型训练阶段主要是利用硬盘的 SMART 信息,通过机器学习算法生成故障预测模型。在故障预测阶段,则需要通过 BMC 上的接口来获取服务器主机的硬盘信息,然后传给故障预测模块,故障预测模块则要利用训练阶段生成的模型进行故障预测,之后再调用告警模块接口进行上报,以便远程监控系统能够获知。
OurBMC上硬盘故障预测功能的实现
在 OurBMC 平台上,要实现硬盘故障预测功能,就要利用之前训练好的预测模型。把训练生成的模型文件通过编译打包到 BMC 的文件系统中,同时在 BMC 上需要创建一个后台的故障预测服务来执行预测任务。考虑到硬盘状态信息的变化不会特别频繁,可以设置预测频率为每天一次。
硬盘故障预测服务在系统启动可由 systemd 进行启动,在服务启动时,需要把预置的预测模型读取到内存中,通过加载该模型,对预测的模型对象进行初始化,以便后续能正常进行预测。硬盘故障预测流程如图:
硬盘故障预测效果演示
本方案中的模型依赖于大量已发生故障硬盘的 SMART 信息,数据量越大,模型越可靠,准确性越好。本方案选择了故障硬盘和非故障硬盘的比约为 1:2,其结果如下,本方案故障预测的准确性高达 94%。
以下是基于 OurBMC 平台实现的 demo 演示示意图。
关注 OurBMC 公众号,后台回复 “解决方案”,获取《基于OurBMC平台的硬盘故障预测实现方案》完整版。
欢迎各成员单位及开发者积极投稿,为社区建设添砖加瓦,投稿请联系:
关于OurBMC
OurBMC 社区是开发者交流和创新 BMC 开源技术的根社区,社区秉承 “开放、平等、协作、创新” 原则,坚持 “开源、共建” 的合作方式,旨在共同推进 BMC 技术快速发展,辐射上下游形成产业共振,加速构建繁荣的信息系统软硬件生态。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。