前のトピック: グリッドの復旧手順

次のトピック: ストレージの稼働状態のモニタリング


グリッド コントローラの復旧

このトピックでは、グリッド コントローラの動作を回復するためにグリッド管理者による手動操作が必要になる、さまざまなタイプのグリッド コントローラ障害について説明します。

注: CA AppLogic の高可用性機能に関する知識、特にグリッド コントローラ HA および発生する可能性のある障害のタイプに関する知識を深めるため、CA AppLogic の高可用性に関連する参考情報を読むことを強くお勧めします。

グリッド コントローラの障害のタイプ

CA AppLogic は、以下の 2 つのタイプのグリッド コントローラ障害からは自動的に回復します。

特定の障害シナリオでは、グリッド コントローラがアクセス不可能になる場合があり、CA AppLogic によって自動的に復旧されません。 ユーザによって報告される事例の概要を以下に示します。

管理者は、CA AppLogic によって維持される復旧 GUI 状態情報を表示することができます。 この情報は、コントローラ サーバ(グリッド コントローラが起動されるサーバ)の dom0 内のファイルに格納されています。 復旧 GUI ステータス ファイルの場所と形式については、このドキュメントの最後のトピックを参照してください。

グリッド コントローラがアクセス不可能な場合の対処

グリッド コントローラが単独で再起動しなかった場合の理由のリストを以下に示します。

グリッド コントローラを稼働状態に復旧するには、以下の手順に従います。

  1. ダウンしているプライマリ サーバとセカンダリ サーバをすべて復旧します。 これらのサーバの復旧が完了すれば、グリッド コントローラは約 5 分以内に復旧します。 それでも問題が解決されない場合は、以下の手順を試してみてください。
  2. BFC を使用して、以下の手順に従ってグリッドの新しいプライマリ サーバを指定し、その新しいプライマリ サーバでグリッド コントローラを起動します。
    1. 左のメニューから[グリッド]を選択します。

      [グリッド]ページが表示されます。 グリッドの状態は、実行中、停止、失敗、失敗-実行中(グリッドによって失敗が作成されたが、サーバは実行中のまま)、実行中ですが注意が必要、再起動が必要、のいずれかです。

    2. 対象のグリッドの横にあるチェック ボックスをオンにします。
    3. [グリッド アクション]メニューをクリックし、[グリッド パラメータの編集]を選択します。

      [グリッド パラメータの編集]ダイアログ ボックスが表示されます。

    4. グリッドの新しいプライマリ サーバを指定するため、以下のグリッド パラメータ情報を入力します。

      primary=srvaddr

      srvaddr の値は、新しいコントローラになるサーバのサーバ ID (srvNN)またはアドレスです。 このアドレスはバックボーン LAN 上でアクセス可能である必要があります。 名前を指定する場合は、バックボーン上でアクセス可能なアドレスに解決される必要があります。

      稼働しているグリッド(コントローラが実行中である)上でこの設定を使用すると、そのコントローラはすぐにシャットダウンされ、新しいホスト上で再起動されます。 この操作がグリッド上のアプリケーションに影響することはありませんが、グリッド コントローラへの GUI アクセスに干渉したり、処理中のアプリケーション管理コマンドで遅延または中断が発生したりする場合があります。

      また、プライマリ サーバと同じグリッド内には 2 台以上のセカンダリ サーバが稼働していることが推奨されます。 グリッド内にセカンダリ サーバがないか、セカンダリ サーバがダウンしていて復旧できない場合は、以下の手順に従ってグリッドのセカンダリ サーバを 2 台以上設定します。 利用可能な十分な数のサーバがない場合、グリッド コントローラ HA 用のグリッドにサーバを追加することをお勧めします。

    5. グリッドのセカンダリ サーバを 2 台以上指定するため、以下のグリッド パラメータ情報を入力します。

      secondary=srvaddr,srvaddr,...

      srvaddr の値は、プライマリ コントローラ ホストに障害が発生した場合にコントローラ ホストの役割を引き継ぐことを許可されるサーバのサーバ ID またはアドレスです。 この設定を使って、セカンダリ コントローラ ホストの自動割り当てを制限または変更できます。 セカンダリ ホストは 7 台まで指定できます。 この設定は単独で指定するか、primary= 設定と組み合わせて指定できます。組み合わせて指定すると、セカンダリ ホストの再割り当てと、新しいプライマリ ホストへのコントローラの移動を同時に行うことができます。 secondary= 設定は、無効になっているグリッドでは機能しません。 セカンダリ コントローラ ホストの再割り当てを行うには、まず primary=srvaddr グリッド パラメータを使ってグリッドを復旧します。

    6. [再起動が必要]オプションに対して「はい」を選択します。
    7. [グリッド パラメータの編集]ダイアログ ボックスの[保存]ボタンをクリックします。

上記のどの手順に従ってもグリッド コントローラが復旧しない場合は、致命的な問題が発生しており、解決するには手動操作が必要であるため、CA サポートに早急にご連絡ください。 CA サポートに伝える以下の情報を収集してください。

復旧 GUI の状態ファイル

管理者は、CA AppLogic によって維持される復旧 GUI 状態情報を表示することができます。 この情報は、コントローラ サーバ(グリッド コントローラが起動されるサーバ)の dom0 内のファイルに格納されています。 このファイルの名前は /usr/local/recovery/gui/chroot/data/status です。ファイルにはグリッド コントローラの復旧に関する現在のステータスが記録されています。 コントローラ復旧 GUI が進捗状況/ステータスを表示するときは、このファイルに格納されている情報が使用されます。 このファイルは JSON でエンコードされる以下の形式が使用されます(下記ではサンプル データを使用しています)。

{
"grid_name"               : "my-grid-name",
"grid_version"            : "2.7.6",
"role"                    : "Recovery controller 2",
"status"                  : "Recovery in progress (master recovery controller is srv2)",
"recovery_start_time"     : "15:14:41 PDT (Mar 21, 2009)",
"recovery_eta"            : "15:23:54 PDT",
"recovery_remaining_time" : 278,
"current_time"            : "15:19:12 PDT",
"stage"                   : 0,
"stage_remaining_time"    : 79,
"failure_reason"          : "srv1 down (no response for 30 sec on either network)",
"known_servers"           : "srv1:down,srv2:up",
"stages"                  : [
                            "Waiting for quorum (at least 3 of the N servers to connect)",
                            "Waiting for server with controller volumes to become available",
                            "Waiting for remaining controller volume streams",
                            "Verifying both networks are present",
                            "Sharing controller volumes",
                            "Mounting controller volumes",
                            "Starting grid controller",
                            "Grid controller started"
                            ],
"msgs"                    : [
                            {
                            "time"     : "15:15:23 PDT",
                            "severity" : "alert",
                            "text"     : "My alert message"
                            },
                            {
                            "time"     : "15:16:00 PDT",
                            "severity" : "info",
                            "text"     : "My info message"
                            }
                            ]
}

上記のフィールドに関する注記事項を以下に示します。

グリッド コントローラの復旧が進行中でないとき、ステータス ファイルに示されるフィールドはごく少数になります。

{
"grid_name"            : "my-grid-name",
"grid_version"         : "2.7.6",
"role"                 : "Recovery controller 2",
"status"               : "Okay",
"known_servers"        : "srv2:up,srv1:up"
}