(57)【特許請求の範囲】
【請求項１】
各々に接続された複数の記憶ユニットを管理する記憶ユニット制御部と、各々が前記複数の記憶ユニット制御部のいずれかに接続されており、受信したコピーリクエストに含まれるコピー元及びコピー先の論理ボリュームアドレスを前記記憶ユニットのアドレスに変換し、該変換したアドレスを元に、前記記憶ユニット制御部へのリクエストを行なうことにより、コピー処理を行なう仮想化スイッチ部とを有するストレージシステムの仮想化制御装置であって、
前記制御装置は、
コピーリクエストを受信した場合、複数の仮想化スイッチ部の各々に対し、該コピーリクエストに対応したアクセステストを行ない、該アクセステストによって、最も性能が良いと判断した前記仮想化スイッチ部を選択する選択部と、
前記選択部によって選択された前記仮想化スイッチ部に、前記受信したコピーリクエストを送信する送信部と、を有し、
前記選択部は、
前記受信したコピーリクエストに含まれる、コピー元及びコピー先のアドレス各々に対する読み出しリクエストをそれぞれ前記複数の仮想化スイッチ部の各々へ送信し、その後、各々の前記仮想化スイッチ部から送られてくる該コピー元及びコピー先リクエストのうち応答性能が悪い応答の応答性能同士で比較するアクセステストを行い、該アクセステストにて最も応答性能が良い前記仮想化スイッチ部を選択することを特徴とするストレージシステムの仮想化制御装置。
【請求項２】
前記選択部は、
前記コピーリクエストを受信した際に、前記複数の仮想化スイッチ部のいずれかがコピー処理を実行していない場合、前記アクセステストを実行せずに前記コピー処理を実行していない仮想化スイッチ部を選択することを特徴とする請求項１に記載のストレージシステムの仮想化制御装置。
【請求項３】
各々に接続された複数のディスクユニットを管理するディスク制御部と、各々が前記複数のディスク制御部のいずれかに接続されており、受信したコピーリクエストに含まれるコピー元及びコピー先の論理ボリュームアドレスを前記ディスクユニットのアドレスに変換し、該変換したアドレスを元に、前記ディスク制御部へのリクエストを行なうことにより、コピー処理を行なう仮想化スイッチ部とを有するストレージシステムの仮想化制御装置であって、
前記制御装置は、
前記各仮想化スイッチ部の各々が処理中のコピー処理のコピー性能の偏りを監視する監視部と、
前記監視部が、前記コピー性能の偏りを検出した場合、前記各仮想化スイッチ部によるコピー処理のうち、コピー性能が所定より悪いコピー処理のコピー処理を一時停止させ、複数の仮想化スイッチ部の各々に対し、該一時停止したコピー処理に対応したアクセステストを行ない、該アクセステストによって、最も性能が良いと判断した前記仮想化スイッチ部を選択する選択部と、
前記選択部によって選択された前記仮想化スイッチ部により前記一時停止したコピー処理を再開させる処理部とを有し、 
前記選択部は、
前記一時停止したコピー処理のコピー元アドレスとコピー先アドレス各々に対する読み出しリクエストをそれぞれ前記複数の仮想化スイッチ部の各々へ送信し、その後、各々の前記仮想化スイッチ部から送られてくる該コピー元及びコピー先リクエストのうち応答性能が悪い応答の応答性能同士で比較するアクセステストを行い、該アクセステストにて最も応答性能が良い前記仮想化スイッチ部を選択することを特徴とするストレージシステムの仮想化制御装置。
【請求項４】
前記選択部は、
前記コピー処理を一時停止させた際に、前記複数の仮想化スイッチ部のいずれかがコピー処理を実行していない場合、前記アクセステストを実行せずに前記コピー処理を実行していない仮想化スイッチ部を選択することを特徴とする請求項３に記載のストレージシステムの仮想化制御装置。
【請求項５】
各々に接続された複数のディスクユニットを管理するディスク制御部と、各々が前記複数のディスク制御部のいずれかに接続されており、受信したコピーリクエストに含まれるコピー元及びコピー先の論理ボリュームアドレスを前記ディスクユニットのアドレスに変換し、該変換したアドレスを元に、前記ディスク制御部へのリクエストを行なうことにより、コピー処理を行なう仮想化スイッチ部とを有するストレージシステムの仮想化制御装置に、
コピーリクエストを受信した場合、受信したコピーリクエストに含まれる、コピー元及びコピー先のアドレス各々に対する読み出しリクエストをそれぞれ、前記複数の仮想化スイッチ部の各々に対し送信し、その後、各々の前記仮想化スイッチ部から送られてくる該コピー元及びコピー先リクエストのうち応答性能が悪い応答の応答性能同士で比較するアクセステストを行わせ、該アクセステストによって最も応答性能が良いと判断した前記仮想化スイッチ部を選択させ、
選択された前記仮想化スイッチ部に、前記コピーリクエストを送信させることを特徴とするストレージシステムの仮想化制御プログラム。
【請求項６】
各々複数のディスクユニットの少なくとも一部に接続され、接続されていないディスクユニットへのリクエストを互いに転送しあう複数のディスク制御部と、各々が前記複数のディスク制御部のいずれかに接続されており、受信したコピーリクエストに含まれるコピー元及びコピー先の論理ボリュームアドレスを前記ディスクユニットのアドレスに変換し、該変換したアドレスを元に、前記ディスク制御部へのリクエストを行なうことにより、コピー処理を行なう仮想化スイッチ部とを有するストレージシステムの仮想化制御装置に、
前記仮想化スイッチ部の各々が処理中のコピー処理のコピー性能の偏りを監視させ、 前記コピー性能の偏りを検出した場合、前記各仮想化スイッチ部によるコピー処理のうち、コピー性能が所定より悪いコピー処理のコピー処理を一時停止させ、
一時停止したコピー処理のコピー元アドレスとコピー先アドレス各々に対する読み出しリクエストをそれぞれ、前記仮想化スイッチ部の各々に対し送信し、その後、各々の前記仮想化スイッチ部から送られてくる該コピー元及びコピー先リクエストのうち応答性能が悪い応答の応答性能同士で比較するアクセステストを行わせ、該アクセステストにて最も応答性能が良い前記仮想化スイッチ部を選択させ、
選択された前記仮想化スイッチ部により前記一時停止したコピー処理を再開させる処理を実行させることを特徴とするストレージシステムの仮想化制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ストレージシステムの仮想化制御装置及び制御プログラムに関する。
【背景技術】
【０００２】
ストレージ仮想化スイッチ（以下、仮想化スイッチ装置）は、複数のディスクユニットの物理ボリュームを統合管理し、論理的なボリュームとしてホストコンピュータに見せるための装置である。この仮想化スイッチ装置は、一般に複数のディスクユニットを搭載するディスク装置と、該仮想化スイッチ装置へのリクエストを行なうサーバとに、ファイバチャネルなどの回線で接続されている。
【０００３】
また、ディスク装置には複数のディスクユニットの管理を行なうなど、配下の複数のディスクの制御を行なう制御モジュール（Ｃｏｎｔｒｏｌ  Ｍｏｄｕｌｅ、以下ＣＭ）を有するものがある。
【０００４】
このＣＭは、ＤＡ（ディスクアダプタ）などにより、複数のディスクユニットが接続されており、仮想化スイッチ装置は、ＣＭを介して、各ディスクユニットへのアクセスを行なう。
【０００５】
ところで、このようなストレージシステムでは、仮想化スイッチ装置を複数配置し、制御装置。であるサーバから各々の仮想化スイッチ装置へのアクセスを可能とすることで、仮想化スイッチ装置の冗長化を図ったものがある。この配置により、ストレージシステムでは、個々の仮想化スイッチ装置の負荷を低減できるとともに、いずれかの仮想化スイッチ装置がダウンしてもシステム全体としては運用が継続可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００５−５０５０３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の構成では、仮想化スイッチ装置が、物理的なディスクユニットのボリュームと論理的なボリュームの変換を行なっているために、制御装置では、論理ボリューム単位の情報しか認識できない。このため、サーバは、ある論理ボリュームへのアクセスを仮想化スイッチ装置に指示しても、どのＣＭを経由し、どのディスクユニットへのアクセスを行っているのかがわからない。
【０００８】
このため、従来の制御装置では、論理ボリューム単位の負荷を分散させることはできるが、実際のＣＭやディスクユニットの負荷状況に合わせた負荷分散を行なうことは難しかった。特に、コピー処理の場合、読み出し、書込みの双方を複数のディスクユニットに対し行うため、どの仮想化スイッチ装置へ指示するかにより、パフォーマンスが大きく変化することが多い。
【０００９】
本技術は、この課題に鑑みてなされたもので、仮想化スイッチ装置を利用したストレージシステムにおいても、パフォーマンスが落ちにくい様にコピー処理の指示を行なうことが可能なストレージシステムの制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本技術は、上記従来の課題を解決するために、各々に接続された複数の記憶ユニットを管理する記憶ユニット制御部と、各々が前記複数の記憶ユニット制御部のいずれかに接続されており、受信したコピーリクエストに含まれるコピー元及びコピー先の論理ボリュームアドレスを記憶ユニットのアドレスに変換し、変換したアドレスを元に、記憶ユニット制御部へのリクエストを行なうことにより、コピー処理を行なう仮想化スイッチ部とを有するストレージシステムの仮想化制御装置であって、制御装置は、コピーリクエストを受信した場合、複数の仮想化スイッチ部の各々に対し、コピーリクエストに対応したアクセステストを行ない、アクセステストによって、最も性能が良いと判断した仮想化スイッチ部を選択する選択部と、選択部によって選択された仮想化スイッチ部に、コピーリクエストを送信する送信部と、を有し、選択部は、受信したコピーリクエストに含まれる、コピー元及びコピー先のアドレス各々に対する読み出しリクエストをそれぞれ仮想化スイッチ部へ送信し、その後、各々の仮想化スイッチ部から送られてくるコピー元及びコピー先リクエストのうち応答性能が悪い応答の応答性能同士で比較するアクセステストを行い、アクセステストにて最も応答性能が良い仮想化スイッチ部を選択する。
【発明の効果】
【００１１】
本技術は、上記の開示により、仮想化スイッチ装置による仮想化によって、ＣＭや配下のディスクユニットの構成がわからなくともパフォーマンスが落ちにくいストレージシステムを提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態におけるストレージシステムのブロック図である。
【図２】実施の形態における論理ボリューム管理テーブルを示した図である。
【図３】実施の形態におけるアドレス変換テーブルを示した図である。
【図４】実施の形態における各装置からのリクエストを示した図である。
【図５】実施の形態におけるＲＡＩＤ管理テーブルを示した図である。
【図６】実施の形態におけるＷＲＩＴＥリクエストを示した図である。
【図７】実施の形態におけるストレージシステムの処理例を示した図である。
【図８】実施の形態におけるストレージシステムの処理例を示した図である。
【図９】実施の形態におけるストレージシステムの処理例を示した図である。
【図１０】実施の形態におけるストレージシステムの処理例を示した図である。
【図１１】実施の形態におけるストレージシステムの処理例を示した図である。
【図１２】実施の形態におけるストレージシステムの処理例を示した図である。
【図１３】実施の形態におけるコピーリクエスト受信時の処理を示したフローチャートである。
【図１４】実施の形態におけるコピー担当仮想化スイッチ装置選択処理を示したフローチャートである。
【図１５】実施の形態における担当仮想化スイッチ装置管理テーブルを示した図である。
【図１６】実施の形態における監視処理を示したフローチャートである。
【図１７】実施の形態における担当仮想化スイッチ装置管理テーブルを示した図である。
【図１８】実施の形態における担当仮想化スイッチ装置管理テーブルを示した図である。
【発明を実施するための形態】
【００１３】
図１は、本実施の形態におけるストレージシステムの構成図を示したものである。
【００１４】
本実施の形態のストレージシステムは、制御装置であるサーバ１、仮想化スイッチ装置２ａ，２ｂ、及び、ディスク装置３を有する。
【００１５】
サーバ１は、ネットワーク５を経由して端末４から送信されたリクエストに応じて、ディスク装置３に記憶されているデータに対してアクセスを行なうサーバである。このサーバ１は、仮想化スイッチ装置２ａ、及び、仮想化スイッチ装置２ｂとの通信を行なうためのインターフェイスであるＨＢＡ１０１ａ、ＨＢＡ１０１ｂを有する。また、このサーバ１は、ネットワーク５に接続され、端末４と通信を行なうための通信アダプタ１０４を有する。
【００１６】
更にサーバ１は、サーバ内の各種制御を行なうプロセッサ１０２を有する。このプロセッサ１０２は、ＨＢＡ１０１ａ，１０１ｂとを制御して、仮想化スイッチ装置２ａ，２ｂの双方に対し、仮想化された論理ボリュームへのＷｒｉｔｅ、Ｒｅａｄ、及び、Ｃｏｐｙの各種リクエストを行なう。
【００１７】
更にサーバ１は、記憶部１０６を有する。本実施の形態において、後述するプロセッサ１０２による各処理は、特に明記がない限り、この記憶部１０６に記憶されている各種プログラムを、プロセッサ１０２が実行することによって行われる事とする。
【００１８】
次に、仮想化スイッチ装置２ａ、２ｂは、複数のＣＭ３０ａ，ｂにて制御されるディスク装置３を統合管理し、仮想的なボリュームとして、ホストコンピュータであるサーバ１に見せる為の処理を行なう装置である。また、仮想化スイッチ装置２ａ、２ｂは、冗長構成を取る関係上、同様の構成要素を有している。
【００１９】
仮想化スイッチ装置２ａ、２ｂは、各々、ポート２０１ａ１〜ａ５、２０１ｂ１〜ｂ５、スイッチ２０２ａ、２０２ｂ、プロセッサ２０３ａ、２０３ｂ、及び、記憶部２０４ａ、２０４ｂを有する。
【００２０】
ポート２０１ａ１〜ａ５、２０１ｂ１〜ｂ５は、各々、他の機器からの通信線を接続したポートであり、該通信線を介して、他の機器からのデータを受信、及び、他の機器へのデータ送信を行う。
【００２１】
本実施の形態では、ポート２０１ａ１、ｂ１は、それぞれ、サーバ１のＨＢＡ１０１ａ，ｂが接続されている。また、仮想化スイッチ装置２ａのポート２０１ａ４は、ディスク装置３のＣＭ（制御装置）３０ａのＣＡ３０１ａ１に接続される。同様に仮想化スイッチ装置２ａのポート２０１ｂ４は、ディスク装置３のＣＭ（制御装置）３０ｂのＣＡ３０１ｂ１に接続されている。
【００２２】
また、スイッチ２０２ａ、ｂは、ポート２０１ａ１〜ａ５、２０１ｂ１〜ｂ５が接続されている。このスイッチ２０２ａ、ｂは、各ポート２０１ａ１〜ａ５、２０１ｂ１〜ｂ５のいずれかが受信したデータを参照したプロセッサ２０３ａ、ｂに基づく制御によって、他のポート２０１ａ１〜ａ５、２０１ｂ１〜ｂ５へ転送する処理を行う。
【００２３】
具体的には、プロセッサ２０３ａ、ｂは、スイッチ２０２ａ、ｂが、ポート２０１ａ１〜ａ５、２０１ｂ１〜ｂ５のいずれかから受信したデータに付加されるディスクアドレスを、記憶部２０４ａ、ｂに記憶しているアドレス変換テーブル２１０ａ，ｂを元に変換する。そして、プロセッサ２０３ａ，ｂは、変換したデータを、宛先となる機器が接続されたポート（２０１ａ１〜ａ５、２０１ｂ１〜ｂ５のいずれか）へ転送する様、スイッチを制御する処理を行なう。
【００２４】
また、記憶部２０４ａ，ｂは、論理ボリュームと仮想化スイッチ装置２ａ、２ｂとの対応関係を示した論理ボリューム管理テーブル２０５ａ，ｂを記憶している。
【００２５】
この論理ボリューム管理テーブル２０５ａ，ｂは、図２に示すように、論理ボリュームの番号ＬＶ−０１、０２と、対応する仮想化スイッチ装置の番号とを関連付けて記憶している。なお、本実施の形態では、便宜上、仮想化スイッチ装置の番号を、符号の番号と同じ「２ａ」「２ｂ」とする。
【００２６】
また、記憶部２０４ａ，ｂは、複数のコピー処理の各々について、担当している仮想化スイッチ装置が２ａか２ｂかを記憶する仮想化スイッチ装置管理テーブル２０６ａ，ｂを有する。後述するように、コピー処理は、論理ボリューム管理テーブル２０５ａ，ｂを参照した選択処理より、この担当仮想化スイッチ装置管理テーブル２０６ａ，ｂを参照した選択処理が優先される。なお、この担当仮想化スイッチ装置管理テーブル２０６ａ，ｂの詳細については、後述する。
【００２７】
更に、記憶部２０４ａ，ｂは、図３に示されるようなアドレス変換テーブル２１０ａ、ｂを示した図である。
【００２８】
図３に示される様に、アドレス変換テーブル２１０ａ，ｂは、論理ボリュームＬＶ−０１、ＬＶ−０２内の、各論理アドレスと、ディスク装置３に収納されているディスクユニット３０５−１〜８のうち、ディスクユニット３０５−１，３，５，７に対応するアドレスとを対応付けて記憶している。
【００２９】
プロセッサ２０３ａ，ｂは、このアドレス変換テーブル２１０ａ，ｂを参照することにより、アドレスの変換を行なう。例えば、ポート２０１ａ１が、サーバ１より、図４（ａ）に示すような、論理ボリュームＬＶ−０１の０２００１０ｈのＲＥＡＤリクエスト１００１を受信すると、プロセッサ２０３ａが、アドレス変換テーブル２１０ａを参照し、該論理ボリュームに対応するディスクユニットのアドレスを抽出する。即ち、プロセッサ２０３ａは、ディスクユニット３０５−３の０００２０ｈのアドレスを抽出する。そして、プロセッサ２０３ａは、図４（ｂ）に示されるように、該ＲＥＡＤリクエスト１００１のリクエスト先を抽出したディスクユニットのアドレス先に変換した、ＲＥＡＤリクエスト２００１を生成する。そしてプロセッサ２０３ａは、ポート２０１ａ４を介して、ディスク装置３へこのリクエスト２００１を送信する。
【００３０】
その後、スイッチ２０２ａが、ＲＥＡＤリクエスト２００１に対応するディスク装置３からレスポンス３００１（図４（ｃ）参照）を受信すると、プロセッサ２０３ａは、アドレス変換テーブル２１０ａを参照して、アドレスの変換を行なう。
【００３１】
具体的には、プロセッサ２０３ａは、アドレス変換テーブル２１０ａを参照して、レスポンス３００１の送信元アドレスを、論理ボリュームＬＶ−０１のアドレスに変換したレスポンス２００２（図４（ｄ）参照）を生成する。
【００３２】
そして、プロセッサ２０３ａは、ポート２０１ａ１を介して、送信先のサーバ１へ送信する。
【００３３】
なお、本実施の形態の記憶部２０４ａに記憶されたアドレス変換テーブル２１０ａと、記憶部２０４ｂに記憶されているアドレス変換テーブル２１０ｂとは、同じ値が記憶される。また、アドレス変換テーブル２１０ａ，ｂは、ポート２０１ａ６−ポートｂ６を経由して、仮想化スイッチ装置２ａ，２ｂの互いのプロセッサ２０３ａ、２０３ｂが通信しあうことにより、常に同じ値が保持されているものとする。
【００３４】
また、記憶部２０４ａ，ｂは、それぞれＲＡＩＤ管理テーブル２１１ａ、ｂを有している。
【００３５】
このＲＡＩＤ管理テーブル２１１ａ，ｂは、図５に示すように、ディスクユニット３０５−１、３、５、７とディスクユニット３０５−２、４、６、８の対応関係を記憶したテーブルである。
【００３６】
プロセッサ２０３ａ，ｂは、上記した様に、サーバ１からＷｒｉｔｅリクエストがあると、上記変換処理とともに、ＲＡＩＤ管理テーブル２１１ａ，ｂを参照して、ミラーとなるディスクユニットへの書込みリクエストを生成する。
【００３７】
例えば、プロセッサ２０３ａが、サーバ１からのリクエストのアドレス変換処理により図６（ａ）に示すディスクユニット３０５−３へのＷｒｉｔｅリクエスト２００３を生成した場合、プロセッサ２０３ａは、ＲＡＩＤ管理テーブル２１１ａを参照する。
【００３８】
ＲＡＩＤ管理テーブル２１１ａでは、ディスクユニット３０５−３に対応するミラーは、ディスクユニット３０５−４である。よって、プロセッサ２０３ａは、リクエスト２００３を、図６（ｂ）に示す様に、リクエスト先をディスクユニット３０５−４に変換したリクエストをディスク装置３へ送信する制御を行なう。
【００３９】
図１に戻り、ディスク装置３は、仮想化スイッチ装置２ａ、２ｂに接続されている。
【００４０】
このディスク装置３は、複数のディスクユニット３０５−１〜３０５−８、ＣＭ（コントローラモジュール）３０ａ、ｂを有する。ＣＭ３０ａ、ｂは、それぞれ仮想化スイッチ装置２ａ、２ｂのポート２０１ａ４、ｂ４に接続しているＣＡ（チャネルアダプタ）３０１ａ１、３０１ｂ１を有する。また、ＣＭ３０ａ、３０ｂは、それぞれ、ディスクユニット３０５−１〜３０５−４と接続しているＤＡ（ディスクアダプタ）３０３ａ１〜４、及び、ディスクユニット３０５−５〜８と接続しているＤＡ３０３ｂ１〜ｂ４を有する。
【００４１】
また、ＣＭ３０ａとＣＭ３０ｂとは、ＣＡ３０１ａ２、ｂ２とによって通信可能に接続されている。
【００４２】
スイッチ３０２ａは、それぞれＣＭ３０１ａ１、ａ２、及び、ＤＡ３０３ａ１〜ａ４との通信制御を行なうためのスイッチである。このスイッチ３０２ａは、プロセッサ３０４ａの制御に基づき、通信制御を行う。同様に、スイッチ３０２ｂは、それぞれＣＭ３０１ｂ１、ｂ２、及び、ＤＡ３０３ｂ１〜ｂ４との通信制御を行なうためのスイッチである。このスイッチ３０２ｂは、プロセッサ３０４ｂの制御に基づき、通信制御を行う。
【００４３】
プロセッサ３０４ａ，ｂは、それぞれ、仮想化スイッチ装置２ａ，２ｂからのリクエストをＣＡ３０１ａ１及びＣＡ３０１ｂ１を介して受信すると、スイッチ３０２ａ、ｂを制御してディスクユニット３０５−１〜３０５−８へのディスク書込み制御を行なう。
【００４４】
ここで、ＣＭ３０ａもしくは３０ｂが、自身の配下にない、ディスクユニット３０５−１〜８のいずれかに関するリクエストを受信した場合、プロセッサ３０４ａ，ｂは、スイッチ３０２ａ，ｂを制御して、ＣＡ３０１ａ２、ｂ２から、他方のＣＭ３０ｂ，ａへ該リクエストを転送する。
【００４５】
例えば、ＣＭ３０ａのプロセッサ３０４ａは、ＣＡ３０１ａ１が仮想化スイッチ装置２ａより、ディスクユニット３０５−７へのＲＥＡＤリクエストを受信したとする。プロセッサ３０４ａは、ＤＡ３０３ａ１〜ａ４のいずれにもディスクユニット３０５−７が接続されていないので、スイッチ３０２ａを制御し、該リクエストを、ＣＡ３０１ａ２を介してＣＭ３０ｂへ転送する。この転送されたリクエストをＣＭ３０ｂのＣＡ３０１ｂ２が受信すると、プロセッサ３０４ｂは、スイッチ３０２ｂを制御して、ディスクユニット３０５−７が接続されているＤＡ３０３ｂ３へリクエストを中継させる。
【００４６】
以上のように構成されたストレージサーバシステムに於いて、論理ボリュームＬＶ０１のコピー処理について説明する。
【００４７】
上記したように、仮想化スイッチ装置２ａ，２ｂは、論理ボリューム番号とディスク装置のアドレスとを変換することで、論理ボリュームによる処理を可能としている。しかしながら、論理ボリュームとディスク装置とは、本実施の形態のように１対１には対応していない。加えて、図２のアドレス変換テーブル２１０ａ、ｂの論理ボリュームＬＶ０２に示されるように、１つの論理ボリュームが、ＣＭ３０ａが管理するディスクユニット３０５−１と、ＣＭ３０ｂが管理するディスクユニット３０５−３及び３０５−５とが対応する場合がある。
【００４８】
サーバ１は、ＨＢＡ１０１ａ、ｂを介して、双方にリクエストを送信する。
【００４９】
双方の仮想化スイッチ装置２ａ，２ｂのプロセッサ２０３ａ，ｂは、各々記憶部２０４ａ，ｂに記憶されている論理ボリューム管理テーブル２０５ａ，ｂを参照して、自身が担当するリクエストかを判断する。例えば、図２の論理ボリューム管理テーブル２０５ａ，ｂは、ＬＶ−０１へのリクエストは、仮想化スイッチ装置２ａと示しているので、仮想化スイッチ装置２ａのプロセッサ２０３ａは、自身が担当であると判断する。なお、仮想化スイッチ装置２ａは、ディスク装置３とは、ＣＭ３０ａを介して通信を行なうため、リクエストされる論理ボリュームＬＶ−０１のアドレスによっては、ＣＭ３０ａからＣＭ３０ｂへの転送が行われる場合がある。
【００５０】
サーバ１は、論理ボリュームＬＶ−０１、０２を指定するのみで、実際のディスクユニット３０５−１、８のアクセス管理は行っていないため、サーバ１で、ＣＭ３０ａやＣＭ３０ｂのいずれにアクセスしているのか、わからない。
【００５１】
この状態で、端末４が、論理ボリュームに対して各種リクエストを行った場合について説明する。
【００５２】
まず、ＣＭ３０ａもしくは、ＣＭ３０ｂが受信したＷｒｉｔｅリクエストが、その配下にあるディスクユニットへの書込みである場合について説明する。
【００５３】
ここでは、図７を使い、端末４が、サーバ１へ、「ＬＶ−０１」の「０００１００ｈ」へのＷｒｉｔｅリクエストを送信した場合を例に説明する。
【００５４】
このリクエストを、通信アダプタ１０４を介して受信したサーバ１のプロセッサ１０２は、ＨＢＡ１０１ａ、ｂを介して、仮想化スイッチ装置２ａ、２ｂの双方へ、該Ｗｒｉｔｅリクエストを送信する（矢印７０１ａ，ｂ）。
【００５５】
このＷｒｉｔｅリクエストを、仮想化スイッチ装置２ａ、２ｂのポート２０１ａ１，ｂ１が受信すると、スイッチ２０２ａ，ｂへ転送される（矢印７０２ａ，ｂ）。プロセッサ２０３ａ、ｂが、スイッチ２０２ａ，ｂを介して該Ｗｒｉｔｅリクエストを受信すると、論理ボリューム管理テーブル２０５ａ，ｂを参照し、このリクエストを、仮想化スイッチ装置２ａ、２ｂのいずれが担当するかを判断する。本実施の形態の場合、仮想化スイッチ装置２ａが、担当することとなるため、プロセッサ２０３ｂは、その後の処理を行わない。
【００５６】
担当となったプロセッサ２０３ａは、アドレス変換テーブル２１０ａを参照し、上記した手順にて、宛先アドレスの変換を行なう。
【００５７】
本実施の形態では、図３に示すアドレス変換テーブル２１０ａが格納されているので、これを参照し、プロセッサ２０３ａは、上記Ｗｒｉｔｅリクエストの書込み先を、ディスクユニット３０５−１の「０００１００ｈ」に変換したＷｒｉｔｅリクエストを生成する。そしてプロセッサ２０３ａは、スイッチ２０２ａを制御して、この生成したＷｒｉｔｅリクエストをディスク装置３へ送信させる（矢印７０３ａ，７０４ａ）
この際、プロセッサ２０３ａは、ＲＡＩＤ管理テーブル２１１を参照し、ミラーとなるディスクユニット３０５−２のアドレス０００１００ｈに対しても、同様のＷｒｉｔｅリクエストを生成する。そして、プロセッサ２０３ａは、２０２ａを制御して、このＷｒｉｔｅリクエストもディスク装置３へ送信する（矢印７０３ｂ，７０４ｂ）。
【００５８】
これらのリクエストを受信した、ディスク装置３のＣＭ３０ａのＣＡ３０１ａ１は、スイッチ３０２ａへ該リクエストを転送する（矢印７０５ａ，ｂ）。プロセッサ３０４ａは、このリクエストに応じてリクエスト先となるディスクユニットへ、該Ｗｒｉｔｅリクエストを送信するようスイッチ３０２ａを制御する（矢印７０６ａ→７０７ａ、矢印７０６ｂ→７０７ｂ）。
【００５９】
このように、ＣＭ３０ａ、ＣＭ３０ｂが、その配下のディスクユニット３０５−１〜４、３０５−５〜８へのリクエストを受けた場合は、リクエストを受けていない側の仮想化スイッチ装置、ＣＭ（上記の場合、仮想化スイッチ装置２ｂ、ＣＭ３０ｂ）に負荷は掛からない。
【００６０】
次に、ＣＭ３０ａもしくは、ＣＭ３０ｂがうけたＷｒｉｔｅリクエストが、その配下にないディスクユニットへの書込みである場合について説明する。
【００６１】
ここでは、図８を使い、端末４が、サーバ１へ、「ＬＶ−０２」の「０００１００ｈ」へのＷｒｉｔｅリクエストを送信した場合を例に説明する。
【００６２】
この場合、サーバ１は、仮想化スイッチ装置２ａ，２ｂへＷｒｉｔｅリクエストを送信し（矢印８０１ａ，ｂ）、仮想化スイッチ装置２ｂのプロセッサ２０３ｂが、その書込み先を「３０５−３」の「０４０１００ｈ」へ変換したＷｒｉｔｅリクエストをＣＭ３０ｂへ送信する事となる（矢印８０３ａ、８０４ａ）。また、そのミラーＷｒｉｔｅリクエストの書込み先は「３０５−４」の「０４０１００ｈ」となり、同様にＣＭ３０ｂへ送信される（矢印８０３ｂ，８０４ｂ）。
【００６３】
これらのＷｒｉｔｅリクエストをＣＡ３０１ｂ１が受信すると、プロセッサ３０４ｂは、これらのＷｒｉｔｅリクエストの書込み先を参照する。そしてプロセッサ３０４ｂは、書込み先が配下のディスクユニット３０５−５〜８宛ではないと認識し、スイッチ３０２ｂを制御して、ＣＡ３０１ｂ２を介してＣＭ３０ａへ送信する（矢印８０５ａ，ｂ、矢印８０６ａ，ｂ）。
【００６４】
ＣＭ３０ａのＣＡ３０１ａ１は、これらのＷｒｉｔｅリクエストを受信し、スイッチ３０２ａへ転送する（矢印８０７ａ，ｂ）。そして、プロセッサ３０４ａは、書込み先に対応するディスクユニットへ各Ｗｒｉｔｅリクエストが転送されるようスイッチ３０２ａを制御する（矢印８０８ａ，８０９ａ、矢印８０８ｂ、８０９ｂ）。
【００６５】
この例に示されるように、ＣＭ３０ａ、ＣＭ３０ｂが、その配下ではないディスクユニット３０５−５〜８、３０５−１〜４へのリクエストを受けた場合は、双方のＣＭ３０ａ、３０ｂに負荷がかかることとなる。
【００６６】
次に、同じの配下となっているディスクユニット間でのコピー処理について説明する。
【００６７】
ここでは、図９を使い、端末４が、サーバ１へ、「ＬＶ−０１」の「００００００ｈ」のデータを「ＬＶ−０１」の「０４００００ｈ」へコピーを指示するＣｏｐｙリクエストを送信した場合を例に説明する。なおサーバ１は、ＨＢＡ１０１ａ、ｂを制御して、仮想化スイッチ装置２ａ、２ｂへ受信したＣｏｐｙリクエストを送信している（矢印９０１ａ，ｂ）。
【００６８】
コピーは、コピー元データの読み出しを行なう処理と、読み出したデータをコピー先へ書き込むという処理がある。本実施の形態の場合、この読み出し及び書き込み処理を、コピー元の論理ボリュームに対応した仮想化スイッチ装置が担当する。
【００６９】
このＣｏｐｙリクエストを仮想化スイッチ装置２ａ、２ｂのポート２０１ａ１、ｂ１、スイッチ２０２ａ、ｂを介して受信したプロセッサ２０３ａ、ｂ（矢印９０２ａ，ｂ）は、担当仮想化スイッチ装置管理テーブル２０６ａ，ｂを参照して、担当する仮想化スイッチ装置が２ａか２ｂかを判断する。この判断については、後述するが、ここでは、仮想化スイッチ装置２ａが担当すると判断したとする。この場合、担当ではないプロセッサ２０３ｂは、以降の処理を行わない。逆にプロセッサ２０３ａは、アドレス変換テーブル２１０ａを参照し、Ｃｏｐｙコマンドのコピー元論理ボリュームのアドレスを、ディスクユニット及びそのアドレスに変換する。本実施の形態の場合、「ディスクユニット３０５−１」の「００００００ｈ」に変換されることになる。
【００７０】
そして、プロセッサ２０３ａは、この変換されたアドレスに対応したＲｅａｄコマンドを生成し、スイッチ２０２ａを制御して、ＣＭ３０ａへ送信する（９０３，９０４）。
【００７１】
このＲｅａｄコマンドをＣＡ３０１ａ１、スイッチ３０２ａを介して受信したプロセッサ３０４ａは、スイッチ３０２ａを制御して、該Ｒｅａｄリクエストを対応するディスクユニット３０５−１へ、該Ｒｅａｄコマンドを送信する。
【００７２】
ディスクユニット３０５−１は、そのデータを読み出し、読み出されたデータは、矢印９０３〜９０６とは逆の手順にて仮想化スイッチ装置２ａのスイッチ２０２ａまで転送される（９０７〜９１２）。プロセッサ２０３ａは、先にサーバ１からのＣｏｐｙリクエストに含まれるＣｏｐｙ先アドレスをアドレス変換テーブル２１０ａにて変換した宛先とし、スイッチ２０２ａが受信したデータを、書き込む指示を行なうＷｒｉｔｅリクエストを生成する。そして、プロセッサ２０３ａは、スイッチ２０２ａを制御してＣＭ３０ａへ、生成したＷｒｉｔｅリクエストを送信する。この際のプロセスは、図７の矢印７０４ａ，ｂ〜７０７ａ，ｂで示された処理と同様なのでその説明を省略する（９１３ａ，ｂ〜９１７ａ，ｂ）。
【００７３】
このように、コピーを担当するＣＭ３０ａのスイッチ２０２ａから、コピー対象のディスクユニットを配下に有するＣＭ３０ａ内のスイッチ３０２ａまでの通信路及び、各々の機器に対し、大きな負荷がかかることがわかる。
【００７４】
また、図８でも説明したように、リクエストを行う仮想化スイッチ装置２ａもしくは２ｂが、配下ではないＣＭ３０ｂもしくは３０ａに対するリクエストを行う場合、そのリクエストは、配下のＣＭ３０ａもしくは３０ｂを経由して行われる。
【００７５】
コピーの場合も同様で、図１０に示すように、仮想化スイッチ装置２ａもしくは２ｂが、配下ではないＣＭ３０ｂもしくは３０ａに対するリクエストを行う場合、その通信は配下のＣＭ３０ａもしくは３０ｂを経由して行われる。
【００７６】
よって、ＣＭ３０ａ、ｂ間の通信負荷が高いものとなる。
【００７７】
更に、図１１は、図９で示した、配下のＣＭへのコピー処理と配下でないＣＭのコピー処理が同時に処理される場合について示したもので、図１１に示されるように、特定ＣＭ（図１１ではＣＭ３０ａ）のスイッチ３０２ａの負荷が高くなる。
【００７８】
また、図１２は、仮想化スイッチ装置２ａと仮想化スイッチ装置２ｂとが、共に配下でないＣＭ３０ｂ，３０ａへのコピー処理を同時に行う場合について説明した図である。
【００７９】
このような場合、ＣＭ３０ａ−ＣＭ３０ｂ間の通信が頻繁に発生することになり、ＣＭ３０ａのスイッチ３０２ａ、ＣＡ３０１ａ２、及び、ＣＭ３０ｂのスイッチ３０２ｂ、ＣＡ３０１ｂ２の負荷が高くなる。
【００８０】
このように、コピー処理を行う場合、他の処理によってシステム中の特定箇所の負荷が高くなる。また、他の処理の状況に応じて負荷が高くなる箇所が異なる。
【００８１】
論理ボリュームによる仮想化を実施していない場合、サーバ１は、各状況における、負荷が高くなるパターンを記憶しておき、現在の処理状況に合わせて、仮想化スイッチ装置２ａ、２ｂへ振り分けを行なうことが可能である。
【００８２】
しかしながら、本実施の形態の様にディスクユニット３０５−１〜５を仮想化している場合、仮想化スイッチ装置２ａ、２ｂが論理ボリュームＬＶ−０１，ＬＶ−０２から物理的なディスクユニット３０５−１〜８へのアドレスへの変換を行う。このため、論理ボリュームＬＶ−０１、０２のアドレス指定によるリクエストによって、実際どのディスクユニット３０５−１〜８へアクセスされるのか、また、リクエストによってＣＭ３０ａ、ｂ間の通信が行われるのか、サーバ１からは特定することができない。
【００８３】
本実施の形態では、この点に鑑み、サーバ１において、ＣＯＰＹリクエストを受信した場合、実際の処理を実行する前に、コピーテストを実施し、ＣＯＰＹリクエストを送信する仮想化スイッチ装置２ａ，２ｂを選択にしている。以下、そのコピーテストを含む処理について図１３のフローチャートを用いて説明する。
【００８４】
端末４からのＣＯＰＹリクエストをサーバ１の通信アダプタ１０４経由でプロセッサ１０２が受信すると（Ｓ１１０１〜Ｓ１１０２）、プロセッサ１０２は、ＣＯＰＹリクエストを送信する仮想化スイッチ装置２ａ，２ｂへ、このリクエストを送信する。このリクエストを受信した仮想化スイッチ装置２ａ，２ｂのプロセッサ２０３ａ，ｂは、まず、論理ボリューム管理テーブル２０５ａ，ｂを参照する。そして、プロセッサ２０３ａ、ｂは、この論理ボリューム管理テーブル２０５ａ、ｂのコピー元の論理ボリュームに対応する仮想化スイッチ装置２ａ、もしくは、２ｂをマスターの仮想化スイッチ装置と判定する。本実施の形態の場合、コピー元の論理ボリューム番号は２ａとし、仮想化スイッチ装置２ａがマスターであると判定されたものとする。
【００８５】
以下、マスターとして判定された仮想化スイッチ装置２ａが、Ｓ１１０４の処理を行なう（Ｓ１１０４）。このＳ１１０４の処理について、図１４を用いて説明する。
【００８６】
なお、本実施の形態において、記憶部２０４ａ，ｂに記憶されている担当仮想化スイッチ装置管理テーブル２０６ａ，ｂは、処理中の各コピー処理について管理するテーブルであり、図１５に示すものとする。即ち、担当仮想化スイッチ装置管理テーブル２０６ａ，ｂは、コピー処理毎でセッションＩＤを付与し、各々のコピー処理において、コピー担当となった仮想化スイッチ装置２ａもしくは２ｂを記憶している。更に、担当仮想化スイッチ装置管理テーブル２０６ａ，ｂは、コピー元、コピー先各々の仮想ボリューム名を記憶し、かつ、各々のコピー処理を行っている際の平均コピー速度をコピー性能（単位はＭｂｐｓ）として記憶している。更に、担当仮想化スイッチ装置管理テーブル２０６ａ，ｂ両パス状態とは、仮想化スイッチ装置２ａもしくは２ｂを経由したディスク装置３へのアクセスの経路（パス）のいずれかもしくは双方に障害があるか否かを示したもので、両パス状態がＯｎｌｉｎｅであれば、双方の経路にて通信が可能であることを示している。
【００８７】
例えば、図１５の担当仮想化スイッチ装置管理テーブル１０５の、セッションＩＤ「１」で示されるコピー処理は、コピー担当は、仮想化スイッチ装置２ａであり、コピー元、コピー先の仮想化ボリュームは、それぞれ「ＬＶ０１」、「ＬＶ０２」である事を示している。加えて、このセッションＩＤ「１」で示されるコピー処理は、そのコピー性能が５００Ｍｂｐｓであることを示している。なお、プロセッサ２０３ａ、ｂは、片方の担当仮想化スイッチ装置管理テーブル２０６ａもしくはｂが更新されると、他方の担当仮想化スイッチ装置管理テーブル２０６ｂもしくはａと同じ内容になるようポート２０１ａ６、ｂ６を介して通信を行っている。以下、何の記載がなくとも、片方の片方の担当仮想化スイッチ装置管理テーブル２０６ａもしくはｂへの更新がある場合は、他方の担当仮想化スイッチ装置管理テーブル２０６ｂもしくはａと同じ内容になる様に常に更新処理が行われているものとする。
【００８８】
図１４のフローチャートにおいて、マスターとなったプロセッサ２０３ａは、コピー担当仮想化スイッチ装置管理テーブル２０６ａを参照して、コピー担当となっていない（コピー担当数がリスト上にない）仮想化スイッチ装置２ａもしくは２ｂがないか確認する（Ｓ２１０１）。プロセッサ２０３ａは、コピー担当となっていない仮想化スイッチ装置２ａもしくは２ｂがあれば、今回のＣＯＰＹリクエストの担当の仮想化スイッチ装置として、この仮想化スイッチ装置２ａもしくは２ｂへコピー担当を指示する。（Ｓ２１０９）。そして、プロセッサ２０３ａは、コピー担当仮想化スイッチ装置管理テーブル２０６ａに選択された仮想化スイッチ装置２ｂを追加した後、図１４に示す処理から図１３に示す処理へ復帰する。
【００８９】
この後、コピー担当を指示された、仮想化スイッチ装置２ｂが実際のコピー処理を行なう（Ｓ１１０５）。
【００９０】
この処理により、Ｓ２１０２からＳ２１０８に示されるコピーテスト処理を実行すること無く、負荷の低い仮想化スイッチ装置（２ａもしくは２ｂ）へ、ＣＯＰＹリクエストを転送することが可能となる。
【００９１】
逆に、図１４に示すように、プロセッサ２０３ａは、コピー担当仮想化スイッチ装置管理テーブル１０５を参照した際、仮想化スイッチ装置２ａ，２ｂの双方が、既にいずれかのコピー処理を実行中である場合、Ｓ２１０２からＳ２１０８の処理を実行する。
【００９２】
即ち、まず、プロセッサ２０３ａは、ＣＯＰＹリクエストに含まれる、コピー元・先双方のアドレスに対し、ＲＥＡＤコマンドを繰り返し発行する（Ｓ２１０２）。
【００９３】
その後、仮想スイッチ装置２ａは、コピー元・先双方のアドレスに対するＲＥＡＤコマンドの所定時間内における応答数を各々カウントし、少ない方をＮ１として記憶する（Ｓ２１０３）。この記憶場所は、特に明記していないが、プロセッサ１０２内の記憶領域、もしくは、図示しないメモリに記憶されているものとする。
【００９４】
また、コピー処理には、コピー元のデータをコピー先へ書き込むという処理を行なうことから、読み出しが完了しなければ書込みができず、書き込みが完了しなければ、継続する次の書込みができない。即ち、コピー元とコピー先の一方が早くとも、他方が遅ければ、他方の処理速度でしかコピー処理ができない。よって、所定時間内でカウントが少ない方、即ち遅い方のカウント数を採用する。
【００９５】
次に、プロセッサ２０３ａは、ポート２０１ａ６を介して、仮想化スイッチ装置２ｂに対し、ＣＯＰＹリクエストに含まれる、コピー元・先双方のアドレスに対し、ＲＥＡＤコマンドを繰り返し発行する様、指示する（Ｓ２１０４）。
【００９６】
この指示を受信したプロセッサ２０３ｂは、所定時間内における応答数をカウントし、ポート２０１ｂ６を介して、仮想化スイッチ装置２ａへ、少ない方をＮ２として送信する。このＮ２を受信したプロセッサ２０３ａは、このＮ２を記憶する（Ｓ２１０５）。この記憶場所は、特に明記していないが、プロセッサ１０２内の記憶領域、もしくは、図示しないメモリに記憶されているものとする。また、カウント数が少ない方を採用するのは、上記Ｓ２１０３と同じ理由によるものである。
【００９７】
そして、プロセッサ２０３ａは、記憶したＮ１とＮ２とを比較し（Ｓ２１０６）、Ｎ１の値が大きければ、ＣＯＰＹリクエストを担当する仮想化スイッチ装置を２ａとして、引き続きコピー処理を担当する。これは、応答数が多いほうが、転送性能が良いと判断するためである（Ｓ２１０７）。逆にＮ２の値がＮ１以上であれば、仮想化スイッチ装置を２ｂにコピー処理を実行するよう指示を行なう。
【００９８】
Ｓ２１０７，Ｓ２１０８の処理の後、プロセッサ２０３ａは、コピー担当となった仮想化スイッチ装置２ａもしくは２ｂを、管路テーブル２０６ａに記憶した後、図１４に示す処理から図１３に示す処理へ復帰する。
【００９９】
この図１４の処理が完了すると、担当となった仮想化スイッチ装置２ａもしくは２ｂのプロセッサ２０３ａもしくは２０３ｂは、コピー処理を実行する。
【０１００】
上記したように、サーバ１からは、仮想化スイッチ装置２ａ，２ｂが行なう論理ボリュームからディスク装置へのアドレスの変換により、仮想化スイッチ装置２ａもしくは２ｂから、各ディスクユニット３０５−１〜８へどの様にアクセスしているかがわからない。
【０１０１】
しかし、上記した処理のように、マスターとなり仮想化スイッチ装置（本実施の形態では２ａ）が、転送速度についてのテストを行ない、実際にコピーを行なう際の速度を把握した上でＣＯＰＹリクエストを転送する仮想化スイッチ装置２ａもしくは２ｂを選択する。これにより、本実施の形態のストレージシステムでは、上記したアドレス変換があってもより負荷が少ない経路でアクセスが可能な仮想化スイッチ装置２ａもしくは２ｂへ、ＣＯＰＹリクエストを送信することが可能となる。
【０１０２】
上記した例は、端末４より、新たにＣＯＰＹリクエストが送信された場合について説明したが、この処理は、コピー処理中の各コピーの転送速度を監視することで、コピー性能が上がっていないコピー処理を検出し、その経路を再選択することも可能である。
【０１０３】
この処理について、図１６を用いて説明する。
【０１０４】
マスターである仮想化スイッチ装置２ａのプロセッサ２０３ａは、担当仮想化スイッチ装置管理テーブル２０６ａを参照し、進行中の各コピー処理の転送速度について監視を行っている（Ｓ３１０１）。
【０１０５】
この際、プロセッサ２０３ａは、いずれかの仮想化スイッチ装置（２ａもしくは２ｂ）からの回答がなければ、回答がない仮想化スイッチ装置（２ａもしくは２ｂ）をコピー担当としているセッションＩＤの両パス状態を「Ｏｆｆｌｉｎｅ」に更新する。
【０１０６】
次に、プロセッサ２０３ａは、全てのパスがＯｎｌｉｎｅかを確認する（Ｓ３１０２）。ここで、Ｏｆｆｌｉｎｅがあった場合、障害のある経路があり、コピーテストによる最適化する処理ができないため、プロセッサ２０３ａは、処理をＳ３１０１へもどす。
【０１０７】
次に、プロセッサ２０３ａは、担当仮想化スイッチ装置管理テーブル２０６ａを参照し、コピー処理数（セッション数）が、最大になっていないか確認する（Ｓ３１０３）。なお、本実施の形態の場合、「１５」とする。このセッション数が最大の場合、セッションの切り替え先の選択ができないので、最適化はできない。このため、プロセッサ２０３ａは、これ以降の処理は行わず、処理をＳ３１０１へ戻す。
【０１０８】
更に、プロセッサ２０３ａは、担当仮想化スイッチ装置管理テーブル２０６ａを参照し、各パラメータの偏りを確認する（Ｓ３１０４）。
【０１０９】
この処理では、プロセッサ２０３ａは、コピーを担当している仮想化スイッチ装置２ａ，２ｂとの間で、コピー処理を行っている数の違い、他のコピー処理と比べて、性能が悪いコピー処理の有無を確認する。
【０１１０】
例えば、担当仮想化スイッチ装置管理テーブル２０６ａが図１７に示すステータスとなっていた場合、仮想化スイッチ装置２ａが担当しているコピー処理の数は４である。これに対し、仮想化スイッチ装置２ｂが担当しているコピー処理の数は２であり、プロセッサ２０３ａは、仮想化スイッチ装置２ａにコピー数が偏っている事を確認する。
【０１１１】
また、プロセッサ２０３ａは、コピー性能の情報として、セッションＩＤ１のコピー処理の転送速度が低いことを確認する。
【０１１２】
そして、プロセッサ２０３ａは、仮想化スイッチ装置２ａ，２ｂいずれかのコピー担当数が「０」かを判定し、「０」であれば、更に、プロセッサ２０３ａは、コピー処理自体が実行されているかを判断する（Ｓ３１０６）。もし、コピー処理自体が行われていなければ、担当仮想化スイッチ装置管理テーブル１０５には、コピー処理中の項目が存在していない。よって、プロセッサ２０３ａは、担当仮想化スイッチ装置管理テーブル２０６ａに、コピー処理中の項目の存在を確認することによりコピー処理自体が行われているかを判断する。ここで、コピー処理自体が行われていなければ、最適化の必要はないので、プロセッサ２０３ａは、Ｓ３１０１へ処理を移行する。また、Ｓ３１０６の処理において、プロセッサ２０３ａは、コピー処理が存在すると判断した場合、Ｓ３１０８の処理へ移行する。
【０１１３】
また、Ｓ３１０５で、プロセッサ２０３ａが、いずれの仮想化スイッチ装置２ａ、２ｂも「０」でないと判断した場合、プロセッサ２０３ａは、コピー性能に偏りがないかを確認する（Ｓ３１０７）。ここで性能に偏りがなければ、最適化の必要がないので、プロセッサ１０２は、Ｓ３１０１の処理に戻る。なお偏りの算出は、本実施の形態においては、プロセッサ２０３ａが、平均コピー性能より３０％以上悪いコピー処理が存在するか否かを判断することで行う。
【０１１４】
なお、本実施の形態の算出方法は、一例であり、プロセッサ１０２が、他に一番多いコピー性能に対し、所定以上コピー性能が悪いコピー処理が存在することを判断するとしても良い。また、プロセッサ２０３ａが、一番コピー性能が高いコピー処理に対して所定以上のコピー性能が悪いコピー処理が存在するかを判断しても良い。
【０１１５】
なお、逆に、性能に偏りがあれば、プロセッサ２０３ａは、Ｓ３１０８以降の処理を実行する。
【０１１６】
図１７の担当仮想化スイッチ装置管理テーブル１０５ｂの場合、プロセッサ２０３ａは、セッションＩＤ１のコピー処理のコピー性能が、平均コピー性能（４５０ＭＢＰＳ）より３０％以上悪い為、平均コピー性能より３０％以上悪いコピー処理が存在すると判定する。
【０１１７】
Ｓ３１０６もしくはＳ３１０７にてＳ３１０８以降の処理を行なうと判断した場合、プロセッサ２０３ａは、現在進行中のコピー処理のうち、別の仮想化スイッチ装置２ａもしくは２ｂが担当したほうが良いコピー処理の候補を選定する（Ｓ３１０８）。
【０１１８】
具体的には、プロセッサ２０３ａは、仮想化スイッチ処理装置２ａ，２ｂのコピー処理数がなるべく均一になる事、コピー担当の仮想化スイッチ装置２ａもしくは２ｂの切り替えは、コピー性能の悪いものを優先して行なう事の２つの判断をもって、選定を行なう。
【０１１９】
即ち、図１７の担当仮想化スイッチ装置管理テーブル２０６ａの場合、プロセッサ２０３ａは、セッションＩＤ１のコピー処理を切り替え候補として選定する。
【０１２０】
次に、プロセッサ２０３ａは、Ｓ３１０８で選定した切り替え候補のコピー処理を一時停止する（Ｓ３１０９）。そして、プロセッサ２０３ａは、切り替え候補となったコピー処理に対し、コピー担当仮想化スイッチ装置選択処理を実行する（Ｓ３１１０）。この処理は、図１４で示した処理を行なうものである。即ち、この処理によって、切り替え候補となったコピー処理を切り替えたほうがコピー性能向上を見込める場合、コピー担当の仮想化スイッチ装置（２ａもしくは２ｂ）の切り替え処理が行われる。
【０１２１】
この処理が完了すると、Ｓ３１０９で一時停止したコピー処理を、Ｓ３１１０で選択されたコピー担当の仮想化スイッチ装置再開し（Ｓ３１１１）、Ｓ３１０１の処理へ移行する。
【０１２２】
このように、本実施の形態では、新規のＣＯＰＹリクエストが受信されずとも、現状のコピー処理を監視し、随時最適化を行なっているので、コピー処理途中でのストレージシステムの性能の悪化を防止できる様になる。
【０１２３】
なお、Ｓ３１０８のコピー担当の仮想スイッチ装置２ａもしくは２ｂを選定するに当たり、図１８の担当仮想化スイッチ装置管理テーブル１０５ｃの例に示すように、複数のコピー性能が所定値以下となる場合がある。この場合、プロセッサ２０３ａは、複数をまとめて切り替え対象とし、Ｓ３１１０の処理を、個々の切り替え対象について行なうことで最適化を図るようにしても良い。
【符号の説明】
【０１２４】
１              サーバ
２ａ，２ｂ      仮想化スイッチ装置
３              ディスク装置
４              端末
５              ネットワーク
３０ａ，３０ｂ        ＣＭ
１０１ａ，１０１ｂ    ＨＢＡ
１０２          プロセッサ
１０４          通信アダプタ
２０１ａ１〜６，２０１ｂ１〜ｂ６  ポート
２０２ａ，２０２ｂ    スイッチ
２０３ａ，２０３ｂ    プロセッサ
２０４ａ、２０４ｂ    記憶部
２０５ａ，２０５ｂ    論理ボリューム管理テーブル
２０６ａ，２０６ｂ    担当仮想化スイッチ装置管理テーブル
３０１ａ１，３０１ａ２，３０１ｂ１，３０１ｂ２  ＣＡ
３０２ａ，３０２ｂ    スイッチ
３０３ａ１〜ａ４、３０３ｂ１〜ｂ４  ＤＡ
３０５−１〜８  ディスクユニット
【図１】
0005636853.tif 000002
【図２】
0005636853.tif 000003
【図３】
0005636853.tif 000004
【図４】
0005636853.tif 000005
【図５】
0005636853.tif 000006
【図６】
0005636853.tif 000007
【図７】
0005636853.tif 000008
【図８】
0005636853.tif 000009
【図９】
0005636853.tif 000010
【図１０】
0005636853.tif 000011
【図１１】
0005636853.tif 000012
【図１２】
0005636853.tif 000013
【図１３】
0005636853.tif 000014
【図１４】
0005636853.tif 000015
【図１５】
0005636853.tif 000016
【図１６】
0005636853.tif 000017
【図１７】
0005636853.tif 000018
【図１８】
0005636853.tif 000019