(57)【特許請求の範囲】
【請求項１】
複数の記憶媒体と、前記複数の記憶媒体のそれぞれと相互に接続された複数の制御装置とで構築されたストレージ装置における前記複数の制御装置のうちの１の制御装置であって、
前記制御装置は、
前記ストレージ装置に接続されている情報処理装置と前記複数の記憶媒体のいずれかとの間で、前記複数の制御装置のいずれかを介して行なわれる通信に用いられる第１のアドレスとは異なる第２のアドレスを生成するアドレス生成部と、
前記情報処理装置から前記複数の記憶媒体のいずれかに対する入出力が所定時間発生していないことを検出する入出力監視部と、
前記入出力監視部によって前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の記憶媒体のいずれかに対する試験用入出力を自制御装置又は他の制御装置宛に発行する入出力発行部と、
前記自制御装置又は他の制御装置の前記入出力発行部からの前記試験用入出力を受信すると、該試験用入出力を前記第１のアドレスを含む入出力に変換して、前記試験用入出力の発行先の記憶媒体に発行すると共に、前記第１のアドレスを含む前記入出力の結果を、前記試験用入出力の発行先の前記記憶媒体から受け取り、エラーの有無を検出する入出力解読部と、
を備えることを特徴とする制御装置。
【請求項２】
前記制御装置は、
前記自制御装置又は／及び他の制御装置を経由して前記複数の記憶媒体のいずれかとの間で前記試験用入出力を通過させるためのそれぞれ異なる複数の経路を記憶する記憶部を備え、
前記入出力発行部は、前記複数の異なる経路のいずれかを用いて前記試験用入出力を発行することを特徴とする請求項１記載の制御装置。
【請求項３】
前記複数の記憶媒体はそれぞれ複数のドライブを備え、前記記憶部は、前記複数の記憶媒体の前記複数のドライブに対する前記複数の異なる経路を記憶することを特徴とする請求項２記載の制御装置。
【請求項４】
前記入出力発行部は、前記ストレージ装置の使用履歴に基づいて、前記複数の異なる経路のいずれかを他の経路よりも優先して前記試験用入出力を発行することを特徴とする請求項２又は３記載の制御装置
【請求項５】
ストレージ装置であって、
複数の記憶媒体と、
複数の制御装置と、を有し、
前記複数の制御装置のそれぞれは、前記複数の記憶媒体のそれぞれと相互に接続されており、
前記制御装置のそれぞれは、
前記ストレージ装置に接続されている情報処理装置と前記複数の記憶媒体のいずれかとの間で、前記複数の制御装置のいずれかを介して行なわれる通信に用いられる第１のアドレスとは異なる第２のアドレスを生成するアドレス生成部と、
前記情報処理装置から前記複数の記憶媒体のいずれかに対する入出力が所定時間発生していないことを検出する入出力監視部と、
前記入出力監視部によって前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の記憶媒体のいずれかに対する試験用入出力を自制御装置又は他の制御装置宛に発行する入出力発行部と、
前記自制御装置又は他の制御装置の前記入出力発行部からの前記試験用入出力を受信すると、該試験用入出力を前記第１のアドレスを含む入出力に変換して、前記試験用入出力の発行先の記憶媒体に発行すると共に、前記第１のアドレスを含む前記入出力の結果を、前記試験用入出力の発行先の前記記憶媒体から受け取り、エラーの有無を検出する入出力解読部と、
を備えることを特徴とするストレージ装置。
【請求項６】
前記複数の制御装置のそれぞれは、
前記自制御装置又は／及び他の制御装置を経由して前記複数の記憶媒体のいずれかとの間で前記試験用入出力を通過させるためのそれぞれ異なる複数の経路を記憶する記憶部を備え、
前記入出力発行部は、前記複数の異なる経路のいずれかを用いて前記試験用入出力を発行することを特徴とする請求項５記載のストレージ装置。
【請求項７】
複数の記憶媒体と、前記複数の記憶媒体のそれぞれと相互に接続された複数の制御装置とで構築されたストレージ装置の試験方法であって、
前記ストレージ装置に接続されている情報処理装置と前記複数の記憶媒体のいずれかとの間で、前記複数の制御装置のいずれかを介して行なわれる通信に用いられる第１のアドレスとは異なる第２のアドレスを生成し、
前記情報処理装置から前記複数の記憶媒体のいずれかに対する入出力が所定時間発生していないことを検出し、
前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の記憶媒体のいずれかに対する試験用入出力を自制御装置又は他の制御装置宛に発行し、
前記自制御装置又は他の制御装置からの前記試験用入出力を受信すると、該試験用入出力を前記第１のアドレスを含む入出力に変換して、前記試験用入出力の発行先の記憶媒体に発行すると共に、前記第１のアドレスを含む前記入出力の結果を、前記試験用入出力の発行先の前記記憶媒体から受け取り、エラーの有無を検出する
ことを特徴とするストレージ装置の試験方法。
【請求項８】
複数の記憶媒体と、前記複数の記憶媒体のそれぞれと相互に接続された複数の制御装置とで構築されたストレージ装置の試験プログラムであって、前記複数の制御装置のうちの１の制御装置によって実行されたときに、該制御装置に、
前記ストレージ装置に接続されている情報処理装置と前記複数の記憶媒体のいずれかとの間で、前記複数の制御装置のいずれかを介して行なわれる通信に用いられる第１のアドレスとは異なる第２のアドレスを生成させ、
前記情報処理装置から前記複数の記憶媒体のいずれかに対する入出力が所定時間発生していないことを検出させ、
前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の記憶媒体のいずれかに対する試験用入出力を自制御装置又は他の制御装置宛に発行させ、
前記自制御装置又は他の制御装置からの前記試験用入出力を受信すると、該試験用入出力を前記第１のアドレスを含む入出力に変換させて、前記試験用入出力の発行先の記憶媒体に発行させると共に、前記第１のアドレスを含む前記入出力の結果を、前記試験用入出力の発行先の前記記憶媒体から受け取り、エラーの有無を検出させる
ことを特徴とするストレージ装置の試験プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ストレージ装置、ストレージ装置の試験方法及びストレージ装置の試験プログラムに関する。
【背景技術】
【０００２】
ＬＡＮ（Local Area Network）を介してホストに接続され、複数のストレージ装置を有するクラスタ構成のネットワーク接続ストレージ（Network Attached Storage：ＮＡＳ）システムが広く用いられている。
このようなストレージシステム２００の一例を、図１４〜１６に示す。
図１４は、ストレージシステム２００の一例を示す模式図、図１５は、図１４のＮＡＳにおいて通常動作に使用される経路を示す模式図、図１６は図１４のＮＡＳにおいて試験不能な経路を示す模式図である。
【０００３】
ストレージシステム２００は、ホスト２０１、ネットワークストレージシステム（ＮＡＳ）２０３−１（図中、ＮＡＳ＃１とも示す）、ＮＡＳ２０３−２（ＮＡＳ＃１）、ディスク２０５−１（ディスク＃１）、及びディスク２０５−２（ディスク＃２）を備える。
ＮＡＳ２０３−１，２０３−２は、ディスク２０５−１，２０５−２を制御する情報処理装置である。ＮＡＳ２０３−１とＮＡＳ２０３−２とは、同様のハードウェア及びソフトウェア構成を有する。
【０００４】
ディスク２０５−１，２０５−２は、それぞれＲＡＩＤ（Redundant Array of Independent Disks）構成を備え、ディスク２０５−１と５−２とは、同様のハードウェア構成を有する。ディスク２０５−１は不図示の５台のＲＡＩＤディスクドライブを備え、ディスク２０５−２は不図示の５台のＲＡＩＤディスクドライブを備える。
ＮＡＳ２０３−１とＮＡＳ２０３−２とは、イーサネット（登録商標）等を用いてＬＡＮ（Local Area Network）２１１によって接続されている。
【０００５】
更に、ＮＡＳ２０３−１とＮＡＳ２０３−２とは、例えば、ファイバチャネル（Fiber Channel：ＦＣ）等のインターコネクト２１５によっても接続されている。
また、ＮＡＳ２０３−１とディスク２０５−１とは、例えば、ディスクインタフェースチャネル（Interface Channel：Ｉ／Ｆ  ＣＨ）２１３−１によって接続され、ＮＡＳ２０３−１とディスク２０５−２とは、ディスクＩ／Ｆ  ＣＨ２１３−２によって接続されている。更に、ＮＡＳ２０３−２とディスク２０５−１とは、ディスクＩ／Ｆ  ＣＨ２１３−３によって接続され、ＮＡＳ２０３−２とディスク２０５−２とは、ディスクＩ／Ｆ  ＣＨ２１３−４によって接続されている。
【０００６】
これらのディスクＩ／Ｆ  ＣＨ２１３−１〜２１３−４は、例えば、ＦＣやＳＡＳ（Serial Attached SCSI（small computer systems interface））等のディスクインターコネクトである。
なお、以下、ＮＡＳを示す符号としては、複数のＮＡＳのうち１台を特定する必要があるときには符号２０３−１，２０３−２を用いるが、任意のＮＡＳを指すときには符号２０３を用いる。
【０００７】
また、以下、ディスクを示す符号としては、複数のディスクのうち１台を特定する必要があるときには符号２０５−１，２０５−２を用いるが、任意のディスクを指すときには符号２０５を用いる。
また、以下、ディスクＩ／Ｆ  ＣＨを示す符号としては、複数のディスクＩ／Ｆ  ＣＨのうち１本を特定する必要があるときには符号２１３−１〜２１３−４を用いるが、任意のディスクＩ／Ｆ  ＣＨを指すときには符号２１３を用いる。
【０００８】
ここで、ＮＡＳ２０３−１とＮＡＳ２０３−２とはクラスタを構成している。クラスタ構成とは、ＮＡＳ２０３−１、ＮＡＳ２０３−２、ディスク２０５−１，２０５−２が１台の装置のように機能することを指す。つまり、ＮＡＳ２０３−１は正常時にはディスク２０５−１を制御し，ＮＡＳ２０３−２は正常時にはディスク２０５−２を制御しているが、ＮＡＳ２０３−１、ＮＡＳ２０３−２共に、ディスク２０５−１，２０５−２の両方を制御可能である。
【０００９】
なお、以降、１台のＮＡＳ２０３と１台のディスク２０５との組み合わせをクラスタとも呼ぶことがある。
正常時にはＮＡＳ２０３−１とＮＡＳ２０３−２とは、それぞれ別個に動作して自身の配下のディスク２０５を制御するが、一方のＮＡＳ２０３の故障時に、他方のＮＡＳ２０３が故障したＮＡＳ２０３の機能を肩代わりして、ディスク２０５−１と５−２とを制御する。このとき、図１５に示す冗長パスであるＩ／Ｆ  ＣＨ２１３−２又は２１３−３が使用される。
【００１０】
このストレージシステム２００においては、ホスト２０１が、ＬＡＮ２１１によってストレージシステム２００に接続されている。詳細には、ホスト２０１は、ＮＡＳ２０３−１とＮＡＳ２０３−２とにＬＡＮ２１１によって接続されており、ＬＡＮ２１１経由で、ＮＡＳ２０３配下のディスク２０５−１，２０５−２にアクセスする。
このようなストレージシステム２００においては、ホスト２０１からディスク２０５への入出力（Input/Output：ＩＯ）が所定時間無い場合、各パスの疎通確認試験が行なわれる。
【００１１】
例えば、ホスト２０１とＮＡＳ２０３間のパスのＬＡＮ２１１経由の疎通確認が、メッセージ通信等により行なわれる。
また、ＮＡＳ２０３−１とＮＡＳ２０３−２間のパスのＬＡＮ２１１経由の疎通確認が、ｇＡＲＰ（Gratuitous Address Resolution Protocol）等を用いて行なわれる。
更に、ＮＡＳ２０３とディスク２０５間のパスの疎通確認がパトロール（疎通確認試験）等により行なわれる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平７−１２９３３１号公報
【特許文献２】特開２０００−４７９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記のような疎通確認では、確認できない経路が存在する。このような経路を図１６に示す。
例えば、ホスト２０１からディスク２０５へのアクセス時のハードウェアやファームウェアの論理動作を確認することができない。例えばホスト２０１からディスク２０５にデータをライトし、書き込んだデータをリードして、リードした値が期待値と整合するかを確認することができない。
【００１４】
また、図１６の右図に示すように、上記のような疎通確認では、実動作条件下でのＮＡＳ２０３の内部バス２０７の障害の有無を検査することができない。
更に、上記のような疎通確認では、実動作条件下でのＮＡＳ２０３内の各Ｉ／Ｆ２２５，２２７，２２９−１，２２９−２の動作確認を行なうことができない。
なお、図１６中、Ｉ／Ｆ２２５はホストＩ／Ｆであり、Ｉ／Ｆ２２７はＦＣ  Ｉ／Ｆ２７であり、Ｉ／Ｆ２２９−１，２２９−２はディスクＩ／Ｆである。
【００１５】
従来、例えば、Ｉ／Ｆ２２５からＩ／Ｆ２２７やＩ／Ｆ２２９−１，２２９−２へのアクセスを行なうことにより、ＮＡＳ２０３内で内部バス２０７の単純な疎通確認を行なうことはできる。しかし、Ｉ／Ｆ２２５がＬＡＮの転送を伴う場合の内部バス２０７の動作が、ＮＡＳ２０３単独での内部バス２０７の転送と動作が異なる場合があり、内部バス２０７の単純な確認では十分とはいえないことがある。
【００１６】
また、ホスト２０１からストレージシステム２００に実際にディスクアクセスを行なうことにより、実動作時の疎通確認を行なうことは可能であるが、ホスト２０１の資源を浪費するのでホスト２０１の性能劣化を招く。
更に、ホスト２０１からストレージシステム２００に実際にディスクアクセスを行なう試験では、通常動作に使用するパスしか試験することができない。このため、ホスト２０１からの疎通確認では、クラスタ構成の利点の１つである冗長パス（図１５参照）の試験を行なうことができない。
【００１７】
１つの側面では、本発明は、装置の信頼性を向上させることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１８】
このため、複数の記憶媒体と、前記複数の記憶媒体のそれぞれと相互に接続された複数の制御装置とで構築されたストレージ装置における前記複数の制御装置のうちの１の制御装置は、前記ストレージ装置に接続されている情報処理装置と前記複数の記憶媒体のいずれかとの間で、前記複数の制御装置のいずれかを介して行なわれる通信に用いられる第１のアドレスとは異なる第２のアドレスを生成するアドレス生成部と、前記情報処理装置から前記複数の記憶媒体のいずれかに対する入出力が所定時間発生していないことを検出する入出力監視部と、前記入出力監視部によって前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の記憶媒体のいずれかに対する試験用入出力を自制御装置又は他の制御装置宛に発行する入出力発行部と、前記自制御装置又は他の制御装置の前記入出力発行部からの前記試験用入出力を受信すると、該試験用入出力を前記第１のアドレスを含む入出力に変換して、前記試験用入出力の発行先の記憶媒体に発行すると共に、前記第１のアドレスを含む前記入出力の結果を、前記試験用入出力の発行先の前記記憶媒体から受け取り、エラーの有無を検出する入出力解読部と、を備える。
【００１９】
また、ストレージ装置は、複数の記憶媒体と、複数の制御装置と、を有し、前記複数の制御装置のそれぞれは、前記複数の記憶媒体のそれぞれと相互に接続されており、前記制御装置のそれぞれは、前記ストレージ装置に接続されている情報処理装置と前記複数の記憶媒体のいずれかとの間で、前記複数の制御装置のいずれかを介して行なわれる通信に用いられる第１のアドレスとは異なる第２のアドレスを生成するアドレス生成部と、前記情報処理装置から前記複数の記憶媒体のいずれかに対する入出力が所定時間発生していないことを検出する入出力監視部と、前記入出力監視部によって前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の記憶媒体のいずれかに対する試験用入出力を自制御装置又は他の制御装置宛に発行する入出力発行部と、前記自制御装置又は他の制御装置の前記入出力発行部からの前記試験用入出力を受信すると、該試験用入出力を前記第１のアドレスを含む入出力に変換して、前記試験用入出力の発行先の記憶媒体に発行すると共に、前記第１のアドレスを含む前記入出力の結果を、前記試験用入出力の発行先の前記記憶媒体から受け取り、エラーの有無を検出する入出力解読部と、を備える。
【００２０】
また、複数の記憶媒体と、前記複数の記憶媒体のそれぞれと相互に接続された複数の制御装置とで構築されたストレージ装置の試験方法は、前記ストレージ装置に接続されている情報処理装置と前記複数の記憶媒体のいずれかとの間で、前記複数の制御装置のいずれかを介して行なわれる通信に用いられる第１のアドレスとは異なる第２のアドレスを生成し、前記情報処理装置から前記複数の記憶媒体のいずれかに対する入出力が所定時間発生していないことを検出し、前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の記憶媒体のいずれかに対する試験用入出力を自制御装置又は他の制御装置宛に発行し、前記自制御装置又は他の制御装置からの前記試験用入出力を受信すると、該試験用入出力を前記第１のアドレスを含む入出力に変換して、前記試験用入出力の発行先の記憶媒体に発行すると共に、前記第１のアドレスを含む前記入出力の結果を、前記試験用入出力の発行先の前記記憶媒体から受け取り、エラーの有無を検出する。
【００２１】
また、複数の記憶媒体と、前記複数の記憶媒体のそれぞれと相互に接続された複数の制御装置とで構築されたストレージ装置の試験プログラムは、前記複数の制御装置のうちの１の制御装置によって実行されたときに、該制御装置に、前記ストレージ装置に接続されている情報処理装置と前記複数の記憶媒体のいずれかとの間で、前記複数の制御装置のいずれかを介して行なわれる通信に用いられる第１のアドレスとは異なる第２のアドレスを生成させ、前記情報処理装置から前記複数の記憶媒体のいずれかに対する入出力が所定時間発生していないことを検出させ、前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の記憶媒体のいずれかに対する試験用入出力を自制御装置又は他の制御装置宛に発行させ、前記自制御装置又は他の制御装置からの前記試験用入出力を受信すると、該試験用入出力を前記第１のアドレスを含む入出力に変換させて、前記試験用入出力の発行先の記憶媒体に発行させると共に、前記第１のアドレスを含む前記入出力の結果を、前記試験用入出力の発行先の前記記憶媒体から受け取り、エラーの有無を検出させる。
【発明の効果】
【００２２】
上記制御装置、ストレージ装置、ストレージ装置の試験方法及びストレージ装置の試験プログラムによれば、ストレージ装置の信頼性を向上させることが可能となる。
【図面の簡単な説明】
【００２３】
【図１】実施形態の一例に係るストレージシステムの構成を示す模式図である。
【図２】実施形態の一例に係るストレージシステムにおけるＮＡＳのソフトウェア構成を示す模式図である。
【図３】実施形態の一例に係るストレージシステムにおけるＮＡＳのハードウェア及び機能構成を示す模式図である。
【図４】実施形態の一例に係る試験部が試験を行なう試験パス（アクセスパターン）を示す模式図である。
【図５】実施形態の一例に係る試験部が試験を行なう試験パス（アクセスパターン）を示す模式図である。
【図６】実施形態の一例に係る、図４，図５を説明するための図である。
【図７】実施形態の一例に係る、図４の試験パス（アクセスパターン）の例を示す表である。
【図８】実施形態の一例に係る、図５の試験パス（アクセスパターン）の例を示す表である。
【図９】実施形態の一例に係る試験部のアドレス生成部によって作成されるパターンテーブルの例を示す表である。
【図１０】実施形態の一例に係る試験部の処理を示すフローチャートである。
【図１１】実施形態の一例に係る疎通試験処理を示すシーケンス図である。
【図１２】実施形態の一例に係るストレージシステムにおいてクラスタ間の構成情報の交換に用いられるデータフォーマットの例を示す図である。
【図１３】実施形態の一例に係るストレージシステムにおいて試験テーブル情報の送信に用いられるデータフォーマットの例を示す図である。
【図１４】ストレージシステムの一例を示す模式図である。
【図１５】図１４のＮＡＳにおいて通常動作に使用される経路を示す模式図である。
【図１６】図１４のＮＡＳにおいて試験不能な経路を示す模式図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本開示に係る実施の形態を説明する。
（Ａ）システム構成
最初に、実施形態の一例に係るストレージシステム（ストレージ装置）１の構成を説明する。
図１は、実施形態の一例に係るストレージシステム１の構成を示す模式図である。
【００２５】
本ストレージシステム１は、例えば、ＮＡＳ３−１（制御装置；図中、ＮＡＳ＃１とも示す）、ＮＡＳ３−２（制御装置；ＮＡＳ＃１）、ディスク５−１（第１の記憶媒体；ディスク＃１）、及びディスク５−２（第２の記憶媒体；ディスク＃２）を備える。
ＮＡＳ３−１，３−２は、ディスク５−１，５−２を制御する情報処理装置である。ＮＡＳ３−１とＮＡＳ３−２とは、同様のハードウェア及びソフトウェア構成を有する。
【００２６】
ディスク５−１，５−２は、それぞれＲＡＩＤ構成を備え、ディスク５−１と５−２とは、同様のハードウェア構成を有する。ディスク５−１は不図示の５台のＲＡＩＤディスクドライブ（複数のドライブ；以下、単にＲＡＩＤとも呼ぶ）５１１〜５１５を備え、ディスク５−２は不図示の５台のＲＡＩＤディスクドライブ（複数のドライブ）５２１〜５２５を備える（図９参照）。
【００２７】
ＮＡＳ３−１とＮＡＳ３−２とは、イーサネット等を用いてＬＡＮ１１によって接続されている。
更に、ＮＡＳ３−１とＮＡＳ３−２とは、例えば、ファイバチャネル等のインターコネクト１５によっても接続されている。
また、ＮＡＳ３−１とディスク５−１とは、例えば、ディスクＩ／Ｆ  ＣＨ１３−１によって接続され、ＮＡＳ３−１とディスク５−２とは、ディスクＩ／Ｆ  ＣＨ１３−２によって接続されている。更に、ＮＡＳ３−２とディスク５−１とは、ディスクＩ／Ｆ  ＣＨ１３−３によって接続され、ＮＡＳ３−２とディスク５−２とは、ディスクＩ／Ｆ  ＣＨ１３−４によって接続されている。
【００２８】
これらのディスクＩ／Ｆ  ＣＨ１３−１〜１３−４は、例えば、ＦＣやＳＡＳ等のディスクインターコネクトである。
なお、以下、ＮＡＳを示す符号としては、複数のＮＡＳのうち１台を特定する必要があるときには符号３−１，３−２を用いるが、任意のＮＡＳを指すときには符号３を用いる。
【００２９】
また、以下、ディスクを示す符号としては、複数のディスクのうち１台を特定する必要があるときには符号５−１，５−２を用いるが、任意のディスクを指すときには符号５を用いる。
また、以下、ディスクＩ／Ｆ  ＣＨを示す符号としては、複数のディスクＩ／Ｆ  ＣＨのうち１本を特定する必要があるときには符号１３−１〜１３−４を用いるが、任意のディスクＩ／Ｆ  ＣＨを指すときには符号１３を用いる。
【００３０】
ここで、ＮＡＳ３−１とＮＡＳ３−２とはクラスタを構成している。クラスタ構成とは、ＮＡＳ３−１、ＮＡＳ３−２、ディスク５−１，５−２が１台の装置のように機能することを指す。つまり、ＮＡＳ３−１は正常時にはディスク５−１を制御し，ＮＡＳ３−２は正常時にはディスク５−２を制御しているが、ＮＡＳ３−１、ＮＡＳ３−２共に、ディスク５−１，５−２の両方を制御可能である。
【００３１】
なお、以降、１台のＮＡＳ３と１台のディスク５との組み合わせをクラスタとも呼ぶことがある。
正常時にはＮＡＳ３−１とＮＡＳ３−２とは、それぞれ別個に動作して自身の配下のディスク５を制御するが、一方のＮＡＳ３の故障時に、他方のＮＡＳ３が故障したＮＡＳ３の機能を肩代わりして、ディスク５−１と５−２とを制御する。このため、Ｉ／Ｆ  ＣＨ１３−２と１３−３とは冗長パスである。
【００３２】
本ストレージシステム１においては、ストレージシステム１の外部のホスト１０（情報処理装置）が、ＬＡＮ１１によってストレージシステム１に接続されている。詳細には、ホスト１０は、ＮＡＳ３−１とＮＡＳ３−２とにＬＡＮ１１によって接続されており、ＬＡＮ１１経由で、ＮＡＳ３配下のディスク５−１，５−２にアクセスする。
図２は、実施形態の一例に係るストレージシステム１におけるＮＡＳ３のソフトウェア構成を示す模式図である。
【００３３】
ＮＡＳ３は、例えば、ホストＩ／Ｆモジュール４１、ディスクＩ／Ｆモジュール４１、保守モジュール４５、及びキャッシュ制御モジュール４７の各ソフトウェアモジュールを備える。
ホストＩ／Ｆモジュール４１は、例えば、ＮＡＳ３とホスト１０とのインタフェースに用いられるモジュールであり、ホスト入出力の送受信、診断等を行なう。ホストＩ／Ｆモジュール４１は、後述する擬似ＩＯ発行部３５と擬似ＩＯ解読部３７とを備える。
【００３４】
擬似ＩＯ発行部３５は、後述する試験用ＩＰアドレス５４（図３参照）と、パターンテーブル６２（図９参照）とに基づいて試験用の擬似ＩＯ４９を発行し、疎通試験を開始する。
擬似ＩＯ解読部３７は、自ＮＡＳ３や相手側ＮＡＳ３等から受け取った擬似ＩＯ４９の内容を解読する。擬似ＩＯ４９にディスクアクセス動作（リード、ライト、ベリファイ等）が指定されている場合、そのディスクアクセス動作を指定した通常のＩＯ４８を生成して、ディスク５へのアクセスを実際に行なわせる。その際、擬似ＩＯ４９に指定されている試験用ＩＰアドレス５４（後述）を、ホスト側ＩＰアドレス５２で置換する。また、擬似ＩＯ解読部３７は、エラーの有無を調べて、ディスクアクセス後に結果の正当性を確認すると共に、その結果を保存する。
【００３５】
ディスクＩ／Ｆモジュール４３は、例えば、ＮＡＳ３とディスク５とのインタフェースに用いられるモジュールであり、ディスクＩＯの送受信を行なう。
保守モジュール４５は、例えば、ＮＡＳ３内のエラー検出に使用されるモジュールである。
キャッシュ制御モジュール４７は、例えば、不図示の不揮発性ランダムアクセスメモリ（Non-Volatile Random Access Memory：ＮＶＲＡＭ）に対する制御や、データ制御等を行なう。
【００３６】
図３は、実施形態の一例に係るストレージシステム１におけるＮＡＳ３のハードウェア及び機能構成を示す模式図である
ＮＡＳ３は、内部バス１７、ＣＰＵ（Central Processing Unit）２１、メモリ２３、ホストＩ／Ｆ２５、ＦＣ  Ｉ／Ｆ２７、シリアルＩ／Ｆ２６、及びディスクＩ／Ｆ２９−１，２９−２を備える。
【００３７】
内部バス１７は、ＣＰＵ２１、メモリ２３、ホストＩ／Ｆ２５、ＦＣ  Ｉ／Ｆ２７、シリアルＩ／Ｆ２６、ディスクＩ／Ｆ２９−１，２９−２やＮＡＳ３のその他の部品を内部的に接続している相互接続バスである。
ＣＰＵ２１は、例えば、メモリ２３等から試験プログラムを読み出し、後述する試験部３０としての処理を実行するプロセッサである。
【００３８】
メモリ２３は、ＣＰＵ２１が演算や制御を行なうに際して、種々のデータやプログラムを一時的に格納するメモリである。また、メモリ２３には、後述する試験部３０が使用する各種データを記憶する格納部としても機能する。メモリ２３は、例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などである。
ホストＩ／Ｆ２５は、ホスト１０との接続に使用されるインタフェースであり、例えばＬＡＮカードなどである。
【００３９】
シリアルＩ／Ｆ２６は、例えば、カスタマエンジニア等による保守の際に、保守に用いるＰＣ（Personal Computer）２８との接続に使用されるシリアルインタフェースである。ＮＡＳ３とＰＣ２６とは、例えばｔｅｌｎｅｔによって接続される。
ＦＣ  Ｉ／Ｆ２７は、ＮＡＳ３同士の接続に使用されるインタフェースであり、例えば、ＦＣインタフェースカードである。
【００４０】
ディスクＩ／Ｆ２９−１は、ディスク５−１（図１参照）との接続に使用されるインタフェースであり、例えば、ＦＣカードやＳＡＳカードである。
ディスクＩ／Ｆ２９−２は、ディスク５−２（図１参照）との接続に使用されるインタフェースであり、例えば、ＦＣカードやＳＡＳカードである。
ディスクＩ／Ｆ２９−１とディスクＩ／Ｆ２９−２とは同様に構成されている。
【００４１】
なお、以下、ディスクＩ／Ｆを示す符号としては、複数のディスクＩ／Ｆのうち１台を特定する必要があるときには符号２９−１，２９−２を用いるが、任意のディスクＩ／Ｆを指すときには符号２９を用いる。
ＣＰＵ２１は、試験プログラムを実行することにより、試験部３０として機能する。試験部３０は、アドレス生成部３１、ホストＩＯ監視部（入出力監視部）３３、擬似ＩＯ発行部（入出力発行部）３５、擬似ＩＯ解読部（入出力解読部）３７及び通知部３９を有する。
【００４２】
試験部３０は、自ＮＡＳ３内で、或いは自ＮＡＳ３から相手側ＮＡＳ３に対し擬似的にＩＯを発行し、自ＮＡＳ３から、或いは相手側ＮＡＳ３を経由してディスク５へのアクセスを行なうことにより、ストレージシステム１の実動作条件に近い条件で疎通確認を行なう。
詳細には、試験部３０は、クラスタの両系の構成を動的に認識／解析して、予備パス（冗長パス）を含む後述のパターンテーブル６２を生成する。
【００４３】
また、試験部３０は、ＩＯ（アクセス）挙動や履歴を解析して、アクセスパターンに応じてパターンテーブル６２内のテストの順序を最適に設定する。
そして、試験部３０は、ホスト１０からのＩＯが一定時間発行されなかった場合、自クラスタ内で、或いは自クラスタから相手側クラスタに対し擬似ＩＯを発行する。このように、試験部３０は、ホスト１０からのホストＩＯを監視し、ホストＩＯのアイドル状態を検出することで、ホスト１０の関与を必要とせずに、疎通試験を行なう。
【００４４】
アドレス生成部３１は、ＮＡＳ３の電源投入時に試験部３０の初期化を行なう。その際、アドレス生成部３１は、ホストＩＯの待機時間であるホストＩＯ待機閾値を設定し、後述のホストＩＯ閾値６０としてホストＩＯ閾値格納部５９に格納する。また、擬似ＩＯの発行に使用する試験用ＩＰアドレス５４（後述）を設定して、試験用ＩＰアドレス格納部５３に格納する。また、自ＮＡＳ３がプライマリクラスタ（電源投入後に先に立ち上がったクラスタ）を構成する場合は、アドレス生成部３１は、テストパターンを生成し、パターンテーブル６２（図９参照）として試験用パターン格納部６１に格納する。
【００４５】
更にアドレス生成部３１は、ホスト側ＩＰアドレス５２、試験用ＩＰアドレス５４、ディスク構成情報５６、ディスクアクセスパス情報５８、ホストＩＯ閾値６０、及びパターンテーブル６２を、クラスタ間通信により他のＮＡＳ３と共有する。
ここで、クラスタ間通信とは、クラスタを構成するＮＡＳ３間での、インターコネクト１５を介したデータ通行を指す。
【００４６】
ホストＩＯ監視部３３は、ホスト１０からのＩＯ（アクセス）を監視し、最後にホストＩＯを検出してから、後述するホストＩＯ閾値６０に設定されている時間が経過したかどうかを監視する。
擬似ＩＯ発行部３５は、前述のように、後述する試験用ＩＰアドレス５４と、パターンテーブル６２とに基づいて試験用の擬似ＩＯを発行し、疎通試験を開始する。
【００４７】
擬似ＩＯ解読部３７は、前述のように、自ＮＡＳ３や相手側ＮＡＳ３等から受け取った擬似ＩＯの内容を解読する。擬似ＩＯにディスクアクセス動作（リード、ライト、ベリファイ等）が指定されている場合、そのディスクアクセス動作を指定した通常のＩＯを生成して、ディスク５へのアクセスを実際に行なわせる。その際、擬似ＩＯに指定されている試験用ＩＰアドレス５４（後述）を、ホスト側ＩＰアドレス５２で置換する。また、擬似ＩＯ解読部３７は、エラーの有無を調べて、ディスクアクセス後に結果の正当性を確認すると共に、その結果を保存する。
【００４８】
なお、相手側ＮＡＳ３を経由せずに、自ＮＡＳ３からディスク５にアクセスする場合にも、擬似ＩＯが生成される。この場合、擬似ＩＯ発行部３５が擬似ＩＯを発行し、自ＮＡＳ３内の擬似ＩＯ解析部３７に（プロセス間通信等により）当該擬似ＩＯを送り、擬似ＩＯ解析部３７が、ＩＰパケット内のソースアドレスをホスト側ＩＰアドレス５２に変更する。
【００４９】
通知部３９は、相手側クラスタに試験可能通知や試験中断通知等を送信したり、電子メール等の送信によりシステム管理者やカスタマエンジニアにエラーを報告する。
メモリ２３は、ホスト側ＩＰアドレス格納部５１、試験用ＩＰアドレス格納部５３、ディスク構成情報格納部５５、ディスクアクセスパス情報格納部５７、ホストＩＯ閾値格納部５９及び試験用パターン格納部６１として機能する。
【００５０】
ホスト側ＩＰアドレス格納部５１は、ホスト１０からＮＡＳ３に割り当てられているＩＰアドレスを示すホスト側ＩＰアドレス５２を格納する。図３では、ホスト側ＩＰアドレス格納部５１に、ホスト側ＩＰアドレス５２としてアドレス“１．１．１．１”が設定されている。
ホスト側ＩＰアドレス格納部５１に格納されているホスト側ＩＰアドレス５２は通常の動作にも使用され、システム管理者により予めＮＡＳ３に設定される。例えば、ホスト側ＩＰアドレス５２宛てのアクセスが発生すると、ＮＡＳ３はそのアクセスに応答したりこれを処理する。
【００５１】
疎通試験時には、擬似ＩＯ解読部３５が、受け取った擬似ＩＯを解読して実際のＩＯを発行する際に、ソースアドレスとして設定されている試験用ＩＰアドレス５４を、ホスト側ＩＰアドレス５２で置換して、ＩＰパケットを生成する。
試験用ＩＰアドレス格納部５３は、ＮＡＳ３−１，３−２が擬似ＩＯを発行する際に、ソースとして使用するＩＰアドレスを示す試験用ＩＰアドレス５４を格納する。図３では、試験用ＩＰアドレス格納部に、試験用ＩＰアドレス５４としてアドレス“３．３．３．３”が設定されている。
【００５２】
擬似ＩＯ発行部３５が擬似ＩＯを発行する際に、試験用ＩＰアドレス５４がソースアドレスとして使用されＩＰパケットが生成される。
試験用ＩＰアドレス５４は、ストレージシステム１の起動時に、ホスト１０やＮＡＳ３等に割り当てられているアドレス以外の未割り当てのアドレス領域からアドレス生成部３１によって選択される。図１１を用いて後述するように、試験用ＩＰアドレス５４は、クラスタ間通信によりクラスタ（ＮＡＳ３）間で共有される。
【００５３】
試験用ＩＰアドレス５４は、ユーザが手動で設定しても、或いは、アドレス生成部３１が空きＩＰアドレスの中から自動的に設定してもよい。後者の場合、ＬＡＮ１１上で予約又は割り当て済みのアドレスを、システム管理者が予めＮＡＳ３に設定しておけば、予約又は割り当て済みＩＰアドレスが、試験用ＩＰアドレスとして使用されてアドレス衝突が発生するのを防ぐことができる。試験用ＩＰアドレス５４も、クラスタ間通信によりクラスタ（ＮＡＳ３）間で共有される。各クラスタは、相手側クラスタから試験用ＩＰアドレス５４をソースアドレスとして含むアクセスを受け取った場合に、このアクセスが試験用の擬似ＩＯであると識別することができる。
【００５４】
ディスク構成情報格納部５５は、ＮＡＳ３にどのディスクが接続されているかを示すディスク構成情報（図１２参照）を格納する。ディスク構成情報は、アドレス生成部３１によるテストパターンの作成に使用される。また、ディスク構成情報は、擬似ＩＯ発行部３５による擬似ＩＯの発行時に擬似ＩＯのアクセスターゲットとしてＩＰパケットの生成に使用される。ディスク構成情報は、図１２を用いて後述するように、ストレージシステム１の起動時にクラスタ間通信によりクラスタ（ＮＡＳ３）間で共有される。
【００５５】
ディスクアクセスパス情報格納部５７は、ＮＡＳ３からディスク５へのアクセス経路であるディスクアクセスパスを示すディスクアクセスパス情報５８（図７，図８参照）を格納する。ディスクアクセスパス情報５８は、アドレス生成部３１によるテストパターンの作成に使用される。
ディスクアクセスパス情報５８の詳細については、図４〜図８を用いて後述する。ディスクアクセスパス情報５８も、図１２を用いて後述するように、ストレージシステム１の起動時にクラスタ間通信によりクラスタ（ＮＡＳ３）間で共有される。
【００５６】
ホストＩＯ閾値格納部５９は、擬似ＩＯ発行開始の閾値であるホストＩＯ閾値６０（不図示）を格納する。ホストＩＯ閾値６０は、擬似ＩＯ発行部３５が擬似ＩＯを発行するまで、ホスト１０からのＩＯを待機する時間の閾値であり、この閾値時間を経過してもホスト１０からのＩＯが受信されない場合、擬似ＩＯを発行する。この閾値は、ストレージシステム１の設置時にユーザにより任意の値に設定されるが、その後ユーザが任意に変更してもよい。図１１を用いて後述するように、ホストＩＯ閾値６０は、ストレージシステム１の起動時にクラスタ間通信によりクラスタ（ＮＡＳ３）間で共有される。
【００５７】
なお、クラスタ（ＮＡＳ３）間でホストＩＯ閾値６０が異なる場合には、擬似ＩＯ発行部３５は、長い方の値を選択する。
一般に、ホストＩＯ閾値６０には、数分〜数時間の範囲内の値が設定されるが、ストレージシステム１の構成、用途、運用状態等に応じて、この範囲外の値を設定してもよい。
また、別の閾値として、擬似ＩＯ自体の発行が途絶えた場合に、擬似ＩＯ発行部３５が強制的に擬似ＩＯを発行するまで待機する時間の閾値も、ホストＩＯ閾値格納部５９に格納してもよい。
【００５８】
試験用パターン格納部６１は、図９に示すパターンテーブル（試験用パターン）６２を格納する。パターンテーブル６２は、本実施形態の一例に係る試験部３０が疎通試験に用いるテストパターンであり、図９を用いて後述する。図１３を用いて後述するように、パターンテーブル６２も、ストレージシステム１の起動時にクラスタ間通信によりクラスタ（ＮＡＳ３）間で共有される。
【００５９】
次に、図４〜図８を参照して、実施形態の一例に係る試験部３０が試験を行なうための試験パス（アクセスパターン）について説明する。この（アクセスパターン）は、前述のディスクアクセスパス情報５８としてディスクアクセスパス情報格納部５７に格納される。
図４，図５は、実施形態の一例に係る試験部３０が試験を行なう試験パス（アクセスパターン）を示す模式図である。図４は、ＮＡＳ３−１から擬似ＩＯを発行し、ディスク５にアクセスするパスを示し、図５は、ＮＡＳ３−２から擬似ＩＯを発行し、ディスク５にアクセスするパスを示す。
【００６０】
図６は、図４，図５のアクセスパターンを説明するための図である。また、図７は図４のアクセスパターンの経路例を示す表であり、図７に記載されている項番ｐ１〜ｐ４は、図４のパスｐ１〜ｐ４に対応している。図８は図５のアクセスパターンの経路例を示す表であり、図８に記載されている項番ｐ５〜ｐ８は、図５のパスｐ５〜ｐ８に対応している。また、図７，図８の表中の符号（１）〜（１２）は、図６のＩ／Ｆ（１）〜（１２）を示す。
【００６１】
図６のＩ／Ｆ（１）はＮＡＳ３−１のホストＩ／Ｆ２５であり、Ｉ／Ｆ（２）はＮＡＳ３−２のホストＩ／Ｆ２５である。Ｉ／Ｆ（３）はＮＡＳ３−１のディスクＩ／Ｆ２９−１、Ｉ／Ｆ（４）はＮＡＳ３−１のディスクＩ／Ｆ２９−２、Ｉ／Ｆ（５）はＮＡＳ３−２のディスクＩ／Ｆ２９−１、Ｉ／Ｆ（６）はＮＡＳ３−２のディスクＩ／Ｆ２９−２である。また、Ｉ／Ｆ（７）はＮＡＳ３−１のＦＣ  Ｉ／Ｆ２７であり、Ｉ／Ｆ（８）はＮＡＳ３−２のＦＣ  Ｉ／Ｆ２７である。Ｉ／Ｆ（９）はディスク５−１のＮＡＳ３−１との接続Ｉ／Ｆ（不図示）であり、Ｉ／Ｆ（１０）はディスク５−１のＮＡＳ３−２との接続Ｉ／Ｆ（不図示）である。更に、Ｉ／Ｆ（１１）はディスク５−２のＮＡＳ３−１との接続Ｉ／Ｆ（不図示）であり、Ｉ／Ｆ（１２）はディスク５−２のＮＡＳ３−２との接続Ｉ／Ｆ（不図示）である。
【００６２】
例えば、図４のパスｐ１は、図７に示すように、ＮＡＳ３−１から、Ｉ／Ｆ（１）、Ｉ／Ｆ（２）、Ｉ／Ｆ（６）、Ｉ／Ｆ（１２）を通ってディスク５−２に接続しているパスである。このパスｐ１は、ＬＡＮ１１、ＮＡＳ３−２の内部バス１７、及びディスクＩ／Ｆ  ＣＨ１３−４を経由する。また、図４のパスｐ２は、図７に示すように、ＮＡＳ３−１から、Ｉ／Ｆ（１）、Ｉ／Ｆ（２）、Ｉ／Ｆ（８）、Ｉ／Ｆ（７）、Ｉ／Ｆ（４）、Ｉ／Ｆ（１１）を通ってディスク５−２に接続しているパスであり、ＮＡＳ３−２の保守時にのみアクセスされるパスである。このパスｐ２は、ＬＡＮ１１、ＮＡＳ３−２の内部バス１７、インターコネクト１５、ＮＡＳ３−１の内部バス１７、及びディスクＩ／Ｆ  ＣＨ１３−４を経由する。
【００６３】
図７及び図８に示すように、本例においては、ディスクアクセスパス情報５８は、疎通試験用に８本の試験パスを含む。
ディスクアクセスパス情報５８は、事前にシステム管理者によって作成され、ディスクアクセスパス情報格納部５７に記憶される。或いは、ストレージシステム１の構成の変更時にＮＡＳ３によって自動的に作成されてもよい。
【００６４】
ディスクアクセスパス情報５８は、例えば、以下の手順により生成することができる。
手順（ａ）  まず、各パスにインデックスを付ける。
例えば、ホストＩ／Ｆを使用するパスとして、図６のホスト１０−（１）間，ホスト１０−（２）間のアクセスパスに、インデックスａ０１，ａ１１を付ける。
また、クラスタ間のＦＣ  Ｉ／Ｆ２７を未使用の場合にインデックスｂ０を付け、（７）−（８）間のパスを使用する場合にｂ１を付ける。
【００６５】
更に、ディスクアクセスパスとして、（３）−（９）間のパスにインデックスｃ０１を、（４）−（１１）間にｃ０２を、（５）−（１０）間のパス（ｄｘｘ）にｄ１１を、（６）−（１２）間にｄ１２を、それぞれ付ける。ここで、インデックスｃｘｘ（ｘｘは任意の整数）はＮＡＳ３−１からのアクセス、インデックスｄｘｘ（ｘｘは任意の整数）はＮＡＳ３−２からのアクセスを示す。
【００６６】
手順（ｂ）  次に、試験対象ＮＡＳを選択する。先にＮＡＳ３−１を試験対象として選択し、次に、ＮＡＳ３−２を選択する。ＮＡＳ３−１を試験対象とする場合、ホストＩ／Ｆとしてａ０１を選択する。
手順（ｃ）  次に、ＦＣ  Ｉ／Ｆ２７の使用の有無を選択する。つまり、ＦＣ  Ｉ／Ｆ２７を使用する場合、相手側ＮＡＳ３の配下のディスクアクセスパスを使用する。ＦＣ  Ｉ／Ｆ２７を使用しない場合、自ＮＡＳ３配下のディスクアクセスパスを使用する。
【００６７】
手順（ｄ）  最後に、ディスクアクセスパスを選択する。これにより、上記３つの条件に基づく全てのディスクパスが生成される。
この例を、以下に示す。
まず、手順（ａ）において、各パスに、図６に示すようなインデックスを付ける。
次に、手順（ｂ）に進み、ＮＡＳ３−１を選択し、ａ０１を使用する。
【００６８】
次に、手順（ｃ）に進み、ＦＣ  Ｉ／Ｆ２７の使用（ｂ１）を選択する。
次に、手順（ｄ）に進み、ＮＡＳ３−２に接続する全ディスクアクセスパスを選択する。これにより、ａ０１−ｂ１−ｄ１１と、ａ０１−ｂ１−ｄ１２との２本のディスクアクセスパスが生成される。
手順（ｃ）に戻り、ＦＣ  Ｉ／Ｆ２７の未使用（ｂ０１）を選択する。
【００６９】
次に、手順（ｄ）に進み、ＮＡＳ３−１に接続する全ディスクアクセスパスを選択する。これにより、ａ０１−ｂ０−ｃ０１１と、ａ０１−ｂ０−ｃ０２との２本のディスクアクセスパスが生成される。
次に、手順（ｂ）に戻り、ＮＡＳ３−２を選択し、ａ０２を使用する。
次に、手順（ｃ）に進み、ＦＣ  Ｉ／Ｆ２７の使用（ｂ１）を選択する。
【００７０】
次に、手順（ｄ）に進み、ＮＡＳ３−１に接続する全ディスクアクセスパスを選択する。これにより、ａ０２−ｂ１−ｃ０１と、ａ０２−ｂ１−ｃ０２との２本のディスクアクセスパスが生成される。
次に、手順（ｃ）に戻り、ＦＣ  Ｉ／Ｆ２７の未使用（ｂ０１）を選択する。
最後に手順（ｄ）に進み、ＮＡＳ３−２に接続する全ディスクアクセスパスを選択する。これにより、ａ０２−ｂ０−ｄ１１と、ａ０２−ｂ０−ｄ１２との２本のディスクアクセスパスが生成される。
【００７１】
上記の手順により８本のディスクアクセスパスが生成される。
なお、図４，図５に記載したパスのうち、パスｐ１，ｐ５は通常のホスト１０からのアクセス（これを、ホストアクセスとも呼ぶ）で使用されるパスである。しかし、それ以外のパスｐ２〜ｐ４及びパスｐ６〜ｐ８は、一方のクラスタが故障し、パスが切り替えられた場合にしか使用されない。このため、パスｐ２〜ｐ４及びパスｐ６〜ｐ８は、通常のホストアクセスでは疎通確認を行なうことができないパスである。
【００７２】
実施形態の一例に係る試験部３０は、図４，図５に示す、ホストアクセスで使用されるパスｐ１，パスｐ５に加えて、ホスト１０を用いた試験では試験できなかったパスｐ２〜ｐ４，パスｐ６〜ｐ８の試験も行なうことができる。
前述のように、この試験パス情報５８は、ストレージシステム１の起動時のクラスタ間通信により、ＮＡＳ３−１とＮＡＳ３−２との間で共有される。
【００７３】
図９は、実施形態の一例に係る試験部３０のアドレス生成部３１によって作成されるパターンテーブル６２の例を示す表である。
アドレス生成部３１は、ＮＡＳ３の電源投入後に、パス情報から、接続ディスク構成情報（図１２参照）と、図７，図８に示したディスクアクセスパス情報５８とのマトリックスであるパターンテーブル６２を生成する。
【００７４】
図９に示す例においては、パターンテーブル６２は、パターン番号フィールド６３、試験ＩＯ発行元フィールド６５、ディスクアクセスパスフィールド６７、及びアクセス先フィールド６９の各フィールドを有する。
パターン番号フィールド６３は、テストパターンの番号を示す。
試験ＩＯ発行元フィールド６５は、試験用の擬似ＩＯの発行元のＮＡＳ３を示す。
【００７５】
ディスクアクセスパスフィールド６７は、試験ＩＯ発行元６５に記載されているＮＡＳ３を始点とするディスクアクセスパスを示し、例えば、図７，９のパスｐ１〜ｐ８のいずれかが選択される。
アクセス先フィールド６９は、ディスクアクセスパス６７の終点のディスク５内のアクセス先のＲＡＩＤディスクドライブを示す。例えば、ディスクアクセスパス６７の終点がディスク５−１の場合、ＲＡＩＤディスクドライブ５１１〜５１５のいずれかがアクセス先６９として選択される。或いは、ディスクアクセスパス６７の終点がディスク５−１の場合、ＲＡＩＤ５２１〜５２５のいずれかがアクセス先６９として選択される。
【００７６】
本例では、試験パスが８本、ＲＡＩＤディスクドライブが５台存在するため、パターンテーブル６２には８×５＝４０通りのパターンが存在する（図９では、一部のパターンの図示を省略し、波線で示している）。しかし、パターンの数は適宜変更してもよい。
パターンテーブル６２は、ストレージシステム１の起動時に、クラスタ間通信を用いた初期設定直後に、アドレス生成部３１によって作成される。
【００７７】
また、アドレス生成部３１が作成したパターンテーブル６２と、擬似ＩＯ解読部３７が現在実行中のパターン番号は、クラスタ間通信によってクラスタ（ＮＡＳ３）間で常時共有されている。
（Ｂ）動作
次に、実施形態の一例に係るストレージシステム１の動作を説明する。
【００７８】
図１０は、実施形態の一例に係る試験部３０の処理を示すフローチャートである。
先ず、ＮＡＳ３の電源が投入される。ＮＡＳ３の電源が投入されると、ステップＳ１において、試験部３０のアドレス生成部３１がＮＡＳ３の初期設定を行なう。
その際、アドレス生成部３１は、前述のように、ホストＩＯの待機時間であるホストＩＯ待機閾値を設定し、ホストＩＯ閾値６０としてホストＩＯ閾値格納部５９に格納する。また、擬似ＩＯの発行に使用する試験用ＩＰアドレス５４を設定して、試験用ＩＰアドレス格納部５３に格納する。また、自ＮＡＳ３がプライマリクラスタ（電源投入後に先に立ち上がったクラスタ）を構成する場合は、アドレス生成部３１は、テストパターンを生成し、パターンテーブル６２として試験用パターン格納部６１に格納する。
【００７９】
アドレス生成部３１は、ホスト側ＩＰアドレス５２、試験用ＩＰアドレス５４、ディスク構成情報５６、ディスクアクセスパス情報５８、ホストＩＯ閾値６０、及びパターンテーブル６２を、クラスタ間通信により他のＮＡＳ３に送信すると共に、他のＮＡＳ３からクラスタ間通信経由で、上記情報を受信する。このため、ホスト側ＩＰアドレス５２、試験用ＩＰアドレス５４、ディスク構成情報５６、ディスクアクセスパス情報５８、ホストＩＯ閾値６０、及びパターンテーブル６２が、クラスタ間通信によりＮＡＳ３−１とＮＡＳ３−２との間で共有される。
【００８０】
また、任意選択で、初期化時に、アドレス生成部３１はパターンテーブル６２の実行順序を変更してもよい。この処理の詳細についてはステップＳ５で後述する。
アドレス生成部３１による初期化が終了すると、ステップＳ３において、ホストＩＯ監視部３３は、最後にホストＩＯを検出してから、ホストＩＯ閾値６０に設定されている時間が経過したかどうかを監視する。なお、このホストＩＯ閾値６０は、初期設定でクラスタ両系が設定したホストＩＯ閾値である。クラスタ両系でホストＩＯ閾値６０が異なる場合、アドレス生成部３１は長い方の値を使用する。
【００８１】
最後にホストＩＯを検出してから、ホストＩＯ閾値６０に設定されている時間が経過していない場合（ステップＳ３のＮＯルート参照）、ホストＩＯ監視部３３は、ステップＳ３に戻り、ホストＩＯの監視を続行する。
最後にホストＩＯを検出してから、ホストＩＯ閾値６０に設定されている時間が経過している場合（ステップＳ３のＹＥＳルート参照）、擬似ＩＯ発行部３５は、ステップＳ５において、パターンテーブル６２に基づいて試験用の擬似ＩＯを発行し、疎通試験を開始する。その際、擬似ＩＯ発行部３５は、パターンテーブル６２の先頭の（パターン番号の最も若い）パターンから、順次擬似ＩＯを発行する。その際、現在実行中のテストパターンを、相手側のクラスタに通知する。
【００８２】
或いは、擬似ＩＯ発行部３５がパターンテーブル６２の実行順を変更してもよい。
例えば、ディスク５に保存されているデータの重要度に応じて重み付けを行ない、重要なデータを記憶しているディスク５を優先するようにパターンの順序を変更することができる。
或いは、擬似ＩＯ発行部３５は、ディスクアクセスパス（パスｐ１，パスｐ５）又はアクセス先（ＲＡＩＤ５１１〜５１５，５２１〜５２５）のいずれかの使用履歴をソートし、最も使用されていないディスクアクセスパス又はアクセス先を含むパターン番号を、パターンテーブル６２の先頭に移動してもよい。
【００８３】
例えば、擬似ＩＯ発行部３５は、実稼働におけるディスクアクセスパスの使用履歴を参照し、直前のディスクアクセスパスがパスｐ１の場合、パスｐ１を含むパターン番号１〜５をスキップし、パターン番号６から実行してもよい。これにより、擬似ＩＯ発行部３５は、最近アクセスしたパスの疎通確認を最後に回すことが可能となる。
また、擬似ＩＯ発行部３５は、実稼働におけるアクセス先（ＲＡＩＤ）に応じてパターンの順序を変更してもよい。アクセス先の使用履歴で、最近のアクセス先が、アクセスの古いものから順に、ＲＡＩＤ５２１，５２２，５２３，５２４，５２５，５１１，５１２，５１３，５１４，５１５であり、ＲＡＩＤ５１５が一番最近アクセスされているとする。
【００８４】
この場合、擬似ＩＯ発行部３５は、ＲＡＩＤ２２１を含むパターン番号から先に順次実施し、ＲＡＩＤ５１５を含むパターン番号を最後に実行する。これにより、擬似ＩＯ発行部３５は、最近アクセスしたアクセス先への疎通確認を最後尾に回すことが可能となる。
パターンテーブル６２の実行順序の変更は、ホスト１０からのＩＯ未発行時間がホストＩＯ閾値６０を超える都度、擬似ＩＯ発行部３５が行なっても、ストレージシステム１の起動時にアドレス生成部３１が一度だけ行ない、その後は実行順序を固定してもよい。
【００８５】
また、実行順序を変更する基準として、パス又はアクセス先のアクセス回数をカウントし、カウント数の少ない順に実行順序を並び替えてもよい。この場合、動作実績の少ないパス又はアクセス先について、動作確認を優先的に行なうことが可能となる。
パターンテーブル６２の実行順序を変更した場合、変更を相手側クラスタに通知する。これにより、パターンテーブル６２の実行順序の変更が、クラスタ間で常に共有される。
【００８６】
ステップＳ５における試験用擬似ＩＯ発行と並行して、ホストＩＯ監視部３３は、ホストＩＯを検出したかどうかを監視する。
ホストＩＯが検出されない場合（ステップＳ７のＮＯルート参照）、処理がステップＳ１１に移る。
試験用擬似ＩＯ発行処理の間にホスト１０からのＩＯが発行された場合（ステップＳ７のＹＥＳルート参照）、ステップＳ９において、擬似ＩＯ発行部３５は、試験用擬似ＩＯの処理を中断し、ＮＡＳ３がホスト１０からのＩＯ処理を実行する。その際、擬似ＩＯ発行部３５は、中断したパターン番号を記憶し、後に、ホスト１０からのＩＯ停止がホストＩＯ閾値を超えたタイミングで、擬似ＩＯの発行をそのパターン番号から開始する。
【００８７】
なお、ステップＳ７において、ホストＩＯ未発行時間がホストＩＯ閾値６０を越えたかどうかに加え、擬似ＩＯの未発行時間が所定の閾値を越えたかどうかの判定を行なってもよい。この場合、擬似ＩＯが所定の時間行なわれなかった場合、擬似ＩＯ発行による疎通確認が行なわれる。これにより、ホストＩＯが頻繁に発行されたために疎通確認が実行されず、冗長性を確認できなくなる事態を防ぐことができる。
【００８８】
ステップＳ１１において、擬似ＩＯ解読部３７は、現在実行中のパターン番号の疑似ＩＯ処理の終了を検出した（例えば、ＲＡＩＤ５１１〜５１５，５２１〜５２５からＩＯを受け取ったか）かどうか、或いはタイムアウトが発生したかどうかを判定する。
疑似ＩＯ処理の終了が検出されず、タイムアウトも発生していない場合（ステップＳ１１のＮＯルート参照）、擬似ＩＯ解読部３７は、ステップＳ１３において、試験用の擬似ＩＯ処理を続行する。
【００８９】
ステップＳ１１で疑似ＩＯ処理の終了が検出されたか、或いはタイムアウトが発生した場合（ステップＳ１１のＹＥＳルート参照）、ステップＳ１５において、擬似ＩＯ解読部３７はエラー又はタイムアウトの発生の有無を判断する。
詳細には、ステップＳ１５において、擬似ＩＯ解読部３７は、アクセス先のＲＡＩＤ５１１〜５１５，５２１〜５２５のリード／ライトがタイムアウトせずに終了したかどうかを判断する。タイムアウトが発生している場合、擬似ＩＯ解読部３７は、エラーと判断する。
【００９０】
一方、アクセス先のＲＡＩＤ５１１〜５１５，５２１〜５２５からのＩＯをタイムアウト内に受信した場合は、擬似ＩＯ解読部３７は、リード／ライト処理のエラーの有無も判定する。詳細には、擬似ＩＯ解読部３７は、ＲＡＩＤ５１１〜５１５，５２１〜５２５からのＩＯの内容を判断して、リード／ライト処理時に内部のエラー検出の有無を判断する。
【００９１】
また、ライト処理後にリード処理を行った場合、擬似ＩＯ解読部３７は、リード処理で得られた値が、期待値（すなわち、ライト処理で書き込んだテスト値）と同じかどうかを判定し、リードで書き込んだ値がライトで読み出した値と異なる場合、エラーと判定する。なお、ライト処理では、ディスク５内の試験用の記憶領域（不図示）に対して実際に書き込みが行なわれる。
【００９２】
ステップＳ１５でエラー又はタイムアウトが検出された場合（ステップＳ１５のＹＥＳルート参照）、ステップＳ１７において、通知部３９はエラー通知を行なう。このエラー通知は、例えば、通知部３９が、システム管理者やカスタマエンジニアに電子メールを送信することによって行なう。このエラー報告は、パターン番号毎に行なっても、或いは、後述するステップＳ２３において試験終了のタイミングで全パターン番号のエラーをまとめて報告してもよい。
【００９３】
ステップＳ１５でエラー又はタイムアウトが検出されなかった場合（ステップＳ１５のＮＯルート参照）、処理はステップＳ１９に移る。
ステップＳ１９において、擬似ＩＯ発行部３５は、パターンテーブル６２内にテストが未実行のパターンが存在するかどうかを判定する。
パターンテーブル６２内にテストが未実行のパターンが存在する場合（ステップＳ１９のＹＥＳルート参照）、ステップＳ２１において、擬似ＩＯ発行部３５は次のパターン番号を選択し、現在実行中のパターン番号を相手側クラスタに報告する。その後、ステップＳ５に戻り、選択したパターンの擬似ＩＯを発行する。
【００９４】
パターンテーブル６２内に未実行のパターンがない場合（ステップＳ１９のＮＯルート参照）、パターンテーブル６２内の全パターンの処理が終了したので、ステップＳ２３において、ホストＩＯ監視部３３は、ホストＩＯの未達時間のカウンタをリセットする。また、擬似ＩＯの未達時間のカウンタも使用している場合には、擬似ＩＯの未達時間のカウンタもリセットする。
【００９５】
次に、ＮＡＳ３−１（クラスタ＃１）とＮＡＳ３−２（クラスタ＃２）との間における疎通試験処理について図１１を参照して説明する。
図１１は、実施形態の一例に係る疎通試験処理を示すシーケンス図である。
先ず、ステップＳ３１においてＮＡＳ３−１の電源が投入される。次に、ステップＳ３２においてＮＡＳ３−１の電源が投入される。電源投入後に先に立ち上がったＮＡＳ３−１（クラスタ＃１）がプライマリクラスタ、後から電源が投入されたＮＡＳ３−２（クラスタ＃２）がセカンダリクラスタとなる。なお、必ずＮＡＳ３−１がプライマリクラスタ、ＮＡＳ３−２がセカンダリクラスタとなるとは限らず、電源投入後に先に立ち上がった方がプライマリクラスタ、後から立ち上がった方がセカンダリクラスタとなる。
【００９６】
次に、ステップＳ３３において、クラスタ間通信により、互いのクラスタの存在が認識される。
次に、ステップＳ３５において、アドレス生成部３１によって、構成情報（パス／ディスク構成）がクラスタ＃１とクラスタ＃２との間で交換される。この際に交換される情報のフォーマット７１の例を、図１２に示す。
【００９７】
図１２は、実施形態の一例に係るストレージシステム１においてクラスタ間の構成情報７１の交換に用いられるデータフォーマット７１の例を示す図である。
図１２に示すデータフォーマットは、フィールド７２〜７７がパス構成情報用のフィールド、フィールド７８〜８３がディスク構成情報用のフィールドである。
パスインデックスフィールド７２は、パスの通し番号であり、パスの識別に用いられるパス毎に一意的な値である。
【００９８】
パス接続対象１フィールド７３は、パスの接続先を示すＩＤである。例えば、ホストＩ／Ｆ  ２５の場合、０ｘ００ｎｎ、インターコネクト（ＦＣ  Ｉ／Ｆ）２７の場合、０ｘ０１ｎｎ、ディスクＩ／Ｆ  ２９の場合、０ｘ１０ｎｎ（ｎｎ＝００〜ｆｆの任意の１６進数）が設定される。
パス接続対象２フィールド７４，７５は、パスの接続先を示すＩＤである。例えば、ホスト１０の場合、０ｘ００ｎｎ、相手側クラスタの場合、０ｘ０１ｎｎ、ディスク５の場合、０ｘ１０ｎｎ（ｎｎ＝００〜ｆｆの任意の１６進数）が設定される。
【００９９】
上記フィールド７２〜７５がパスの本数繰り返される。最後のパスのフィールド７７には０ｘｆｆｆｆが設定される。
ディスクインデックスフィールド７８は、ＲＡＩＤディスクドライブの通し番号であり、ＲＡＩＤディスクドライブの識別に用いられるディスク毎に一意的な値である。
パスインデックスフィールド７９は、アクセスするディスクの下位のパスのインデックスである。
【０１００】
ＲＡＩＤ番号フィールド８０はＲＡＩＤディスクドライブを識別する番号である。
割り当て情報フィールド８１は、当該ＲＡＩＤディスクドライブが割り当て済みか、未割り当てかを示す情報である。
上記フィールド７８〜８１がＲＡＩＤディスクドライブの個数繰り返される。最後のディスクのフィールド８２には０ｘｆｆｆｆが設定され、フィールド８３は未使用である。
【０１０１】
上記データフォーマット７１は、ＮＡＳ３が、どのホスト１０／相手側ＮＡＳ３／ディスク５に接続されているかに関する情報を、相手側ＮＡＳ３に通知するために使用される。なお、上記データフォーマット７１内のパスは、パターンテーブル６２内のパス（ホスト１０からＲＡＩＤディスクへのパスを示す）とは異なり、断片的な経路である。
次に、ステップＳ３７において、アドレス生成部３１によって、試験用ＩＰアドレス５４がクラスタ＃１とクラスタ＃２との間で交換される。
【０１０２】
次に、ステップＳ３９において、プライマリクラスタ＃１のアドレス生成部３１は、ステップＳ３５で得たパスに基づいて、試験用のパスを組み合わせて試験テーブルを作成する。なお、試験テーブルとは、図７，図８のアクセスパターン（試験パス）５８と、図９のパターンテーブル６２とを備える。
次に、ステップＳ４１において、プライマリクラスタ＃１のアドレス生成部３１は、ステップＳ３９で作成したパターンテーブル６２の情報をセカンダリクラスタ＃２に送信する。この際に送信される情報のフォーマット９１の例を、図１３に示す。
【０１０３】
図１３は、実施形態の一例に係るストレージシステム１において試験テーブル情報の送信に用いられるデータフォーマットの例を示す図である。
図１３中、フィールド９２〜９５は、アクセスパターン（試験パス）５８を示す。
パターンインデックスフィールド９２は、パターンテーブル６３で使用される（パスｐ１〜ｐ８）を示す。
【０１０４】
構成パス１インデックスフィールド９３は、上位パス（ホストパス）を示す。
−構成パス２インデックスフィールド９４は、インターコネクトパスを示し、未使用の場合もある。
構成パス３インデックスフィールド９５は、ディスクＩ／Ｆパスを示す。
上記フィールド９２〜９５がアクセスパターンの数繰り返される。
【０１０５】
また、フィールド９８〜１０５は、パターンテーブル６２を示す。
パターンインデックスフィールド９８は、パターンテーブル６２内のパターン番号を示す。
試験ＩＯ発行元フィールド９９は、ＮＡＳ３−１又はＮＡＳ３−２を示す。
アクセスパスインデックス１００は、使用するアクセスパターンを示す。ここには、フィールド９２〜９５に格納したアクセスパターンのパターンインデックスフィールド９２の値が格納される。
【０１０６】
アクセス先フィールド１０１は、アクセス先のＲＡＩＤ番号を示す。
試験内容フィールド１０２〜１０５は、試験の内容を示す。ここには、例えば、リード（Ｒｄ）／ライト（Ｗｔ）／ベリファイ（Ｖｅｒｉｆｙ）、データ長、データパターン、期待値等が格納される。
上記フィールド９８〜１０５がテストパターンの数繰り返される。
【０１０７】
ステップＳ４３において、クラスタ＃１のアドレス生成部３１が初期化を終了する。
ステップＳ４４において、クラスタ＃２のアドレス生成部３１が初期化を終了する。なお、ステップＳ４３とＳ４４の順序は、いずれが先でも、同時でもよい。
ステップＳ４５において、クラスタ＃１のホストＩＯ監視部３３は、最後にホストＩＯを検出してから、ホストＩＯ閾値６０に設定されている時間が経過したことを検出する。
【０１０８】
ステップＳ４５でホストＩＯの規定時間不達を検出すると、ステップＳ４７において、クラスタ＃１の通知部３９は、クラスタ＃１が試験可となったことをクラスタ＃２に通知する。
ステップＳ４９において、クラスタ＃２のホストＩＯ監視部３３は、最後にホストＩＯを検出してから、ホストＩＯ閾値６０に設定されている時間が経過したことを検出する。
【０１０９】
ステップＳ５１でホストＩＯの規定時間不達を検出すると、ステップＳ５１において、クラスタ＃２の通知部３９は、クラスタ＃２が試験可となったことをクラスタ＃２に通知する。
ステップＳ５３において、クラスタ＃１の擬似ＩＯ発行部３５とクラスタ＃２の擬似ＩＯ発行部３５とは擬似ＩＯを発行して、パターンテーブル６２を実行する。
【０１１０】
ステップＳ５５において、クラスタ＃１のホストＩＯ監視部３３は、ホストＩＯを検出する。
ホストＩＯを検出すると、ステップＳ５７において、クラスタ＃１の通知部３９は、試験の中断を通知する。
なお、上記ステップ３３のクラスタ認識、ステップＳ３７の試験用ＩＰアドレスの交換、ステップＳ４７及びＳ５１の試験可通知、ステップＳ５７の試験中断通知は、クラスタ間で通常使用される短いメッセージフォーマットが使用される。また、ステップＳ５３で行なわれる。擬似ＩＯによる試験では、ホストＩ／Ｆ  ２５を介して行なわれる通常のアクセス（ＩＯ）で用いられるフォーマットが使用される。
（Ｃ）効果
本実施形態の一例によれば、以下の効果が得られる。
【０１１１】
内部転送試験だけでは確認できない疎通動作を実施し、更にホスト１０からの通常動作／パトロールでは確認できない交代用パスの動作確認を行なうことができる。このため、冗長性を維持して、ストレージシステム１の信頼性を向上させることが可能となる。
また、ストレージシステム１の動作の閑散期に、ホスト１０の資源を浪費することなく試験を行なうことができるため、信頼性保全に伴うホスト１０の性能の低下を回避することが可能となる。
【０１１２】
また、クラスタ通信によりシステム構成に応じた最適な試験を、システム管理者の手を煩わせることなく自動的に構成し実施することにより、信頼性保全に伴う管理工数を削減することが可能となる。
更に、疎通確認のタイミング、アクセス対象（アクセス先のドライブ）、アクセスパターン（最近アクセスされたディスク／アクセスパターンを重点的に確認するか、ほとんどアクセスされていないディスク／アクセスパターンを確認するか）等を柔軟に設定できる。また、アクセスに用いるプロトコルとしては、両クラスタ間のライセンスを相互に認識できるため、ＣＩＦＳ（Common Internet File System）やＮＦＳ（Network File System）等、どのようなファイルアクセスプロトルも使用できる。
（Ｄ）その他
なお、本発明は、上述した各実施形態及び変形例に記載した構成に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形することが可能である。
【０１１３】
例えば、上記の各実施形態の一例として、ストレージシステム１が２台のＮＡＳ３と２台のディスク５とを備える例を説明したが、ＮＡＳ３やディスク５が３台以上備えられてもよい。また、各クラスタに複数のＮＡＳ３やディスク５が備えられていてもよい。
図３に示した各機能ブロック内の機能及び構成は一例に過ぎず、各ブロックの機能の組み合わせを適宜変更してもよい。
【０１１４】
図９のパターンテーブル６２は例に過ぎず、システムの運用条件や用途等に応じて、試験頻度を変更することも可能である。
例えばディスク５−１のデータの重要性が高い場合、ＲＡＩＤ５１１〜５１５へのアクセスパターンを増やしたテーブルを作成することも可能である。
また、ディスクアクセスパスについても同様に、パスの重要度に応じてパターンテーブル６２を柔軟に変更してもよい。
【０１１５】
また、図１０の処理フローのステップの実行順序を変更してもよい。
更に、図１２，図１３に図示したデータフォーマットは例示に過ぎず、運用に応じてデータフォーマットを適宜変更することができる。例えば、図１２のデータフォーマットを、パス構成のメッセージと、ディスク構成のメッセージとの２つに分割してもよい。また、図１３のデータフォーマットを、アクセスパターン用のメッセージと、テストパターン用のメッセージとの２つに分割してもよい。
【０１１６】
なお、上記の各実施形態においては、ＮＡＳ３のＣＰＵ２１が、試験プログラムを実行することにより、図３の試験部３０、アドレス生成部３１、ホストＩＯ監視部３３，擬似ＩＯ発行部３５，擬似ＩＯ解読部３７及び通知部３９として機能する。
また、ＮＡＳ３のメモリ２３が、ホスト側ＩＰアドレス格納部５１、試験用ＩＰアドレス格納部５３、ディスク構成情報格納部５５、ディスクアクセスパス情報格納部５７、ホストＩＯ閾値格納部５９及び試験用パターン格納部６１として機能する。
【０１１７】
なお、これらの試験部３０、アドレス生成部３１、ホストＩＯ監視部３３，擬似ＩＯ発行部３５，擬似ＩＯ解読部３７及び通知部３９としての機能を実現するための試験プログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【０１１８】
試験部３０、アドレス生成部３１、ホストＩＯ監視部３３，擬似ＩＯ発行部３５，擬似ＩＯ解読部３７及び通知部３９としての機能を実現する際には、内部記憶装置（本実施形態ではＮＡＳ３のメモリ２３）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＮＡＳ３のＣＰＵ２１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【０１１９】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを備えており、本実施形態においては、ＮＡＳ３がコンピュータとしての機能を有している。
（Ｅ）付記
上記の実施形態に関し、更に以下の付記を開示する。
【０１２０】
（付記１）
制御装置であって、
ストレージ装置にネットワーク経由で接続されている情報処理装置、第１及び第２の記憶媒体、並びに前記制御装置を接続するそれぞれ異なる複数の経路を設定すると共に、前記ネットワークを介した前記情報処理装置との通信に用いられる第１のアドレスとは異なる第２のアドレスを生成するアドレス生成部と、
前記情報処理装置から前記第１又は第２の記憶媒体に対する入出力が所定時間発生していないことを検出する入出力監視部と、
入出力監視部によって前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の経路のいずれかを経由する前記第１及び第２の記憶媒体の一方に対する試験用入出力を発行する入出力発行部と、
前記試験用入出力を、前記第１のアドレスを含む入出力に変換すると共に、前記第１のアドレスを含む前記入出力の結果を前記第１及び第２の記憶媒体の前記一方から受け取り、エラーの有無を検出する入出力解読部と、
を備えることを特徴とする制御装置。
【０１２１】
（付記２）
前記アドレス生成部は、作成した前記複数の異なる経路と、第２のアドレスとを、第２の制御装置に通知することを特徴とする付記１記載の制御装置。
（付記３）
前記入出力発行部は前記ストレージ装置の使用履歴に基づいて、前記複数の異なる経路のいずれかを他の経路よりも優先して前記試験用入出力を発行することを特徴とする付記１又は２記載の制御装置。
【０１２２】
（付記４）
前記第１及び第２の記憶媒体はそれぞれ複数のドライブを備え、前記アドレス生成部は、前記第１及び第２の記憶媒体の前記複数のドライブに対する前記複数の異なる経路を設定することを特徴とする付記１〜３のいずれか１項に記載の制御装置。
（付記５）
前記複数の異なる経路は通常使用される経路と冗長用の経路とを含むことを特徴とする付記１〜４のいずれか１項に記載の制御装置。
【０１２３】
（付記６）
ストレージ装置であって、
第１の記憶媒体と、
第２の記憶媒体と、
付記１に記載の第１及び第２の制御装置と、を有し、
前記第１の制御装置は前記第１の記憶媒体を制御し、前記第２の制御装置の故障時に前記第２の記憶媒体を制御し、前記第２の制御装置は前記第２の記憶媒体を制御し、前記第１の制御装置の故障時に前記第１の記憶媒体を制御することを特徴とするストレージ装置。
【０１２４】
（付記７）
ストレージ装置の試験方法であって、
前記ストレージ装置にネットワーク経由で接続されている情報処理装置、第１及び第２の記憶媒体、並びに前記制御装置を接続するそれぞれ異なる複数の経路を設定すると共に、前記ネットワークを介した前記情報処理装置との通信に用いられる第１のアドレスとは異なる第２のアドレスを生成し、
前記情報処理装置から前記第１又は第２の記憶媒体に対する入出力が所定時間発生していないことを検出し、
入出力監視部によって前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の経路のいずれかを経由する前記第１及び第２の記憶媒体の一方に対する試験用入出力を発行し、
前記試験用入出力を、前記第１のアドレスを含む入出力に変換すると共に、前記第１のアドレスを含む前記入出力の結果を前記第１及び第２の記憶媒体の前記一方から受け取り、エラーの有無を検出する
ことを特徴とするストレージ装置の試験方法。
【０１２５】
（付記８）
前記複数の異なる経路と、第２のアドレスとを、第２の制御装置に通知することを特徴とする付記７記載のストレージ装置の試験方法。
（付記９）
前記ストレージ装置の使用履歴に基づいて、前記複数の異なる経路のいずれかを他の経路よりも優先して前記試験用入出力を発行することを特徴とする付記７又は８記載のストレージ装置の試験方法。
【０１２６】
（付記１０）
前記第１及び第２の記憶媒体はそれぞれ複数のドライブを備え、前記第１及び第２の記憶媒体の前記複数のドライブに対する前記複数の異なる経路を設定することを特徴とする付記７〜９のいずれか１項に記載のストレージ装置の試験方法。
（付記１１）
前記複数の異なる経路は通常使用される経路と冗長用の経路とを含むことを特徴とする付記７〜１０のいずれか１項に記載のストレージ装置の試験方法。
【０１２７】
（付記１２）
ストレージ装置の試験プログラムであって、コンピュータによって実行されたときに、該コンピュータに、
前記ストレージ装置にネットワーク経由で接続されている情報処理装置、第１及び第２の記憶媒体、並びに前記制御装置を接続するそれぞれ異なる複数の経路を設定すると共に、前記ネットワークを介した前記情報処理装置との通信に用いられる第１のアドレスとは異なる第２のアドレスを生成させ、
前記情報処理装置から前記第１又は第２の記憶媒体に対する入出力が所定時間発生していないことを検出させ、
入出力監視部によって前記情報処理装置からの入出力が前記所定時間発生していないことを検出すると、前記第２のアドレスを使用して、前記複数の経路のいずれかを経由する前記第１及び第２の記憶媒体の一方に対する試験用入出力を発行させ、
前記試験用入出力を、前記第１のアドレスを含む入出力に変換すると共に、前記第１のアドレスを含む前記入出力の結果を前記第１及び第２の記憶媒体の前記一方から受け取り、エラーの有無を検出させる
ことを特徴とするストレージ装置の試験プログラム。
【０１２８】
（付記１３）
前記コンピュータに、前記複数の異なる経路と、第２のアドレスとを、第２の制御装置に通知させることを特徴とする付記１２記載のストレージ装置の試験方法。
（付記１４）
前記コンピュータに、前記ストレージ装置の使用履歴に基づいて、前記複数の異なる経路のいずれかを他の経路よりも優先して前記試験用入出力を発行することを特徴とする付記１２又は１３記載のストレージ装置の試験プログラム。
【０１２９】
（付記１５）
前記第１及び第２の記憶媒体はそれぞれ複数のドライブを備え、前記コンピュータに、前記第１及び第２の記憶媒体の前記複数のドライブに対する前記複数の異なる経路を設定させることを特徴とする付記１２〜１４のいずれか１項に記載のストレージ装置の試験プログラム。
【０１３０】
（付記１６）
前記複数の異なる経路は通常使用される経路と冗長用の経路とを含むことを特徴とする付記１２〜１５のいずれか１項に記載のストレージ装置の試験プログラム。
【符号の説明】
【０１３１】
１                  ストレージシステム（ストレージ装置）
１０                ホスト（情報処理装置）
１１                ＬＡＮ（ネットワーク）
３−１，３−２      ＮＡＳ（制御装置）
３０                試験部
３１                アドレス生成部
３３                ホストＩＯ監視部（入出力監視部）
３５                擬似ＩＯ発行部（入出力発行部）
３７                擬似ＩＯ解読部（入出力解読部）
３９                通知部
４８                通常のＩＯ（第１のアドレスを含む入出力）
４９                擬似ＩＯ（試験用入出力）
５−１              ディスク（第１の記憶媒体）
５−２              ディスク（第２の記憶媒体）
５１１〜５１５      ＲＡＩＤディスクドライブ（複数のドライブ）
５２１〜５２５      ＲＡＩＤディスクドライブ（複数のドライブ）
５２                ホスト側ＩＰアドレス（第１のアドレス）
５４                試験用ＩＰアドレス（第２のアドレス）
６０                ホストＩＯ閾値（所定時間）
６２                パターンテーブル（テストパターン）
【図１】
0005982909.tif 000002
【図２】
0005982909.tif 000003
【図３】
0005982909.tif 000004
【図４】
0005982909.tif 000005
【図５】
0005982909.tif 000006
【図６】
0005982909.tif 000007
【図７】
0005982909.tif 000008
【図８】
0005982909.tif 000009
【図９】
0005982909.tif 000010
【図１０】
0005982909.tif 000011
【図１１】
0005982909.tif 000012
【図１２】
0005982909.tif 000013
【図１３】
0005982909.tif 000014
【図１４】
0005982909.tif 000015
【図１５】
0005982909.tif 000016
【図１６】
0005982909.tif 000017