(57)【要約】【課題】ＦＣ−ＨＢＡとＦＣ−ＨＢＡドライバとのタイミング問題を再現することができ、また、フィールド環境システムに存在するファイバチャネルデバイス群を用意することなく簡単な構成で再現環境システムが構築できるフィールド障害の再現環境構築方法を提供する。【解決手段】フィールド環境システムで採取したＳＣＳＩトレース１３とＰｏｒｔトレース２２０〜２２２とを再現環境システムに格納し、そのトレース情報に従って同じタイミングでＦＣ−ＨＢＡ１５１〜１５３及びＦＣ−ＨＢＡドライバ１４を動作させる。【選択図】      図１
2006268285.tif 000002
【特許請求の範囲】
【請求項１】
フィールド環境システムは、第１ＳＣＳＩトレースにより、ファイバチャネル・ホストバスアダプタドライバに発行するＳＣＳＩコマンドとタイムスタンプ、及び、前記ファイバチャネル・ホストバスアダプタドライバから返ってきたＳＣＳＩステータスと前記タイムスタンプとを採取するステップと、ファイバチャネル・スイッチの各ポートに対応する第１ポートトレースにより、受け取ったファイバチャネルコマンドと前記タイムスタンプ、及び、返却したファイバチャネルステータスと前記タイムスタンプとを採取するステップとを有し、再現環境システムは、フィールドで問題が発生したとき、前記フィールド環境システムで採取している前記第１ＳＣＳＩトレースと前記第１ポートトレースとを抜き取るステップと、前記再現環境システムに設けた第２ＳＣＳＩトレースと第２ポートトレースとへ抜き取りデータを格納するステップと、前記第２ＳＣＳＩトレースと前記第２ポートトレースとに格納している各コマンドと各ステータスとを前記タイムスタンプに従ったタイミングで発行・返却するステップとを有することを特徴とするフィールド障害の再現環境構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド障害の再現環境構築方法に関し、特に、フィールド環境で問題が発生したときと同じタイミングでファイバチャネル・ホストバスアダプタ（以下ＦＣ−ＨＢＡ）、及び、ＦＣ−ＨＢＡドライバを動作させることにより、容易にタイミング問題を再現することができ、また、フィールド環境に存在するファイバチャネルデバイス群（以下ＦＣデバイス群）を用意することなく簡単な構成で再現環境が構築できるフィールド障害の再現環境構築方法に関する。
【背景技術】
【０００２】
特許文献１に代表される、ＳＡＮ  Ｔｅｓｔｅｒと呼ばれる装置は、予め用意しているパターンに従って動作する。しかし、フィールドでタイミング依存などの問題が発生した場合、トラブルが発生したときのパターンが判らないため容易に再現させることができない問題がある。
【０００３】
【特許文献１】特開２００４−００７４６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
再現環境を構築しても、ＦＣ−ＨＢＡ、及び、ＦＣ−ＨＢＡドライバをフィールドと同じタイミングで動作させることができず、問題解決に時間がかかる問題があった。また、フィールドと同じ環境を用意するために、多数のＦＣデバイスを用意する必要があり、再現環境が容易に構築できない問題があった。
【課題を解決するための手段】
【０００５】
本発明のフィールド障害の再現環境構築方法は、フィールド環境システムは、第１ＳＣＳＩトレースにより、ファイバチャネル・ホストバスアダプタドライバに発行するＳＣＳＩコマンドとタイムスタンプ、及び、ファイバチャネル・ホストバスアダプタドライバから返ってきたＳＣＳＩステータスとタイムスタンプとを採取するステップと、ファイバチャネル・スイッチの各ポートに対応する第１ポートトレースにより、受け取ったファイバチャネルコマンドとタイムスタンプ、及び、返却したファイバチャネルステータスとタイムスタンプとを採取するステップとを有し、再現環境システムは、フィールドで問題が発生したとき、フィールド環境システムで採取している第１ＳＣＳＩトレースと第１ポートトレースとを抜き取るステップと、再現環境システムに設けた第２ＳＣＳＩトレースと第２ポートトレースとへ抜き取りデータを格納するステップと、第２ＳＣＳＩトレースと第２ポートトレースとに格納している各コマンドと各ステータスとをタイムスタンプに従ったタイミングで発行・返却するステップとを有することを特徴とする。
【発明の効果】
【０００６】
第１の効果は、ＦＣ−ＨＢＡ、及び、ＦＣ−ＨＢＡドライバにおいてタイミングに依存する問題がフィールドで発生したとき、そのタイミングを容易に再現できることにある。
【０００７】
その理由は、フィールド環境で問題が発生したときのＳＣＳＩトレースとＰｏｒｔとレースを採取し、そのトレース情報に従って同じタイミングでＦＣ−ＨＢＡ及びＦＣ−ＨＢＡドライバを動作させることができるためである。
【０００８】
第２の効果は、ＦＣ−ＨＢＡ、及び、ＦＣ−ＨＢＡドライバにおいてタイミングに依存する問題がフィールドで発生したとき、その再現環境を容易に構築できることにある。
【０００９】
その理由は、フィールド環境でＦＣ−ＳＷ内のＰｏｒｔ毎にトレースを採取し、再現環境でそのトレースに従ってＦＣ−ＳＷが動作するため、ホストコンピュータ以外のＰｏｒｔに接続してあるＦＣデバイス群（装置）が不要なためである。
【発明を実施するための最良の形態】
【００１０】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１１】
図１を参照すると、本発明の実施例は、プログラム制御により動作するホストコンピュータ１と、ＦＣ−ＳＷ２と、ＦＣデバイス群３，４，５と、他系コンピュータ６と、再現用ＦＣ−ＳＷ７から構成されている。
【００１２】
図１ー（１）のフィールド環境システムで動作するホストコンピュータ１には、アプリケーション・ＯＳ１１と、ＳＣＳＩドライバ１２と、ＳＣＳＩトレース１３と、ＦＣ−ＨＢＡドライバ１４と、ＦＣ−ＨＢＡ１５１，１５２，１５３を含む。ＦＣ−ＳＷ２は、ＰｏｒｔＮ２１０〜２１７と、ＰｏｒｔＮトレース２２０〜２２７を含む。
【００１３】
これらはそれぞれ概略つぎのように動作する。
【００１４】
アプリケーション・ＯＳ１１は、ＦＣデバイス群３，４，５に対して読み書きするためのＳＣＳＩコマンドを作成してＳＣＳＩドライバ１３へ渡し、その結果を待つ。
【００１５】
ＳＣＳＩドライバ１２は、受け取ったＳＣＳＩコマンドとそのときのタイムスタンプをＳＣＳＩトレース１３へ格納し、ＳＣＳＩコマンドをＦＣ−ＨＢＡドライバ１４に対して発行し、その結果であるＳＣＳＩステータスを待つ。ＳＣＳＩステータスを受け取ったら、そのＳＣＳＩステータスとタイムスタンプをＳＣＳＩとレース１３へ格納してから、アプリケーション・ＯＳへ報告する。
【００１６】
ＦＣ−ＨＢＡドライバ１４は、ＳＣＳＩドライバ１２から受け取ったＳＣＳＩコマンドを元にＩ／Ｏを発行するＦＣ−ＨＢＡを決定し、そのＦＣ−ＨＢＡに対してＩ／Ｏを発行し、その結果を待つ。結果を受け取ったら、それに基づいたＳＣＳＩステータスをＳＣＳＩドライバ１２へ報告する。
【００１７】
各ＦＣ−ＢＨＡ１５１〜１５３は、ＦＣ−ＨＢＡドライバ１４から受け取ったＩ／ＯにしたがってＦＣコマンドをＦＣ−ＳＷ２のＰｏｒｔＭに対して発行し、その結果であるＦＣステータスを待つ。ＦＣステータスを受け取ったらその結果をＦＣ−ＨＢＡドライバ１４へ返却する。
【００１８】
ＦＣ−ＳＷ２は、ＰｏｒｔＭからＦＣコマンドを受け取ったら、受け取ったＦＣコマンドとタイムスタンプを、ＰｏｒｔＭ２１０〜２１２に対応するＰｏｒｔＭトレース２２０〜２２２に格納する。その後、ＦＣコマンドの内容に従って、ＦＣコマンドを渡すＰｏｒｔＮを決定する。その後、ＰｏｒｔＮ２１３〜２１５に対応するＰｏｒｔＮトレース２２３〜２２５にＦＣコマンドとタイムスタンプを格納してから、ＰｏｒｔＮ経由でＦＣデバイス群３，４，５に対してＦＣコマンドを発行する。また、ＦＣデバイス群３，４，５からＰｏｒｔＮ２１３〜２１５経由でＦＣステータスを受け取ると、対応するＰｏｒｔＮトレース２２３〜２２５に、受け取ったＦＣステータスとタイムスタンプを格納する。その後、ＦＣステータスの内容に従って、ＦＣステータスを渡すＰｏｒｔＭを決定する。その後、ＰｏｒｔＭ２１０〜２１２に対応するＰｏｒｔＮトレース２２０〜２２３にＦＣステータスとタイムスタンプを格納してから、ＰｏｒｔＭ経由でＦＣ−ＨＢＡへＦＣステータスを返却する。
【００１９】
ＦＣデバイス群３，４，５は、ＰｏｒｔＮ経由で受け取ったＦＣコマンドを実行した後、実行結果であるＦＣステータスをＰｏｒｔＮ経由で返却する。
【００２０】
図１ー（２）の再現環境システムで動作するホストコンピュータ１には、アプリケーション・ＯＳ１１と、再現用ＳＣＳＩドライバ１６と、ＳＣＳＩトレース１７と、ＦＣ−ＨＢＡドライバ１４と、ＦＣ−ＨＢＡ１５１，１５２，１５３を含む。再現用ＦＣ−ＳＷ７は、ＰｏｒｔＮ７１０〜７１２と、ＰｏｒｔＮトレース７２０〜７２２を含む。
【００２１】
フィールド環境システムで問題が発生したら、ＳＣＳＩトレース１３と、ＰｏｒｔＮトレース２２０〜２２２を取り出す。取り出した各トレースを、それぞれ再現環境の、ＳＣＳＩトレース１７と、ＰｏｒｔＮトレース７２０〜７２２に格納する。このトーレス（データ）の受け渡しは、リムーバブル・デバイスやネットワークなど（図示せず）、一般に見られるデータ受け渡しと同様なので説明は割愛する。
【００２２】
これらはそれぞれ概略つぎのように動作する。
【００２３】
再現用ＳＣＳＩドライバ１６は、ＳＣＳＩトレース１７から先頭のＳＣＳＩコマンドとタイムスタンプを取得する。そのタイムスタンプに基づいた時間にＳＣＳＩコマンドをＦＣ−ＨＢＡドライバ１４に対して発行し、その結果であるＳＣＳＩステータスを待つ。ＳＣＳＩステータスを受け取ったら、ＳＣＳＩトレース１７に格納してあるステータスと参照し、その次にあるＳＣＳＩコマンドとタイムスタンプを取得し、一つ前と同じようにＦＣ−ＨＢＡドライバ１４に対して発行する。
【００２４】
ＦＣ−ＨＢＡドライバ１４、及び、ＦＣ−ＨＢＡ１５１〜１５３は、図１ー（１）と全く同様の動作をする。
【００２５】
再現用ＦＣ−ＳＷ７は、ＰｏｒｔＭからＦＣコマンドを受け取ったら、ＰｏｒｔＭに対応するＦＣコマンドとタイムスタンプを取り出す。引き続きＰｏｒｔＭトレース２２０〜２２２に格納してあるその次のＦＣステータスとタイムスタンプを取り出し、そのタイムスタンプに従ってＦＣステータスをＰｏｒｔＭ経由でＦＣ−ＨＢＡへＦＣステータスを返却する。
【００２６】
次に、図１ー（１）と、図２、図３のフローチャートを参照して、本発明のフィールド環境システムにおいての動作について詳細に説明する。
【００２７】
アプリケーション・ＯＳ１１は、ＦＣデバイス３に対して読み書きするためのＳＣＳＩコマンドを作成してＳＣＳＩドライバ１３へ渡す（ステップＡ１）。次に、ＳＣＳＩドライバ１２は、受け取ったＳＣＳＩコマンドとそのときのタイムスタンプをＳＣＳＩトレース１３へ格納する（ステップＡ２）。その後、ＳＣＳＩコマンドをＦＣ−ＨＢＡドライバ１４へ発行する（ステップＡ３）。
【００２８】
ＦＣ−ＨＢＡドライバ１４は、受け取ったＳＣＳＩコマンドからどのＦＣ−ＢＨＡに対して発行するかを決定する（ここでは仮にＦＣ−ＨＢＡ１５１とする）（ステップＡ４）。そして決定したＦＣ−ＨＢＡ１５１に対してＩ／Ｏを発行する（ステップＡ５）。
【００２９】
ＦＣ−ＨＢＡ１５１は、ＦＣ−ＨＢＡドライバ１４から受け取ったＩ／ＯにしたがってＦＣコマンドをＦＣ−ＳＷ２のＰｏｒｔ０に対して発行する（ステップＡ６）。
【００３０】
ＦＣ−ＳＷ２は、Ｐｏｒｔ０：２１０からＦＣコマンドを受け取ったら、受け取ったＦＣコマンドとタイムスタンプを、Ｐｏｒｔ０：２１０に対応するＰｏｒｔ０トレース２２０に格納する（ステップＡ７）。その後、ＦＣコマンドの内容に従って、ＦＣコマンドを渡すＰｏｒｔＮを決定する（ステップＡ８）（ここでは仮にＰｏｒｔ４：２１４と仮定する）。そして、Ｐｏｒｔ４：２１４に対応するＰｏｒｔ４トレース２２４にＦＣコマンドとタイムスタンプを格納する（ステップＡ９）。格納した後、Ｐｏｒｔ４からＦＣデバイス４に対してＦＣコマンドを発行する（ステップＡ１０）。ＦＣデバイス４は、受け取ったＦＣコマンドを実行する（ステップＡ１１）。
【００３１】
ＦＣデバイス４の処理が終了すると、終了結果を示すＦＣステータスを作成し（ステップＢ１）、ＦＣ−ＳＷ２のＰｏｒｔ４へＦＣステータスを発行する（ステップＢ２）。
【００３２】
ＦＣ−ＳＷ２は、Ｐｏｒｔ４からＦＣステータスを受け取ると、そのＦＣステータスとタイムスタンプをＰｏｒｔ４に対応するＰｏｒｔ４トレース２２４へ格納する（ステップＢ３）。格納した後、ＦＣステータスの内容に従って、ＦＣステータスを渡すＰｏｒｔＭを決定する（ステップＢ４）（ここではＰｏｒｔ０：２１０となる）。決定したＰｏｒｔ０：２１０に対応するＰｏｒｔ０トレース２２０へ、ＦＣステータスとタイムスタンプを格納する（ステップＢ５）。格納した後、Ｐｏｒｔ０経由でＦＣ−ＨＢＡ１５１へＦＣステータスを返却する（ステップＢ６）。
【００３３】
ＦＣ−ＢＨＡ１５１は、ＦＣステータスを受け取ったらその結果をＦＣ−ＨＢＡドライバ１４へ返却する（ステップＢ７）。ＦＣ−ＨＢＡドライバ１４は、受け取ったＦＣステータスを元にＳＣＳＩステータスを作成し（ステップＢ８）、そのＳＣＳＩステータスをＳＣＳＩドライバ１２へ報告する（ステップＢ９）。ＳＣＳＩドライバ１２は、ＳＣＳＩステータスを受け取ったら、そのＳＣＳＩステータスとタイムスタンプをＳＣＳＩとレース１３へ格納してから（ステップＢ１０）、アプリケーション・ＯＳへ報告する（ステップＢ１１）。
【００３４】
フィールド環境では上記の動作を繰り返す。そして、フィールド環境で問題が発生したら、ＳＣＳＩトレース１３と、ＰｏｒｔＮトレース２２０〜２２２を取り出す。取り出した各トレースは、再現環境のＳＣＳＩトレース１７と、ＰｏｒｔＮトレース７２０〜７２２に格納する。
【００３５】
次に、図１ー（２）と、図４のフローチャートとを参照して、本発明の再現環境システムにおいての動作について詳細に説明する。
【００３６】
再現用ＳＣＳＩドライバ１６は、ＳＣＳＩトレース１７から先頭のＳＣＳＩコマンドとタイムスタンプを取得する（ステップＣ１）。取得したＳＣＳＩそのタイムスタンプに基づいた時間にＳＣＳＩコマンドをＦＣ−ＨＢＡドライバ１４に対して発行する（ステップＣ２）。
【００３７】
ＦＣ−ＨＢＡドライバ１４は、受け取ったＳＣＳＩコマンドからどのＦＣ−ＢＨＡに対して発行するかを決定する（ここでは仮にＦＣ−ＨＢＡ１５１とする）（ステップＣ３）。そして決定したＦＣ−ＨＢＡ１５１に対してＩ／Ｏを発行する（ステップＣ４）。ＦＣ−ＨＢＡ１５１は、ＦＣ−ＨＢＡドライバ１４から受け取ったＩ／ＯにしたがってＦＣコマンドをＦＣ−ＳＷ２のＰｏｒｔ０に対して発行する（ステップＣ５）。ここのステップＣ３〜Ｃ５は、前記、ステップＡ４〜Ａ６と全く同じ動作である。
【００３８】
再現用ＦＣ−ＳＷ７は、Ｐｏｒｔ０からＦＣコマンドを受け取ると、Ｐｏｒｔ０トレース７２０から対応するＦＣコマンドとタイムスタンプ、及び、その次に格納してあるＦＣステータスとタイムスタンプを取り出す（ステップＣ６）。両タイムスタンプに合わせたタイミングでＦＣステータスをＰｏｒｔ０経由でＦＣ−ＨＢＡ１５１へ発行する（ステップＣ７）。
【００３９】
ＦＣ−ＢＨＡ１５１は、ＦＣステータスを受け取ったらその結果をＦＣ−ＨＢＡドライバ１４へ返却する（ステップＣ８）。ＦＣ−ＨＢＡドライバ１４は、受け取ったＦＣステータスを元にＳＣＳＩステータスを作成し（ステップＣ９）、そのＳＣＳＩステータスを再現用ＳＣＳＩドライバ１７へ報告する（ステップＣ１０）。ここのステップＣ８〜Ｃ１０は、前記、ステップＢ７〜Ｂ９と全く同じ動作である。
【００４０】
再現用ＳＣＳＩドライバ１７は、ＳＣＳＩステータスを受け取ると、ＳＣＳＩトレース１７から対応するＳＣＳＩステータスとタイムスタンプ、及び、その次に格納してあるＳＣＳＩコマンドとタイムスタンプを取り出す（ステップＣ１１）。両タイムスタンプにあわせたタイミングで、そのＳＣＳＩコマンドをＦＣ−ＨＢＡドライバ１４に対して発行する（ステップＣ２）。以降、この動作を繰り返して順次ＳＣＳＩコマンドを実行していく。
【図面の簡単な説明】
【００４１】
【図１】図１ー（１）は本発明のフィールド環境システムを示す概略構成ブロック図、図１ー（２）は、本発明の再現環境システムを示す概略構成ブロック図である。
【図２】本発明のフィールド環境システムの動作を説明するためのフローチャートである。
【図３】本発明のフィールド環境システムの動作を説明するためのフローチャートである。
【図４】本発明の再現環境システムの動作を説明するためのフローチャートである。
【符号の説明】
【００４２】
１    ホストコンピュータ
２    ＦＣ−ＳＷ
３，４，５    ＦＣデバイス群
６    他系コンピュータ
７    再現用ＦＣ−ＳＷ
１１    アプリケーション・ＯＳ
１２    ＳＣＳＩドライバ
１３、１７    ＳＣＳＩトレース
１４    ＦＣ−ＨＢＡドライバ
１６    再現用ＳＣＳＩドライバ
１５１，１５２，１５３    ＦＣ−ＨＢＡ
２１０〜２１７    ＰｏｒｔＮ
２２０〜２２７    ＰｏｒｔＮトレース
７１０〜７１２    ＰｏｒｔＮ
７２０〜７２２    ＰｏｒｔＮトレース
【図１】
2006268285.tif 000003
【図２】
2006268285.tif 000004
【図３】
2006268285.tif 000005
【図４】
2006268285.tif 000006