徹底比較!!クラスタソフトウェア 2

OSのストール検知

OSのストール検知

   CLUSTERPROを構成するモジュールはユーザ空間、カーネル空間にそれぞれ配置され、定期的に相互通信を行いながら健全性をチェックしていま す。もしもどちらかで異常状態を検出して片方のモジュールが無応答になった場合、空間ストールが発生していると判断し、表4に示す段階的な対処を試みま す。


  1. OSに対してシャットダウンコマンドを実行します
  2. OSの状態が不安定で一定時間内にシャットダウンが完了されない場合、ハードウェアリセットを行い、ダンプ出力やサーバ再起動を行います
表4:ストール検知後の対処

   CLUSTERPROでは、OSの状態が不安定になるのを早期に発見し、比較的軽度なうちに適切な対処を行うように設計しています。

アプリケーションの監視

   アプリケーションおよびサービスタスクの存在監視とオプション製品による応答監視の2つがあります。

プロセスID監視
CLUSTERPROより起動させたアプリケーションやサービスのプロセスIDの存在を監視します。

監視中のプロセスIDが消滅した場合は、対象アプリケーションを再起動したり、フェイルオーバーすることができます。ですがアプリケーションの特性に依存 するため、例えば子プロセスを生んで即座に親プロセスが消滅するパターンには適用できません。その場合には小さな監視ツールを作成して常駐させ、そのプロ セスIDを監視させておくなどの工夫が必要です。
 
監視オプションを併用したアプリケーションの特性に合わせた状態監視
アプリケーションがストールしたままの状態となり、業務停止しては困るので何とか回避したいという現場からの要求に応えて製品化しました。例えば、データベースに対して1分おきに実アクセスを行って、正常にアクセスできるかどうかを調べます。

もしも、異常ステータスを返答したり、返答せずにタイムアウトした場合はストール状態と判断してフェイルオーバーします。この監視オプションを併用すれば、クラスタシステムとしてより可用性に優れた機能を発揮します。
表5:アプリケーションの監視

   これまで述べた監視の項目は、インストールするとデフォルトで監視が有効となるものがほとんどであるため、構築の負担を軽減しています。もしも障害 が発生したりフェイルオーバーした場合には、電子メールで通報する機能を備えており遠隔の宛先へ即座に異常を通知できます。

堅牢な設計デザイン

   大事なクラスタ管理情報は共有ディスク上に配置していません。CLUSTERPROは全サーバのローカルディスクへクラスタ管理情報を冗長・配置す る構造を採用しています。サーバが次々にダウンしても最低でもどれか1台のサーバが起動できれば業務が継続できるため可用性が高いのです。

ハートビートは業務を止めずに間隔を調節できる快適な設計

   システムの高負荷やネットワークの高負荷によって、誤ってフェイルオーバーした経験はありませんか。特にLinuxではテープバックアップなどを行いシステムが高負荷になると、ハートビートが発信できず、待機系がフェイルオーバーを開始する場合があります。

   このような現象を回避できるように、CLUSTERPROのLinux版は運用中に簡単なコマンドによりハートビート間隔を動的に変更できます。バックアップが完了したら、コマンドによって元のハートビート間隔に戻すことができます。

   一方のWindows版ではハートビートの送信ドライバを構造的に切り出し、システムの高負荷に影響を受けにくい構造によって予防をはかっています。

   ハートビートは複数の経路を用いて並行に到達のチェックを行っています。イーサネット以外に、共有ディスクやCOM接続を使用したチェックが行えます。
 

イーサネット:必須
ハートビート専用のLANを少なくとも1つ用意する必要があります。業務用のLANをセカンダリのハートビート経路として併用するのが多いパターンです。
共有ディスク(データミラー型を除く):推奨
共有ディスク上に作成したクラスタパーティションに対して、各サーバモジュールが生存のタイムスタンプを書き だし、相互に生存確認を行います。パーティションサイズはWindowsで7MB、Linuxで20MBもあれば十分です。このパーティションはシステム 起動時に上書きして使用するためバックアップ対象から除外できます。
COM接続(2ノード構成時のみ、Windows版ミラー型は未実装):任意
RS-232Cクロスケーブルで結線します。
表6:ハートビートのチェック

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る