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的关系。
图 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所示。
图 7-2 正常时的IPMI看门狗计时器
图 7-3 异常时的IPMI看门狗计时器
设置为start_now=1时,把ipmi_watchdog模块安装到内核时IPMI看门狗计时器就会开始运行,因此需要选择使watchdog守护进程启动前不会超时的pretimeout/timeout时间。