4.5. ウォッチドッグの設定

4.5.1. 仮想マシンへのウォッチドッグカードの追加

仮想マシンにウォッチドッグカードを追加して、オペレーティングシステムの応答性を監視することができます。

手順4.9 仮想マシンへのウォッチドッグカードの追加

  1. 仮想マシン タブをクリックして、仮想マシンを 1 つ選択します。
  2. 編集 をクリックします。
  3. 高可用性 タブをクリックします。
  4. ウォッチドッグモデル のドロップダウンリストから使用するウォッチドッグモデルを選択します。
  5. ウォッチドッグアクション のドロップダウンリストからアクションを 1 つ選択します。これは、ウォッチドッグがトリガーされた場合に仮想マシンが取るアクションです。
  6. OK をクリックします。

4.5.2. ウォッチドッグのインストール

仮想マシンにアタッチされたウォッチドッグカードをアクティブ化するには、その仮想マシンに watchdog パッケージをインストールして watchdog サービスを起動する必要があります

手順4.10 ウォッチドッグのインストール

  1. ウォッチドッグカードがアタッチされた仮想マシンにログインします。
  2. watchdog パッケージおよび依存関係をインストールします。
    # yum install watchdog
  3. /etc/watchdog.conf ファイルを編集して、以下の行のコメントを解除します。
    watchdog-device = /dev/watchdog
  4. 変更を保存します。
  5. watchdog サービスを起動して、このサービスがブート時に起動されるようにします。
    • Red Hat Enterprise Linux 6 の場合:
      # service watchdog start
      # chkconfig watchdog on
    • Red Hat Enterprise Linux 7 の場合:
      # systemctl start watchdog.service
      # systemctl enable watchdog.service

4.5.3. ウォッチドッグ機能の確認

ウォッチドッグカードが仮想マシンにアタッチされ、watchdog サービスがアクティブな状態であることを確認します。

警告

以下の手順は、ウォッチドッグの機能をテストする目的のみで記載しています。実稼働環境のマシンでは決して実行しないでください。

手順4.11 ウォッチドッグ機能の確認

  1. ウォッチドッグカードがアタッチされた仮想マシンにログインします。
  2. ウォッチドッグカードが仮想マシンによって認識されていることを確認します。
    # lspci | grep watchdog -i
  3. 以下のコマンドを実行して、ウォッチドッグがアクティブな状態であることを確認します。
    • カーネルパニックをトリガーします。
      # echo c > /proc/sysrq-trigger
    • watchdog サービスを終了します。
      # kill -9 `pgrep watchdog`
ウォッチドッグタイマーがリセットできなくなり、ウォッチドッグカウンターはその後すぐにゼロに達します。ウォッチドッグカウンターがゼロに達すると、仮想マシンの ウォッチドッグ ドロップダウンメニューで指定したアクションが実行されます。

4.5.4. watchdog.conf 内のウォッチドッグ用パラメーター

以下の一覧には、/etc/watchdog.conf ファイルで使用可能な watchdog サービスの設定オプションをまとめています。オプションを設定するには、そのオプションのコメントを解除して、変更を保存した後に watchdog サービスを再起動する必要があります。

注記

watchdog サービスの設定と watchdog コマンドのオプションについての詳しい説明は watchdog の man ページを参照してください。

表4.2 watchdog.conf の変数

変数名デフォルト値備考
ping該当なしアドレスが到達可能かどうかを検証するためにウォッチドッグが ping の送信を試みる IP アドレス。ping の行をさらに追加して複数の IP アドレスを指定することができます。
interface該当なしウォッチドッグがモニターしてネットワークトラフィックの有無を確認するネットワークインターフェース。interface の別行に追記して複数のネットワークインターフェースを指定することができます。
file/var/log/messagesウォッチドッグが変更をモニターするローカルシステム上のファイル。file の行をさらに追加して複数のファイルを指定することができます。
change1407ウォッチドッグの間隔の数。この値を超えると、ウォッチドッグがファイルへの変更を確認します。change の行は、file 行の直後の行に指定する必要があります。この設定は、change 行の直前の file 行に適用されます。
max-load-124仮想マシンが 1 分間維持することのできる負荷の最大平均。この平均値を超えると、ウォッチドッグがトリガーされます。値を 0 に設定すると、この機能は無効となります。
max-load-518仮想マシンが 5 分間維持することのできる負荷の最大平均。この平均値を超えると、ウォッチドッグがトリガーされます。値を 0 に設定すると、この機能は無効となります。デフォルトでは、この変数の値は max-load-1 の約 3/4 の値に設定されます。
max-load-1512仮想マシンが 15 分間維持することのできる負荷の最大平均。この平均値を超えると、ウォッチドッグがトリガーされます。値を 0 に設定すると、この機能は無効となります。デフォルトでは、この変数の値は max-load-1 の約 1/2 の値に設定されます。
min-memory1仮想マシンに空けておく必要のある仮想メモリー容量。この値は、ページ単位で計測されます。値を 0 に設定すると、この機能は無効となります。
repair-binary/usr/sbin/repairウォッチドッグのトリガー時に実行されるローカルシステム上のバイナリーファイルのパスとファイル名。指定したファイルによって、ウォッチドッグがウォッチドッグカウンターをリセットするのを妨げている問題が解決される場合には、ウォッチドッグアクションはトリガーされません。
test-binary該当なし各期間にウォッチドッグが実行を試みるローカルシステム上のバイナリーファイルのパスとファイル名。テストバイナリーにより、ユーザー定義のテスト用ファイルを指定することができます。
test-timeout該当なしユーザー定義のテストを実行することができる時間制限 (秒単位)。値を 0 に設定すると、ユーザー定義のテストを期間無制限で継続することができます。
temperature-device該当なしwatchdog サービスが実行されているマシンの温度を確認するデバイスのパスと名前
max-temperature120watchdog サービスが実行されているマシンの最大許容温度。この温度に達するとマシンが停止します。単位換算は考慮されないため、使用しているウォッチドッグカードに適合した値を指定する必要があります。
adminrootメール通知の送信先メールアドレス
interval10ウォッチドッグデバイスへの更新の間隔 (秒単位)。ウォッチドッグデバイスは、少なくとも毎分に 1 回更新があることを想定し、1 分間に更新がなかった場合には、ウォッチドッグがトリガーされます。この 1 分間はウォッチドッグデバイスのドライバーにハードコードされており、設定はできません。
logtick1watchdog サービスで詳細ログ記録を有効にすると、watchdog サービスは定期的にログメッセージをローカルシステムに書き込みます logtick の値はメッセージが書き込まれるウォッチドッグの間隔を示します。
realtimeyesウォッチドッグがメモリー内にロックされるかどうかを指定します。値を yes に指定すると、ウォッチドッグはメモリー内にロックされ、メモリーからスワップアウトされませんが、値を no に指定すると、ウォッチドッグはメモリーからスワップアウトできるようになります。ウォッチドッグがメモリーからスワップアウトされた後、ウォッチドッグカウンターがゼロに達する前にスワップインで書き戻されなかった場合には、ウォッチドッグがトリガーされます。
priority1realtime の値が yes に設定されている場合のスケジュールの優先順位
pidfile/var/run/syslogd.pid対象のプロセスがアクティブかどうかを確認するためにウォッチドッグが監視する PID ファイルのパスとファイル名。対象のプロセスがアクティブでない場合には、ウォッチドッグがトリガーされます。