サイト内の現在位置を表示しています。

HAクラスター入門~モニタリソースを理解しよう~

CLUSTERPRO オフィシャルブログ ~クラブロ~

はじめに

今回は、HAクラスター入門として、モニタリソースの監視動作と異常を検出した後の動作について解説します。
モニタリソースの動きを理解して、システムの要件に合わせた適切なHAクラスターを構築していきましょう。

この記事の内容

1. モニタリソースとは

モニタリソースは、業務アプリケーションや業務を実行するためのサーバー資源が健全に動作しているかを監視します。監視対象の異常を検出した場合には、業務を継続するために必要な回復動作(グループリソースの再起動やフェールオーバーの実行など)を行います。

CLUSTERPROでは、グループリソース(業務アプリケーションやフローティングIPアドレスなど)やサーバー資源(ネットワークの通信経路やOSなど)の状態を監視するため専用のモニタリソースを用意しており、簡単に対象の監視をすることができます。加えて、任意の対象を任意の方法で監視するためのカスタムモニタリソースを用意しており、スクリプトを用意することで、監視方法をユーザー側でカスタマイズすることができます。

また、全てのモニタリソースでは、そのまま利用しても問題が発生しにくいような既定値が設定されており、細かい監視条件を設計することなく、監視を始めることができます。もし、ユーザー要件に合わせて、より適した監視を行いたい場合は、設定値をカスタマイズすることで実現が可能です。

CLUSTERPROでサポートされているモニタリソースとその機能については、スタートアップガイドを参照ください。

【参考】
    popupCLUSTERPRO X システム構築ガイド
      ● CLUSTERPRO X 5.2 > Windows > スタートアップガイド
        → 第 3 章 CLUSTERPRO について
            → 3.6 リソースとは?
                → 3.6.4 モニタリソース
      ● CLUSTERPRO X 5.2 > Linux > スタートアップガイド
        → 第 3 章 CLUSTERPRO の使用方法
            → 3.6 リソースとは?
                → 3.6.4 モニタリソース

2. モニタリソースの動き

モニタリソースの動きを理解するために、モニタリソースが異常を検出して回復動作(異常からの復旧)を行うまでの動作を、監視タイミング、監視の内容、異常検出後の回復動作の3つに分けて解説します。

2.1 監視タイミングについて

監視タイミングには、常時監視と活性時監視の2種類があります。

2.1.1 常時監視

常時監視は、業務の起動状態に関係なく、クラスターサービスが起動した段階で監視を実施します。業務の実行や業務へのアクセスに必要な、ネットワークの通信経路やOSなどのサーバー資源を監視するのに向いています。

また、常時監視の場合は、業務を動かしていない待機系サーバーでも監視することができるため、フェールオーバー先として業務が起動・実行できる状態であるかを監視することができます。

例えば、以下の図のIPモニタリソース(ipw)では、クラスターを構成するすべてのサーバーが常時アクセスする必要があるサーバーに対して、pingを使用した疎通確認をし、ネットワーク経路や対象サーバーに異常が無いかを監視します。

2.1.2 活性時監視

活性時監視は、業務を開始し、監視対象に設定したグループリソースが起動している際に監視を実施します。監視対象のグループリソースが制御しているアプリケーションや接続先となる仮想IPアドレス、DNS名などが、使用できる状態になっているかを監視するのに向いています。

例えば、以下の図のAWS仮想IPモニタリソース(awsvipw1)では、AWS仮想IPリソース(awsvip)が活性した際に実施される、仮想IPアドレスの付与やAWSのルートテーブルの経路設定が、正常な状態になっているかを監視します。

2.2 監視の内容について

モニタリソースの監視処理について解説します。モニタリソースでは、以下のような監視処理を定期的に実行することで、対象が正常に動作していることを確認します。

監視処理の設定としては、監視を行う際のインターバルや、監視対象を異常と判断するまでのリトライ回数などを設定することができます。

なお、アプリケーションに処理が集中し、サーバーが高負荷状態になることで、モニタリソースがタイムアウトを検出する場合がありますが、そのような場合も異常を検出することができます。

また、クラスタのプロパティからモニタ遅延警告を設定することで、タイムアウトに満たない監視遅延が発生した場合にアラートログを出力し、遅延が発生していることを事前に把握することができます。以下の図は監視タイムアウトと遅延警告の関係を表したものとなります。

2.3 異常検出後の動作について

モニタリソースが異常を検出した後は、回復動作を実行します。
回復動作では、何を回復対象にして、どのように異常から復旧するかを細かく設定することができます。
また、プリセットとして、回復対象として選択したグループリソースやフェールオーバーグループの再起動を行う設定、回復対象を再起動しても引き続き異常を検出する場合はフェールオーバーを行う設定、各項目を任意で設定できるカスタム設定などが用意されています。選択した回復動作のプリセットで設定が必要ない項目はグレーアウトされ、簡単に設定できるようになっています。

  • 例)即時フェールオーバーの設定
  • 「回復対象に対してフェイルオーバ実行」プリセットで実施する場合

  • 「カスタム設定」プリセットで実施する場合
    「最大再活性回数」を0回、「最大フェイルオーバ回数」を1回以上に設定することで、異常検出時に即時フェールオーバーします。

回復動作実行時などの障害解析用のメッセージについては、Cluster WebUIのアラートログやOS上のログ(Windowsはイベントログ、Linuxはsyslog)に出力されます。

また、CLUSTERPROのオプション製品であるCLUSTERPRO X Alert Serviceを使用することで、監視異常を契機としたサーバーダウン、フェールオーバーなどの重要なイベントを電子メールで通報することができます。Alert Serviceの詳細は以下を参照ください。

3. 障害検証機能を使用した動作確認

ここでは、モニタリソースの動作確認方法の一例として、CLUSTERPROの障害検証機能を使用した方法についてご紹介します。障害検証機能を使用することで、モニタリソースが意図した監視動作、回復動作を実行するかを簡単に確認することができます。

障害検証機能により、Cluster WebUIの検証モード、clpmonctrlコマンドでモニタリソースの擬似的な異常/正常を操作することができます。実際に障害を発生させるわけではありませんが、擬似的にモニタリソースが異常を検出するようにして回復動作を実行させます。

例)Cluster WebUIで擬似障害を発生させる場合

  • 1.Cluster WebUIの画面上部から検証モードに切り替え、ステータスタブに移動します。

  • 2.擬似障害を発生させたいモニタリソースを展開して、「擬似障害発生」ボタンをクリックします。

  • 3.監視設定どおりにモニタリソースが異常を検出して、異常検出後の回復動作を行うこと(今回はフェールオーバー)を確認します。

  • 4.動作確認後は「擬似障害解除」ボタンをクリックして擬似障害を解除します。

障害検証機能はすべてのモニタリソースに対応しているわけではなく、対応していないモニタリソースは実際に障害を発生させて動作確認をします。実際に障害を発生させて動作確認する方法の詳細は、以下を参照ください。

【参考】
    popupCLUSTERPRO X システム構築ガイド
      ● CLUSTERPRO X 5.2 > Windows > インストール&設定ガイド
        → 第 8 章 動作チェックを行う
      ● CLUSTERPRO X 5.2 > Linux > インストール&設定ガイド
        → 第 9 章 動作チェックを行う

まとめ

今回は、HAクラスター入門として、モニタリソースの監視動作と異常を検出した後の動作について解説しました。最後までお読みいただきありがとうございました。

本ブログでは皆さまからのリクエストをお待ちしております。
HAクラスターに関する疑問や気になる用語などがご要望がございましたら、後述のお問い合わせ窓口までお知らせ下さい。

参考

CLUSTERPRO導入支援サービス(クラウドHAコンサル)ではオンプレミスやクラウド向けのHAクラスター構築支援サービスを行っております。HAクラスターの構築支援に関するご要望がありましたら、popup関連サービスの導入支援サービスの窓口までお問い合わせください。

お問い合わせ

CLUSTERPROに関するお問い合わせは、popupお問い合わせ窓口までお問い合わせください。