(57)【特許請求の範囲】
【請求項１】
それぞれホストコンピュータに接続可能に設けられた所定複数のターゲットと、
単数または複数の物理ストレージ装置を、前記ターゲットに対応する前記所定複数ずつのパスで、それぞれ接続可能に設けられた物理ストレージ装置接続手段と、
前記単数または複数の物理ストレージ装置の記憶領域の一部または全部を組み合わせて単数または複数の仮想的なストレージ装置として構成するとともに、各該仮想的なストレージ装置を、各前記所定複数のターゲットを介して前記ホストコンピュータにアクセス可能に提供し、該アクセスが行われた際には、該アクセスが行われたターゲットに対応するパスを介して物理ストレージ装置に実アクセスするよう設けられたストレージ仮想化手段とを備えたストレージ仮想化装置において、
前記パスを介した前記物理ストレージ装置への実アクセスに障害が発生したことをパス毎に検出可能なパス障害検出手段と、
該パス障害検出手段により前記障害が検出されたパスに対応するターゲットを、前記ホストコンピュータに対して閉塞するターゲット制御手段とを備え、
前記ターゲット制御手段は、前記パス障害検出手段が、一つの前記物理ストレージ装置に接続するパスの全てにおいて前記障害を検出した場合には、例外的に、前記ターゲットの全てに対して、前記閉塞する制御を実行しない、または、前記閉塞を解除する制御を行うことを特徴とするストレージ仮想化装置。
【請求項２】
前記パス障害検出手段は、前記ホストコンピュータから受信したコマンドに応じて、前記パスに前記障害が発生しているか否かをチェックするパスチェック手段を有し、
前記ターゲット制御手段は、前記パスチェック手段によるチェックの結果の条件に照らして、前記閉塞および前記閉塞の解除を行うことを特徴とする請求項１記載のストレージ仮想化装置。
【請求項３】
それぞれホストコンピュータに接続可能に設けられた所定複数のターゲットと、
単数または複数の物理ストレージ装置を、前記ターゲットに対応する前記所定複数ずつのパスで、それぞれ接続可能に設けられた物理ストレージ装置接続手段と、
前記単数または複数の物理ストレージ装置の記憶領域の一部または全部を組み合わせて単数または複数の仮想的なストレージ装置として構成するとともに、各該仮想的なストレージ装置を、各前記所定複数のターゲットを介して前記ホストコンピュータにアクセス可能に提供し、該アクセスが行われた際には、該アクセスが行われたターゲットに対応するパスを介して物理ストレージ装置に実アクセスするよう設けられたストレージ仮想化手段とを備えたストレージ仮想化装置において、
前記パスを介した前記物理ストレージ装置への実アクセスに障害が発生したことをパス毎に検出可能なパス障害検出手段と、
該パス障害検出手段により前記障害が検出されたパスに対応するターゲットを、前記ホストコンピュータに対して閉塞するターゲット制御手段とを備え、
マルチノードに設けられた他のストレージ仮想化装置と通信して、該他のストレージ仮想化装置と前記物理ストレージ装置とを接続するパスを介した実アクセスに障害が発生しているか否かを示す情報を送受信可能な通信手段を備え、
前記ターゲット制御手段は、前記パス障害検出手段が、一つの前記物理ストレージ装置に接続するパスの全てにおいて前記障害を検出し、なおかつ、前記通信手段を介して、当該物理ストレージ装置と前記他のストレージ仮想化装置とを接続するパスの全てにおいて前記障害が発生していることを示す情報を受信した場合には、例外的に、前記閉塞する制御を実行しない、または、前記閉塞を解除する制御を行うことを特徴とするストレージ仮想化装置。
【請求項４】
前記パス障害検出手段は、前記ホストコンピュータから受信したコマンドに応じて、前記パスに前記障害が発生しているか否かをチェックするとともに、前記通信手段を介して前記他のストレージ仮想化装置と前記物理ストレージ装置とを接続するパスに前記障害が発生しているか否かをチェックするパスチェック手段を有し、
前記ターゲット制御手段は、前記パスチェック手段によるチェックの結果の条件に照らして、前記閉塞および前記閉塞の解除を行うことを特徴とする請求項３記載のストレージ仮想化装置。
【請求項５】
請求項１または２のうちのいずれか一項記載のストレージ仮想化装置と、
該ストレージ仮想化装置に、該ストレージ仮想化装置の所定複数のターゲットを介して接続され、前記仮想的なストレージ装置に対してマルチパス制御を行うホストコンピュータと、
前記ストレージ仮想化装置に、該ストレージ仮想化装置の前記物理ストレージ装置接続手段を介して、それぞれ前記所定複数ずつのパスで接続された単数または複数の物理ストレージ装置とを備えることを特徴とするコンピュータシステム。
【請求項６】
請求項３または４記載の複数のストレージ仮想化装置と、
各該ストレージ仮想化装置に、各該ストレージ仮想化装置の所定複数のターゲットを介して接続され、前記仮想的なストレージ装置に対してマルチパス制御を行うホストコンピュータと、
各前記ストレージ仮想化装置に、各該ストレージ仮想化装置の前記物理ストレージ装置接続手段を介して、それぞれ前記所定複数ずつのパスで接続された単数または複数の物理ストレージ装置とを備え、
前記複数のストレージ仮想化装置は、互いにマルチノードに設けられているとともに、前記通信手段により、前記パスを介した実アクセスに障害が発生しているか否かを示す情報を、互いに送受信可能に設けられていることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、単数または複数の物理ストレージ装置の記憶領域の一部または全部を組み合わせて仮想的なストレージ装置として構成し、その仮想的なストレージ装置をホストコンピュータにアクセス可能に提供するストレージ仮想化装置、およびそれを用いたコンピュータシステムに関する。
【背景技術】
【０００２】
主に、大量の処理を行う大規模なコンピュータシステムにおいて、サーバコンピュータ等のホストコンピュータに複数の磁気ディスク装置等のストレージ装置を、ファイバーチャネル等の接続方式を用いて接続して、ホストコンピュータが臨機応変に複数のストレージ装置を使用できるよう構成することが、広く行われている。
【０００３】
特にこのようなコンピュータシステムにおいて、システムの耐障害性を高めるために、マルチパス制御が採用されることが多い。マルチパス制御とは、ホストコンピュータに、単数または複数のストレージ装置を、所定複数のパスでそれぞれ接続し、通常は、ホストコンピュータはストレージ装置に接続された特定のパス（正パス）を介してアクセスし、その正パスに障害が検出された際には、同ストレージ装置に接続された他のパス（副パス）を介してアクセスする。
このようなマルチパス制御によれば、あるストレージ装置の一つのパスに障害が発生した場合でも、同ストレージ装置に接続された他のパスを介して同ストレージ装置にアクセスできるから、パスの障害に対する、システムの耐障害性を高めることができる。
【０００４】
マルチパス制御が可能な従来のコンピュータシステムが特許文献１に開示されている。図４は、特許文献１に記載されたコンピュータシステム（代替パス管理システム）のシステム構成を示すブロック図である。図４において、ホストコンピュータのデバイスドライバ８は、ＦＣ−ＡＬ（ファイバーチャネル−アービトレーテッド・ループ）装置４を介してファイル装置（ストレージ装置）Ｃ，Ｄに接続される。
【０００５】
説明を簡単にするため、図４のコンピュータシステム（代替パス管理システム）の構成のうちパスの構成に着目した説明図を、図５に示す。
ホストコンピュータのデバイスドライバ８には、ＦＣ−ＡＬ装置４が、正副二つのパス６，７で接続される。また、ＦＣ−ＡＬ装置４には、ファイル装置（ストレージ装置）Ｃ，Ｄに対する、パス６を介したアクセスにそれぞれ対応するパス６１，６２、および、パス７を介したアクセスにそれぞれ対応するパス７１，７２が、接続されている。すなわち、ホストコンピュータは、パス６およびパス７のいずれを介しても、ファイル装置Ｃ，Ｄにアクセス可能に設けられる。なお、実線で示したパス６，６１，６２が、ホストコンピュータが通常（全てのパスに障害が生じていないとき）使用する正パスであり、破線で示したパス７，７１，７２が副パスであるものとする。
【０００６】
ここで、ＦＣ−ＡＬ装置４とファイル装置Ｃを結ぶ、パス６に対応したパス６１に障害３３（図５中、×印で示す）が発生したとする。すると、ホストコンピュータのデバイスドライバ８は、パス６１（正パス）を介したアクセスを行わないよう制御を行う。すなわち、少なくともファイル装置Ｃにアクセスするときには、パス７，７１（副パス）を介するよう制御する。
また、デバイスドライバ８は、所定時間毎に、パス６，６１を介して、ファイル装置Ｃの一部の領域に対してアクセスチェックを行い、このアクセスチェックでエラーが発生した場合には、前記のパス６１を介したアクセスを行わないようにする制御を継続し、他方、このアクセスチェックでエラーが発生せず、すなわちパス６１の障害が解消した場合には、以後、再び正パスであるパス６，６１を介してファイル装置Ｃにアクセスするよう制御を行う。
【０００７】
ところで、特に複数のストレージ装置を使用するコンピュータシステムにおいて、複数の物理ストレージ装置の記憶領域を組み合わせた記憶領域を、仮想的なストレージ装置としてホストコンピュータに認識させるストレージの仮想化が提案されている。
例えば、特許文献２において、図６に示すように、複数のノード装置（ホストコンピュータ）１，１・・と複数のストレージ装置２，２・・を、ネットワークスイッチ３により接続するとともに、ネットワークスイッチ３のネットワークプロセッサ３１により、複数のストレージ装置２，２・・の記憶領域の一部または全部を組み合わせて仮想的なストレージ装置（仮想共有ディスク）５として構成し、その仮想的なストレージ装置５をノード装置１，１・・にアクセス可能に提供するコンピュータシステムが開示されている。
【０００８】
このストレージの仮想化によれば、ユーザーは、ホストコンピュータの用途に適した仮想的なストレージ装置を自由に構築でき、ホストコンピュータは、その仮想的なストレージ装置にアクセスすることで、物理ストレージ装置のそれぞれの記憶容量や接続形態等を意識することなく、物理ストレージ装置を使用することができるという効果がある。
【０００９】
ここで、仮想化したストレージ装置に対しても、前記マルチパス制御を行う場合がある。
図７に、マルチパス制御を行うホストコンピュータに仮想的なストレージ装置を提供するコンピュータシステムの説明図を示す。図７のコンピュータシステムは、ストレージ仮想化装置１０と、当該ストレージ仮想化装置１０の所定複数（正と副との二つ）の各ターゲット１０ａ，１０ｂに、当該ストレージ仮想化装置１０に正のパス１２ａおよび副のパス１２ｂを介して接続されたホストコンピュータ１１と、ストレージ仮想化装置１０に、それぞれ前記所定複数（正と副との二つ）ずつのパス（１６ａ，１６ｂ），（１７ａ，１７ｂ）で接続された複数の物理ストレージ装置Ｘ，Ｙとを備える。
【００１０】
ストレージ仮想化装置１０は、単数または複数の物理ストレージ装置Ｘ，Ｙの記憶領域の一部または全部を組み合わせて単数または複数の仮想的なストレージ装置Ａ，Ｂとして構成するとともに、各仮想的なストレージ装置Ａ，Ｂを、各前記所定複数（正と副との二つ）のターゲット１０ａ，１０ｂを介してホストコンピュータ１１にアクセス可能に提供する。
図７の例においては、ストレージ仮想化装置１０は、物理ストレージ装置Ｘの一部（図７における上側）ａ１と、物理ストレージ装置Ｙの一部（図７における上側）ａ２とを組み合わせて、仮想的なストレージ装置Ａを構成し、また、物理ストレージ装置Ｙの一部（図７における下側）ｂ１と、物理ストレージ装置Ｘの一部（図７における下側）ｂ２とを組み合わせて、仮想的なストレージ装置Ｂを構成し、その仮想的なストレージ装置Ａ，Ｂを、ターゲット１０ａ，１０ｂを介してホストコンピュータ１１にアクセス可能に提供している。なお、ストレージ仮想化装置１０による仮想的なストレージ装置の構成は、この例に限定されず、接続された多数の物理ストレージ装置の記憶領域の全部または一部を、自由に組み合わせて、仮想的なストレージ装置を構成することができる。
【００１１】
図７において、実線で表したパスおよび経路は、それぞれ、正のパス、および、正のパスを介したアクセス経路をそれぞれ表し、破線で表したパスおよび経路は、それぞれ、副のパス、および、副のパスを介したアクセス経路をそれぞれ表す。図７に示したように、各物理ストレージ装置接続手段（１４ａ，１４ｂ），（１５ａ，１５ｂ）は、各物理ストレージ装置Ｘ，Ｙの正のパス１６ａ，１７ａが正のターゲット１０ａに対応し、副のパス１６ｂ，１７ｂが副のターゲット１０ｂに対応するよう設定される。すなわち、ホストコンピュータ１１が正のパス１２ａおよび正のターゲット１０ａを介してアクセスを行った際には、当該ターゲット１０ａに対応する各物理ストレージ装置接続手段１４ａ，１５ａおよび正のパス１６ａ，１７ａを介して物理ストレージ装置Ｘ，Ｙに実アクセスするよう設けられ、他方、ホストコンピュータ１１が副のパス１２ｂおよび副のターゲット１０ｂを介してアクセスを行った際には、当該ターゲット１０ｂに対応する各物理ストレージ装置接続手段１４ｂ，１５ｂおよび副のパス１６ｂ，１７ｂを介して物理ストレージ装置Ｘ，Ｙに実アクセスするよう設けられる。
【００１２】
なお、本願においては、仮想的なストレージ装置へのアクセスを含む一般的なアクセスと明示的に区別するために、物理ストレージ装置にアクセスすることを、特に、実アクセスと呼ぶ。
【００１３】
図７のコンピュータシステムによれば、ホストコンピュータ１１（デバイスドライバ１１ａ）は、アクセス対象が「仮想的な」ストレージ装置であることを意識することなく、すなわち図５においてファイル装置（物理ストレージ装置）Ｃ，Ｄにアクセスするのと全く同様に、仮想的なストレージ装置Ａ，Ｂにアクセスすることができる。
【００１４】
【特許文献１】特開２００１−１５４９２９号公報
【特許文献２】特開２００３−４４４２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、図７に示したような、ストレージの仮想化とマルチパス制御とをともに行う従来のコンピュータシステムには、以下のような課題がある。
【００１６】
図７において、ストレージ仮想化装置１０と物理ストレージ装置Ｘとを結ぶパス１６ａに障害３２（×印で示す）が発生したとする。この場合、ホストコンピュータ１１が正パス１２ａ（ターゲット１０ａ）を介して例えば仮想的なストレージ装置Ａの記憶領域ａ１にアクセスした際には、パス１６ａに障害３２があることから、ホストコンピュータ１１にエラー信号が返される。
これにより、ホストコンピュータ１１のデバイスドライバ１１ａは、パス１２ａ（ターゲット１０ａ）を介した仮想的なストレージ装置Ａへのアクセスに障害３４（×印で示す）が発生したものと認識し、パス１２ａを介した仮想的なストレージ装置Ａへのアクセスを行わないよう制御するとともに、仮想的なストレージ装置Ａへのアクセスに副パス１２ｂ（ターゲット１０ｂ）を用いるよう制御を行う。
【００１７】
また、デバイスドライバ１１ａは、所定時間毎に、パス１２ａを介して、仮想的なストレージ装置Ａの一部の領域に対してアクセスチェックを行い、このアクセスチェックでエラーが発生した場合には、前記のパス１２ａを介したアクセスを行わないようにする制御を継続し、他方、このアクセスチェックでエラーが発生しなかった場合には、パス１２ａの障害３４が解消したと認識し、以後、再び正パスであるパス１２ａを介してファイル装置Ｃにアクセスするよう制御を行う。
【００１８】
ここで、ホストコンピュータ１１のデバイスドライバ１１ａは、仮想的なストレージ装置Ａが一つのストレージ装置であるものと認識しているから、前記アクセスチェックにおいて、前記アクセスチェックでチェックする領域として、記憶領域ａ２内の領域を指定することがあり得る。この場合、仮想的なストレージ装置Ａ上の記憶領域ａ２に対するアクセスは、パス１７ａを介してなされ、実際に障害３２のあるパス１６ａは経由しないから、正常に行われる。デバイスドライバ１１ａは、このアクセスチェックが正常に行われたことを受けて、デバイスドライバ１１ａが認識していた障害３４が解消されたものと判断して、以後、仮想的なストレージ装置Ａに対するアクセスを正パスであるパス１２ａを介して行うよう、制御を行う。
【００１９】
しかしながら、ここで、ホストコンピュータ１１がパス１２ａを介して仮想的なストレージ装置Ａの記憶領域ａ１内の領域にアクセスしようとした場合には、パス１６ａにおける障害３２により再びエラーとなることから、ホストコンピュータ１１およびデバイスドライバ１１ａが、上記動作を繰り返して使用するパスを正パス１２ａと副パス１２ｂとの間で繰り返し切り替えるような制御を行ってしまい、結果的に、ホストコンピュータ１１による仮想的なストレージ装置Ａへのアクセスが迅速に行われなくなることがあるという課題がある。
【００２０】
本発明は上記課題を解決すべくなされ、その目的とするところは、マルチパス制御を行うホストコンピュータに接続されるストレージ仮想化装置であって、物理ストレージ装置とストレージ仮想化装置との間のパスに障害が発生した場合であっても、ホストコンピュータが使用するパスの切り替えを頻繁に行ってしまうといった問題の発生しないストレージ仮想化装置、および、それを用いてマルチパス制御を行うコンピュータシステムを提供することにある。
【課題を解決するための手段】
【００２１】
本発明に係るストレージ仮想化装置は、上記課題を解決するために、以下の構成を備える。すなわち、それぞれホストコンピュータに接続可能に設けられた所定複数のターゲットと、単数または複数の物理ストレージ装置を、各前記ターゲットに対応する前記所定複数ずつのパスで、それぞれ接続可能に設けられた物理ストレージ装置接続手段と、前記単数または複数の物理ストレージ装置の記憶領域の一部または全部を組み合わせて単数または複数の仮想的なストレージ装置として構成するとともに、各該仮想的なストレージ装置を、各前記所定複数のターゲットを介して前記ホストコンピュータにアクセス可能に提供し、該アクセスが行われた際には、該アクセスが行われたターゲットに対応するパスを介して物理ストレージ装置に実アクセスするよう設けられたストレージ仮想化手段とを備えたストレージ仮想化装置において、前記パスを介した前記物理ストレージ装置への実アクセスに障害が発生したことをパス毎に検出可能なパス障害検出手段と、該パス障害検出手段により前記障害が検出されたパスに対応するターゲットを、前記ホストコンピュータに対して閉塞するターゲット制御手段とを備え、前記ターゲット制御手段は、前記パス障害検出手段が、一つの前記物理ストレージ装置に接続するパスの全てにおいて前記障害を検出した場合には、例外的に、前記ターゲットの全てに対して、前記閉塞する制御を実行しない、または、前記閉塞を解除する制御を行うことを特徴とする。
これによれば、ストレージ仮想化装置と物理ストレージ装置との間のパスに障害が発生した場合には、その障害が発生したパスに対応するターゲットをホストコンピュータに対して閉塞するから、その障害が解消する前にホストコンピュータのアクセスチェックが正常終了することを防ぐことができ、したがって、ホストコンピュータが使用するパスの切り替えを頻繁に行ってしまうといった問題が発生しない。
さらに、物理ストレージ装置が故障する等の原因によってその物理ストレージ装置に接続するパスの全てにおいて障害が検出された場合にあっては、それら全てのパスに対応する全てのターゲットを閉塞してしまうと、ホストコンピュータが仮想的なストレージ装置にアクセスできなくなってコンピュータシステムの機能が著しく損なわれてしまうから、その場合には例外的に、前記閉塞を実行せずまたは解除することによって、正常にアクセス可能な記憶領域にはホストコンピュータがアクセス可能となって、システムの著しい機能不全を防ぐことができる。
【００２２】
さらに、前記パス障害検出手段は、前記ホストコンピュータから受信したコマンドに応じて、前記パスに前記障害が発生しているか否かをチェックするパスチェック手段を有し、前記ターゲット制御手段は、前記パスチェック手段によるチェックの結果の条件に照らして、前記閉塞および前記閉塞の解除を行うことを特徴とする。
これによれば、パスの障害の発生、および障害からの復旧に応じて、ターゲットの閉塞状態を制御することができる。
【００２３】
また、それぞれホストコンピュータに接続可能に設けられた所定複数のターゲットと、単数または複数の物理ストレージ装置を、前記ターゲットに対応する前記所定複数ずつのパスで、それぞれ接続可能に設けられた物理ストレージ装置接続手段と、前記単数または複数の物理ストレージ装置の記憶領域の一部または全部を組み合わせて単数または複数の仮想的なストレージ装置として構成するとともに、各該仮想的なストレージ装置を、各前記所定複数のターゲットを介して前記ホストコンピュータにアクセス可能に提供し、該アクセスが行われた際には、該アクセスが行われたターゲットに対応するパスを介して物理ストレージ装置に実アクセスするよう設けられたストレージ仮想化手段とを備えたストレージ仮想化装置において、前記パスを介した前記物理ストレージ装置への実アクセスに障害が発生したことをパス毎に検出可能なパス障害検出手段と、該パス障害検出手段により前記障害が検出されたパスに対応するターゲットを、前記ホストコンピュータに対して閉塞するターゲット制御手段とを備え、マルチノードに設けられた他のストレージ仮想化装置と通信して、該他のストレージ仮想化装置と前記物理ストレージ装置とを接続するパスを介した実アクセスに障害が発生しているか否かを示す情報を送受信可能な通信手段を備え、前記ターゲット制御手段は、前記パス障害検出手段が、一つの前記物理ストレージ装置に接続するパスの全てにおいて前記障害を検出し、なおかつ、前記通信手段を介して、当該物理ストレージ装置と前記他のストレージ仮想化装置とを接続するパスの全てにおいて前記障害が発生していることを示す情報を受信した場合には、例外的に、前記閉塞する制御を実行しない、または、前記閉塞を解除する制御を行うことを特徴とする。
これによれば、複数の当該ストレージ仮想化装置をマルチノードに設けた場合に、ターゲット制御手段が、他のストレージ仮想化装置のパスも含めた全てのパスにおいて障害が発生しているか否かを判断して、ターゲットの閉塞の制御を行うことができる。
【００２４】
さらに、前記パス障害検出手段は、前記ホストコンピュータから受信したコマンドに応じて、前記パスに前記障害が発生しているか否かをチェックするとともに、前記通信手段を介して前記他のストレージ仮想化装置と前記物理ストレージ装置とを接続するパスに前記障害が発生しているか否かをチェックするパスチェック手段を有し、前記ターゲット制御手段は、前記パスチェック手段によるチェックの結果の条件に照らして、前記閉塞および前記閉塞の解除を行うことを特徴とする。
これによれば、パスの障害の発生、および障害からの復旧に応じて、ターゲットの閉塞状態を制御することができる。
【００２５】
また、本発明に係るコンピュータシステムは、上記課題を解決するために、以下の構成を備える。すなわち、請求項１または２のうちのいずれか一項記載のストレージ仮想化装置と、該ストレージ仮想化装置に、該ストレージ仮想化装置の所定複数のターゲットを介して接続され、前記仮想的なストレージ装置に対してマルチパス制御を行うホストコンピュータと、前記ストレージ仮想化装置に、該ストレージ仮想化装置の前記物理ストレージ装置接続手段を介して、それぞれ前記所定複数ずつのパスで接続された単数または複数の物理ストレージ装置とを備えることを特徴とする。
これによれば、ストレージ仮想化装置と物理ストレージ装置との間のパスに障害が発生した場合には、その障害が発生したパスに対応するターゲットをホストコンピュータに対して閉塞するから、その障害が解消する前にホストコンピュータのアクセスチェックが正常終了することを防ぐことができ、したがって、ホストコンピュータが使用するパスの切り替えを頻繁に行ってしまうといった問題が発生しない。
【００２６】
また、請求項３または４記載の複数のストレージ仮想化装置と、各該ストレージ仮想化装置に、各該ストレージ仮想化装置の所定複数のターゲットを介して接続され、前記仮想的なストレージ装置に対してマルチパス制御を行うホストコンピュータと、各前記ストレージ仮想化装置に、各該ストレージ仮想化装置の前記物理ストレージ装置接続手段を介して、それぞれ前記所定複数ずつのパスで接続された単数または複数の物理ストレージ装置とを備え、前記複数のストレージ仮想化装置は、互いにマルチノードに設けられているとともに、前記通信手段により、前記パスを介した実アクセスに障害が発生しているか否かを示す情報を、互いに送受信可能に設けられていることを特徴とする。
これによれば、各ストレージ仮想化装置のターゲット制御手段が、他のストレージ仮想化装置のパスも含めた全てのパスにおいて障害が発生しているか否かを判断して、ターゲットの閉塞の制御を行うことができる。
【発明の効果】
【００２７】
本発明に係るストレージ仮想化装置およびコンピュータシステムによれば、物理ストレージ装置とストレージ仮想化装置との間のパスに障害が発生した場合であっても、ホストコンピュータがマルチパス制御によって使用するパスの切り替えを頻繁に行ってしまうといった問題が発生しない。
【発明を実施するための最良の形態】
【００２８】
本発明に係るストレージ仮想化装置およびコンピュータシステムを実施するための最良の形態を説明する。
【実施例１】
【００２９】
本実施例１に係るコンピュータシステムの構成を、図１の説明図に示す。本実施例１に係るコンピュータシステムの基本的な構成は、前述の図７のコンピュータシステムの構成とほぼ同様であるため、同一の構成には同一の符号を付して説明を省略する。なお、本実施例１の構成において、図７の構成と異なる点は、図７におけるストレージ仮想化装置１０が、本実施の形態に係るストレージ仮想化装置Ｖに置き換わった点である。
【００３０】
以下、本発明に係るコンピュータシステムの要部であるストレージ仮想化装置の実施の形態について説明する。
ストレージ仮想化装置Ｖは、ホストコンピュータ１１（図１参照）に接続可能に設けられた所定複数（正と副との二つ）のターゲット１０ａ，１０ｂと、複数（本実施例１では２つ）の物理ストレージ装置Ｘ，Ｙ（図１参照）を、前記所定複数の各ターゲット１０ａ，１０ｂに対応する前記所定複数ずつのパス（１６ａ，１６ｂ）およびパス（１７ａ，１７ｂ）で、それぞれ接続可能に設けられた物理ストレージ装置接続手段（１４ａ，１４ｂ）および（１５ａ，１５ｂ）とを備える。
ターゲット１０ａ，１０ｂおよび物理ストレージ装置接続手段（１４ａ，１４ｂ），（１５ａ，１５ｂ）は、ファイバーチャネルインターフェイスであり、それぞれホストコンピュータ１１および物理ストレージ装置Ｘ，Ｙと、ファイバーチャネルに対応した同軸ケーブルまたは光ファイバーケーブルから成るケーブルを介して接続される。
【００３１】
図２は、本実施例１に係るストレージ仮想化装置Ｖの構成を示すブロック図である。
ストレージ仮想化装置Ｖは、ＣＰＵやその他のＬＳＩやメモリ等から成る制御部２０を備える。制御部２０は、ＣＰＵによりＲＯＭに記録されたファームウェアプログラムを実行したり、ＬＳＩの機能を実行したりすることにより、ストレージ仮想化手段２２、パス障害検出手段２４、パスチェック手段２４ａ、ターゲット制御手段２６、通信手段２８、およびモード選択手段３０を実現する。
【００３２】
ストレージ仮想化手段２２は、図１の例で示したように、物理ストレージ装置接続手段（１４ａ，１４ｂ），（１５ａ，１５ｂ）を介して接続された物理ストレージ装置Ｘ，Ｙのそれぞれの記憶領域の一部を組み合わせた記憶領域を、仮想的なストレージ装置Ａ，Ｂとして、ホストコンピュータ１１に提供する。なお、ストレージ仮想化装置Ｖによる仮想的なストレージ装置の構成は、この例に限定されず、接続された多数の物理ストレージ装置の記憶領域の全部または一部を、自由に組み合わせて、仮想的なストレージ装置を構成することができる。
ストレージ仮想化手段２２は、ターゲット１０ａ，１０ｂから入力された仮想的なストレージ装置Ａ，Ｂに対するアクセス信号に基づいて、物理ストレージ装置接続手段（１４ａ，１４ｂ），（１５ａ，１５ｂ）を介して、パス（１６ａ，１６ｂ），（１７ａ，１７ｂ）を通じて物理ストレージ装置Ｘ，Ｙの対応する領域に実アクセスする。
【００３３】
パス障害検出手段２４は、ストレージ仮想化手段２２による物理ストレージ装置Ｘ，Ｙへの実アクセス時、および、定期的に、パス（１６ａ，１６ｂ），（１７ａ，１７ｂ）の障害の有無を検査し、障害の発生および解消をパス毎に検出する。
また、パス障害検出手段２４は、ホストコンピュータ１１から受信した所定のアクセスチェックのコマンドに応じて、パス（１６ａ，１６ｂ），（１７ａ，１７ｂ）に障害が発生しているか否かをチェックするパスチェック手段２４ａを有する。
【００３４】
また、パス障害検出手段２４は、障害の有無に応じて、物理ストレージ装置への各パス（１６ａ，１６ｂ），（１７ａ，１７ｂ）毎にパスの閉塞、および、閉塞の解除を行う。「（物理ストレージ装置への）パスを閉塞する」とは、そのパスを介した物理ストレージ装置への実アクセスを行わないようにすることである。すなわち、ストレージ仮想化手段２２からそのパスを介した実アクセスを要求された際に、エラー信号を返す等の処理を行う。
【００３５】
また、パス障害検出手段２４は、パスの障害の発生または解消を検出すると、それぞれ障害の発生または解消を表し、かつそのパスを特定できる信号を、ターゲット制御手段２６に対して出力する。
【００３６】
ターゲット制御手段２６は、パス障害検出手段２４から入力された前記障害の発生または解消を表す信号に基づき、その障害が発生または解消したパスに対応するターゲットを閉塞または閉塞を解除する処理を行う。例えば、ストレージ仮想化装置Ｖと物理ストレージ装置Ｘとを結ぶパス１６ａに障害３２（×印で示す）が発生し、その情報がパス障害検出手段２４からターゲット制御手段２６に入力されたとする。この場合、ターゲット制御手段２６は、障害が発生したパス１６ａに対応するターゲット１０ａを閉塞する（×印３６で示す）。
【００３７】
なお、「ターゲットを閉塞する」とは、そのターゲットを介した仮想的なストレージ装置へのアクセスを行わせないようにすることである。例えば、ターゲットからホストコンピュータ１１に対しビジー信号を出力したり、または、ホストコンピュータ１１から送信されたアクセス信号に対して全てエラー信号を返したりするなどの制御をいう。
【００３８】
さらに、ターゲット制御手段２６は、パス障害検出手段２４が、一つの物理ストレージ装置に接続するパスの全てにおいて障害を検出した場合には、例外的に、ターゲットの全てに対して、前記閉塞する制御を実行しない、または、前記閉塞を解除する制御を行う。
例えば、パス障害検出手段２４が、一つの物理ストレージ装置Ｘに接続するパス１６ａおよび１６ｂの全てにおいて障害を検出した場合、ターゲット制御手段２６は、例外的に、ターゲット１０ａおよび１０ｂに対して、前記閉塞する制御を実行しない。また、例えば、まずパス１６ａのみに障害が検出されてターゲット１０ａが閉塞されているときに、新たにパス１６ｂにも障害が検出された場合には、ターゲット制御手段２６は、ターゲット１０ａの閉塞を解除する制御を行う。
【００３９】
また、ターゲット制御手段２６は、一つの物理ストレージ装置Ｘに接続する１６ａおよび１６ｂの全てにおいて障害が発生していてターゲット１０ａおよび１０ｂの閉塞が解除されている場合において、パス障害検出手段２４（パスチェック手段２４ａを含む）によりこれらのパスの少なくとも一つの障害が解消されと検出されたときには、未だ障害が解消されないパス（１６ｂ）に対応するターゲット（１０ｂ）を、改めて閉塞する制御を行う。
【００４０】
本実施例１に係るストレージ仮想化装置Ｖおよびそれを用いたコンピュータシステムによれば、ストレージ仮想化装置Ｖと物理ストレージ装置Ｘ，Ｙとの間のパス（１６ａ，１６ｂ，１７ａ，または１７ｂ）に障害が発生した場合には、その障害が発生したパスに対応するターゲット１０ａまたは１０ｂをホストコンピュータ１１に対して閉塞する。したがって、ホストコンピュータ１１のデバイスドライバ１１ａは、その閉塞されたターゲットがビジーであるためにアクセスチェックを行えなかったり、アクセスチェックに対して全てエラー信号が返ってきたりするから、そのターゲットを介した仮想的なストレージ装置へのアクセスを行うことがない。そして、そのターゲットが閉塞されることにより、ホストコンピュータ１１のデバイスドライバ１１ａは、マルチパス制御によって他のパス（例えば正パスが閉塞されたときには副パス）を介して正常に仮想的なストレージ装置にアクセスするよう制御を行うようになる。
【００４１】
よって、従来のようにその障害が解消する前にホストコンピュータ１１のアクセスチェックが正常終了することを防ぐことができ、したがって、ホストコンピュータ１１が使用するパスの切り替えを頻繁に行ってしまうといった従来の問題が発生しない。
【００４２】
そして、パスの障害が解消された際には、パス障害検出手段２４により、またはホストコンピュータからのアクセスチェックのコマンドに対応するパスチェック手段２４ａにより、障害の解消が検出され、パス障害検出手段２４からターゲット制御手段２６に障害の解消を表す信号が入力されて、ターゲット制御手段２６は、そのパスに対応するターゲットの閉塞を解除する。
これにより、ホストコンピュータ１１は、ターゲットのビジー信号が解除されたり、またはアクセスチェックのコマンドに対する応答が正常となることから、その閉塞が解除されたターゲットが正パスに対応するターゲットであれば、マルチパス制御により使用するパスをその正パスに戻す等の、適切な処理を行うことができる。
【００４３】
さらに、本実施例１に係るコンピュータシステムによれば、例えば物理ストレージ装置が故障する等の原因によって一つの物理ストレージ装置（例えばＸ）に接続するパスの全て（パス１６ａおよび１６ｂ）において障害が検出された場合にあっては、それら全てのパスに対応する全てのターゲット（１０ａおよび１０ｂ）を閉塞してしまうと、ホストコンピュータ１１が仮想的なストレージ装置にアクセスできなくなってコンピュータシステムの機能が著しく損なわれてしまうから、その場合には例外的に、前記閉塞を実行せずまたは解除することによって、正常にアクセス可能な記憶領域にはホストコンピュータがアクセス可能とし、システムの著しい機能不全を防ぐ。
【００４４】
なお、本実施例１においては、障害が発生した物理ストレージ装置への各パス（１６ａ，１６ｂ），（１７ａ，１７ｂ）に対しても、パスの閉塞を行うよう構成した。これによれば、一つの物理ストレージ装置に接続するパスの全てにおいて障害が発生して、対応するターゲットの閉塞が行われていない場合に、障害が発生している各パスの使用は禁止しつつ、障害が発生していないパスの使用のみを許すことができる。例えば、パス１６ａおよび１６ｂに障害が発生した場合に、パス１６ａおよび１６ｂを閉塞するから、ホストコンピュータ１１は、仮想的なストレージ装置Ａの記録領域ａ１および仮想的なストレージ装置Ｂの記憶領域ｂ２へのアクセスは行えないものの、その他の領域についてはアクセスを行うことができる。
このように、物理ストレージ装置に接続する、障害が発生したパスを使用できなくすることで、システムの信頼性を維持することができる。
【００４５】
ただし本発明はこの構成に限定されるものではなく、物理ストレージ装置に接続する、障害が発生したパスの閉塞を、行わないよう構成することもできる。これは、障害が発生したパスにおいても必ずしも常にアクセスが行えないとは限らず、アクセスが成功する場合もあるためである。これによれば、一つの物理ストレージ装置に接続するパスの全てにおいて障害が発生した場合にあって、ホストコンピュータ１１は、障害が発生したパス（上記例の場合パス１６ａ，１６ｂ）を介する記録領域ａ１および記憶領域ｂ２へのアクセスをトライすることが可能となり、ホストコンピュータ１１の処理の選択肢を広げ、システムの著しい機能不全を防ぐことができる。
【実施例２】
【００４６】
図３は、本実施例２に係るコンピュータシステムの構成を示す説明図である。
なお、実施例２において、実施例１と同様の構成については、同じ符号を付して説明を省略する。
【００４７】
実施例２に係るコンピュータシステムの特徴は、実施例１と同構成のストレージ仮想化装置Ｖを複数（二つ）備え、それらがマルチノードに設けられている点である。すなわち、二つのストレージ仮想化装置Ｖ，Ｖは、ホストコンピュータ１１に対してそれぞれパス（１２ａ，１２ｂ），（１３ａ，１３ｂ）で接続され、また、物理ストレージ装置Ｘに対してそれぞれパス（１６ａ，１６ｂ），（１８ａ，１８ｂ）で接続され、さらに物理ストレージ装置Ｙに対してそれぞれパス（１７ａ，１７ｂ），（１９ａ，１９ｂ）で接続される。そして、各ストレージ仮想化装置Ｖのストレージ仮想化手段２２は、それぞれ同構成の仮想的なストレージ装置Ａ，Ｂを構成する。ホストコンピュータ１１は、二つのうちいずれのストレージ仮想化装置Ｖを介しても、仮想的なストレージ装置Ａ，Ｂに対して同様にアクセスすることができる。この構成を本願においてはマルチノードと呼ぶ。
このマルチノードによる冗長なシステム構成を採用することによれば、例えば一方のストレージ仮想化装置Ｖが故障するなどの問題が生じてもシステム運用を継続することができる等、よりシステムの耐障害性を高くすることができる。
【００４８】
図３のコンピュータシステムにおいて、複数（二つ）のストレージ仮想化装置Ｖ，Ｖは、通信手段２８（図２参照）により互いに通信可能に接続されている。
二つのストレージ仮想化装置Ｖ，Ｖは、通信手段２８により、互いにパス（１６ａ，１６ｂ），（１７ａ，１７ｂ）または（１８ａ，１８ｂ），（１９ａ，１９ｂ）を介した実アクセスに障害が発生しているか否かを示す情報を、互いに送受信する。
【００４９】
なお、各ストレージ仮想化装置Ｖには、実施例１のように一台で使用するか、または本実施例２のようにマルチノードとして使用して通信手段２８による他のストレージ仮想化装置との前記通信を行うかを、ユーザーが選択操作可能なモード選択手段３０が設けられている。このモード選択手段３０は、例えば、ユーザーが操作可能な切り替えスイッチ（図２参照）として構成してもよいし、または、ホストコンピュータ１１からコマンドによりモードを切り替え可能に構成してもよい。
【００５０】
さて、実施例１においては、パス障害検出手段２４が、一つの物理ストレージ装置に接続するパスの全てにおいて障害を検出した場合には、ターゲット制御手段２６は、ターゲットの閉塞を行わない、または、閉塞を解除する処理をおこなった。
他方、本実施例２においては（すなわち前記モード選択手段３０により、マルチノードでの動作が選択されているときには）、パス障害検出手段２４が一つの物理ストレージ装置に接続するパスの全てにおいて障害を検出した場合には、ターゲット制御手段２６は、通信手段２８を介して、当該物理ストレージ装置と他のストレージ仮想化装置とを接続するパスの全てにおいて障害が発生しているか否かを調べる。そして、ここで、当該物理ストレージ装置と他のストレージ仮想化装置とを接続するパスの全てにおいて障害が発生しているとの情報を受信した場合に限り、前記閉塞する制御を実行しない、または、前記閉塞を解除する制御を行う。
【００５１】
また、ターゲット制御手段２６は、一つの物理ストレージ装置に接続するパスの全てにおいて障害が発生していてターゲット１０ａおよび１０ｂの閉塞が解除されているときに、パス障害検出手段２４（パスチェック手段２４ａを含む）によりこれらのパスの少なくとも一つの障害が解消されと検出された場合には、未だ障害が解消されないパスに対応するターゲットを改めて閉塞する制御を行うとともに、通信手段２８を介して他のストレージ装置にパスの障害が解消された旨の情報を通知する。
この他のストレージ装置においては、この通知を受けて、ターゲット制御手段２６は、未だ障害が解消されないパスに対応するターゲットを改めて閉塞する制御を行う。
【００５２】
本実施例２に係るコンピュータシステムによれば、一つのストレージ仮想化装置Ｖに接続された一つの物理ストレージ装置に対するパスの全てにおいて障害が発生したとしても、他のストレージ仮想化装置Ｖの、その物理ストレージ装置に対するパスに正常なパスがある場合には、前記一つのストレージ仮想化装置Ｖのターゲットを閉塞することで、マルチパス制御を行うホストコンピュータ１１のアクセスを、正常なパスを有する前記他のストレージ仮想化装置Ｖのターゲットへと導くことができ、正常なパスを介したアクセスを行わせることが可能となる。
【００５３】
言い換えると、マルチノードのシステムにおいて、一つのストレージ仮想化装置Ｖに接続された一つの物理ストレージ装置に対するパスの全てにおいて障害が発生した際に、実施例１のようにターゲットの全ての閉塞を行わないようにすると、ホストコンピュータは障害のあるパスを使用したアクセスを行ってしまう可能性があり、アクセス効率が悪くなったりシステムの信頼性が低下したりする恐れがあるが、実施例２においては、一つのストレージ仮想化装置Ｖに接続された一つの物理ストレージ装置に対するパスの全てにおいて障害が発生したとしても、他のストレージ仮想化装置に、その物理ストレージ装置にアクセス可能なパスが残っていれば、前記ターゲットの閉塞を行う。これにより、マルチパス制御を行うホストコンピュータ１１のアクセスを、正常なパスを有する前記他のストレージ仮想化装置Ｖのターゲットへと導くことができる。
【００５４】
上記実施例１および実施例２においては、説明の簡単のために、単数のホストコンピュータ１１、単数または二つのストレージ仮想化装置Ｖ、および二つの物理ストレージ装置Ｘ，Ｙを用いているが、本発明はもちろんこれに限定されず、ホストコンピュータを複数台設けたり、ストレージ仮想化装置Ｖおよび物理ストレージ装置Ｘ，Ｙをより多数設けてもよい。また、ストレージ仮想化装置Ｖのストレージ仮想化手段２２が構成する仮想的なストレージ装置Ａ，Ｂも、本実施例１および実施例２においては二つのみ構成したが、より多数の仮想的なストレージ装置を構成するよう設定することもできる。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施例１に係るコンピュータシステムの構成の説明図である。
【図２】本発明の実施例１および実施例２に係るストレージ仮想化装置の構成を示すブロック図である。
【図３】本発明の実施例２に係るコンピュータシステムの構成の説明図である。
【図４】従来のコンピュータシステム（代替パス管理システム）のシステム構成を示すブロック図である。
【図５】図４の従来のコンピュータシステム（代替パス管理システム）の構成のうちパスの構成に着目した説明図である。
【図６】従来のコンピュータシステム（ストレージの仮想化を行うシステム）のシステム構成を示すブロック図である。
【図７】マルチパス制御およびストレージの仮想化を行う従来のコンピュータシステムのシステム構成を示す説明図である。
【符号の説明】
【００５６】
Ｖ  ストレージ仮想化装置
Ａ，Ｂ  仮想的なストレージ装置
Ｘ，Ｙ  物理ストレージ装置
ａ１，ａ２，ｂ１，ｂ２  記録領域
１０ａ，１０ｂ  ターゲット
１１  ホストコンピュータ
１１ａ  デバイスドライバ
１４ａ，１４ｂ，１５ａ，１５ｂ  物理ストレージ装置接続手段
１６ａ，１６ｂ，１７ａ，１７ｂ，１８ａ，１８ｂ，１９ａ，１９ｂ  パス
２０  制御部
２２  ストレージ仮想化手段
２４  パス障害検出手段
２４ａ  パスチェック手段
２６  ターゲット制御手段
２８  通信手段
３０  モード選択手段
【図１】
0004486921.tif 000002
【図２】
0004486921.tif 000003
【図３】
0004486921.tif 000004
【図４】
0004486921.tif 000005
【図５】
0004486921.tif 000006
【図６】
0004486921.tif 000007
【図７】
0004486921.tif 000008