BMC hang后恢复的几种方法

BMC hang住后恢复的几种方法


在服务器上一般都会有BMC来检测系统并报告系统的健康状况,从而保证服务器的连续稳定运行。由于BMC本身也是一个由硬件、操作系统、监控应用程序组成的软硬件系统,本身也可能发生故障,甚至导致无法响应系统发过来的IPMI请求,这就是所谓的BMC hang。那么,当BMC出现hang的情景后,有哪些措施可以尝试恢复呢?


首先,可以尝试重新加载服务器端host上BMC的驱动,可以运行下面命令去检查之前IPMI驱动有没有加载:

[root@localhost ~]#lsmod | grep “ipmi”

如果这个命令返回空,就表明当前操作系统没有加载IPMI依赖的驱动,需要手动加载解决。否则可以先

rmmod掉先前的驱动,然后参考下面的命令重新加载:


[root@localhost ~]# cd /usr/lib/modules/3.10.0
3.10.0/                3.10.0-229.el7.x86_64/
[root@localhost ~]# cd /usr/lib/modules/3.10.0-229.el7.x86_64/kernel/drivers/char/ipmi/
[root@localhost ipmi]# ls
ipmi_devintf.ko  ipmi_msghandler.ko  ipmi_poweroff.ko  ipmi_si.ko  ipmi_watchdog.ko
[root@localhost ipmi]# lsmod | grep "ipmi"
ipmi_si                53353  0
ipmi_msghandler        45603  1 ipmi_si
[root@localhost ipmi]# rmmod ipmi_si  ipmi_msghandler
[root@localhost ipmi]# modprobe ipmi_devintf.ko
modprobe: FATAL: Module ipmi_devintf.ko not found.
[root@localhost ipmi]# modprobe ipmi_devintf
[root@localhost ipmi]# modprobe ipmi_si
[root@localhost ipmi]# modprobe ipmi_msghandler
You have new mail in /var/spool/mail/root
[root@localhost ipmi]# modprobe ipmi_poweroff
[root@localhost ipmi]# modprobe ipmi_watchdog
加载完成之后,可以再次确认驱动是否加载成功:


[root@localhost ipmi]# lsmod | grep "ipmi"
ipmi_watchdog          24912  0
ipmi_poweroff          14366  0
ipmi_si                53353  2
ipmi_devintf           17572  0
ipmi_msghandler        45603  4 ipmi_devintf,ipmi_poweroff,ipmi_watchdog,ipmi_si


末了,还可以运行一些IPMI命令进一步检查确认,是否IPMI可用:

[root@localhost ipmi]# ipmitool sel elist
   1 | 12/29/2015 | 06:51:39 | Processor | Configuration Error | Asserted
   2 | 12/29/2015 | 06:55:26 | Processor | Configuration Error | Asserted
   3 | 12/29/2015 | 06:55:27 | Processor | Configuration Error | Asserted
   4 | 01/13/2016 | 13:43:24 | Watchdog 2 #0xca | Timer interrupt | Asserted

如果上面办法不能解决问题,可能是KCS接口hang住了,可以参考下面的方法解决。


其次,可以尝试通过网络LAN接口能否重启BMC。

比如有一台服务器上的BMC IP为192.168.1.95,并且已经配置远程用户和密码且允许登录,那么可以尝试下面的命令去重启BMC:
[root@localhost ~]# ipmitool -I lanplus -H 192.168.1.95 -U admin -P admin mc reset cold
Sent cold reset command to MC

如果能够BMC重启,再在服务器端运行IPMI命令,观察是否命令能够运行。如果能够运行,就说明KCS接口已经正常。


再者,可以考虑完全把BMC系统掉电,然后重新上电。MC通常可以控制给host上电、关电,它自身除非AC掉电(拔掉电源)总是处于有电状态。因此,这个时候需要拔掉整个BMC和host主机的AC电源,过一会后再重新上电。等系统起来后,再运行IPMI命令看BMC是否正常。如果一切正常,就表明已经AC cycle后BMC已经恢复。


最后,可以连接上BMC的输出串口,检查重新上电后它是否有输出、以及输出停留的地方,以此来定位BMC无法启动的现场,常见的原因包括:

1. BMC 固件被不小心改变;

2.看门狗超时设置太小,某个启动项耗时太长导致系统不停重启、超时、重启.....

3. BMC 固件升级或者在不停地升级。





优秀的个人博客,低调大师

微信关注我们

原文链接:https://blog.51cto.com/xiamachao/1773434

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。