(57)【要約】【課題】ストレージ装置におけるパスの切り替えを低減し、ストレージ仮想化システムの性能を向上させることを課題とする。【解決手段】中継装置それぞれは、他の中継装置との間で相互にアクセス要求を転送する通信路が接続されるポートと、アクセス要求を受け付ける仮想的な記憶領域として設定された第一仮想領域部と、他の中継装置から転送されるアクセス要求を受け付ける仮想的な記憶領域として設定された第二仮想領域部とを備える。また、中継装置それぞれは、記憶装置との間の経路が運用中である場合には、第一仮想領域部宛に送信されたアクセス要求及び第二仮想領域部宛に転送されたアクセス要求が当該経路を介して記憶装置に送信されるように制御し、経路が運用中でない場合には、第一仮想領域部宛に送信されたアクセス要求がポートに接続された通信路を介して他方の中継装置に転送されるように制御する。【選択図】図１
2010277555.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと記憶装置との間に接続され、当該記憶装置が有する実体的な記憶領域を用いて仮想的な記憶領域をホストコンピュータに割り当てて当該仮想的な記憶領域宛のアクセス要求を処理する中継装置であって、
他の中継装置との間で相互にアクセス要求を転送する通信路が接続されるポートと、
ホストコンピュータからのアクセス要求を受け付ける仮想的な記憶領域として設定された第一仮想領域部と、
前記通信路に前記ポートを介して接続され、前記他の中継装置から転送されるアクセス要求を受け付ける仮想的な記憶領域として設定された第二仮想領域部と、
前記記憶装置との間の経路が運用中である場合には、前記第一仮想領域部宛に送信されたアクセス要求及び前記第二仮想領域部宛に転送されたアクセス要求が当該経路を介して前記記憶装置に送信されるように制御し、前記経路が運用中でない場合には、前記第一仮想領域部宛に送信されたアクセス要求が前記ポートに接続された前記通信路を介して前記他の中継装置に転送されるように制御する制御部と
を備えたことを特徴とする中継装置。
【請求項２】
ホストコンピュータと記憶装置との間に接続され、当該記憶装置が有する実体的な記憶領域を用いて仮想的な記憶領域をホストコンピュータに割り当てて当該仮想的な記憶領域宛のアクセス要求を処理する中継装置に実行させる中継プログラムであって、
前記中継装置は、他の中継装置との間で相互にアクセス要求を転送する通信路が接続されるポートと、ホストコンピュータからのアクセス要求を受け付ける仮想的な記憶領域として設定された第一仮想領域部と、前記通信路に前記ポートを介して接続され、前記他の中継装置から転送されるアクセス要求を受け付ける仮想的な記憶領域として設定された第二仮想領域部とを備えるものであって、
前記中継装置に、
前記記憶装置との間の経路が運用中である場合には、前記第一仮想領域部宛に送信されたアクセス要求及び前記第二仮想領域部宛に転送されたアクセス要求が当該経路を介して前記記憶装置に送信されるように制御し、前記経路が運用中でない場合には、前記第一仮想領域部宛に送信されたアクセス要求が前記ポートに接続された前記通信路を介して前記他の中継装置に転送されるように制御する制御手順を実行させることを特徴とする中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置及び中継プログラムに関する。
【背景技術】
【０００２】
近年、ストレージを仮想化することで記憶領域を柔軟に割り当てるストレージ仮想化システムが登場している。ストレージの仮想化には様々な手法が用いられる。従来、例えば、ホストコンピュータと物理的なストレージ装置との間に介在する中継装置に、仮想的に割り当てられた記憶領域の構成情報やパスを設定する手法が開示されている。
【０００３】
ところで、ストレージ仮想化システムは、負荷分散や高信頼性などを目的として冗長的に構成されることが多い。例えば図８〜図１０に示すように、ストレージ仮想化システムは、中継装置である仮想化スイッチを冗長化する。この場合、ホストコンピュータは、マルチパスドライバを搭載し、仮想化スイッチそれぞれとの間で形成したパスに対して、マルチパス制御を行う。なお、図８〜図１０は、従来技術を説明するための図である。
【０００４】
また、最近では、ストレージ装置が、冗長化されたパスを有することもある。例えば図８〜図１０に示すように、ストレージ装置が、現に運用中の経路であるActiveパス（図８〜図１０において実線で示すパス）と、現に運用中でない経路であるPassiveパス（図８〜図１０において点線で示すパス）とを有する。
【０００５】
この場合、ストレージ装置は、例えば図８の（Ａ）及び（Ｂ）に示すように、ホストコンピュータからのアクセス要求に応じてパスを切り替えて処理を行う。また、切り替えに際し、ストレージ装置は、ホストコンピュータに対してエラー応答を行う。すなわち、ストレージ装置は、（Ａ）に示すアクセス要求を受け付けた後に（Ｂ）に示すアクセス要求を受け付けた際には、ホストコンピュータに対してエラー応答を行った後に、パスを切り替える。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１１２３９９号公報
【特許文献２】特開２００５−２４２９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記した従来の技術では、ストレージ装置においてパスの切り替えが頻発し、ストレージ仮想化システムの性能が低下してしまうという課題があった。すなわち、例えば図８の（Ｃ）に示すように、ホストコンピュータによるマルチパス制御の結果、ホストコンピュータからのアクセス要求が両パスに対してランダムに送信されると、ストレージ装置は、その都度エラー応答を行ってパスを切り替えなければならない。すると、エラー応答が頻発し、ひいてはパスが閉塞してアクセス要求自体がエラーになる事態も生じ得る。
【０００８】
また、上記した課題は、ホストコンピュータによるマルチパス制御上の課題に限られない。例えば図９に示すように、ストレージ装置が、Activeパスを用いてコピー処理を行っている際に、ホストコンピュータからのアクセス要求がPassiveパスに対して送信されると、ストレージ装置においてパスの切り替えが頻発し、コピー処理自体がエラーになる事態も生じ得る。また、例えば図１０に示すように、仮想化スイッチにおいて、Activeパスに接続された実ディスクボリュームとPassiveパスに接続された実ディスクボリュームとを仮想的に結合させたコンカチネーション型の仮想ボリュームが設定されていたとする。ホストコンピュータからのアクセス要求が実ディスクボリューム１側の記憶領域宛に送信されたり実ディスクボリューム２側の記憶領域宛に送信されたりすると、ストレージ装置においてパスの切り替えが頻発し、アクセス要求自体がエラーになる事態も生じ得る。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、ストレージ装置におけるパスの切り替えを低減し、ストレージ仮想化システムの性能を向上させることが可能な中継装置及び中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する中継装置は、一つの態様において、ホストコンピュータと記憶装置との間に接続され、当該記憶装置が有する実体的な記憶領域を用いて仮想的な記憶領域をホストコンピュータに割り当てて当該仮想的な記憶領域宛のアクセス要求を処理する。また、中継装置は、他の中継装置との間で相互にアクセス要求を転送する通信路が接続されるポートと、ホストコンピュータからのアクセス要求を受け付ける仮想的な記憶領域として設定された第一仮想領域部と、前記通信路に前記ポートを介して接続され、前記他の中継装置から転送されるアクセス要求を受け付ける仮想的な記憶領域として設定された第二仮想領域部とを備える。また、中継装置は、前記記憶装置との間の経路が運用中である場合には、前記第一仮想領域部宛に送信されたアクセス要求及び前記第二仮想領域部宛に転送されたアクセス要求が当該経路を介して前記記憶装置に送信されるように制御し、前記経路が運用中でない場合には、前記第一仮想領域部宛に送信されたアクセス要求が前記ポートに接続された前記通信路を介して前記他の中継装置に転送されるように制御する制御部を備える。
【発明の効果】
【００１１】
本願の開示する中継装置及び中継プログラムの一つの態様によれば、ストレージ装置におけるパスの切り替えを低減し、ストレージ仮想化システムの性能を向上させるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１におけるストレージ仮想化システムを説明するための図である。
【図２】図２は、実施例２におけるストレージ仮想化システムを説明するための図である。
【図３】図３は、実施例２におけるストレージ仮想化システムを説明するための図である。
【図４】図４は、仮想化スイッチの構成を示すブロック図である。
【図５−１】図５−１は、仮想化スイッチＡの構成情報を説明するための図である。
【図５−２】図５−２は、仮想化スイッチＢの構成情報を説明するための図である。
【図６】図６は、ストレージ仮想化部による処理手順を示すフローチャートである。
【図７】図７は、スイッチ間ゾーニング部による処理手順を示すフローチャートである。
【図８】図８は、従来技術を説明するための図である。
【図９】図９は、従来技術を説明するための図である。
【図１０】図１０は、従来技術を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本願の開示する中継装置及び中継プログラムの実施例を詳細に説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例１】
【００１４】
［実施例１におけるストレージ仮想化システム］
まず、図１を用いて、実施例１におけるストレージ仮想化システムを説明する。図１は、実施例１におけるストレージ仮想化システムを説明するための図である。
【００１５】
図１に示すように、実施例１におけるストレージ仮想化システムは、ホストコンピュータと記憶装置との間に接続され、記憶装置が有する実体的な記憶領域を用いて仮想的な記憶領域をホストコンピュータに割り当てて仮想的な記憶領域宛のアクセス要求を処理する中継装置を有する。
【００１６】
また、図１に示すように、中継装置それぞれは、他の中継装置との間で相互にアクセス要求を転送する通信路が接続されるポートを有する。
【００１７】
また、図１に示すように、中継装置それぞれは、第一仮想領域部と第二仮想領域部とを有する。ここで、第一仮想領域部は、ホストコンピュータからのアクセス要求を受け付ける仮想的な記憶領域として中継装置に設定される。また、第二仮想領域部は、他の中継装置から転送されるアクセス要求を受け付ける仮想的な記憶領域として中継装置に設定される。なお、図１に示すように、第二仮想領域部は、ポートを介して通信路に接続される。
【００１８】
また、図１に示すように、中継装置それぞれは、記憶装置との間の経路が運用中であるか否かに応じて制御する。
【００１９】
例えば、図１に示す左側の中継装置は、記憶装置との間の経路が運用中である。このため、中継装置は、第一仮想領域部宛にホストコンピュータから送信されたアクセス要求、及び、第二仮想領域部宛に他の中継装置から転送されたアクセス要求が、運用中の経路を介して記憶装置に送信されるように制御する。
【００２０】
一方、例えば、図１に示す右側の中継装置は、記憶装置との間の経路が運用中でない。このため、中継装置は、第一仮想領域部宛に送信されたアクセス要求が、ポートに接続された通信路を介して他方の中継装置に転送されるように制御する。
【００２１】
［実施例１の効果］
上記してきたように、実施例１におけるストレージ仮想化システムは、中継装置に分散して送信される仮想領域部宛のアクセス要求を、中継装置間に形成された通信路を用いて転送し、運用中の経路側の中継装置からストレージ装置に送出する。このようなことから、実施例１によれば、ストレージ装置におけるパスの切り替えを低減し、ストレージ仮想化システムの性能を向上させることが可能になる。
【実施例２】
【００２２】
次に、実施例２におけるストレージ仮想化システムを説明する。なお、実施例２においては、中継装置の一例である「仮想化スイッチ」と、ホストコンピュータと、ストレージ装置とを有するストレージ仮想化システムを説明する。
【００２３】
［実施例２におけるストレージ仮想化システム］
まず、図２及び図３を用いて、実施例２におけるストレージ仮想化システムを説明する。図２及び図３は、実施例２におけるストレージ仮想化システムを説明するための図である。
【００２４】
実施例２におけるストレージ仮想化システムは、図２に示すように、ホストコンピュータと物理的なストレージ装置との間に仮想化スイッチが接続され、仮想化スイッチが、ストレージの仮想化を実現している。また、実施例２におけるストレージ仮想化システムは、図２に示すように、仮想化スイッチを冗長化している。すなわち、ホストコンピュータが、マルチパスドライバを搭載し、冗長化された仮想化スイッチＡと仮想化スイッチＢとに負荷を分散するようにマルチパス制御を行う。
【００２５】
また、実施例２におけるストレージ仮想化システムは、ストレージ装置が、冗長化されたパスを有する。すなわち、ストレージ装置は、実ディスクボリュームにアクセスする経路として、現に運用中の経路と運用中でない経路とを有する。なお、図２及び図３においては、現に運用中の経路（Activeパス）を実線で示し、運用中でない経路（Passiveパス）を点線で示す。図２においては、仮想化スイッチＡとストレージ装置との間の経路が現に運用中であり（Activeパス）、仮想化スイッチＢとストレージ装置との間の経路が現に運用中でない（Passiveパス）。一方、図３においては、仮想化スイッチＡとストレージ装置との間の経路が現に運用中でなく（Passiveパス）、仮想化スイッチＢとストレージ装置との間の経路が現に運用中である（Activeパス）。
【００２６】
また、実施例２におけるストレージ仮想化システムにおいては、仮想化スイッチが、ストレージ装置の実ディスクボリュームについて仮想的に割り当てられた記憶領域（以下「仮想ボリューム」）の構成情報やパスを記憶している。一方、ホストコンピュータは、仮想化スイッチに設定された仮想ボリュームにアクセスすることで、実ディスクボリュームに対するアクセスを実現する。
【００２７】
具体的には、ホストコンピュータは、仮想化スイッチに設定された「仮想ターゲット」にアクセス要求を送信することで、実ディスクボリュームに対するアクセスを実現する。例えば、図２に示すように、実施例２における仮想化スイッチＡは、仮想ボリューム１にアクセスするための仮想ターゲットとして『ＷＷＮ（World  Wide  Name）：１』を生成し、『ＷＷＮ：１』と仮想ボリューム１とを連結したパスを設定する。また、仮想化スイッチＡは、仮想ボリューム１と実ディスクボリュームのターゲット『ＷＷＮ：Ｓ１』とを連結したパスを設定する。すると、仮想ボリューム１にアクセスするために『ＷＷＮ：１』に対して送信されたホストコンピュータからのアクセス要求は、実ディスクボリュームに対して送信されることになる。
【００２８】
さて、このような構成の下、実施例２における仮想化スイッチは、ストレージ装置におけるパスの切り替えを低減し、ストレージ仮想化システムの性能を向上させるべく、以下に説明するように仮想ボリュームやパスを設定する。
【００２９】
具体的には、実施例２における仮想化スイッチのうち、仮想化スイッチＡは、図２に示すように、ホストコンピュータからアクセスを受け付ける記憶領域として仮想ボリューム１を設定する他に、仮想ボリューム３を設定する。一方、仮想化スイッチＢは、図２に示すように、ホストコンピュータからアクセスを受け付ける記憶領域として仮想ボリューム２を設定する他に、仮想ボリューム４を設定する。
【００３０】
ここで、仮想ボリューム３は、仮想化スイッチＢに設定された仮想ボリューム２に対応する仮想ボリュームであり、仮想ボリューム４は、仮想化スイッチＡに設定された仮想ボリューム１に対応する仮想ボリュームである。
【００３１】
すなわち、仮想化スイッチＡ及び仮想化スイッチＢは、いずれも、図２に示すように、仮想化スイッチ間で相互にアクセスするための「スイッチ間仮想ターゲット」として『ＷＷＮ：Ｃ１』及び『ＷＷＮ：Ｃ２』を生成する。また、図２に示すように、仮想化スイッチＡが、仮想ボリューム３を、『ＷＷＮ：Ｃ１』と、ストレージ装置のターゲット『ＷＷＮ：Ｓ１』に接続するストレージポートとに連結する。仮想化スイッチＢが、仮想ボリューム４を、『ＷＷＮ：Ｃ２』と、ストレージ装置のターゲット『ＷＷＮ：Ｓ２』に接続するストレージポートとに連結する。
【００３２】
そして、図２に示すように、仮想化スイッチＡとストレージ装置との間の経路が現に運用中である（Activeパス）場合には、仮想化スイッチＡが、仮想ボリューム１をストレージポートに連結するように制御する。また、仮想化スイッチＢが、仮想ボリューム２を、『ＷＷＮ：Ｃ１』と接続するストレージポートに連結するように制御する。すると、仮想ボリューム２に対して送信されたホストコンピュータからのアクセス要求は、仮想ボリューム３に転送されることになる。
【００３３】
言い換えると、ホストコンピュータからのアクセス要求が仮想ボリューム１に対するものであろうと仮想ボリューム２に対するものであろうと、いずれのアクセス要求も仮想化スイッチＡ側に送信される。そして、仮想化スイッチＡが、いずれのアクセス要求もActiveパスを用いてストレージ装置に転送する。この結果、ホストコンピュータによるマルチパス制御がいかに行われようとも、ストレージ装置におけるパスの切り替えは発生しない。
【００３４】
一方、図３に示すように、仮想化スイッチＢとストレージ装置との間の経路が現に運用中である（Activeパス）場合には、仮想化スイッチＢが、仮想ボリューム２をストレージポートに連結するように制御する。また、仮想化スイッチＡが、仮想ボリューム１を、『ＷＷＮ：Ｃ２』と接続するストレージポートに連結するように制御する。すると、仮想ボリューム１に対して送信されたホストコンピュータからのアクセス要求は、仮想ボリューム４に転送されることになる。
【００３５】
言い換えると、ホストコンピュータからのアクセス要求が仮想ボリューム１に対するものであろうと仮想ボリューム２に対するものであろうと、いずれのアクセス要求も仮想化スイッチＢ側に送信される。そして、仮想化スイッチＢが、いずれのアクセス要求もActiveパスを用いてストレージ装置に転送する。この結果、ホストコンピュータによるマルチパス制御がいかに行われようとも、ストレージ装置におけるパスの切り替えは発生しない。
【００３６】
このように、仮想化スイッチＡ及び仮想化スイッチＢは、ホストコンピュータによるマルチパス制御に影響されることなく、いずれの仮想ボリュームに対するアクセス要求も、現に運用中である経路に転送されるように、仮想ボリュームやパスを設定する。この結果、ストレージ装置におけるパスの切り替えを低減し、ストレージ仮想化システムの性能を向上させることが可能になる。
【００３７】
［実施例２における仮想化スイッチの構成］
次に、図４を用いて、実施例２における仮想化スイッチの構成を説明する。図４は、仮想化スイッチの構成を示すブロック図である。なお、図２や図３で示した仮想化スイッチＡと仮想化スイッチＢとは同様の構成である。このため、以下では、仮想化スイッチ１００として、仮想化スイッチＡ及び仮想化スイッチＢの構成を説明する。
【００３８】
実施例２における仮想化スイッチ１００は、図４に示すように、特に、ファイバチャネル接続ポート部１０（１０−１〜１０−１６）と、外部接続ポート部１１（１１−１〜１１−２）と、制御部２０とを備える。また、制御部２０は、図４に示すように、特に、アクセス受付部２１と、スイッチ間アクセス受付部２２と、ストレージ仮想化部２３と、スイッチ間ゾーニング部２４と、コピー部２５とを備える。
【００３９】
ファイバチャネル接続ポート部１０は、仮想化スイッチ１００と他の装置とをファイバチャネルにより接続するためのインタフェースである。具体的には、ファイバチャネル接続ポート部１０は、ファイバチャネルケーブル（例えば同軸ケーブルや光ファイバケーブルなど）を介して他の装置に接続される。例えば、ファイバチャネル接続ポート部１０は、ホストコンピュータや、他の仮想化スイッチ１００、あるいはストレージ装置に接続される。なお、実施例２においては、仮想化スイッチ１００がファイバチャネル接続ポート部１０を１６ポート（１０−１〜１０−１６）有する例を示すが、これに限られるものではなく、ポートの数は仮想化スイッチ１００の規模などに応じて任意に変更される。
【００４０】
外部接続ポート部１１は、仮想化スイッチ１００と他の装置とをイーサネット（登録商標）により接続するためのインタフェースである。具体的には、外部接続ポート部１１は、イーサネット（登録商標）ケーブルを介して他の装置に接続される。例えば、外部接続ポート部１１は、他の仮想化スイッチ１００や、仮想化スイッチ１００を管理する管理サーバに接続される。なお、実施例２においては、仮想化スイッチ１００が外部接続ポート部１１を２ポート（１１−１〜１１−２）有する例を示すが、これに限られるものではなく、ポートの数は仮想化スイッチ１００の規模などに応じて任意に変更される。
【００４１】
制御部２０は、ＣＰＵ（Central  Processing  Unit）やＲＯＭ（Read  Only  Memory）、ＬＳＩ（Large  Scale  Integration）などを有する。具体的には、制御部２０は、ＲＯＭに記憶されたファームウェアプログラムをＣＰＵにて実行したりＬＳＩを用いることで、以下に説明する各部の機能を実現する。
【００４２】
アクセス受付部２１は、ホストコンピュータから送信されたアクセス要求を受け付ける。具体的には、アクセス受付部２１は、ファイバチャネル接続ポート部１０とストレージ仮想化部２３と接続され、ホストコンピュータから送信されたアクセス要求をファイバチャネル接続ポート部１０を介して受け付け、受け付けたアクセス要求をストレージ仮想化部２３に転送する。例えば、図４に例示する仮想化スイッチ１００においては、ファイバチャネル接続ポート部１０−８がホストコンピュータと接続される。このため、アクセス受付部２１は、アクセス要求をファイバチャネル接続ポート部１０−８を介して受け付ける。
【００４３】
ここで、仮想化スイッチ１００が、図２及び図３に例示する仮想化スイッチＡであるとする。図２及び図３に示すように、仮想化スイッチＡは、ホストコンピュータに対して提示する仮想的な領域として『仮想ボリューム１』を設定している。このため、ホストコンピュータは、『仮想ボリューム１』に対するアクセス要求を仮想化スイッチＡに送信することになる。すなわち、仮想化スイッチＡのアクセス受付部２１は、仮想ターゲット『ＷＷＮ：１』に対するアクセス要求をホストコンピュータから受け付け、ストレージ仮想化部２３に転送する。
【００４４】
一方、仮想化スイッチ１００が、図２及び図３に例示する仮想化スイッチＢであるとする。図２及び図３に示すように、仮想化スイッチＢは、ホストコンピュータに対して提示する仮想的な領域として『仮想ボリューム２』を設定している。このため、ホストコンピュータは、『仮想ボリューム２』に対するアクセス要求を仮想化スイッチＢに送信することになる。すなわち、仮想化スイッチＢのアクセス受付部２１は、仮想ターゲット『ＷＷＮ：２』に対するアクセス要求をホストコンピュータから受け付け、ストレージ仮想化部２３に転送する。
【００４５】
スイッチ間アクセス受付部２２は、他の仮想化スイッチ１００から送信されたアクセス要求を受け付ける。具体的には、スイッチ間アクセス受付部２２は、ファイバチャネル接続ポート部１０とストレージ仮想化部２３と接続され、他の仮想化スイッチ１００から送信されたアクセス要求をファイバチャネル接続ポート部１０を介して受け付け、受け付けたアクセス要求をストレージ仮想化部２３に転送する。例えば、図４に例示する仮想化スイッチ１００においては、ファイバチャネル接続ポート部１０−１６が他の仮想化スイッチ１００と接続される。このため、スイッチ間アクセス受付部２１は、アクセス要求をファイバチャネル接続ポート部１０−１６を介して受け付ける。
【００４６】
ここで、仮想化スイッチ１００が、図２及び図３に例示する仮想化スイッチＡであるとする。図２及び図３に示すように、仮想化スイッチＡは、仮想化スイッチＢに設定された『仮想ボリューム２』に対応する外部仮想ボリュームとして『仮想ボリューム３』を設定している。外部仮想ボリュームとは、自仮想化スイッチに設定されている仮想ボリュームに対するアクセス要求の転送先として他の仮想化スイッチに設定された仮想ボリュームのことであり、自仮想化スイッチ外の仮想化スイッチに設定された外部の仮想ボリュームである。また、図２及び図３に示すように、『仮想ボリューム３』は、仮想化スイッチＡとストレージ装置との間の経路が現に運用中である（Activeパス）場合にのみ利用される。すなわち、ホストコンピュータが、『仮想ボリューム２』（仮想ターゲット『ＷＷＮ：２』）に対するアクセス要求を仮想化スイッチＢに送信すると、仮想化スイッチＢは、仮想化スイッチＢとストレージ装置との間の経路が現に運用中でない（Passiveパス）場合にのみ、ホストコンピュータから受け付けたアクセス要求を仮想化スイッチＡに送信する。この時、仮想化スイッチＢは、『仮想ボリューム２』に対するアクセス要求（仮想ターゲット『ＷＷＮ：２』）を『仮想ボリューム３』に対するアクセス要求（スイッチ間仮想ターゲット『ＷＷＮ：Ｃ１』）に変換する。すると、仮想化スイッチＡのスイッチ間アクセス受付部２２は、『仮想ボリューム３』に対するアクセス要求を仮想化スイッチＢから受け付け、ストレージ仮想化部２３に転送する。
【００４７】
一方、仮想化スイッチ１００が、図２及び図３に例示する仮想化スイッチＢであるとする。図２及び図３に示すように、仮想化スイッチＢは、仮想化スイッチＡに設定された『仮想ボリューム１』に対応する外部仮想ボリュームとして『仮想ボリューム４』を設定している。また、図２及び図３に示すように、『仮想ボリューム４』は、仮想化スイッチＢとストレージ装置との間の経路が現に運用中である（Activeパス）場合にのみ利用される。すなわち、ホストコンピュータが、『仮想ボリューム１』に対するアクセス要求（仮想ターゲット『ＷＷＮ：１』）を仮想化スイッチＡに送信すると、仮想化スイッチＡは、仮想化スイッチＡとストレージ装置との間の経路が現に運用中でない（Passiveパス）場合にのみ、ホストコンピュータから受け付けたアクセス要求を仮想化スイッチＢに送信する。この時、仮想化スイッチＡは、『仮想ボリューム１』に対するアクセス要求（仮想ターゲット『ＷＷＮ：１』）を『仮想ボリューム４』に対するアクセス要求（スイッチ間仮想ターゲット『ＷＷＮ：Ｃ２』）に変換する。すると、仮想化スイッチＢのスイッチ間アクセス受付部２２は、『仮想ボリューム４』に対するアクセス要求を仮想化スイッチＡから受け付け、ストレージ仮想化部２３に転送する。
【００４８】
ストレージ仮想化部２３は、仮想化スイッチ１００に構成された仮想ボリュームの構成情報を記憶し、アクセス要求を受け付けると、構成情報を参照してストレージ装置の実ディスクボリュームにアクセスする。具体的には、ストレージ仮想化部２３は、アクセス受付部２１とスイッチ間アクセス受付部２２とスイッチ間ゾーニング部２４と接続される。また、ストレージ仮想化部２３は、アクセス受付部２１やスイッチ間アクセス受付部２２から転送されたアクセス要求を受け付けると、受け付けたアクセス要求を用いて構成情報を参照し、構成情報に基づき実ディスクボリュームにアクセスする。また、ストレージ仮想化部２３は、構成情報を参照した結果、アクセス要求をさらにスイッチ間ゾーニング部２４に転送することもある。
【００４９】
ここで、仮想化スイッチ１００が、図２及び図３に例示する仮想化スイッチＡであるとする。この時、ストレージ仮想化部２３は、例えば図５−１に示すような構成情報を記憶する。例えば、ストレージ仮想化部２３は、アクセス受付部２１からアクセス要求を受け付けると、仮想化スイッチＡとストレージ装置との間の経路が現に運用中である（Activeパス）か否かを検知する。現に運用中である（Activeパス）場合、ストレージ仮想化部２３は、接続ポート情報としてストレージ装置のポート『ＷＷＮ：Ｓ１』を取得し、また、領域情報として『領域Ａ』を取得する。そして、ストレージ仮想化部２３は、ファイバチャネル接続ポート部１０−９を介してストレージ装置にアクセスし、実ディスクボリュームの領域Ａにアクセスすることで、ホストコンピュータから『仮想ボリューム１』に対するアクセスを実現する。
【００５０】
また、例えば、現に運用中でない（Passiveパス）場合、ストレージ仮想化部２３は、接続ポート情報としてスイッチ間仮想ターゲット『ＷＷＮ：Ｃ２』を取得する。そして、ストレージ仮想化部２３は、アクセス要求をさらにスイッチ間ゾーニング部２４に転送する。
【００５１】
また、例えば、ストレージ仮想化部２３は、スイッチ間アクセス受付部２２からアクセス要求を受け付けると、接続ポート情報としてストレージ装置のポート『ＷＷＮ：Ｓ１』を取得し、また、領域情報として『領域Ｂ』を取得する。そして、ストレージ仮想化部２３は、ファイバチャネル接続ポート部１０−９を介してストレージ装置にアクセスし、実ディスクボリュームの領域Ｂにアクセスすることで、『仮想ボリューム３』に対するアクセスを実現する。なお、『仮想ボリューム３』は、『仮想ボリューム２』に対応する外部仮想ボリュームとして設定されているため、結局、ホストコンピュータから『仮想ボリューム２』に対するアクセスを実現することになる。
【００５２】
一方、仮想化スイッチ１００が、図２及び図３に例示する仮想化スイッチＢであるとする。この時、ストレージ仮想化部２３は、例えば図５−２に示すような構成情報を記憶する。例えば、ストレージ仮想化部２３は、アクセス受付部２１からアクセス要求を受け付けると、仮想化スイッチＢとストレージ装置との間の経路が現に運用中である（Activeパス）か否かを検知する。現に運用中である（Activeパス）場合、ストレージ仮想化部２３は、接続ポート情報としてストレージ装置のポート『ＷＷＮ：Ｓ２』を取得し、また、領域情報として『領域Ｂ』を取得する。そして、ストレージ仮想化部２３は、ファイバチャネル接続ポート部１０−９を介してストレージ装置にアクセスし、実ディスクボリュームの領域Ｂにアクセスすることで、ホストコンピュータから『仮想ボリューム２』に対するアクセスを実現する。
【００５３】
また、例えば、現に運用中でない（Passiveパス）場合、ストレージ仮想化部２３は、接続ポート情報としてスイッチ間仮想ターゲット『ＷＷＮ：Ｃ１』を取得する。そして、ストレージ仮想化部２３は、アクセス要求をさらにスイッチ間ゾーニング部２４に転送する。
【００５４】
また、例えば、ストレージ仮想化部２３は、スイッチ間アクセス受付部２２からアクセス要求を受け付けると、接続ポート情報としてストレージ装置のポート『ＷＷＮ：Ｓ２』を取得し、また、領域情報として『領域Ａ』を取得する。そして、ストレージ仮想化部２３は、ファイバチャネル接続ポート部１０−９を介してストレージ装置にアクセスし、実ディスクボリュームの領域Ａにアクセスすることで、『仮想ボリューム４』に対するアクセスを実現する。なお、『仮想ボリューム４』は、『仮想ボリューム１』に対応する外部仮想ボリュームとして設定されているため、結局、ホストコンピュータから『仮想ボリューム１』に対するアクセスを実現することになる。
【００５５】
スイッチ間ゾーニング部２４は、他の仮想化スイッチ１００に構成された外部仮想ボリュームにアクセス要求を転送する。具体的には、スイッチ間ゾーニング部２４は、ストレージ仮想化部２３とファイバチャネル接続ポート部１０と接続され、ストレージ仮想化部２３から転送されたアクセス要求を受け付けると、アクセス要求の宛先を外部仮想ボリュームが接続するスイッチ間仮想ターゲットに変換し、ファイバチャネル接続ポート部１０に送出する。
【００５６】
ここで、仮想化スイッチ１００が、図２及び図３に例示する仮想化スイッチＡであるとする。図２及び図３に示すように、仮想化スイッチＡに構成された『仮想ボリューム１』の外部仮想ボリュームは、仮想化スイッチＢに『仮想ボリューム４』として設定されている。また、図５−１を用いて説明したように、ストレージ仮想化部２３は、現に運用中でない（Passiveパス）場合に、アクセス要求をさらにスイッチ間ゾーニング部２４に転送する。すなわち、スイッチ間ゾーニング部２４がストレージ仮想化部２３からアクセス要求を転送される場合とは、『仮想ボリューム１』に対するアクセス要求を『仮想ボリューム４』に対するアクセス要求として転送すべき場合である。このため、仮想化スイッチＡのスイッチ間ゾーニング部２４は、アクセス要求の宛先を仮想ターゲット『ＷＷＮ：１』からスイッチ間仮想ターゲット『ＷＷＮ：Ｃ２』に変換し、他の仮想化スイッチ１００が接続されたファイバチャネル接続ポート部１０−１６に送出する。
【００５７】
一方、仮想化スイッチ１００が、図２及び図３に例示する仮想化スイッチＢであるとする。図２及び図３に示すように、仮想化スイッチＢに構成された『仮想ボリューム２』の外部仮想ボリュームは、仮想化スイッチＡに『仮想ボリューム３』として設定されている。また、図５−２を用いて説明したように、ストレージ仮想化部２３は、現に運用中でない（Passiveパス）場合に、アクセス要求をさらにスイッチ間ゾーニング部２４に転送する。すなわち、スイッチ間ゾーニング部２４がストレージ仮想化部２３からアクセス要求を転送される場合とは、『仮想ボリューム２』に対するアクセス要求を『仮想ボリューム３』に対するアクセス要求として転送すべき場合である。このため、仮想化スイッチＢのスイッチ間ゾーニング部２４は、アクセス要求の宛先を仮想ターゲット『ＷＷＮ：２』からスイッチ間仮想ターゲット『ＷＷＮ：Ｃ１』に変換し、他の仮想化スイッチ１００が接続されたファイバチャネル接続ポート部１０−１６に送出する。
【００５８】
コピー部２５は、ホストコンピュータからの指示に基づいて仮想ボリュームに記憶されたデータのコピーを実行する。
【００５９】
［実施例２における仮想化スイッチの処理手順］
次に、図６及び図７を用いて、実施例２における仮想化スイッチの処理手順を説明する。図６は、ストレージ仮想化部による処理手順を示すフローチャートであり、図７は、スイッチ間ゾーニング部による処理手順を示すフローチャートである。
【００６０】
図６に示すように、ストレージ仮想化部２３は、アクセス要求を受け付けたか否かを判定し（ステップＳ１０１）、受け付けていない場合には（ステップＳ１０１否定）、アクセス要求を受け付けたか否かを判定する処理に戻る。
【００６１】
一方、ストレージ仮想化部２３は、アクセス要求を受け付けた場合には（ステップＳ１０１肯定）、次に、仮想化スイッチ１００とストレージ装置との間の経路が現に運用中であるか否かを検知する（ステップＳ１０２）。
【００６２】
そして、ストレージ仮想化部２３は、ステップＳ１０２における検知結果に基づき構成情報を参照し（ステップＳ１０３）、接続ポート情報を取得する（ステップＳ１０４）。なお、ストレージ仮想化部２３は、接続ポート情報が、ストレージ装置と接続するポートを指定するものである場合には、接続ポート情報の他に領域情報を取得する。
【００６３】
続いて、ストレージ仮想化部２３は、ステップＳ１０４において取得した接続ポート情報に従って、実ディスクボリュームにアクセスし、もしくはアクセス要求を転送する（ステップＳ１０５）。
【００６４】
すなわち、ステップＳ１０４において取得した接続ポート情報がストレージ装置のポートを指定するものである場合には、ストレージ仮想化部２３は、接続ポート情報の他に領域情報を取得している。このため、ストレージ仮想化部２３は、ファイバチャネル接続ポート部１０を介してストレージ装置にアクセスし、領域情報によって指定された実ディスクボリュームの所定領域にアクセスすることで、ホストコンピュータから仮想ボリュームに対するアクセスを実現する。一方、ステップＳ１０４において取得した接続ポート情報が、ストレージ装置のポートを指定するものではなく、スイッチ間仮想ターゲットを指定するものである場合には、ストレージ仮想化部２３は、アクセス要求をスイッチ間ゾーニング部２４に転送する。
【００６５】
次に、図７に示すように、スイッチ間ゾーニング部２４は、アクセス要求を受け付けたか否かを判定し（ステップＳ２０１）、受け付けていない場合には（ステップＳ２０１否定）、アクセス要求を受け付けたか否かを判定する処理に戻る。
【００６６】
一方、スイッチ間ゾーニング部２４は、アクセス要求を受け付けた場合には（ステップＳ２０１肯定）、次に、アクセス要求の宛先を変換する（ステップＳ２０２）。すなわち、スイッチ間ゾーニング部２４がストレージ仮想化部２３からアクセス要求を転送される場合とは、自仮想化スイッチ１００に構成された仮想ボリュームに対するアクセス要求を、他の仮想化スイッチ１００に構成された外部仮想ボリュームに対するアクセス要求として転送すべき場合である。このため、スイッチ間ゾーニング部２４は、アクセス要求の宛先を自仮想化スイッチ１００の仮想ボリュームから、他の仮想化スイッチ１００の外部仮想ボリュームに変換する。
【００６７】
そして、スイッチ間ゾーニング部２４は、アクセス要求を転送する（ステップＳ２０３）。すなわち、スイッチ間ゾーニング部２４は、他の仮想化スイッチ１００が接続されたファイバチャネル接続ポート部１０にアクセス要求を送出する。
【００６８】
［実施例２の効果］
上記してきたように、実施例２における仮想化スイッチは、ホストコンピュータとストレージ装置との間に冗長的に接続され、他方の仮想化スイッチとの間で相互にアクセス要求を転送する通信路を形成する。また、仮想化スイッチは、ホストコンピュータからのアクセス要求を直接受け付ける仮想的な記憶領域として設定された仮想ボリュームと、他方の仮想化スイッチから転送されるアクセス要求を受け付ける仮想的な記憶領域として設定された仮想ボリュームとを備える。また、仮想化スイッチは、ストレージ装置との間の経路が現に運用中である場合には、アクセス要求がこの経路を介してストレージ装置に送信されるように制御し、運用中でない場合には、アクセス要求が通信路を介して他方の仮想化スイッチに転送されるように制御する。
【００６９】
このように、実施例２におけるストレージ仮想化システムは、仮想化スイッチに分散して送信される仮想ボリューム宛のアクセス要求を、仮想化スイッチ間に形成された通信路を用いて転送し、現に運用中の経路側の仮想化スイッチからストレージ装置に送出する。このようなことから、実施例２によれば、ストレージ装置におけるパスの切り替えを低減し、ストレージ仮想化システムの性能を向上させることが可能になる。
【００７０】
すなわち、従来の技術では、例えば図８の（Ｃ）に示したように、ホストコンピュータからのアクセス要求が両パスに対してランダムに送信されると、ストレージ装置は、その都度エラー応答を行ってパスを切り替えなければならなかった。すると、エラー応答が頻発し、ひいてはパスが閉塞してアクセス要求自体がエラーになる事態も生じ得た。
【００７１】
しかしながら、実施例２におけるストレージ仮想化システムによれば、ホストコンピュータから仮想化スイッチにランダムにアクセス要求が送信されたとしても、仮想化スイッチは、常に、現に運用中の経路側の仮想スイッチにアクセス要求を転送する。そして、現に運用中の経路側の仮想スイッチからのみストレージ装置にアクセス要求が送信される結果、ストレージ装置は、パスを切り替える必要がなくなる。すると、エラー応答が発生せず、パスが閉塞することやアクセス要求自体がエラーになる事態も避けられる。
【００７２】
また、ホストコンピュータによるマルチパス制御の場合に限られない。例えば図９に示したように、仮想化スイッチのコピー部２５が、Activeパスを用いてストレージ装置のコピー処理を行っている際に、ホストコンピュータからのアクセス要求がPassiveパスに対して送信されたとする。従来の技術では、ストレージ装置においてパスの切り替えが頻発し、コピー処理自体がエラーになる事態も生じ得た。
【００７３】
また、例えば図１０に示したように、仮想化スイッチにおいて、Activeパスに接続された実ディスクボリュームとPassiveパスに接続された実ディスクボリュームとを仮想的に結合させたコンカチネーション型の仮想ボリュームが設定されていたとする。具体的には、仮想化スイッチ１においては、Activeパスに接続された実ディスクボリューム１とPassiveパスに接続された実ディスクボリューム２とを仮想的に結合させたコンカチネーション型の仮想ボリュームが設定されている。一方、仮想化スイッチ２においては、Activeパスに接続された実ディスクボリューム２とPassiveパスに接続された実ディスクボリューム１とを仮想的に結合させたコンカチネーション型の仮想ボリュームが設定されている。ホストコンピュータからのアクセス要求が実ディスクボリューム１側の記憶領域宛に送信されたり実ディスクボリューム２側の記憶領域宛に送信されたりすると、従来の技術では、ストレージ装置においてパスの切り替えが頻発し、アクセス要求自体がエラーになる事態も生じ得た。
【００７４】
しかしながら、実施例２におけるストレージ仮想化システムによれば、このような場合も、仮想化スイッチは、常に、現に運用中の経路側の仮想スイッチにアクセス要求を転送する。そして、現に運用中の経路側の仮想スイッチからのみストレージ装置にアクセス要求が送信される結果、ストレージ装置は、パスを切り替える必要がなくなる。例えば、仮想化スイッチ１に対して、実ディスクボリューム２側の記憶領域宛のアクセス要求が送信されると、仮想化スイッチ１は、仮想化スイッチ２にアクセス要求を転送する。そして、そして、仮想化スイッチ２からActiveパス経由でストレージ装置にアクセス要求が送信される結果、ストレージ装置は、パスを切り替える必要がなくなる。すると、エラー応答が発生せず、コピー処理自体がエラーになる事態やアクセス要求自体がエラーになる事態も避けられる。
【実施例３】
【００７５】
以上、本願の開示する中継装置及び中継プログラムの実施例を説明してきたが、これらの実施例は例示にすぎず、当業者の知識に基づいて種々の変形、改良を施した他の形態で実施することが可能である。
【００７６】
例えば、上記の実施例２においては、仮想化スイッチが、アクセス要求を受け付ける度に、その都度、自仮想化スイッチとストレージ装置との間の経路の運用状況を検知する手法を説明したが、これに限られるものではない。例えば、所定の経路が現用系の経路であることが予め定まっている場合などには、仮想化スイッチは、通常、現用系の経路を用いる構成情報に基づきアクセス要求を制御していればよい。この時、仮想化スイッチは、現用系の経路に障害が発生して初めて障害が発生したことを検知し、アクセス要求を停止する。そして、仮想化スイッチは、待機系の経路を用いる構成情報に基づきパスを切り替え、アクセス要求を再開させる。この際、仮想化スイッチ間で情報のやりとり（障害検知情報のやりとりなど）が必要な場合は、例えば外部接続ポート部を介して行えばよい。
【００７７】
なお、例えば、ストレージ装置との間の経路が現に運用中である場合には、アクセス要求が当該経路を介してストレージ装置に送信されるように制御し、運用中でない場合には、アクセス要求が通信路を介して他方の仮想化スイッチに転送されるように制御する制御手順は、中継プログラムとして仮想化スイッチに実行させてもよい。
【符号の説明】
【００７８】
１００  仮想化スイッチ
１０  ファイバチャネル接続ポート部
１１  外部接続ポート部
２０  制御部
２１  アクセス受付部
２２  スイッチ間アクセス受付部
２３  ストレージ仮想化部
２４  スイッチ間ゾーニング部
２５  コピー部
【図１】
2010277555.tif 000003
【図２】
2010277555.tif 000004
【図３】
2010277555.tif 000005
【図４】
2010277555.tif 000006
【図５−１】
2010277555.tif 000007
【図５−２】
2010277555.tif 000008
【図６】
2010277555.tif 000009
【図７】
2010277555.tif 000010
【図８】
2010277555.tif 000011
【図９】
2010277555.tif 000012
【図１０】
2010277555.tif 000013