Blame SOURCES/README.watchdog.ipmi

4b90d8
4b90d8
Instructions for how to set up the watchdog daemon to work with IPMI's hardware watchdog
4b90d8
----------------------------------------------------------------------------------------
4b90d8
4b90d8
First, verify that the ipmitool utility is present on the system to allow
4b90d8
the watchdog timer to be turned off via the command line (which ipmitool).
4b90d8
This will allow the hardware watchdog timer to be turned off gracefully
4b90d8
should it ever become necessary.   If ipmitool is not present, install
4b90d8
it or download the latest version from http://ipmitool.sourceforge.net and
4b90d8
build and install it on your system.
4b90d8
4b90d8
Next, prior to starting up the watchdog daemon, the BMC BIOS should be set 
4b90d8
to enable the IPMI/BMC hardware watchdog timer, the OpenIPMI watchdog driver 
4b90d8
module should be inserted with the desired configuration/startup settings, 
4b90d8
and the watchdog daemon's configuration file should be modified to use /dev/watchdog:
4b90d8
4b90d8
     1. To setup the IPMI/BMC BIOS to enable the hardware watchdog
4b90d8
     timer, see BMC documentation. The main settings in the BMC BIOS 
4b90d8
     requiring modification to turn on the IPMI watchdog timer are: 
4b90d8
4b90d8
      - Set the BMC POST Watchdog to "ENABLED".
4b90d8
      - Set the BMC POST Watchdog Timeout to "5 Minutes".
4b90d8
4b90d8
     2. To insert the OpenIPMI watchdog driver module with the
4b90d8
     desired configuration settings, two steps are necessary: 
4b90d8
4b90d8
        i.) Configure the OpenIPMI watchdog driver by editing the 
4b90d8
            /etc/sysconfig/ipmi configuration file:
4b90d8
4b90d8
          - Set "IPMI_WATCHDOG=yes".
4b90d8
          - Set desired options via the IPMI_WATCHDOG_OPTIONS
4b90d8
            config entry.
4b90d8
4b90d8
           EXAMPLE: 'IPMI_WATCHDOG_OPTIONS="timeout=60 start_now=1 \
4b90d8
                   preop=preop_give_data action=power_cycle pretimeout=1" '
4b90d8
4b90d8
            Execute "modinfo ipmi_watchdog" for more detailed information
4b90d8
            on the available ipmi watchdog timer options.
4b90d8
4b90d8
          - Execute "service ipmi start" (the watchdog driver starts 
4b90d8
            automatically along with the other ipmi drivers).
4b90d8
4b90d8
          IMPORTANT: If "start_now=1" has been set as one of the 
4b90d8
               configuration options, be sure to start up the watchdog 
4b90d8
               daemon before the BMC timer expires!
4b90d8
4b90d8
       ii.) Set the OpenIPMI daemon and watchdog to start during bootup:
4b90d8
4b90d8
          - chkconfig ipmi on
4b90d8
          - chkconfig watchdog on
4b90d8
4b90d8
4b90d8
     3. Configure the watchdog daemon by editing the 
4b90d8
     /etc/watchdog.conf configuration file: 
4b90d8
4b90d8
      - Uncomment the "watchdog-device = /dev/watchdog" line.
4b90d8
      - Ensure that "realtime = yes" and "priority = 1" are set and not
4b90d8
        commented-out.
4b90d8
      - Uncomment the "interval" line, and set the interval to be less 
4b90d8
        than what you set the timeout option to be in the /etc/sysconfig/ipmi
4b90d8
        file (ex "timeout=60" so you might set interval to 50).
4b90d8
4b90d8
     So in the example described herein, the BMC BIOS setting is in 
4b90d8
     minutes (5), and the "interval" and ipmi_watchdog "timeout" settings 
4b90d8
     are both in seconds (50 and 60 respectively).  Therefore, the BMC 
4b90d8
     hardware watchdog timer is set to expire and trigger a system power 
4b90d8
     cycle unless reset by the watchdog daemon within 5 minutes, and the 
4b90d8
     watchdog daemon will reset the timer every 60 seconds.
4b90d8
4b90d8
4b90d8
     4. Start the Watchdog daemon:
4b90d8
4b90d8
      - execute "service watchdog start" 
4b90d8
4b90d8
4b90d8
IMPORTANT:  To gracefully stop/kill the watchdog daemon, be sure
4b90d8
to use "service watchdog stop" (which executes "kill -s SIGTERM <pid>")
4b90d8
and do *not* use "kill -9 <pid>".  Using "kill -9 <pid>" will cause the 
4b90d8
daemon to be shut off without stopping the BMC's watchdog timer, thus 
4b90d8
a system reboot will be triggered when the BMC's watchdog timer expires.
4b90d8
4b90d8
Alternately, or in case the watchdog daemon is killed "ungracefully", 
4b90d8
you can stop the BMC timer by executing the following ipmitool utility 
4b90d8
command before the watchdog timer expires:
4b90d8
4b90d8
 # ipmitool -v raw 0x06 0x24 0x04 0x01 0x00 0x10 0x00 0x0a
4b90d8
4b90d8
----------------------------------------------------------------------
4b90d8
4b90d8
To test the watchdog after system configuration and setup:
4b90d8
4b90d8
.  Use kill -9 on the watchdog daemon so it doesn't shut down the watchdog daemon 
4b90d8
   gracefully.  Verify that the system gets reset after the BMC timer expires.
4b90d8
 
4b90d8
.  Use "service watchdog stop" and verify that the watchdog daemon shuts off
4b90d8
   the BMC watchdog timer gracefully (the system doesn't get reset).
4b90d8
4b90d8
.  Set the timer on the watchdog daemon to be greater than the time set in
4b90d8
   the BMC BIOS for system reset and verify that the system is reset.
4b90d8
4b90d8
.  Set the timer on the daemon to be less than the time set in the
4b90d8
   BMC timer and verify that the BMC watchdog is poked regularly and the 
4b90d8
   system is not reset.
4b90d8
4b90d8
.  Test some of the other actions the BMC can take when the watchdog timer 
4b90d8
   goes off (see modinfo ipmi_watchdog for some other settings to try).
4b90d8