2.6. HA サービス設定の注意事項
HA (高可用性) サービスを設定することにより、ご使用のニーズに合う高可用性クラスターを作成できます。Red Hat High Availability アドオン内の HA サービス管理の核となるコンポーネントである
rgmanager
は、既製のアプリケーション用にコールドフェイルオーバーを実装します。Red Hat High Availability アドオンでは、アプリケーションは他のクラスターリソースにより設定されます。これにより、クラスタークライアントに対する明らかな中断なしに 1 つのクラスターノードから別のノードにフェイルオーバーできる HA サービスを形成できます。HA サービスのフェイルオーバーが発生する可能性があるのは、クラスターノードが失敗した場合、又はクラスターシステム管理者がサービスをあるクラスターノードから別のノードへ移動した場合 (例えば、予定されたクラスターノードの停止) です。
HA サービスを作成するには、クラスター設定ファイル内で設定する必要があります。HA サービスはクラスター リソース で構成されています。クラスターリソースとは、クラスター設定ファイル内で作成/管理を行うためのビルディングブロックです (例: IP アドレス、アプリケーション初期化スクリプト、Red Hat GFS2 共有パーティション)。
HA サービスは、データ整合性を維持するため一度に 1 つのノードでのみ実行可能です。フェイルオーバーの優先度はフェイルオーバードメイン内で指定できます。フェイルオーバーの優先度を指定するには、フェイルオーバードメイン内の各ノードに優先度レベルを割り当てます。この優先度レベルがフェイルオーバーの順番 (HA サービスがフェイルオーバーすべき対象のノード) を決定します。フェイルオーバーの優先度を指定しない場合は、HA サービスはフェイルオーバードメイン内の任意のノードにフェイルオーバーできます。また、HA サービスが関連したフェイルオーバードメインのノード上でのみ実行するように制限するかどうかも指定できます (HA サービスが無制限のフェイルオーバードメインに関連付けられている場合、フェイルオーバードメインのメンバーがない時は HA サービスはどのクラスターノードでも開始できます)。
図2.1「ウェブサーバーのクラスターサービスの例」 は、「content-webserver」と呼ばれるウェブサーバーである HA サービスの例を示しています。このサービスは、クラスターノード B で実行中であり、ノード A、B、及び D から成るフェイルオーバードメイン内に存在します。さらに、このフェイルオーバードメインは、ノード A の前にノード D にフェイルオーバーして、フェイルオーバードメイン内のノードのみにフェイルオーバーを制限するようなフェイルオーバー優先度で設定されています。HA サービスは以下のようなクラスターリソースで構成されています。
- IP アドレスリソース — IP アドレス 10.10.10.201
- 「httpd-content」と呼ばれるアプリケーションリソース — ウェブサーバーアプリケーション init スクリプト
/etc/init.d/httpd
(httpd
を指定) - ファイルシステムリソース —「gfs2-content-webserver」と呼ばれる Red Hat GFS2
図2.1 ウェブサーバーのクラスターサービスの例
クライアントは、IP アドレス 10.10.10.201 を介して HA サービスにアクセスして、ウェブサーバーアプリケーションである httpd-content との通信を可能にします。httpd-content アプリケーションは gfs2-content-webserver ファイルシステムを使用します。ノード B が失敗した場合、content-webserver HA サービスはノード D にフェイルオーバーすることになります。ノード D が利用できない、又は失敗した場合は、サービスはノード A にフェイルオーバーします。フェイルオーバーは、クラスタークライアントに対してサービスの中断を最小限に抑えながら発生します。例えば、HTTP サービスでは、特定の状態の情報 (セッションデータなど) が消失する場合があります。HA サービスはフェイルオーバーが発生する前のように同じ IP アドレスを介して他のクラスターノードからもアクセス可能になります。
注記
HA サービスとフェイルオーバードメインについての詳細は、『High Availability アドオンの概要』 を参照してください。フェイルオーバードメインの設定についての詳細は、3章Conga を使用した Red Hat High Availability アドオンの設定 (Conga の使用) 又は 7章Red Hat High Availability の手動での設定 (コマンドラインユーティリティを使用) を参照してください。
HA サービスは、クライアントに特化したサービスを提供する一貫したエンティティに設定されたクラスターリソースのグループです。HA サービスは、(各クラスターノードの) クラスター設定ファイル
/etc/cluster/cluster.conf
内にリソースツリーとして表されます。クラスター設定ファイル内では、各リソースツリーは各リソース、その属性、リソースツリー内での他のリソースとの関係 (親、子、兄弟の関係) を指定する XML 表現です。
注記
HA サービスは階層ツリー型に編成されたリソースで構成されているため、サービスは リソースツリー 又は リソースグループ と呼ばれることもあります。両方の呼称とも HA サービス と同義語です。
各リソースツリーの根元には、特別なリソースのタイプである、サービスリソース があります。他のリソースのタイプがサービスの残りの部分を構成し、その特性を決定します。HA サービスの設定は、サービスリソースの作成、下位クラスターリソースの作成、サービスの階層制限に従う一貫したエンティティへそれらを組織化することによって行います。
HA サービスを設定する時に検討すべき考慮事項は大きく分けて 2 点あります。
- サービスを作成するために必要なリソースのタイプ
- リソース間での親、子、兄弟の関係
リソースのタイプとリソースの階層は、設定しているサービスのタイプに応じて異なります。
クラスターリソースのタイプは 付録B HA リソースパラメーター に一覧表示しています。リソース間の親、子、兄弟の関係は 付録C HA リソースの動作 で説明しています。