(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】情報処理装置制御プログラム、情報処理装置制御方法及び情報処理装置
(51)【国際特許分類】
G06F 11/36 20060101AFI20240611BHJP
G06F 11/22 20060101ALI20240611BHJP
【FI】
G06F11/36 196
G06F11/36 184
G06F11/22 675H
G06F11/22 610
(21)【出願番号】P 2020169945
(22)【出願日】2020-10-07
【審査請求日】2023-07-07
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】宮北 智昭
(72)【発明者】
【氏名】佐藤 智
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開平07-225722(JP,A)
【文献】特開2015-007929(JP,A)
【文献】特開2013-196336(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 11/22
(57)【特許請求の範囲】
【請求項1】
外部装置に接続された複数のパスルートにおいて前記パスルート毎にパスビジーまたはパスエラーの状態を発生させ、
前記パスエラーが発生した前記パスルート以外の前記パスルートを用いてマルチパスグループを形成し、
前記マルチパスグループを形成する前記パスルートのうちのいずれかを転送可能な状態にしてパス切り替えが正常に行われるかを確認する
処理をコンピュータに実行させることを特徴とする情報処理装置制御プログラム。
【請求項2】
前記外部装置としてそれぞれ異なる疑似入出力装置を各前記パスルートに接続し、
各前記疑似入出力装置に繋がる前記パスルートについて、前記パスビジー、前記パスエラーまたは前記転送可能のいずれかの状態を表す信号を前記疑似入出力装置に出力させることで、前記パスルートの状態を切り替える
処理をコンピュータに実行させることを特徴とする請求項1に記載の情報処理装置制御プログラム。
【請求項3】
複数の前記パスルートのうちいずれか1つを前記パスエラーの状態とし、残りの前記パスルートのうちいずれか1つを前記転送可能な状態とする試験パターンであって、前記パスエラーの状態とされる前記パスルートおよび前記転送可能な状態とされる前記パスルートが前記試験パターン毎に異なる複数の試験パターンを生成し、
生成した各前記試験パターンにしたがって各前記パスルートの状態を順次遷移させて、前記パス切り替えが正常に行われるかを確認する
処理をコンピュータに実行させることを特徴とする請求項1または2に記載の情報処理装置制御プログラム。
【請求項4】
前記マルチパスグループを形成する前記パスルートに接続された各前記外部装置に対してデータを転送した場合の処理時間を合計した期待値を算出し、
1つの前記パスルートを前記転送可能な状態とし、残りの前記パスルートをビジーな状態として、前記マルチパスグループを形成する前記パスルートを用いて前記データを前記外部装置へ転送した場合の実績値を算出し、
前記期待値と前記実績値との差分である前記パス切り替えによる遅延時間が予め決められた遅延時間閾値以上の場合に異常と判定する
処理をコンピュータに実行させることを特徴とする請求項1~3のいずれか一つに記載の情報処理装置制御プログラム。
【請求項5】
外部装置に接続された複数のパスルートにおいて前記パスルート毎にパスビジーまたはパスエラーの状態を発生させ、
パスエラーが発生した前記パスルート以外の前記パスルートを用いてマルチパスグループを形成し、
前記マルチパスグループを形成する前記パスルートのうちのいずれかを転送可能な状態にしてパス切り替えが正常に行われるかを確認する
ことを特徴とする情報処理装置制御方法。
【請求項6】
外部装置に接続された複数のパスルートにおいて前記パスルート毎にパスビジーまたはパスエラーの状態を発生させる疑似IO制御部と、
前記パスエラーが発生した前記パスルート以外の前記パスルートを用いてマルチパスグループを形成するグループ管理部と、
前記マルチパスグループを形成する前記パスルートのうちのいずれかを転送可能な状態にしてパス切り替えが正常に行われるかを確認するパス転送処理部と
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置制御プログラム、情報処理装置制御方法及び情報処理装置に関する。
【背景技術】
【0002】
サーバなどの情報処理装置には、ストレージ装置などのIO(Input Output)装置に接続するチャネルを複数有するものが多い。そして、各チャネルに接続されたIO装置を二重化することで、一つのIO装置に障害が発生しても二重化された他のIO装置に処理を引き継がせて処理を継続させることができるためシステムの信頼性が向上する。
【0003】
ただし、IO装置の二重化では、各チャネルにおけるサーバとIO装置とを接続するパスに障害が発生した場合には処理を継続させることは困難である。そこで、複数のチャネルを有するサーバにおいて、パスを冗長化してマルチパスを構成し、1つのパスに障害が発生しても、他のパスに切り替えて運用を継続する技術がある。マルチパス構成とすることにより、パスに障害が発生した場合の業務停止を防ぎ、システムの信頼性をより向上させることができる。以下では、マルチパスを構成してパスの障害時に他のパスに切り替わる制御をマルチパス制御と呼ぶ。
【0004】
マルチパス制御の確実な運用のためには、マルチパス制御が正常に動作するか否かの確認試験が重要となる。マルチパス制御の正常動作の確認方法の1つとして、運用時の構成と等価になるように疑似IO装置を各チャネルに接続した構成を用意して、各パスを疑似的にビジーにすることで正常動作することを確認する方法がある。以下のその方法について概要を説明する。
【0005】
ここでは、チャネルCH0~CH3の4つのチャネルが存在する場合で説明する。マルチパス制御は、チャネルCH0からIO装置に接続されるパスが接続されたIO装置の動作によりビジー状態になると、チャネルCH1の接続バスを利用するように切り替わるように動作する。
【0006】
そこで、確認試験時では、実際のIO装置の代わりに、疑似IO装置が接続され、疑似IO装置に対して命令が送られることで疑似的にIO動作によるビジー状態が形成され、使用されるパスが切り替わりIO装置に対するアクセスが継続されることが確認される。そして、ビジー状態とする疑似IO装置の組み合わせを変更して同様の試験を繰り返し、全てのパス対して切り替えが正常動作するかどうかの確認が行われる。これにより、各チャネルの接続性の確認とともに、マルチパス制御による各パスへの切り替えが正常動作するかどうかの確認を行うことができる。
【0007】
例えば、試験プログラムは、チャネルCH0、CH2およびCH3をビジーとして、チャネルCH1を転送可能状態としておき、チャネルCH0、CH2またはCH3に対するデータ転送が、チャネルCH1を用いた転送に切り替わって完了するか否かを確認する。次に、試験プログラムは、チャネルCH0、CH1およびCH3をビジーとして、チャネルCH2を転送可能状態としておき、チャネルCH0、CH1またはCH3に対するデータ転送が、チャネルCH2を用いた転送に切り替わって完了するか否かを確認する。次に、試験プログラムは、チャネルCH0、CH1およびCH2をビジーとして、チャネルCH3を転送可能状態としておき、チャネルCH0、CH1またはCH2に対するデータ転送が、チャネルCH3を用いた転送に切り替わって完了するか否かを確認する。最後に、試験プログラムは、チャネルCH1、CH2およびCH3をビジーとして、チャネルCH0を転送可能状態としておき、チャネルCH1、CH2またはCH3に対するデータ転送が、チャネルCH0を用いた転送に切り替わって完了するか否かを確認する。試験プログラムは、このようにマルチパス制御の確認試験を行い、最後のデータ転送の完了時にデータ転送の完了の通知を受けることで、マルチパス制御が正常に動作することを確認する。
【0008】
他にも、チャネルとIO装置との接続経路の試験方法として様々な方法が提案されている。例えば、各チャネルとIO装置とを接続する経路にバス検証装置を接続し、データ転送を制御する制御線やデータ転送をモニタリングして、テストに応じた信号の検出時にその信号に対応するバス障害を発生させて検証を行う従来技術がある。また、各チャネルと各IO装置とを疑似入出力装置を介して接続し、試験対象以外のチャネルは通常の入出力状態を維持させ、試験対象とするチャネルに対して疑似的な入出力を行って試験を行う従来技術がある。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2002-149505号公報
【文献】特開昭58-3014号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、近年、パス切り替え処理について、単なる切り替えではなく、パスの状態に応じてマルチパス構成を構築し直してパス切り替えを行うマルチパス制御が提案されている。例えば、マルチパス構成において1つのパスが一時的に不通になった場合に、不通になったパス以外のパスを用いてマルチパス制御の動作を保証するマルチパス制御が存在する。
【0011】
そのようなマルチパス制御の試験では、従来のマルチパス制御の動作試験の技術では、パスのエラーを発生させるなどしてパスの状態を変更して所望の試験を行うことは困難である。例えば、従来の動作試験では、単に転送可能などれか1つのルートへの切り替えのテストを行うため、一時的なパス不通によるパス切り替えなのかデバイスのビジーによる切り替えなのかを区別して試験することは難しい。そこで、従来の動作試験では、目的とする状態が偶然発生するまで試験を繰り返すか、試験対象とする所望の環境が理論上再現できる可能性が低いものであれば、そのような状態のテストは諦めて、所定期間内での試験で妥協することになる。
【0012】
例えば、各チャネルとIO装置との間にバス検証装置を接続して検証を行う従来技術では、各パスにおいてバス障害と認識させる信号を発生させることは可能であるが、各パスの状態遷移の制御や、マルチパス構成の再構築などは困難である。したがって、マルチパス制御に対して十分な試験を行うことは難しく、システムの信頼性を向上させることは困難である。また、各チャネルと各IO装置とを疑似入出力装置を設ける従来技術では、実運用とパスの試験とを並行して行うことはできるが、パスの状態に応じたマルチパス制御の試験を行うことは難しく、システムの信頼性を向上させることは困難である。
【0013】
開示の技術は、上記に鑑みてなされたものであって、システムの信頼性を向上させる情報処理装置制御プログラム、情報処理装置制御方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0014】
本願の開示する情報処理装置制御プログラム、情報処理装置制御方法及び情報処理装置の一つの態様において、コンピュータに以下の処理を実行させる。外部装置に接続された複数のパスルートにおいて前記パスルート毎にパスビジーまたはパスエラーの状態を発生させる。前記パスエラーが発生した前記パスルート以外の前記パスルートを用いてマルチパスグループを形成する。前記マルチパスグループを形成する前記パスルートのうちのいずれかを転送可能な状態にしてパス切り替えが正常に行われるかを確認する。
【発明の効果】
【0015】
1つの側面では、本発明は、システムの信頼性を向上させることができる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、試験対象となるサーバのハードウェア構成図である。
【
図2】
図2は、マルチパス動作試験実行に関する機能のブロック図である。
【
図3】
図3は、パターンテーブルの一例を表す図である。
【
図4】
図4は、試験パターンに応じたIOコマンド列を表す図である。
【
図5】
図5は、マルチグループパスの生成を説明するための図である。
【
図6】
図6は、実施例1に係る試験制御部によるマルチパス動作試験の制御処理のフローチャートである。
【
図7】
図7は、チャネル管理部によるマルチパス動作試験の制御処理のフローチャートである。
【
図8】
図8は、パスの切り替えによる遅延を説明するための図である。
【
図9】
図9は、実施例2に係る試験制御部によるマルチパス動作試験の制御処理のフローチャートである。
【発明を実施するための形態】
【0017】
以下に、本願の開示する情報処理装置制御プログラム、情報処理装置制御方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラムが限定されるものではない。
【実施例1】
【0018】
図1は、試験対象となるサーバのハードウェア構成図である。サーバ1は、
図1に示すように、CPU(Central Processing Unit)11、チャネルマネージメントコントローラ12、メモリ13及びチャネル装置14A~14Dを有する。
【0019】
CPU11は、チャネルマネージメントコントローラ12、メモリ13及びチャネル装置14A~14Dに接続される。また、チャネルマネージメントコントローラ12は、バスを介してチャネル装置14A~14Dに接続される。
【0020】
チャネル装置14A~14Dは、外部デバイスが接続され、接続された外部デバイスとの間で通信経路であるパスを確立する。ここで、
図1では、4つのチャネル装置14A~14Dを記載したが、マルチパスを形成可能な2つ以上であればこの数に特に制限はない。試験実行時には、チャネル装置14A~14Dのそれぞれに、疑似IO装置2A~2Dが接続される。以下の説明では、チャネル装置14A~14Dのそれぞれを区別しない場合は、「チャネル装置14」と呼ぶ。
【0021】
CPU11は、演算処理装置である。CPU11は、チャネル装置14に接続された外部記憶装置などからプログラムを読み出してメモリ13上に展開して実行する。CPU11は、演算処理の実行時に、チャネル装置14を介して外部デバイスに対してアクセスし処理を実行する。例えば、データの読み出しや書き込みの場合、CPU11は、チャネル装置14を介して外部記憶装置に対してデータの書き込みや読み出しを行う。また、CPU11は、マルチパス動作試験プログラムを実行して、チャネルマネージメントコントローラ12を介してチャネル装置14の試験を行う。この試験の際に、CPU11は、疑似IO装置2A~2Dの状態遷移を行う。
【0022】
チャネルマネージメントコントローラ12は、チャネル装置14を管理する。例えば、チャネルマネージメントコントローラ12は、複数のチャネル装置14が形成するパスをまとめてマルチパスグループを形成する。マルチパスグループとは、マルチパスを形成する1まとまりのパスを指す。また、チャネルマネージメントコントローラ12は、マルチパスグループを形成するパスのうちいずれかのパスでパスエラーが発生すると、そのパスエラーが発生したパス以外のパスをまとめてマルチパスグループを再構築する。
【0023】
また、チャネルマネージメントコントローラ12は、CPU11から出力されたIOコマンドを受信して、指定されたパスを形成するチャネル装置14へ送信する。また、チャネルマネージメントコントローラ12は、IOコマンドを送信したマルチパスグループにおいて送信先のチャネル装置14に接続された外部デバイスがビジーの場合、マルチパスグループの他のパスにIOコマンドの送信先を切り替える。チャネルマネージメントコントローラ12は、切り替えた先のパスが転送可能状態の場合、そのパスを用いてIOコマンドを転送する。
【0024】
疑似IO装置2A~2Dは、CPU11から送信されたIO開始指示により、実際の外部デバイスと同様な動作でエミュレートし状態ステータスを応答できる。また、疑似IO装置2A~2Dは、応答時間を変化させることができる。疑似IO装置2A~2Dは、IOコマンドに応じて処理時間を調整して、与えられた設定にしたがって正常または異常の応答をCPU11へ返す。また、疑似IO装置2A~2Dは、設定により応答としてパスエラー応答およびビジー応答をチャネルマネージメントコントローラ12に返すことができる。以下の説明では、疑似IO装置2A~2Dのそれぞれを区別しない場合、「疑似IO装置2」と呼ぶ。
【0025】
図2は、マルチパス動作試験実行に関する機能のブロック図である。
図2における試験制御部100は、CPU11により実現される。また、チャネル管理部200は、チャネルマネージメントコントローラ12により実現される。
【0026】
試験制御部100は、マルチパス動作試験を統括管理する。試験制御部100は、
図2に示すように、疑似IO制御部102、試験パターン生成部101、IOコマンド発行部103、転送管理部104および結果出力部105を有する。
【0027】
試験パターン生成部101は、サーバ1が有するチャネル装置14の数に応じて、
図3に示すように、列方向に状態遷移手順をならべ、行方向にそれぞれの疑似IO装置2を並べたマトリクスを作成する。
図3は、パターンテーブルの一例を表す図である。
【0028】
次に、試験パターン生成部101は、1つのパスでパスエラーを発生させ、残りのパスのうち1つのパスを転送可能状態にして、残りのパスをビジーにする複数の試験パターンを生成する。試験パターン生成部101は、各試験パターンで、パスエラーを発生させるパスが異なり、且つ、転送可能状態にするパスが異なるように試験パターンを作成する。
【0029】
例えば、疑似IO装置2A~2Dが存在し、それぞれにつながるパスをパスP0~P3とした場合、試験パターン生成部101は、4つのパターンをふくむテストパターンを作成する。具体的には、試験パターン生成部101は、パスP0をパスエラーとし、パスP3を転送可能とする第1パターンを生成する。また、試験パターン生成部101は、パスP1をパスエラーとし、パスP2を転送可能とする第2パターンを生成する。また、試験パターン生成部101は、パスP2をパスエラーとし、パスP0を転送可能とする第3パターンを生成する。また、試験パターン生成部101は、パスP3をパスエラーとし、パスP0を転送可能とする第4パターンを生成する。そして、試験パターン生成部101は、生成した第1パターンから第4パターンまでの試験を順次行うように、それぞれのパターンを形成する手順にしたがって各パスP0~P3の状態をマトリクスに登録して、パターンテーブル110を生成する。
図3のパターンテーブル110では、遷移を行わないで状態を維持する場合にはその時の状態が登録され、遷移を行う場合には遷移対象への遷移を行う情報が登録される。
【0030】
その後、試験パターン生成部101は、生成したパターンテーブル110を疑似IO制御部102へ出力する。
【0031】
疑似IO制御部102は、パターンテーブル110の入力を試験パターン生成部101から受ける。次に、疑似IO制御部102は、パターンテーブル110を疑似IO装置2毎、すなわち
図3における列毎に分割して、疑似IO装置2毎の状態遷移データの手順にしたがった列を生成する。
【0032】
次に、疑似IO制御部102は、全ての疑似IO装置2を初期状態であるビジー状態へ遷移させる指示をチャネル管理部200のビジー状態管理部205へ出力する。パターンテーブル110の手順0において、全ての疑似IO装置2をビジー状態に遷移させる構成でも良いが、本実施例では、疑似IO制御部102は、マルチパス試験の実行前に全ての疑似IO装置2を初期化してビジー状態へ遷移させる。その後、疑似IO制御部102は、IOコマンドの送信をIOコマンド発行部103に指示する。
【0033】
次に、疑似IO制御部102は、手順にしたがって疑似IO装置2毎の状態遷移データをチャネル管理部200へ出力する。すなわち、疑似IO制御部102は、手順0において状態を遷移させる疑似IO装置2の状態遷移データを出力し、次に、手順1において状態を遷移させる疑似IO装置2の状態遷移データを出力するといった処理を繰り返す。この時、疑似IO制御部102は、各試験パターンの完了後に、次の試験パターン用のIOコマンドの発行をIOコマンド発行部103に指示する処理を挟みながら、各手順を実行する。
【0034】
具体的には、疑似IO制御部102は、特定の疑似IO装置2の状態遷移データがその時点の状態を維持するデータである場合、特定の疑似IO装置2に対して状態遷移データを出力せずに、状態を維持させる。ただし、特定の疑似IO装置2の状態遷移データがその時点の状態を維持するデータである場合に、疑似IO制御部102は、その時点の状態への遷移を指示する状態遷移データを出力して、特定の疑似IO装置2の状態を維持させてもよい。
【0035】
また、特定の疑似IO装置2の状態遷移データがビジー状態への遷移を表す場合、疑似IO制御部102は、特定の疑似IO装置2の状態遷移データを、チャネル管理部200のビジー状態管理部205へ送信する。これにより、疑似IO制御部102は、特定の疑似IO装置2のビジー状態への遷移をビジー状態管理部205に指示する。
【0036】
また、特定の疑似IO装置2の状態遷移データが転送可能状態への遷移を表す場合、疑似IO制御部102は、特定の疑似IO装置2の状態遷移データを、チャネル管理部200のビジー状態管理部205へ送信する。これにより、疑似IO制御部102は、特定の疑似IO装置2の転送可能状態への遷移をビジー状態管理部205に指示する。
【0037】
また、特定の疑似IO装置2の状態遷移データがパスエラーを発生させる状態への遷移を表す場合、疑似IO制御部102は、特定の疑似IO装置2の状態遷移データを、チャネル管理部200のパスエラー指示部206へ送信する。これにより、疑似IO制御部102は、特定の疑似IO装置2のパスエラーを発生させる状態への遷移をビジー状態管理部205に指示する。
【0038】
例えば、
図3に示すパターンテーブル110を用いる場合で説明する。まず、疑似IO制御部102は、第1パターンで用いるIOコマンドの発行をIOコマンド発行部103に指示する。手順0において、疑似IO制御部102は、ビジー状態にある全ての疑似IO装置2A~2Dの情報をそのまま維持する。次に、手順1において、疑似IO制御部102は、パスエラーを発生させる疑似IO装置2Aの状態遷移データをパスエラー指示部206へ送信する。次に、手順2において、疑似IO制御部102は、疑似IO装置2Aの状態がパスエラーに遷移したことを確認する。次に、手順3において、疑似IO制御部102は、転送可能状態に遷移させる疑似IO装置2Dの状態遷移データをビジー状態管理部205へ出力する。次に、手順4において、疑似IO制御部102は、疑似IO装置2DによりIOコマンドが転送されたことを確認する。その後、手順5において、疑似IO制御部102は、ビジー状態へ遷移させる疑似IO装置2A及び疑似IO装置2Dの状態遷移データをビジー状態管理部205へ出力する。これにより、疑似IO制御部102は、第1パターンのマルチパス動作試験を完了する。
【0039】
続いて、疑似IO制御部102は、第2パターンで用いるIOコマンドの発行をIOコマンド発行部103に指示する。次に、疑似IO制御部102は、第2パターンのマルチパス動作試験を実行するように各疑似IO装置2の状態遷移データをビジー状態管理部205またはパスエラー指示部206へ出力する。その後、疑似IO制御部102は、第3パターンおよび第4パターンのマルチパス動作試験を同様に実行する。このように、疑似IO制御部102は、パターンテーブル110に登録された全てのパターンのマルチパス動作試験を実行する。
【0040】
最後の手順が完了すると、疑似IO制御部102は、マルチパス動作試験を終了する。また、疑似IO制御部102は、パターンテーブル110に登録された各手順を実行中に、転送管理部104からエラー通知を受けると、手順を止めてマルチパス動作試験を終了する。
【0041】
IOコマンド発行部103は、試験パターン毎の開始時に、IOコマンドの発行の指示を疑似IO制御部102から受ける。そして、IOコマンド発行部103は、試験パターン毎にIOコマンドを発行する。
【0042】
図4は、試験パターンに応じたIOコマンド列を表す図である。例えば、疑似IO装置2A~2Dへつながる4つのパスが存在する場合、試験パターンは4つあるので、IOコマンド発行部103は、
図4に示すIOコマンド列111に含まれる4つのIOコマンド#1~#4を発行する。
【0043】
IOコマンド発行部103は、第1パターンのマルチパス動作試験を行う場合、IOコマンド#1をチャネル管理部200の転送処理部201へ発行する。第2パターンのマルチパス動作試験を行う場合、IOコマンド発行部103は、IOコマンド#2をチャネル管理部200の転送処理部201へ発行する。第3パターンのマルチパス動作試験を行う場合、IOコマンド発行部103は、IOコマンド#3をチャネル管理部200の転送処理部201へ発行する。第4パターンのマルチパス動作試験を行う場合、IOコマンド発行部103は、IOコマンド#4をチャネル管理部200の転送処理部201へ発行する。
【0044】
転送管理部104は、IOコマンドの転送結果を転送処理部201から受ける。IOコマンドの転送にエラーが発生した場合、転送管理部104は、エラー通知を転送処理部201から受ける。この場合、転送管理部104は、エラー通知を疑似IO制御部102および結果出力部105へ出力する。
【0045】
これに対して、パターンテーブル110に登録された全ての試験パターンが完了した場合、転送管理部104は、完了通知を転送処理部201から受信する。そして、転送管理部104は、完了通知を受信すると正常終了と判定して、正常終了の通知を結果出力部105へ出力する。
【0046】
結果出力部105は、エラー通知または正常終了の通知を転送管理部104から受ける。そして、結果出力部105は、取得した通知にしたがって、マルチパス動作試験の結果を出力する。例えば、結果出力部105は、ディスプレイにマルチパス動作試験の結果を表示させる。
【0047】
次に、チャネル管理部200について説明する。チャネル管理部200は、マルチパスグループの生成およびマルチパス制御を実行する。チャネル管理部200は、転送処理部201、パス切替部202、グループ管理部203、転送可能検知部204、ビジー状態管理部205およびパスエラー指示部206を有する。
【0048】
ビジー状態管理部205は、マルチパス動作試験の開始時に全ての疑似IO装置2をビジー状態へ遷移させる指示の入力を疑似IO制御部102から受ける。そして、ビジー状態管理部205は、各チャネル装置14を介して各疑似IO装置2に対してビジー状態の遷移の指示を送信して、全ての疑似IO装置2をビジー状態に遷移させる。
【0049】
また、ビジー状態管理部205は、マルチパス動作試験の実行時に、特定の疑似IO装置2をビジー状態に遷移させる状態遷移データを疑似IO制御部102から受ける。そして、ビジー状態管理部205は、特定の疑似IO装置2に接続されたチャネル装置4を介して、ビジー状態に遷移させる状態遷移データを特定の疑似IO装置2に設定し、特定の疑似IO装置2をビジー状態に遷移させる。
【0050】
また、ビジー状態管理部205は、マルチパス動作試験の実行時に、特定の疑似IO装置2を転送可能状態に遷移させる状態遷移データを疑似IO制御部102から受ける。そして、ビジー状態管理部205は、特定の疑似IO装置2に接続されたチャネル装置4を介して、転送可能状態に遷移させる状態遷移データを特定の疑似IO装置2に設定し、特定の疑似IO装置2のビジー状態を解除して転送可能状態に遷移させる。
【0051】
パスエラー指示部206は、マルチパス動作試験の実行時に、パスエラーを発生させる状態に遷移させる疑似IO装置2の状態遷移データの入力を疑似IO制御部102から受ける。そして、パスエラー指示部206は、特定の疑似IO装置2に接続されたチャネル装置4を介して、パスエラーを発生させる状態に遷移させる状態遷移データを特定の疑似IO装置2に設定し、特定の疑似IO装置2にパスエラーを発生させる状態に遷移させる。
【0052】
転送処理部201は、IOコマンドの入力をIOコマンド発行部103から受ける。また、転送処理部201は、転送先の疑似IO装置2につながるパスに接続されたチャネル装置14の情報をパス切替部202から受ける。そして、転送処理部201は、パス切替部2202により指定されたチャネル装置14へIOコマンドを転送する。
【0053】
その後、パス切替部202から切り替えられた次のパスに接続されたチャネル装置14の情報の入力を受けると、転送処理部201は、切り替えられたチャネル装置14へIOコマンドを転送する。転送処理部201は、パス切替部202の指示にしたがい転送先を切り替えながら、IOコマンドを転送する。IOコマンドの転送完了の応答がチャネル装置14から返ってくると、転送処理部201は、最後のIOコマンドか否かを判定する。最後のIOコマンドでない場合、転送処理部201は、次の試験パターン用のIOコマンドをIOコマンド発行部103から取得する。そして、転送処理部201は、パス切替部202の指示にしたがい転送先を切り替えながら、IOコマンドの転送を行う。
【0054】
これに対して、最後のIOコマンドの場合、転送処理部201は、IOコマンドの転送完了の通知をチャネル装置14から受けると、完了通知を転送管理部104へ送信する。また、転送処理部201は、最後の試験パターンのIOコマンドの転送完了以前に、エラー通知を転送可能検知部204から受けると、エラー通知を転送管理部104へ出力する。
【0055】
グループ管理部203は、各チャネル装置14に繋がるパスを用いてマルチパスグループを生成する。そして、マルチパスグループに属するパスの中のいずれかでパスエラーが発生した場合、すなわち疑似IO装置2からパスエラー応答が送られた場合、グループ管理部203は、そのパスエラーが発生したパス以外のパスを用いてマルチパスグループを再生成する。
【0056】
図5は、マルチグループパスの生成を説明するための図である。チャネル装置14A~14Dと疑似IO装置2A~2Dとをそれぞれ接続するパスP0~P3が存在する場合で説明する。例えば、グループ管理部203は、
図5の紙面に向かって上段のように、全てのパスP0~P3を用いてマルチパスグループ301を生成する。
【0057】
この状態で、疑似IO装置2Aがパスエラーを発生させる状態に遷移すると、パスP0においてパスエラーが発生する。そこで、グループ管理部203は、
図5の紙面に向かって下段のように、パスP0を除いたパスP1~P3を用いてマルチパスグループ302を再生成する。
【0058】
パス切替部202は、マルチパスグループを形成するパスに接続されたチャネル装置14の情報の入力をグループ管理部203から受ける。以下では、マルチパスグループを形成するパスに接続されたチャネル装置14が形成するグループを、マルチパス制御グループと呼ぶ。
【0059】
パス切替部202は、マルチパス制御グループの中からチャネル装置14を1つ選択する。そして、パス切替部202は、転送先の疑似IO装置2につながるパスに接続されたチャネル装置14として選択したチャネル装置14の情報を転送処理部201および転送可能検知部204へ出力する。
【0060】
その後、パス切替部202は、パスの切り替えの指示を転送可能検知部204から受ける。そして、パス切替部202は、マルチパス制御グループの中から他のチャネル装置14を1つ選択する。ここで、チャネル装置14の選択順は予め決められていてもよい。例えば、チャネル装置14毎に識別番号が割り当てられており、パス切替部202は、識別番号の若い順にチャネル装置14を選択し、最大の識別番号の次には最小の識別番号に戻るようにチャネル装置14の選択を行ってもよい。パス切替部202は、転送先の疑似IO装置2につながるパスに接続されたチャネル装置14として選択したチャネル装置14の情報を転送処理部201および転送可能検知部204へ出力する。パス切替部202は、このようなパスの切り替えを繰り返す。
【0061】
転送可能検知部204は、IOコマンドの転送先のチャネル装置14の情報の入力をパス切替部220から受ける。そして、転送可能検知部204は、IOコマンドの転送先のチャネル装置14に繋がるパスを監視して、そのパスを用いてデータの転送が可能か否かを判定する。
【0062】
IOコマンドの転送先のチャネル装置14に繋がるパスがビジー状態の場合、転送可能検知部204は、そのパスに接続された疑似IO装置2からビジー状態の終了の通知を受けるまで待機する。そして、転送可能検知部204は、ビジー状態の終了の通知を受けると、パスの切り替えをパス切替部202に指示する。
【0063】
これに対して、IOコマンドの転送先のチャネル装置14に繋がるパスが転送可能状態の場合、転送可能検知部204は、転送が正常に行われたか否かを判定する。例えば、転送可能検知部204は、予め決められた期間内に疑似IO装置2から転送完了の応答がない場合、異常が発生して転送が失敗したと判定する。転送が正常に行われなかった場合、転送可能検知部204は、エラー通知を転送処理部201へ出力する。
【0064】
チャネル装置14は、自己に繋がる疑似IO装置2に対する状態遷移データの入力をビジー状態管理部205から受ける。そして、チャネル装置14は、自己に繋がる疑似IO装置2に取得した状態遷移データを設定して、疑似IO装置2をビジー状態又は転送可能状態に遷移させる。
【0065】
また、チャネル装置14は、パスエラーを発生させる疑似IO装置2に対する状態遷移データの入力をパスエラー指示部206から受ける。そして、チャネル装置14は、自己に繋がる疑似IO装置2に取得した状態遷移データを設定して、疑似IO装置2にパスエラーを発生させる状態に遷移させる。
【0066】
また、チャネル装置14は、自己に繋がる疑似IO装置2を転送先とするIOコマンドの入力を転送処理部201から受ける。そして、チャネル装置14は、自己に繋がる疑似IO装置2へIOコマンドを転送する。その後、チャネル装置14は、IOコマンドの転送に対する応答を疑似IO装置2から受けると、応答を転送処理部201へ出力する。
【0067】
また、チャネル装置14は、疑似IO装置2から受信したビジーの通知を転送可能検知部204へ出力する。また、チャネル装置14は、疑似IO装置2から受信した転送可能の通知を転送可能検知部204へ出力する。また、チャネル装置14は、疑似IO装置2から受信したパスエラーの発生の通知をグループ管理部203へ出力する。
【0068】
次に、
図6を参照して、本実施例に係る試験制御部100によるマルチパス動作試験の制御処理の流れを説明する。
図6は、実施例1に係る試験制御部によるマルチパス動作試験の制御処理のフローチャートである。
【0069】
試験パターン生成部101は、列方向で手順を表し行方向で各疑似IO装置2を表すマトリクスを作成する(ステップS101)。
【0070】
次に、試験パターン生成部101は、パスエラーを発生させる状態に遷移させるパス及び転送可能状態に遷移させるパスが順次切り替わるように、複数の試験パターンを作成してパターンテーブル110を生成(ステップS102)。その後、試験パターン生成部101は、パターンテーブル110を疑似IO制御部102へ出力する。
【0071】
疑似IO制御部102は、パターンテーブル110の入力を試験パターン生成部101から受ける。次に、疑似IO制御部102は、パターンテーブル110を疑似IO装置2毎に分割して、疑似IO装置2毎の状態遷移データを生成する(ステップS103)。
【0072】
次に、疑似IO制御部102は、疑似IO装置2の初期化をビジー状態管理部205に指示して、疑似IO装置2を初期化する(ステップS104)。
【0073】
次に、疑似IO制御部102は、IOコマンドの発行をIOコマンド発行部103に指示する。IOコマンド発行部103は、IOコマンドの発行の指示を疑似IO制御部102から受けて、試験パターンに応じたIOコマンドを転送処理部201に発行する(ステップS105)。
【0074】
次に、疑似IO制御部102は、手順にしたがって状態を遷移させる疑似IO装置2の状態遷移データをビジー状態管理部205又はパスエラー指示部206へ順次出力して、対象とする疑似IO装置2に設定して状態を遷移させる(ステップS106)。
【0075】
転送管理部104は、エラー通知を受信したか否かを判定する(ステップS107)。エラー通知を受信した場合(ステップS107:肯定)、転送管理部104は、エラーが発生したと判定する(ステップS108)。その後、転送管理部104は、エラー通知を疑似IO制御部102及び結果出力部105へ出力する。そして、マルチパス動作試験の制御処理は、ステップS111へ進む。
【0076】
一方、転送管理部104がエラー通知を受信しない場合(ステップS107:否定)、疑似IO制御部102は、最終のIOコマンドを発行したか否かを判定する(ステップS109)。最終のIOコマンドの発行が完了していない場合(ステップS109:否定)、疑似IO制御部102は、ステップS105へ戻る。
【0077】
これに対して、疑似IO制御部102が最終のIOコマンドを発行した場合(ステップS109:肯定)、転送管理部104は、完了通知を転送処理部201から受信する(ステップS110)。そして、転送管理部104は、マルチパス動作試験が正常終了したと判定して、正常終了の通知を結果出力部105へ出力する。
【0078】
結果出力部105は、エラー通知又は正常終了の通知のいずれかの結果の通知を転送管理部104から受ける。そして、結果出力部105は、マルチパス動作試験の結果を出力する(ステップS111)。
【0079】
次に、
図7を参照して、チャネル管理部200によるマルチパス動作試験の制御処理の流れを説明する。
図7は、チャネル管理部によるマルチパス動作試験の制御処理のフローチャートである。
【0080】
ビジー状態管理部205は、全ての疑似IO装置2の初期化の指示を疑似IO制御部102から受ける。そして、ビジー状態管理部205は、ビジー状態に遷移させる指示をチャネル装置14を介して各疑似IO装置2へ通知して、全ての疑似IO装置2をビジー状態にして初期化する(ステップS201)。
【0081】
転送処理部201は、IOコマンドをIOコマンド発行部103から受信する(ステップS202)。そして、転送処理部201は、IOコマンドの転送を開始する。
【0082】
次に、ビジー状態管理部205およびパスエラー指示部206は、パターンテーブル110における手順にしたがって状態遷移データの入力を疑似IO制御部102から受ける。そして、ビジー状態管理部205は、取得した状態遷移データを対象となる疑似IO装置2へチャネル装置14を介して送信して設定することで状態を遷移させる(ステップS203)。これにより、疑似IO装置2のいずれかが、パスエラーを発生させる状態となり、いずれかが転送可能状態となる。
【0083】
グループ管理部203は、パスエラーが発生したパス以外のパスを用いてマルチパスグループを生成する(ステップS204)。
【0084】
パス切替部202は、マルチパスグループに属するパスの中から1つのパスを選択する(ステップS205)。そして、パス切替部202は、IOコマンドの転送先とするチャネル装置14として選択したパスに接続されたチャネル装置14の情報を転送処理部201へ出力する。転送処理部201は、IOコマンドの転送先とするチャネル装置14の情の入力をパス切替部202から受ける。そして、転送処理部201は、指定されたチャネル装置14へIOコマンドを転送する。
【0085】
転送可能検知部204は、パス切替部202により選択されたパスを監視する。そして、転送可能検知部204は、監視するパスに接続された疑似IO装置2からビジーの通知が送られてくるか否かにより、監視するパスがビジー状態か否かを判定する(ステップS206)。
【0086】
監視するパスがビジー状態の場合(ステップS206:肯定)、転送可能検知部204は、ビジーの終了が疑似IO装置2から通知されビジー解除となるまで待機する(ステップS207)。そして、監視するパスがビジー解除となった場合、転送可能検知部204は、パスの切り替えをパス切替部202に指示する。その後、マルチパス動作試験の制御処理はステップS205へ戻る。
【0087】
これに対して、監視するパスが転送可能状態の場合(ステップS206:否定)、転送可能検知部204は、転送可能状態のパスに対するIOコマンドの転送が開始されたか否かを判定する(ステップS208)。
【0088】
使用可能状態のパスに対するIOコマンドの転送が開始されない場合(ステップS208:否定)、転送可能検知部204は、エラー通知を転送処理部21へ出力する。転送処理部201は、エラー通知を転送管理部104へ出力する(ステップS209)。
【0089】
これに対して、使用可能状態のパスに対するIOコマンドの転送が開始された場合(ステップS208:肯定)、転送処理部201は、そのパスに対してIOコマンドを転送する(ステップS210)。
【0090】
その後、転送処理部201は、IOコマンドを転送した疑似IO装置2から応答を受信してマルチパス制御が正常に動作したか否かを判定する(ステップS211)。異常が発生した場合(ステップS211:否定)、転送処理部201は、エラー通知を転送管理部104へ出力する(ステップS209)。
【0091】
正常に動作した場合(ステップS211:肯定)、転送処理部201は、転送したIOコマンドが最終のIOコマンドか否かを判定する(ステップS212)。転送したIOコマンドが最終のIOコマンドでない場合(ステップS212:否定)、マルチパス動作試験の制御処理は、ステップS202へ戻る。
【0092】
これに対して、転送したIOコマンドが最終のIOコマンドの場合(ステップS212:肯定)、転送処理部201は、IOコマンドの転送の完了通知を転送管理部104へ出力する(ステップS213)。
【0093】
以上に説明したように、本実施例に係るマルチパス動作試験では、パスエラーを発生させてマルチパスグループを再構築させ、再構築させたマルチパスグループにおいてマルチパス制御が正しく動作するか否かを確認する。このように、本実施例に係るマルチパス動作試験では、パスエラーの発生などによる一時不通を含むパスの状態に応じたマルチパス制御の試験を行うことができる。したがって、マルチパス制御を網羅的に確認することができ、システムの信頼性を向上させることが可能となる。
【0094】
例えば、マルチパス制御によるパスの切り替え機能により順番に転送可能なパスを検索する従来の試験方式を用いた場合、以下のような問題が発生する。従来の試験方法では、マルチパスグループのパスで、1つは転送可能状態を作りそのパスが転送できることでパスルートの確認を行ってきた。このため、何らかの要因でマルチパスグループにおける1本のパスが一時的な不通状態になった場合、従来の試験方法では、障害により一時的な不通状態のパスもマルチパス制御の制御下として選択するパスの1つとして制御する。すなわち、従来の試験方法では、一時的なパス不通によるパスの切り替えなのかデバイスのビジーによる切り替えなのかは判定することが困難である。この場合、著しい性能低下の発生やマルチパス制御で異常が発生するおそれがあり適切な試験が行えない。また、パス異常によるマルチパスグループの再構築の正当性の確認が困難である。
【0095】
これに対して、本実施例に係るマルチパス動作試験の場合、パスの一時不通状態を作り出して、一時不通状態のパスを除いてマルチパスグループの再構築を行い、再構築したマルチパスグループでマルチパス制御の動作確認を行う。このため、マルチパスグループの再構築の正当性の確認が行えるとともに、一時不通のパスによる異常の発生を回避して適切な試験を行うことが可能となる。
【実施例2】
【0096】
次に、実施例2について説明する。本実施例に係るマルチパス動作試験は、ビジーを含めたマルチパス制御によるパス切り替えに掛かった時間を観測してIO性能の確認を行うことが実施例1と異なる。本実施例に係るサーバも
図2のブロック図で表される。以下の説明では、実施例1と同様の各部の機能については説明を省略する。
【0097】
IOコマンド発行部103は、疑似IO制御部102による疑似IO装置2の初期化前に、試験パターン毎に発行するIOコマンドを、いずれかの1つの疑似IO装置2へ順次発行してIO実行時間測定の試験を行う。この際、IOコマンド発行部103は、IOコマンドの発行を転送管理部104に通知する。
【0098】
例えば、
図4に示すIOコマンド列111を用いる場合で説明する。IOコマンド発行部103は、IO実行時間測定の試験の対象とする疑似IO装置2として、例えば疑似IO装置2Aを選択する。そして、IOコマンド発行部103は、第1パターンで発行するIOコマンド#1を疑似IO装置2Aへ発行するとともに、IOコマンド#1の発行を転送管理部104へ通知する。次に、IOコマンド発行部103は、第2パターンで発行するIOコマンド#2を疑似IO装置2Aへ発行するとともに、IOコマンド#2の発行を転送管理部104へ通知する。また、IOコマンド発行部103は、第3パターンで発行するIOコマンド#3を疑似IO装置2Aへ発行するとともに、IOコマンド#3の発行を転送管理部104へ通知する。また、IOコマンド発行部103は、第4パターンで発行するIOコマンド#4を疑似IO装置2Aへ発行するとともに、IOコマンド#4の発行を転送管理部104へ通知する。
【0099】
その後、各試験パターンを用いたマルチパス動作試験の実行時に、IOコマンド発行部103は、IOコマンドの発行を転送管理部104に通知する。
【0100】
転送管理部104は、IO実行時間測定の試験において、各試験パターン用のIOコマンドの発行の通知をIOコマンド発行部103から受ける。そして、転送管理部104は、各IOコマンドが発行された時刻を記憶する。
【0101】
その後、転送管理部104は、IO実行時間測定の試験の対象とされた疑似IO装置2からの発行された各IOコマンドに対する応答を受信した時刻とIOコマンドの発行時刻との差分を算出する。そして、各疑似IO装置2が機能的に同等であるとして、転送管理部104は、差分に各試験パターンにおいてマルチパスグループとする疑似IO装置2の台数を乗算してマルチパスグループに含まれる疑似IO装置2へのIOコマンドの送信時間の合計を算出する。さらに、転送管理部104は、算出したIOコマンドの送信時間の合計に適当なビジー滞留時間を加算してマルチパスグループに含まれる疑似IO装置2の全体のIO実行時間の期待値を算出する。この期待値は、
図8に示すように切り替えが行われない場合の応答時間の期待値である。
図8は、パスの切り替えによる遅延を説明するための図である。
図8は、3つの疑似IO装置2を用いてマルチパスグループが形成される場合のIO実行時間の期待値と実績値とを表す。
【0102】
また、転送管理部104は、加算したビジー滞留時間をマルチパスグループに含まれる疑似IO装置2の台数で除算することで、個々の疑似IO装置2におけるビジー滞留時間を求める。そして、転送管理部104は、個々の疑似IO装置2におけるビジー滞留時間を疑似IO制御部102へ通知する。
【0103】
その後、各試験パターンを用いたマルチパス動作試験が開始されると、転送管理部104は、各試験パターンでのIOコマンドの発行の通知をIOコマンド発行部103から受ける。そして、転送管理部104は、IOコマンドの発行時刻を記憶する。
【0104】
その後、各試験パターンのIOコマンドの転送が完了する毎に、転送管理部104は、終了割り込みを転送処理部201から受信する。そして、転送管理部104は、終了割り込みを受信した時刻を応答取得時刻として記憶する。
【0105】
そして、転送管理部104は、試験パターン毎に、応答取得時刻とIOコマンドの発行時刻の差分を求めて、
図8に示すように切り替えによる遅延を含むIO実行時間の実績値を求める。
図8に示すように、IO実行時間の実績値には、切り替え時間401及び402が含まれる。そして、転送管理部104は、終了した試験パターンのIO実行時間の期待値と実績値との差分を求めて、その試験パターンにおける切り替えによる遅延時間Tを算出する。
【0106】
その後、転送管理部104は、算出した遅延時間と予め決められた遅延閾値とを比較して、遅延時間が遅延閾値未満か否かを判定する。遅延時間が遅延閾値以上の場合、転送管理部104は、エラーが発生したと判定する。そして、転送管理部104は、エラー通知を疑似IO制御部102及び結果出力部105へ出力する。
【0107】
ここで、サーバ1で動作するプログラムは、IO装置がマルチパス構成であることを意識しない。そのため、サーバ1で動作するプログラムは、パス切り替えによる遅延時間を含むIO実行時間が一定時間以上経過するとタイムアウトと判定するおそれがある。その場合、サーバ1で動作するプログラムは、有効なパスが存在してもマルチパス構成を含む全てのチャネル装置14の配下のIO装置を切り離して故障通知を行う可能性がある。このような事態を避けるために、タイムアウトと判定される時間以内に納まるようにパスの切り替えが行われることが保証されることが好ましい。転送管理部104が、パス切り替えによる遅延時間が遅延時間閾値以上の場合にはエラーと判定することで、タイムアウトと判定される事態の発生を軽減することができる。
【0108】
疑似IO制御部102は、個々の疑似IO装置2におけるビジー滞留時間の通知を転送管理部104から受ける。そして、疑似IO制御部102は、ビジー状態へ遷移させる状態遷移データの送信時に、ビジー滞留時間を通知して、疑似IO装置2をビジー状態に遷移させるとともにビジー滞留時間を設定する。
【0109】
転送処理部201は、各試験パターンによるマルチパス動作試験の実行時に、疑似IO装置2から送信されたIOコマンドの転送完了の応答を受信すると、終了割り込みを転送管理部104へ出力する。
【0110】
疑似IO装置2は、チャネル装置14を介してビジー状態に遷移させる状態遷移データとともにビジー滞留時間の設定を受ける。そして、疑似IO装置2は、転送処理部201からのIOコマンドの転送要求を受けてビジーを通知した後、ビジー滞留時間が経過するとビジー終了を転送可能検知部204に通知してビジー解除する。
【0111】
次に、
図9を参照して、本実施例に係る試験制御部100によるマルチパス動作試験の制御処理の流れを説明する。
図9は、実施例2に係る試験制御部によるマルチパス動作試験の制御処理のフローチャートである。
【0112】
試験パターン生成部101は、列方向で手順を表し、行方向で各疑似IO装置2を表すマトリクスを作成する(ステップS301)。
【0113】
次に、試験パターン生成部101は、パスエラーを発生させる状態に遷移させるパス及び転送可能状態に遷移させるパスが順次切り替わるように、複数の試験パターンを作成してパターンテーブル110を生成(ステップS302)。その後、試験パターン生成部101は、パターンテーブル110を疑似IO制御部102へ出力する。
【0114】
疑似IO制御部102は、パターンテーブル110の入力を試験パターン生成部101から受ける。次に、疑似IO制御部102は、パターンテーブル110を疑似IO装置2毎に分割して、疑似IO装置2毎の状態遷移データを生成する(ステップS303)。
【0115】
IOコマンド発行部103は、試験パターン毎に発行するIOコマンドを、いずれかの1つの疑似IO装置2へ順次発行する。転送管理部104は、疑似IO装置2からの応答を受けた時刻とIOコマンド発行部103がIOコマンドを発行した時刻の差分を求めてビジー滞留時間を除くIO実行時間を測定する(ステップS304)。
【0116】
次に、転送管理部104は、ビジー滞留時間を除くIO実行時間に各試験パターンにおいてマルチパスグループを形成する疑似IO装置2の台数を乗算し、乗算結果にビジー滞留時間を加算してIO実行時間の期待値を算出する(ステップS305)。さらに、転送管理部104は、ビジー滞留時間を各試験パターンにおいてマルチパスグループを形成する疑似IO装置2の台数で除算して、1つの疑似IO装置2毎のビジー滞留時間を算出して疑似IO制御部102に通知する。
【0117】
次に、疑似IO制御部102は、疑似IO装置2の初期化をビジー状態管理部205に指示して、疑似IO装置2を初期化する(ステップS306)。
【0118】
次に、疑似IO制御部102は、IOコマンドの発行をIOコマンド発行部103に指示する。IOコマンド発行部103は、IOコマンドの発行の指示を疑似IO制御部102から受けて、試験パターンに応じたIOコマンドを転送処理部201に発行する(ステップS307)。この際、転送管理部104は、IOコマンド発行部103によるIOコマンドの発行時刻を記憶する。
【0119】
次に、疑似IO制御部102は、手順にしたがって状態を遷移させる疑似IO装置2の状態遷移データをビジー状態管理部205又はパスエラー指示部206へ順次出力して、対象とする疑似IO装置2に設定して状態を遷移させる(ステップS308)。この際、疑似IO制御部102は、ビジー状態に遷移させる状態遷移データとともに転送管理部104から通知されたビジー滞留時間を疑似IO装置2に設定する。
【0120】
転送管理部104は、エラー通知を受信したか否かを判定する(ステップS309)。エラー通知を受信した場合(ステップS309:肯定)、転送管理部104は、エラーが発生したと判定する(ステップS310)。その後、転送管理部104は、エラー通知を疑似IO制御部102及び結果出力部105へ出力する。そして、マルチパス動作試験の制御処理は、ステップS317へ進む。
【0121】
一方、エラー通知を受信しない場合(ステップS309:否定)、転送管理部104は、1つの試験パターンを用いたマルチパス動作試験の終了後、終了割り込みを転送処理部201から受信する(ステップS311)。
【0122】
そして、転送管理部104は、終了割り込みが発生した時刻を応答受信時刻として、IOコマンド発行時刻と受信時刻との差分を求めてIO実行時間の実績値を算出する(ステップS312)。
【0123】
次に、転送管理部104は、IO実行時間の実績値からIO実行時間の期待値を減算して遅延時間を算出する(ステップS313)。
【0124】
そして、転送管理部104は、算出した遅延時間が予め決められた遅延時間閾値未満か否かを判定する(ステップS314)。
【0125】
遅延時間が遅延時間閾値以上の場合(ステップS314:否定)、転送管理部104は、エラーが発生したと判定する(ステップS310)。その後、転送管理部104は、エラー通知を疑似IO制御部102及び結果出力部105へ出力する。そして、マルチパス動作試験の制御処理は、ステップS317へ進む。
【0126】
これに対して、遅延時間が遅延時間閾値未満の場合(ステップS314:肯定)、疑似IO制御部102は、最終のIOコマンドを発行したか否かを判定する(ステップS315)。最終のIOコマンドの発行が完了していない場合(ステップS315:否定)、疑似IO制御部102は、ステップS307へ戻る。
【0127】
これに対して、疑似IO制御部102が最終のIOコマンドを発行した場合(ステップS315:肯定)、転送管理部104は、完了通知を転送処理部201から受信する(ステップS316)。そして、転送管理部104は、マルチパス動作試験が正常終了したと判定して、正常終了の通知を結果出力部105へ出力する。
【0128】
結果出力部105は、エラー通知又は正常終了の通知のいずれかの結果の通知を転送管理部104から受ける。そして、結果出力部105は、マルチパス動作試験の結果を出力する(ステップS317)。
【0129】
以上に説明したように、本実施例に係るマルチパス動作試験は、ビジー状態のレスポンス時間の統計処理により、ビジーを含めたマルチパス制御によるパス切り替えに掛かった時間を観測してIO性能の確認を行う。これにより、パスの切り替えによる遅延が大きい状態を検知することができ、そのような構成に対する対処を行うことができる。したがって、切り替え時間で発生する遅延によるタイムアウトを回避することができ、有効なパスが存在する場合には適切な切り替えが行われ、マルチパス制御の適切な動作を保証することが可能となる。
【符号の説明】
【0130】
1 サーバ
2,2A~2D 疑似IO装置
14,14A~14D チャネル装置
100 試験制御部
101 試験パターン生成部
102 疑似IO制御部
103 IOコマンド発行部
104 転送管理部
105 結果出力部
200 チャネル管理部
201 転送処理部
202 パス切替部
203 グループ管理部
204 転送可能検知部
205 ビジー状態管理部
206 パスエラー指示部