IPMI看门狗计时器的使用方法

要使用IPMI看门狗计时器,需要先启动将内核配置为CONFIG_IPMI_WATCHDOG=y的内核。在RHEL6中,接下来需要对配置文件/etc/sysconfig/ipmi进行如下编辑。


cat/etc/sysconfg/ipmi

……

IPMI_WATCHDOG=yes

……

IPMI_WATCHDOG_OPTIONS="timeout=60 action=reset pretimeout=30 preaction=pre_int preop=preop_panic"

……


表7-10~表7-13分别表示各参数的意义。图7-1所示为timeout、pretimeout、action、preaction的关系。

IPMI看门狗计时器的使用方法 - 图1

IPMI看门狗计时器的使用方法 - 图2

IPMI看门狗计时器的使用方法 - 图3

IPMI看门狗计时器的使用方法 - 图4

IPMI看门狗计时器的使用方法 - 图5

图 7-1 timeout、pretimeout、action、preaction的关系

设置nowayout参数后,就可以根据计时器不停止的情况,在reboot/shutdown命令执行后期检测出watchdog守护进程结束后的死机。

指定pre_nmi参数后,会通过NMI通知IPMI看门狗计时器超时,因此在禁止中断状态下preaction、preop也会运行。pre_nmi在RHEL5系列中不能使用。可以在上游内核、RHEL6中使用。

在/etc/sysconfig/ipmi中进行设置后,启动ipmi服务,安装IPMI模块。

启动ipmi服务,安装IPMI模块。


service ipmi start

lsmod

Module Size Used by

ipmi_watchdog 53344 0

ipmi_devintf 44944 0

ipmi_si 77644 1

ipmi_msghandler 71768 3 ipmi_watchdog, ipmi_devintf, ipmi_si

……


在RHEL6中启动的是watchdog守护进程。


service watchdog start


watchdog守护进程的设置使用/etc/watchdog.conf来进行。设置如下。


vi/etc/watchdog.conf

……

watchdog-device=/dev/watchdog

……


启动watchdog守护进程,就会启动IPMI看门狗计时器。watchdog守护进程定期对IPMI看门狗计时器进行重启(实时处理)。IPMI看门狗计时器的结构如图7-2所示。

系统正常运行时,调度watchdog守护进程,因此实时处理继续进行,但系统如果死机,watchdog守护进程作出的实时处理就会中断。这样计时器就不重启,而IPMI看门狗计时器超时。此时的运行情况如图7-3所示。

IPMI看门狗计时器的使用方法 - 图6

图 7-2 正常时的IPMI看门狗计时器

IPMI看门狗计时器的使用方法 - 图7

图 7-3 异常时的IPMI看门狗计时器

设置为start_now=1时,把ipmi_watchdog模块安装到内核时IPMI看门狗计时器就会开始运行,因此需要选择使watchdog守护进程启动前不会超时的pretimeout/timeout时间。