Watchdog は、サーバが正常に動作しない場合に、問題の発生を予防する修正処置 (リブート) を確実に実行できるようにサーバを監視する方法です。 Watchdog は、特別な Watchdog ハードウェアを使用して実装する場合と、ソフトウェアのみのオプションを使用して実装する場合があります。
注記: この構成は、Red Hat Enterprise Linux Versions 6 および 7 でのみ検証されています。他のオペレーティングシステムでは検証されていないため、現時点ではサポートされません。
コンポーネント
- Watchdog timer - ソフトウェアドライバまたは外部ハードウェアコンポーネント
- Watchdog daemon - 該当する Linux ディストリビューションを通じて rpm が入手可能
- LifeKeeper Core daemon - LifeKeeper のインストールに付随
- health cehck script - LifeKeeper SSP core の動作状況を確認するスクリプト
次のセクションを注意深く読んでください。デーモンは、エラーからリカバリするように設計されており、注意深く設定しないとデーモンはシステムをリセットします。インストールおよび設定を行う前に慎重に計画してください。このセクションの目的は、 Watchdog についての説明や設定をすることではありません。ここでは、 Watchdog 構成での LifeKeeper SSP との相互運用についての説明や設定のみ行います。
設定
以下の手順は、root ユーザ権限を持つ管理者が行う必要があります。管理者は、 Watchdog のリスクおよび問題についてすでに熟知しているものとします。
ヘルスチェックスクリプト (LifeKeeper 監視スクリプト /opt/LifeKeeper/samples/watchdog/LifeKeeper-watchdog) は、LifeKeeper の設定と Watchdog の設定を関連付けるコンポーネントです。このスクリプトは、LifeKeeper コアコンポーネントの基本部分を監視できます。
- 以前に Watchdog を設定していた場合は、次のコマンドを入力して Watchdog を停止します。そうでない場合は、手順 2 に進みます。
service watchdog stop (RHEL6)
systemctl stop watchdog (RHEL7)
- Watchdog ソフトウェアのインストールで供給される Watchdog 設定ファイル (/etc/watchdog.conf) を編集します。
- test-binary を次のように修正します。
test-binary = /opt/LifeKeeper/samples/watchdog/LifeKeeper-watchdog
- test-timeout を次のように修正します。
test-timeout = 5
- interval を次のように修正します。
interval = 7
interval は、test-timeout 以上の値であることが必要です。また、あまりに長い間隔にすると障害検出が遅れてしまうので、5〜10程度を推奨します。
- LifeKeeper SSP が起動していることを確認します。まだの場合は、LifeKeeper の起動 トピックを参照してください。
- 次のコマンドを入力して Watchdog を起動します。
service watchdog start (RHEL6)
systemctl start watchdog (RHEL7)
- 今後の再起動の際に Watchdog を自動的に起動させるには、次のコマンドを入力します。
chkconfig —levels 35 watchdog on (RHEL6)
systemctl enable watchdog (RHEL7)
注記: Watchdog を設定すると、予想外のリブートがときどき発生する可能性があります。これは、 Watchdog の仕組みから来る一般的な性質です。正常に応答しないプロセスがあると、 Watchdog 機能は LifeKeeper (またはオペレーティングシステム) がハングしていると判断し、(警告なしに) システムをリブートします。
アンインストール
LifeKeeper をアンインストールする場合は、慎重に行ってください。以下に列記の通り、上記の手順を逆の順で実行します。
警告: LifeKeeper を構成する RPM パッケージを削除する方法で LifeKeeper をアンインストールする場合は、 先に Watchdog を停止してください 。上記の手順 2 では、LifeKeeper の Watchdog スクリプトを呼び出すように Watchdog 設定ファイルを修正しています。したがって、先に Watchdog を停止しておかないと、存在しないスクリプトを呼び出すことになります。リブートを実行するこのスクリプトが見つからない場合は、エラーが発生します。この状態は Watchdog を停止するまで継続します。
- 次のコマンドを入力して Watchdog を停止します。
service watchdog stop (RHEL6)
systemctl stop watchdog (RHEL7)
- Watchdog ソフトウェアのインストールで供給される Watchdog 設定ファイル (/etc/watchdog.conf) を編集します。
- test-binary および interval の両エントリをコメントアウトします (各行の先頭に # を追加します)。
#test-binary =
#interval =
注記: interval が他の機能によって以前から使用されていた場合は、そのままにしておくこともできます
- LifeKeeper をアンインストールします。LifeKeeper の削除 トピックを参照してください。
- これで Watchdog を起動し直すことができます。LifeKeeper のみが Watchdog を使用していた場合は、次のコマンドを入力すると Watchdog を永続的に無効にできます。
chkconfig —levels 35 watchdog off (RHEL6)
systemctl disable watchdog (RHEL7)
このトピックへフィードバック