| 日本−日本語 |
|
|
|
![]() |
Serviceguard の管理 > 第3章 Serviceguard のソフトウェア構成要素Serviceguard のアーキテクチャ |
|
下図に Serviceguard が使用する主なソフトウェア構成要素を示します。本章ではこれらの構成要素について詳しく説明します。
Serviceguard では、以下のデーモンが使われます。
これらのデーモンのログは、/var/adm/syslog/syslog.log ファイルに記録されます。ただし、/opt/cmom/lbin/cmomd のログは /var/opt/cmom/cmomd.log に記録されます。クォーラムサーバーはクラスタ外で動作します。クォーラムサーバーのログは、デフォルトでは標準出力に出力されますが、この出力は /var/adm/qs/qs.log というファイルにリダイレクトすることをお勧めします。 このデーモンは、クラスタ内のすべてのノードから情報を集めるために、Serviceguard コマンドで使用されます。ネットワークおよびボリュームグループ情報などの構成情報を集めます。また、クラスタバイナリ構成ファイルをクラスタ内のすべてのノードに配布します。このデーモンは inetd(1M) で起動されます。/etc/inetd.conf ファイルにエントリーがあります。 何らかの理由により、システム上で Serviceguard を無効にする場合は、/etc/inetd.conf 中の次のエントリーをコメントアウトします。
次に、inetd に対し、inetd.conf を強制的に読み込ませます。 /usr/sbin/inetd -c Serviceguard が実際に無効になったことを確認するには、次のコマンドを実行します。 cmquerycl -n nodename nodename は、ローカルシステムの名前です。コマンドが失敗するようであれば、Serviceguard の無効化に成功しています。
このデーモンは、Serviceguard クラスタ内の他のノード上の cmcld デーモンにハートビートメッセージを送って、クラスタメンバシップを決定します。このデーモンはリアルタイム優先順位で実行し、メモリー内にロックされます。cmcld デーモンは、カーネルのハングを検出するために使用されるカーネルのセーフティタイマーを設定します。このタイマーが cmcld で定期的にリセットされないと、カーネルでシステム TOC (Transfer of Control: 制御の移行) または INIT の原因となります。 TOC または INIT が発生すると、猶予付きのシャットダウンが行われず、システムがすぐにリセットされます (本書では通常、この状況をシステムリセットと呼びます)。これが発生するのは、cmcld が大部分のクラスタメンバーと通信できなかったり、あるいは cmcld が思いがけなく終了、中止、または長時間実行できずに、タイムアウトによってカーネルのハングを示すカーネルタイマーを更新できなかったためです。セーフティタイマーの時間切れによるシステムリセットの前に、/var/adm/syslog/syslog.log およびカーネルのメッセージバッファーにメッセージが書き込まれ、システムダンプが実行されます。 セーフティタイマーの時間は、クラスタ構成パラメータ HEARTBEAT_INTERVAL や NODE_TIMEOUT と、クォーラムサーバーやクラスタロックを使うかどうか、使う場合のロックの種類、スタンバイ LAN が構成されているかどうかなど、クラスタ構成の特性に依存します (詳細については、「ノードがタイムアウトしたときの動作」を参照してください。 HEARTBEAT_INTERVAL と NODE_TIMEOUT の推奨値については、「クラスタ構成のパラメータ」を参照してください)。 cmcld は Serviceguard パッケージも管理し、それらの実行場所と起動時刻を決定します。
cmfileassistd デーモンは、cmcld で使われ、ディスクに対して読み書きする必要があるファイルを管理します。これは、入出力処理を実行する際の遅延が cmcld のタイミングに影響を及ぼさないようにするためです。 cmlogd は、syslog にメッセージを書き込むために cmcld で使用されます。cmcld で syslog に書き込まれるメッセージは、cmlogd により書き込まれます。これは、syslog に書き込む際の遅延が cmcld のタイミングに影響を及ぼさないようにするためです。 このデーモンは、クラスタに認識されているすべてのボリュームグループを記録します。ボリュームグループがクラスタに認識されると、クラスタノードは排他モードでのみボリュームグループをアクティブ化できます。これによって、一度に 2 つ以上のノードでボリュームグループが書き込みモードでアクティブ化されないようにします。 このデーモンは、クラスタに関する情報をクライアントに提供します。これらの情報はクラスタオブジェクトの状態把握などに関連するツールや外部製品に渡されます。 クライアントはオブジェクトマネージャに照会を送信し、応答を受信します (この通信は、Serviceguard API を通じて間接的に行われます)。その照会はさまざまなプロバイダによってサービスされる (クラスの) カテゴリに分解されます。プロバイダは、接続されたすべてのノード上の cmclconfd デーモンなどさまざまなソースからデータを集め、そのデータを中央の統合地点に戻します。そこでは、特定の照会のニーズに合うように、収集されたデータがフィルター処理されます。 このデーモンは inetd(1M) で起動されます。/etc/inetd.conf ファイルにエントリーがあります。 このデーモンは、ご使用のシステムで稼働していない可能性があります。このデーモンは、オブジェクトマネージャのクライアントからのみ使用されます。 このデーモンは、SNMP Master Agent と共同で動作し、クラスタの MIB (Management Information Base) 用の計測を行います。 SNMP Master Agent と cmsnmpd は、クラスタ関連のイベントについての通知 (トラップ) を行います。たとえば、クラスタ構成の変更時や、Serviceguard パッケージの障害時に、トラップが送信されます。この情報をどこに送信するかを cmsnmpd に知らせるためには、/etc/SnmpAgent.d/snmpd.conf を編集しなければなりません。 cmsnmpd を自動起動する場合は、/etc/rc.config.d/cmsnmpagt も編集しなければなりません。cmsnmpd は、Serviceguard クラスタの起動前に起動するように構成します。 詳細は、cmsnmpd (1m) のマンページを参照してください。 このデーモンは、クラスタデーモン cmcld で必要なスクリプトやプロセスを起動 (fork して exec) します。このデーモンでは、2 種類の fork を実行します。
サービスの場合、cmcld がサービスプロセスを監視し、サービスの再試行回数に応じて、cmsrvassistd を使用してサービスを再起動するか、パッケージを停止し、そのパッケージを使用可能な代替ノードに移動します。 クォーラムサーバーは、クラスタ再編成時に、タイブレークを行い、クォーラムを確立するための方法の 1 つです。これ以外の方法としては、クラスタロックを使う方法があります。「スプリットブレインの問題を回避するクラスタ定足数」および「クラスタロック」を参照してください。 クォーラムサーバーはクラスタの外部のシステムで動作し、Serviceguard からではなく、システム管理者が起動します。通常は、/etc/inittab から respawn オプション付きで起動されるため、異常終了したり抹消された場合は、自動的に再起動されます。クラスタのすべてのメンバーが、クォーラムサーバーへの接続を確立し、保持します。クォーラムサーバーが停止すると、Serviceguard ノードはこの事実を検出し、定期的にクォーラムサーバーへ再接続しようとします。クォーラムサーバーが停止している間にクラスタの再編成が発生し、タイブレークが必要になると、再編成は失敗し、すべてのノードは停止 (システムリセット) します。そのため、クォーラムサーバーをできるだけ早く再起動することが重要です。 このデーモンは、クラスタのネットワークの状態を監視し、ローカル LAN のフェイルオーバーを実行します。またこのデーモンは、IPv4 アドレスと IPv6 アドレスの両方で、再配置可能パッケージ IP の追加と削除を行います。 ロック LUN が使われる場合、cmdisklockd はクラスタ内の各ノード上で実行されます。起動は、ノードがクラスタに結合したときに、cmcld によって行われます。 クラスタの各メンバーは、cmdisklockd デーモンへの接続をローカルに行い維持します。cmdisklockd デーモンが終了した場合は、cmcld によって再起動され、ノードはデーモンに再接続します。cmdisklockd のダウン中にクラスタの再構成が行われ、タイブレークが必要なクラスタが分断された場合は、再構成は失敗します。 HP Serviceguard Storage Management Suite には、現行バージョンの HP-UX のいくつかで Veritas Cluster File System とのインタフェースを持つ追加コンポーネントが用意されています (「Symantec 社の Veritas CFS と CVM」を参照してください)。HP Serviceguard Storage Management Suite のドキュメントは http://docs.hp.com に掲載されています。 Veritas CFS コンポーネントは、クラスタ内のノード間を接続しているイーサーネットネットワーク上で直接動作します。単一点障害を避けるためには、冗長なネットワークが必要です。 Veritas CFS コンポーネントには、以下のものがあります。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||