IPMI watchdogの設定方法

[対象となる製品のバージョン]

 

Asianux Server4 SP1 for x86(32bit)
Asianux Server4 SP1 for x86-64(64bit)

Asianux Server 3 for x86(32bit)
Asianux Server 3 for x86-64(64bit)

 

[概要]

本ドキュメントではカーネルのIPMI watchdogの設定方法について説明します。

IPMI watchdogとはIPMI(Intelligent Platform Management Interface) watchdog timer機能により、なんらかの原因でシステムがフリーズした状態を検出する機能です。これによりシステムのデッドロック、または無限ループなどの不具合を検出することが可能です。

また検出後にダンプ採取、自動でハードウェアリセットなど任意の動作をさせることができます。

 

[前提条件]

IPMIコントローラがサーバに搭載されている必要があります。

 確認するにはサーバのスペックを確認していだくか、下記の方法で確認が可能です。

 

 IPMIコントローラが備わっている場合は以下のコマンドが成功しモジュールをロードすることができます。

 

# modprobe ipmi_si

 

[設定手順]

1.IPMI watchdogの設定

  /etc/sysconfig/ipmiを任意のエディタで開き以下の行を編集します。以下は設定例です。

 

・・・

IPMI_WATCHDOG=yes

・・・

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

・・・

 

  各パラメータの意味は以下になります。

 

timeout システムがフリーズ状態と判断する時間を指定します。watchdogが最後にリセットされてからaction=で指定した動作をさせるタイムアウト時間になります。単位は秒となります。
action

reset, none, power_cycle, power_offのいずれかを指定します。

・resetはH/Wリセットでリブートします。

・noneはなにもしません。

・power_cycleはいったん電源をオフにしたあと、オンにます。

・power_offは電源をオフにします。

pretimeout preaction=で指定した動作をさせるタイムアウト時間を指定します。単位は秒となります。
preaction

pre_none,pre_smi, pre_nmi, pre_intのいずれかを指定します。preopを動作させる通知手段を設定します。

・pre_noneはなにもしません。

・pre_smiはIPMI物理インターフェースであるSMI(System Management
  Interface)を使用しIPMIへ通知します。

・pre_nmiはNMI割り込みにより通知します。

・pre_intは割り込みにより通知します。

preop

preop_none, preop_panic のいずれかを指定します。

・preop_noneはなにもしません。

・preop_panicはカーネルパニックを発生させます。

 

 

2.IPMI watchdogドライバのロード

  () 以下のコマンドにて IPMI watchdogドライバをロードします。

 

# service ipmi start

Starting ipmi drivers: [ OK ]

Starting ipmi_watchdog driver: [ OK ]

 

  () システムの起動時に自動でIPMI watchdogを有効にするには、以下のコマンドを実行します。

 

# chkconfig ipmi on

 

  ドライバのロード後には以下のメッセージが出力されます。

 

# dmesg

・・・・

ipmi: Found new BMC (man_id: 0x0002a2, prod_id: 0x0000, dev_id: 0x20)

IPMI kcs interface initialized

ipmi device interface

IPMI Watchdog: driver initialized

 

以上でデバイスファイル/dev/watchdogが作成されます。

 

 

3.watchdogデーモンの起動

   () /etc/watchdog.confを開いて以下の行をコメントアウトします。

 

#watchdog-device = /dev/watchdog

 

 () watchdogデーモンを起動します。

 

# service watchdog start

 

 () システムの起動時に自動でwatchdogデーモンを起動するには、以下のコマンドを実行します。

 

# chkconfig watchdog on

 

 

[注意事項]

本ドキュメントの内容は、予告なしに変更される場合があります。

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行ったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[更新履歴]

  2012 1月27日 watchdogの起動方法を追加

  2010 2月  9日 新規作成