Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.4. クラスターデーモンがクラッシュする

RGManager には、メインの rgmanager プロセスが予期せず失敗した場合にホストを再起動するウォッチドッグプロセスがあります。これにより、クラスターノードはフェンスされ、rgmanager は別のホスト上でサービスを回復します。ウォッチドッグデーモンがメインの rgmanager プロセスがクラッシュしたことを検出すると、クラスターノードを再起動します。そして、アクティブなクラスターノードはそのクラスターノードが離脱したことを検出して、それをクラスターから削除します。
プロセス ID (PID) の比較的小さい数字は、監視プロセスで、子 (PID 番号が高いプロセス) がクラッシュした場合にアクションを取ります。gcore を使用して数値の高い PID 番号を持つプロセスのコアをキャプチャーして、クラッシュしたデーモンのトラブルシューティングのサポートをします。
コアをキャプチャ/表示するために必要なパッケージをインストールし、rgmanager 及び rgmanager-debuginfo が同一バージョンであることを確認してください。これが実行されないと、キャプチャされたアプリケーションコアが使用できない場合があります。
$ yum -y --enablerepo=rhel-debuginfo install gdb rgmanager-debuginfo

9.4.1. ランタイムでの rgmanager コアのキャプチャ

起動時に実行する rgmanager プロセスが 2 つあります。番号が大きい PID を持つ rgmanager プロセスのコアをキャプチャする必要があります。
以下は、ps コマンドの出力の例です。rgmanager の 2 つのプロセスを示しています。

$ ps aux | grep rgmanager | grep -v grep 

root    22482  0.0  0.5  23544  5136 ?        S<Ls Dec01   0:00 rgmanager 
root    22483  0.0  0.2  78372  2060 ?        S<l  Dec01   0:47 rgmanager 

以下の例で、pidof プログラムは、コアを作成するために適切な PID である、番号が大きい PID を自動的に決定するために使用されます。このコマンドは、PID 番号が大きいプロセス 22483 のアプリケーションコアをキャプチャします。
$ gcore -o /tmp/rgmanager-$(date '+%F_%s').core $(pidof -s rgmanager)