ページの先頭行へ戻る
PRIMECLUSTER  導入運用手引書 4.7

1.4 テスト

■テストの目的

PRIMECLUSTERを用いてクラスタシステムを構築するにあたって、さまざまな事象が発生した場合にもシステム全体が正常に動作し、クラスタアプリケーションとして構築した業務が継続することを、運用前に確認しておく必要があります。

PRIMECLUSTERシステム(1:1運用待機の場合)は、以下の図のような運用状態をとります。

PRIMECLUSTERシステムは下図の状態遷移に従い、各々の運用状態へと遷移します。システムが正常に動作することを確認するには、すべての運用状態と、運用状態へ遷移する各状態遷移についてテストする必要があります。

図1.3 PRIMECLUSTERシステムの状態遷移図

◆PRIMECLUSTERシステムの状態

状態

意味

二重化運用状態

(Dual instance operation)

ユーザ業務が運用中であり、かつフェイルオーバできる状態。

この状態では、クラスタアプリケーションは「運用」状態と「待機」状態の2種類の状態から構成されています。

「運用」状態で異常が発生した場合においても、常に「待機」状態を新しく「運用」状態として切替えるためユーザ業務の継続運用が可能です。

片側運用状態

(Single instance operation)

ユーザ業務が運用中であるが、フェイルオーバできない状態。

この状態では、クラスタアプリケーションは「運用」状態と「停止」状態の2種類の状態から構成されます。

ユーザ業務は動作しているが、「待機」状態が存在しないため、「運用」状態で異常が発生した場合、フェイルオーバが行えず、ユーザ業務の継続運用が不可能となります。

停止状態

(Stopped state)

ユーザ業務が停止している状態。

上記「運用」「待機」「停止」の状態については、以下のように「RMSの稼動状態」と「クラスタアプリケーションの状態」で判断できます。

状態

RMSの稼動状態

クラスタアプリケーションの状態

備考

運用(OPERATING)

稼動

Online

待機(STANDBY)

稼動

Offline または Standby

停止(STOP)

停止

――

※“Unknown”

SysNodeがOffline状態

※GUI(Cluster Admin)のrmsタブの状態表示アイコンで停止(STOP)状態のクラスタアプリケーションを参照した場合の見え方。

■PRIMECLUSTERシステム運用のための主なテスト項目

●起動テスト

業務の起動に関するテストを以下の観点で行ってください。

  • 起動操作により、Web-Based Admin ViewのCluster Admin画面を参照して、設計したとおりにクラスタシステムが起動していることを確認する。

  • RMS構成スクリプトを作成した場合は、RMS構成スクリプトに記載したコマンドが正しく実行されていることを、以下のような方法で確認する。

    • 実行時にメッセージを出力するようなコマンドの場合は、コマンドが正しく実行された旨のメッセージがコンソールに出力されることを確認する。

    • コマンドが正しく実行されたことをps(1)コマンド等で確認する。

  • 新規に作成したクラスタアプリケーションは、デフォルトではPRIMECLUSTERシステムの起動時に自動的には起動しません。クラスタアプリケーションを「自動起動する」場合は、作成時にuserApplication属性として、AutoStartUpを設定してください。設定の詳細については、6.7.2 userApplicationの設定を参照してください。

●Faultのクリアテスト

異常が発生したクラスタアプリケーションはFaultedという状態となります。

このクラスタアプリケーションを再び業務に組み込む場合は、「Faultのクリア」という操作を行いFaulted状態を解除する必要があります。
「Faultのクリア」に関するテストを以下の観点で行ってください。

  • 運用中の業務に影響することなく、Faultのクリア操作により停止中のクラスタアプリケーションのFaulted状態をクリアできることを確認する。

  • RMS構成スクリプトを作成した場合は、RMS構成スクリプトに記載したコマンドが正しく実行されていることを、以下のような方法で確認する。

    • 実行時にメッセージを出力するようなコマンドの場合は、コマンドが正しく実行された旨のメッセージがコンソールに出力されることを確認する。

    • コマンドが正しく実行されたことをps(1)コマンド等で確認する。

●切替えテスト

「フェイルオーバ」および「スイッチオーバ」に関するテストを以下の観点で行ってください。

  • 「フェイルオーバ」は、以下の事象により「切替え」が発生することを確認する。

    • クラスタアプリケーション異常

  • 「スイッチオーバ」は、以下の事象により「切替え」が発生することを確認する。

    • 運用ノードのシャットダウン

    • クラスタアプリケーションの停止操作

  • フェイルオーバまたはスイッチオーバが正常に行われたことを以下の項目について確認する。

    • ディスク切替え

      運用ノードから、ディスクにアクセスできることを確認する。
      切替ディスクであれば、ファイルシステムがマウントされているか、df(1)コマンドで確認することも可能。

    • Cmdlineリソースを使用する場合は、CmdlineリソースのStartスクリプト、Stopスクリプトに記載したコマンドが正しく実行されていることを、以下のような方法で確認する。

      - コマンドの実行時にメッセージを出力するようなコマンドの場合は、コマンドが正しく実行された旨のメッセージがコンソールに出力されることを確認する。

      - コマンドが正しく実行され、プロセスが起動したことをps(1)コマンドで確認する。

  • IPアドレス引継ぎを設定している場合は、IPアドレス引継ぎが正常に行われていることをip(8)コマンド、または、ifconfig(8)コマンドで確認する。

  • アプリケーションの運用が、旧運用ノードから引継ぎが行われていることを確認する。

また、フェイルオーバテストの際には、切替え時間の測定も行ってください。クラスタシステムに障害が発生した場合の業務への影響度(業務の停止時間)を把握するために、障害検出要因ごとの切替え時間を測定し、障害発生時の業務復旧時間を確認してください。

●交換テスト

「交換」に関するテストを以下の観点で行ってください。

  • 運用中の業務がクラスタアプリケーションの交換操作によって正常に「運用」と「待機」が入れ替わったことを以下の項目について確認する。

    • ディスク切替えを使用する場合

      運用ノードから、ディスクをアクセスできること、待機ノードからディスクにアクセスできないことを確認する。
      切替ディスクであれば、ファイルシステムがマウントまたはアンマウントされているか、df(1)コマンドで確認することも可能。

    • Cmdlineリソースを使用する場合

      CmdlineリソースのStartスクリプト、Stopスクリプトに記載したコマンドが正しく実行されていることを、以下のような方法で確認する。

      - コマンドの実行時にメッセージを出力するようなコマンドの場合は、コマンドが正しく実行された旨のメッセージがコンソールに出力されることを確認する。

      - コマンドが正しく実行され、プロセスが起動したことをps(1)コマンドで確認する。

    • IPアドレス引継ぎを使用する場合

      IPアドレス引継ぎが正常に行われていることを確認する。

    • アプリケーションを使用する場合

      アプリケーションの運用が旧運用ノードから引継ぎが行われていることを確認する。

●停止テスト

「停止」に関するテストを以下の観点で行ってください。

  • 運用中の業務が停止操作によって正常に「停止」することを確認する。

  • 全ノードを同時に立上げ直すことにより業務を起動できることを確認する。

  • Cmdlineリソースを使用する場合は、CmdlineリソースのStartスクリプト、Stopスクリプトに記載したコマンドが正しく実行されていることを、以下のような方法で確認する。

    • コマンドの実行時にメッセージを出力するようなコマンドの場合は、コマンドが正しく実行された旨のメッセージがコンソールに出力されることを確認する。

    • コマンドが正しく実行され、プロセスが起動したことをps(1)コマンドで確認する。

●業務継続性テスト

障害発生時に業務が継続して動作することを確認してください。

  • クラスタシステムでさまざまな状態遷移を繰り返し発生させたとき、アプリケーションが持つデータなどに不整合を生じることなく、アプリケーションが正常に動作することを確認する。

  • サーバ/クライアントシステムとして業務を構築しているシステムでは、クラスタシステムで状態遷移を発生させたとき、クライアント側で仕様どおりにクラスタシステムで動作する業務のサービスを継続して利用できることを確認する。

●クラスタノード強制停止テスト

シャットダウン機構の設定が正しく動作することを確認してください。

クラスタを構成するそれぞれのクラスタノードについて一度は停止されるかのテストを、以下の観点で行ってください。

  • OS 異常を発生させ、異常が発生したクラスタノードが強制停止されることを確認する。

    注意

    強制停止の開始前に、OS 異常の発生したノードが再起動し、CF の起動が行われた場合、強制停止の実行は取り消されます。

  • クラスタインタコネクトを切断し、優先度の低いクラスタノードが強制停止されることを確認する。

    注意

    両方のパスでNICのリンクダウンイベントを検出するように、クラスタインタコネクトを切断してください。

    例えば、2ノードクラスタでインタコネクトがスイッチをはさんで接続されている場合、2本のクラスタインタコネクトを同じノード側で切断してください。両方のパスでNICのリンクダウンイベントを検出できないような切断をした場合、経路異常の検出に時間差が発生し、先に異常を検出したノードが優先的に強制停止を実行することがあります。

また、パニックによる強制停止を行う環境の場合、強制停止されたクラスタノードのクラッシュダンプが採取されることも確認してください。

参照