4.6. Watchdog の設定

4.6.1. 仮想マシンへの Watchdog カードの追加

仮想マシンに watchdog カードを追加して、オペレーティングシステムの応答を監視できます。

手順

  1. ComputeVirtual Machines をクリックし、仮想マシンを選択します。
  2. Edit をクリックします。
  3. High Availability タブをクリックします。
  4. Watchdog Model ドロップダウンリストから、使用する Watchdog モデルを選択します。
  5. Watchdog Action ドロップダウンリストから、アクションを選択します。これは、Watchdog がトリガーされる際に仮想マシンが実行するアクションです。
  6. OK をクリックします。

4.6.2. Watchdog のインストール

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

Watchdog のインストール

  1. Watchdog カードがアタッチされている仮想マシンにログインします。
  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.6.3. Watchdog 機能の確認

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

警告

この手順は、Watchdog の機能をテストするためにのみ提供されます。実稼働マシンでは実行しないでください。

Watchdog 機能の確認

  1. Watchdog カードがアタッチされている仮想マシンにログインします。
  2. Watchdog カードが仮想マシンによって識別されていることを確認します。

    # lspci | grep watchdog -i
  3. 以下のコマンドのいずれかを実行して、Watchdog がアクティブであることを確認します。

    • カーネルパニックをトリガーします。

      # echo c > /proc/sysrq-trigger
    • watchdog サービスを終了します。

      # kill -9 pgrep watchdog

Watchdog タイマーをリセットできなくなったため、Watchdog カウンターは短時間でゼロに達します。Watchdog カウンターがゼロに達すると、その仮想マシンの Watchdog Action ドロップダウンメニューに指定されたアクションが実行されます。

4.6.4. watchdog.conf の Watchdog のパラメーター

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

注記

watchdog サービスの設定および watchdog コマンドの使用に関するオプションの詳細は、watchdog の man ページを参照してください。

表4.2 watchdog.conf の変数

変数名デフォルト値備考

ping

該当なし

Watchdog が、そのアドレスにアクセスできるかどうかを確認するために ping を試行する IP アドレス。ping 行を追加して、複数の IP アドレスを指定できます。

interface

該当なし

Watchdog が、ネットワークトラフィックの存在を確認するために監視するネットワークインターフェイス。interface 行を追加して、複数のネットワークインターフェイスを指定できます。

file

/var/log/messages

Watchdog が変更を監視するローカルシステム上のファイル。file 行を追加することで、複数のファイルを指定できます。

change

1407

Watchdog がファイルへの変更をチェックするまでの Watchdog 間隔の数。change 行は、各 file 行の直後の行で指定する必要があり、その change 行のすぐ上の file 行に適用されます。

max-load-1

24

仮想マシンが 1 分間で持続できる最大平均負荷。この平均を超過すると、Watchdog がトリガーされます。値が 0 の場合は、この機能は無効になります。

max-load-5

18

仮想マシンが 5 分間で維持できる最大平均負荷。この平均を超過すると、Watchdog がトリガーされます。値が 0 の場合は、この機能は無効になります。デフォルトでは、この変数の値は max-load-1 の約 4 分の 3 の値に設定されています。

max-load-15

12

仮想マシンが 15 分間で持続できる最大平均負荷。この平均を超過すると、Watchdog がトリガーされます。値が 0 の場合は、この機能は無効になります。デフォルトでは、この変数の値は max-load-1 の約半分の値に設定されます。

min-memory

1

仮想マシンで空き状態を維持する必要がある仮想メモリーの最小量。この値はページ単位で測定されます。値が 0 の場合は、この機能は無効になります。

repair-binary

/usr/sbin/repair

Watchdog がトリガーされたときに実行される、ローカルシステム上のバイナリーファイルのパスとファイル名。指定したファイルにより、Watchdog カウンターをリセットできないという Watchdog の問題が解決された場合には、Watchdog アクションはトリガーされません。

test-binary

該当なし

Watchdog が、各間隔で実行を試みるローカルシステム上のバイナリーファイルのパスとファイル名。テストバイナリーを使用すると、ユーザー定義のテストを実行するためのファイルを指定できます。

test-timeout

該当なし

ユーザー定義のテストを実行できる制限時間 (秒単位)。0 の値を使用すると、ユーザー定義のテストを無制限に続行できます。

temperature-device

該当なし

watchdog サービスが実行されているマシンの温度をチェックするデバイスへのパスおよびデバイスの名前。

max-temperature

120

watchdog サービスが実行されているマシンの最大許容温度。この温度に達すると、マシンは停止します。ユニット変換は考慮されないため、使用されている Watchdog カードに一致する値を指定する必要があります。

admin

root

メール通知を送信するメールアドレス。

interval

10

Watchdog デバイスの更新の間隔 (秒単位)。Watchdog デバイスは、少なくとも 1 分に 1 回の更新を想定し、1 分間に更新がない場合は、Watchdog がトリガーされます。この 1 分間の期間は Watchdog デバイスのドライバーにハードコーディングされており、設定することはできません。

logtick

1

watchdog サービスに対して詳細なロギングが有効になっている場合、watchdog サービスは、ログメッセージをローカルシステムに定期的に書き込みます。logtick 値は、メッセージが書き込まれるまでの Watchdog 間隔の数を表します。

リアルタイム

yes

Watchdog がメモリー内でロックされているかどうかを指定します。yes の値は、メモリー内の Watchdog をロックし、メモリーからスワップアウトされないようにします。一方、no の値は、Watchdog をメモリーからスワップアウトすることができます。Watchdog がメモリーからスワップアウトされ、Watchdog カウンターがゼロに到達する前にスワップインされない場合、Watchdog がトリガーされます。

priority

1

realtime の値が yes に設定されている場合のスケジュールの優先度。

pidfile

/var/run/syslogd.pid

対応するプロセスがまだアクティブであるかどうかを確認するために、Watchdog が監視する PID ファイルのパスとファイル名。対応するプロセスがアクティブではない場合、Watchdog がトリガーされます。