(57)【要約】【課題】計算機システムにおいて、ボリュームの並列移行時に物理リソースの競合を少なくすること。【解決手段】本発明の計算機システム１００は、ホスト計算機１０４と、ストレージシステム１０１と、ストレージ管理サーバ１０２とを備えている。  ストレージ管理サーバ１０２は、ストレージシステム１０１の２つ以上のボリュームのデータを同数の他のボリュームに並列して移行する場合、ストレージシステム１０１の制御装置または記憶装置の物理的な競合がより少ないボリュームを選択して、並列移行を実行する。【選択図】図１
2008108020.tif 000002
【特許請求の範囲】
【請求項１】
一つ以上のホスト計算機と、前記ホスト計算機が使用したデータを格納するストレージシステムと、前記ストレージシステムによるデータの格納を管理するストレージ管理サーバと、を備え、それらがネットワークにより接続される計算機システムであって、
前記ストレージシステムは、
前記ホスト計算機が使用したデータを格納する一つ以上の記憶装置と、
その記憶装置を制御する一つ以上の制御装置と、を有し、
その制御装置は、前記記憶装置に、データを格納する物理的または論理的な単位であるボリュームごとに前記データを格納し、
前記ストレージ管理サーバは、
前記ストレージシステムの制御装置または記憶装置の物理的構成の情報を少なくとも含む物理構成情報を記憶する記憶部と、
前記ストレージシステムの記憶装置を前記ボリュームごとに管理する処理部と、を有し、
その処理部は、前記ストレージシステムの２つ以上のボリュームのデータを同数の他のボリュームに並列して移行する場合、前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置または記憶装置の物理的な競合をボリュームごとに評価し、その評価に基づいて前記競合がより少ないボリュームを選択して、その並列移行を実行する
ことを特徴とする計算機システム。
【請求項２】
前記ストレージ管理サーバの処理部は、
前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置または記憶装置の物理的な競合が所定よりも少なく前記ボリュームを並列移行することが可能な最大数である最大並列実行数を算出し、その最大並列実行数のボリュームの並列移行を行う
ことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記ストレージ管理サーバの処理部は、
前記並列移行しているボリュームのいずれかの移行動作が終了した場合、前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置または記憶装置の物理的な競合をボリュームごとに評価し、その評価に基づいて前記競合がより少ないボリュームをさらに選択して、その選択したボリュームの並列移行を実行する
ことを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記物理構成情報は、それぞれの前記ボリュームを複数のＲＡＩＤ（Redundant Arrays of Inexpensive Disks）グループのいずれかに属するものとして対応付け、
前記ストレージ管理サーバの処理部は、
並列移行するボリュームを選択する場合、前記記憶部に記憶された前記物理構成情報を参照し、移行元のボリュームに関して、すでに選択したボリュームが属するＲＡＩＤグループとは別のＲＡＩＤグループに属するボリュームを優先して選択する
ことを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記ストレージ管理サーバの処理部は、
並列移行するボリュームを選択する場合、前記記憶部に記憶された前記物理構成情報を参照し、移行先のボリュームに関して、すでに選択したボリュームが属するＲＡＩＤグループとは別のＲＡＩＤグループに属するボリュームを優先して選択する
ことを特徴とする請求項４に記載の計算機システム。
【請求項６】
前記物理構成情報は、前記ストレージシステムの制御装置ごとに並列移行可能なボリューム数の値を格納しており、
前記ストレージ管理サーバの処理部は、
並列移行するボリュームを選択する場合、前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置ごとに、前記した並列移行可能なボリューム数を超えないようにボリュームを選択する
ことを特徴とする請求項１に記載の計算機システム。
【請求項７】
前記ストレージ管理サーバの記憶部は、移行元となるボリュームを集めた移行元グループの識別子と、移行先のボリュームの物理的な性能を表す移行先階層とを対応付けて記憶する移行グループ情報を、さらに記憶し、
前記ストレージ管理サーバの処理部は、
前記記憶部に記憶された前記物理構成情報と前記移行グループ情報とを参照し、前記移行元グループに対応した移行先階層に該当するボリュームを移行先のボリュームとして選択する
ことを特徴とする請求項１に記載の計算機システム。
【請求項８】
前記ネットワークを介して、前記ホスト計算機、複数の前記ストレージシステム、および前記ストレージ管理サーバと接続され、前記複数のストレージシステムを論理的に一つのストレージシステムとして仮想化する仮想化装置、をさらに備え、
前記ストレージ管理サーバの処理部は、
前記仮想化装置に対して、前記仮想化装置が保持する前記複数のストレージシステムのボリュームの情報を少なくとも含むボリューム情報を参照させ、前記した仮想化された複数のストレージシステムに対して、前記した２つ以上のボリュームの並列移行を実行するように指示する
ことを特徴とする請求項１に記載の計算機システム。
【請求項９】
一つ以上のホスト計算機と、前記ホスト計算機が使用したデータを格納するストレージシステムと、前記ストレージシステムによるデータの格納を管理するストレージ管理サーバと、を備え、それらがネットワークにより接続される計算機システムにおけるデータ移行方法であって、
前記ストレージシステムは、
前記ホスト計算機が使用したデータを格納する一つ以上の記憶装置と、
その記憶装置を制御する一つ以上の制御装置と、を有し、
その制御装置は、前記記憶装置に、データを格納する物理的または論理的な単位であるボリュームごとに前記データを格納し、
前記ストレージ管理サーバは、
前記ストレージシステムの制御装置または記憶装置の物理的構成の情報を少なくとも含む物理構成情報を記憶する記憶部と、
前記ストレージシステムの記憶装置を前記ボリュームごとに管理する処理部と、を有し、
その処理部は、前記ストレージシステムの２つ以上のボリュームのデータを同数の他のボリュームに並列して移行する場合、前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置または記憶装置の物理的な競合をボリュームごとに評価し、その評価に基づいて前記競合がより少ないボリュームを選択して、その並列移行を実行する
ことを特徴とするデータ移行方法。
【請求項１０】
前記ストレージ管理サーバの処理部は、
前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置または記憶装置の物理的な競合が所定よりも少なく前記ボリュームを並列移行することが可能な最大数である最大並列実行数を算出し、その最大並列実行数のボリュームの並列移行を行う
ことを特徴とする請求項９に記載のデータ移行方法。
【請求項１１】
前記ストレージ管理サーバの処理部は、
前記並列移行しているボリュームのいずれかの移行動作が終了した場合、前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置または記憶装置の物理的な競合をボリュームごとに評価し、その評価に基づいて前記競合がより少ないボリュームをさらに選択して、その選択したボリュームの並列移行を実行する
ことを特徴とする請求項９に記載のデータ移行方法。
【請求項１２】
前記物理構成情報は、それぞれの前記ボリュームを複数のＲＡＩＤ（Redundant Arrays of Inexpensive Disks）グループのいずれかに属するものとして対応付け、
前記ストレージ管理サーバの処理部は、
並列移行するボリュームを選択する場合、前記記憶部に記憶された前記物理構成情報を参照し、移行元のボリュームに関して、すでに選択したボリュームが属するＲＡＩＤグループとは別のＲＡＩＤグループに属するボリュームを優先して選択する
ことを特徴とする請求項９に記載のデータ移行方法。
【請求項１３】
前記ストレージ管理サーバの処理部は、
並列移行するボリュームを選択する場合、前記記憶部に記憶された前記物理構成情報を参照し、移行先のボリュームに関して、すでに選択したボリュームが属するＲＡＩＤグループとは別のＲＡＩＤグループに属するボリュームを優先して選択する
ことを特徴とする請求項１２に記載のデータ移行方法。
【請求項１４】
前記物理構成情報は、前記ストレージシステムの制御装置ごとに並列移行可能なボリューム数の値を格納しており、
前記ストレージ管理サーバの処理部は、
並列移行するボリュームを選択する場合、前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置ごとに、前記した並列移行可能なボリューム数を超えないようにボリュームを選択する
ことを特徴とする請求項９に記載のデータ移行方法。
【請求項１５】
前記ストレージ管理サーバの記憶部は、移行元となるボリュームを集めた移行元グループの識別子と、移行先のボリュームの物理的な性能を表す移行先階層を対応付けて記憶する移行グループ情報を、さらに記憶し、
前記ストレージ管理サーバの処理部は、
前記記憶部に記憶された前記物理構成情報と前記移行グループ情報を参照し、前記移行元グループに対応した移行先階層に該当するボリュームを移行先のボリュームとして選択する
ことを特徴とする請求項９に記載のデータ移行方法。
【請求項１６】
前記計算機システムは、前記ネットワークを介して、前記ホスト計算機、複数の前記ストレージシステム、および前記ストレージ管理サーバと接続され、前記複数のストレージシステムを論理的に一つのストレージシステムとして仮想化する仮想化装置、をさらに備え、
前記ストレージ管理サーバの処理部は、
前記仮想化装置に対して、前記仮想化装置が保持する前記複数のストレージシステムのボリュームの情報を少なくとも含むボリューム情報を利用し、前記した仮想化された複数のストレージシステムに対して、前記した２つ以上のボリュームの並列移行を実行するように指示する
ことを特徴とする請求項９に記載のデータ移行方法。
【請求項１７】
計算機システムにおいて、一つ以上のホスト計算機、および、前記ホスト計算機が使用したデータを一つ以上の記憶装置に格納し、一つ以上の制御装置によってその記憶装置を制御し、その制御装置は前記記憶装置にデータを格納する物理的または論理的な単位であるボリュームごとに前記データを格納するストレージシステム、とネットワークにより接続され、前記ストレージシステムによるデータの格納を管理するストレージ管理サーバであって、
前記ストレージシステムの制御装置または記憶装置の物理的構成の情報を少なくとも含む物理構成情報を記憶する記憶部と、
前記ストレージシステムの記憶装置を前記ボリュームごとに管理する処理部と、を備え、
前記処理部は、前記ストレージシステムの２つ以上のボリュームのデータを同数の他のボリュームに並列して移行する場合、前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置または記憶装置の物理的な競合をボリュームごとに評価し、その評価に基づいて前記競合がより少ないボリュームを選択して、その並列移行を実行する
ことを特徴とするストレージ管理サーバ。
【請求項１８】
前記処理部は、
前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置または記憶装置の物理的な競合が所定よりも少なく前記ボリュームを並列移行することが可能な最大数である最大並列実行数を算出し、その最大並列実行数のボリュームの並列移行を行う
ことを特徴とする請求項１７に記載のストレージ管理サーバ。
【請求項１９】
前記処理部は、
前記並列移行しているボリュームのいずれかの移行動作が終了した場合、前記記憶部に記憶された前記物理構成情報を参照し、前記ストレージシステムの制御装置または記憶装置の物理的な競合をボリュームごとに評価し、その評価に基づいて前記競合がより少ないボリュームをさらに選択して、その選択したボリュームの並列移行を実行する
ことを特徴とする請求項１７に記載のストレージ管理サーバ。
【請求項２０】
前記物理構成情報は、それぞれの前記ボリュームを複数のＲＡＩＤ（Redundant Arrays of Inexpensive Disks）グループのいずれかに属するものとして対応付け、
前記処理部は、
並列移行するボリュームを選択する場合、前記記憶部に記憶された前記物理構成情報を参照し、移行元のボリュームに関して、すでに選択したボリュームが属するＲＡＩＤグループとは別のＲＡＩＤグループに属するボリュームを優先して選択する
ことを特徴とする請求項１７に記載のストレージ管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大容量のデータを記憶する計算機システムに関し、特に、データの再配置（移行）技術に関連する。
【背景技術】
【０００２】
近年、企業、地方自治体、官公庁、金融機関などが管理する計算機システムが取り扱うデータの量は、年々増加する一方である。そして、そのデータ量の増加に対して、新規のストレージシステム（記憶装置）を追加したり、あるいは既存のストレージシステム間でデータを再配置したりすることで、対応している。
【０００３】
そして、管理すべきデータ量の増加に伴い、複数のストレージシステムが計算機システムに追加されると、計算機システムの構成が複雑化する。このような問題を解決する技術として、計算機システムの仮想化がある。計算機システムの仮想化とは、相互にネットワーク接続された複数のストレージシステムを、論理的にあたかも一つの計算機システムであるかのように仮想化する技術である。計算機システムを仮想化することで、運用管理も一つに統一できるので、管理コストの低減に資する。
【０００４】
また、計算機システムの仮想化技術を適用することで、計算機システムのボリューム（データ記憶の単位となる論理的あるいは物理的な記憶領域）は、性能、種類などの特性を条件として、複数のストレージ階層に分類できる。例えば、特許文献１では、各ボリュームに格納されたデータの種類や作成日時などを元に、そのデータを最適なストレージシステムに配置する技術が開示されている。このとき、各ボリュームは、そのデータ種類、作成日時によってグループ化され、一括してデータを再配置することが可能である。
【特許文献１】特開２００６−９９７４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、データを再配置する際に、グループ内の実行順序などを考慮していない。そのため、再配置する複数のボリュームが、物理ディスク、ポートといった同一の物理リソースを共有している場合、アクセスが一箇所に競合し、再配置処理が長時間化するという問題がある。
そこで、本発明は、上記問題点に鑑みてなされたものであり、複数のボリューム（ごとのデータ：以下同様）を一括して再配置する場合、物理リソースの競合を回避して並列実行することで、ボリュームの再配置を高速化することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の計算機システムは、一つ以上のホスト計算機と、ホスト計算機が使用したデータを格納するストレージシステムと、ストレージシステムによるデータの格納を管理するストレージ管理サーバと、を備え、それらがネットワークにより接続されている。
ストレージシステムは、ホスト計算機が使用したデータを格納する一つ以上の記憶装置と、その記憶装置を制御する一つ以上の制御装置とを有し、その制御装置は、記憶装置に、データを格納する物理的または論理的な単位であるボリュームごとにデータを格納する。
ストレージ管理サーバは、ストレージシステムの制御装置または記憶装置の物理的構成の情報を少なくとも含む物理構成情報を記憶する記憶部と、ストレージシステムの記憶装置をボリュームごとに管理する処理部と、を有している。
そして、ストレージ管理サーバの処理部は、ストレージシステムの２つ以上のボリュームのデータを同数の他のボリュームに並列して移行する場合、記憶部に記憶された物理構成情報を参照し、ストレージシステムの制御装置または記憶装置の物理的な競合がより少ないボリュームを選択して、その並列移行を実行する。
【発明の効果】
【０００７】
本発明によれば、ストレージシステム内の物理リソースの競合を回避してボリュームを再配置（移行）することが可能となり、ボリュームの再配置を高速化することができる。
【発明を実施するための最良の形態】
【０００８】
以下、各図を参照しながら本発明を実施するための最良の形態（以下、実施形態という。）について説明する。なお、各実施形態は、特許請求の範囲を限定するものではなく、また実施形態で説明されている特徴の全てが発明の解決手段に必須であるとは限らない。
【０００９】
（第１実施形態）
図１から図３を参照しながら、第１実施形態に係わる計算機システム１００の具体的な構成について説明する。
図１は計算機システム１００のハードウェア構成を示す図である。計算機システム１００は、ストレージシステム１０１、ストレージ管理サーバ１０２、管理クライアント１０３、一つ以上のホスト計算機１０４、ストレージネットワーク１０５、および管理ネットワーク１０６を備える。
【００１０】
ホスト計算機１０４は、例えば、ワークステーションシステム、メインフレームコンピュータ、パーソナルコンピュータなどである。ホスト計算機１０４は、ストレージシステム１０１が提供する記憶資源を利用して各種の業務処理（例えば、データベース処理、Ｗｅｂアプリケーション処理、ストリーミング処理など）を実行する。
ストレージネットワーク１０５は、一つ以上のホスト計算機１０４と、ストレージシステム１０１とを接続する。ストレージネットワーク１０５は、例えば、ＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット、専用回線、公衆回線などである。
【００１１】
ストレージシステム１０１は、一つ以上のコントローラ１１１（制御装置）と複数のストレージデバイス１１２（記憶装置）とを備える。
コントローラ１１１は、複数のストレージデバイス１１２をＲＡＩＤ（Redundant Arrays of Inexpensive Disks）方式に規定されるＲＡＩＤレベル（例えば、０、１、５）で制御することができる。ＲＡＩＤ方式においては、複数のストレージデバイス１１２が一つのＲＡＩＤグループとして管理される。ＲＡＩＤグループは、例えば、４つのストレージデバイス１１２を一組としてグループ化することにより（３Ｄ＋１Ｐ、つまり、３つのストレージデバイスを通常のデータの格納に使用し、残り一つのストレージデバイスをパリティデータの格納に使用）、あるいは、８つのストレージデバイス１１２を一組としてグループ化することにより（７Ｄ＋１Ｐ）、構成される。すなわち、複数のストレージデバイス１１２のそれぞれが提供する記憶領域が集合して一つのＲＡＩＤグループが構成される。ＲＡＩＤグループ上には、ホスト計算機１０４からのアクセス単位である一つ以上の論理ボリュームが定義される（詳細は図１５の説明とともに後述）。
【００１２】
なお、本実施形態では、一つのＲＡＩＤグループは、一つのコントローラ１１１によって制御されてもよい。すなわち、あるＲＡＩＤグループに対するＩ／Ｏ制御は、そのＲＡＩＤグループを制御するコントローラによって制御されている。また、一つのＲＡＩＤグループを複数のコントローラ１１１が制御するという構成をとってもよい。
ストレージデバイス１１２は、例えば、ＦＣ（Fibre Channel）ディスクドライブ、ＳＡＴＡ（Serial Advanced Technology Attachment）ディスクドライブ、ＰＡＴＡ（Parallel Advanced Technology Attachment）ディスクドライブ、ＦＡＴＡ（Fibre Attached Technology Adapted）ディスクドライブ、ＳＡＳ（Serial Attached SCSI）ディスクドライブ、ＳＣＳＩ（Small Computer System Interface）ディスクドライブなどの物理デバイスである。物理デバイスとは、実記憶領域を有する実デバイスである。なお、ストレージデバイス１１２として、フラッシュメモリなどの半導体メモリを併用してもよい。
【００１３】
管理ネットワーク１０６は、一つ以上のホスト計算機１０４、ストレージシステム１０１、ストレージ管理サーバ１０２、および管理クライアント１０３を接続し、管理情報の送受信などに使用される。
管理クライアント１０３は、計算機システム１００を保守管理するためのコンピュータである。ユーザは、管理クライアント１０３に搭載されているＷｅｂブラウザ１３１を介して、ストレージ管理用のコマンドを入力することにより、計算機システム１００を保守管理できる。ストレージ管理用のコマンドとして、例えば、ストレージデバイス１１２の増設あるいは減設、またはＲＡＩＤ構成の変更を指示するためのコマンド、ホスト計算機１０４とストレージシステム１０１との間の通信パスを設定するためのコマンドなどがある。
【００１４】
ストレージ管理サーバ１０２は、管理クライアント１０３からストレージ管理用の各種コマンドを受信して、計算機システム１００を保守管理する。ストレージ管理サーバ１０２は、データ再配置管理プログラム１２１を有している。データ再配置管理プログラム１２１は、ストレージ階層間でボリュームを再配置するための処理を実行する。データ再配置管理プログラム１２１は、データ再配置を行うための各プログラムの総称であり、詳細は後述する（図３）。
ストレージ管理サーバ１０２は、計算機システム１００の構成情報などを格納するための記憶装置１２２を有している。
【００１５】
図２はストレージシステム１０１の構成を示す図である（適宜図１参照）。コントローラ１１１は、ホストインターフェース（Ｉ／Ｆ）２１１、管理インターフェース（Ｉ／Ｆ）２１２、プロセッサ２１３、キャッシュ２１４、メモリ２１５を備える。
ホストインターフェース２１１は、ストレージネットワーク１０５を介してホスト計算機１０４に接続するためのネットワークインターフェースである。
管理インターフェース２１２は、管理ネットワーク１０６を介してストレージ管理サーバ１０２、および管理クライアント１０３に接続するためのネットワークインターフェースである。
【００１６】
プロセッサ２１３は、ホスト計算機１０４からのデータ入出力要求に応答して、ストレージデバイス１１２へのデータ入出力を制御するものであり、例えばＣＰＵ（Central Processing Unit）によって実現される。
キャッシュ２１４は、ストレージデバイス１１２へ入出力されるデータを一時的に格納する。
【００１７】
メモリ２１５は、各種制御用のマイクロプログラムなどを格納する。メモリ２１５には、ボリューム再配置プログラム３１１、テーブル管理プログラム３１２、Ｉ／Ｏ制御プログラム３１３、およびボリューム表３２１が格納されている。
ボリューム再配置プログラム３１１は、ボリュームとストレージデバイス１１２との対応関係を変更するためのプログラムである。ホスト計算機１０４は、ボリュームをＩＤ（IDentification）によって識別し、データを読み書きするボリューム上の論理的な記憶領域の位置（論理アドレス）を認識しているが、ストレージデバイス１１２上の物理的な記憶領域の位置（物理アドレス）については認識していない。ボリューム再配置とは、ホスト計算機１０４が認識しているボリューム上の論理的な記憶領域の位置を変更する機能である。ボリューム再配置プログラム３１１は、あるストレージ階層（図５で後述）に属するボリュームをほかのストレージ階層に再配置することができる。
【００１８】
テーブル管理プログラム３１２は、ボリューム表３２１に保持されている情報を読み書きするためのプログラムである。
Ｉ／Ｏ制御プログラム３１３は、ホスト計算機１０４からのＩ／Ｏ要求に応答して、ストレージデバイス１１２へのデータ入出力を制御するプログラムである。
ボリューム表３２１は、ボリュームとストレージデバイス１１２との対応関係を示す情報、およびボリュームの特性に関する情報を保持する。ボリューム表の詳細については後述する（図１０）
【００１９】
図３はストレージ管理サーバ１０２の構成を示す図である（適宜図１参照）。ストレージ管理サーバ１０２は、インターフェース（Ｉ／Ｆ）２２１、モニタ２２２、プロセッサ２２３、入力デバイス２２４、メモリ２２５、および記憶装置１２２を備える。
インターフェース２２１は、管理ネットワーク１０６に接続するためのＬＡＮアダプタなどである。インターフェース２２１は、ストレージシステム１０１からストレージデバイス１１２によるボリュームの構成情報を取得したり、あるいはボリューム再配置の指示をストレージシステム１０１に送信したりする。
【００２０】
モニタ２２２は、ＧＵＩ（Graphical User Interface）環境下でストレージ管理用の画面をユーザに提供するためのディスプレイである。入力デバイス２２４は、ストレージ管理用のコマンドを入力するためのものであり、例えば、キーボードやマウスなどである。なお、モニタ２２２、および入力デバイス２２４は、必ずしも必須ではない。
プロセッサ２２３は、メモリ２２５に格納されたプログラムに基づいて計算機システム１００の保守管理を行うほか、データ再配置管理プログラム１２１に基づいて、ストレージ階層間でボリュームを再配置する処理を実行する。図１１〜１４のフローチャートにおいて、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するプロセッサ２２３によって処理が行われるものとする。
【００２１】
メモリ２２５には、データ再配置管理プログラム１２１の具体的なものとして、構成情報取得プログラム４１１、順番管理プログラム４１２、テーブル管理プログラム４１３、ＧＵＩプログラム４１４、およびストレージ操作プログラム４１５が格納されている。
また、記憶装置１２２には、ストレージ表４２１（物理構成情報）、ボリューム表４２２（物理構成情報）、マイグレーショングループ表４２３（移行グループ情報）、ストレージ階層表４２４、マイグレーション順序表４２５、およびマイグレーション対応表４２６（物理構成情報）が格納されている（これらの詳細は図４〜図９で後述）。
【００２２】
図４は、ボリューム表４２２のテーブル構造を示す図である（適宜他図参照）。ボリューム表４２２は、ストレージシステム１０１が提供するボリュームに関する情報を保持する。ボリューム表４２２は、ストレージシステム１０１が提供するボリュームに関する情報を保持する。ボリューム表４２２は、それぞれのボリュームについて、ボリュームＩＤ５１１、ＭＧＩＤ５１２、ストレージＩＤ５１３、ＶＯＬ＃５１４、ＲＡＩＤレベル５１５、ディスク種別５１６、ＲＧ＃５１７、ＤＫＡ＃５１８、および容量５１９を対応付けている。
【００２３】
ボリュームＩＤ５１１は、ホスト計算機１０４がストレージシステム１０１におけるそのボリュームを識別するためのＩＤである。
ＭＧＩＤ５１２は、ボリュームの再配置を一括で操作する単位であるマイグレーショングループを識別するためのＩＤである。
ストレージＩＤ５１３は、ストレージシステム１０１を識別するためのＩＤである。
ＶＯＬ＃５１４は、ストレージシステム１０１内部でそのボリュームを識別するための番号である。
ＲＡＩＤレベル５１５は、ボリュームのＲＡＩＤレベルを示す。
【００２４】
ディスク種別５１６は、ボリュームの記憶領域を提供するストレージデバイス１１２のディスク種別（例えば、ＦＣディスクとＳＡＴＡディスクとを区別するための情報）を示す。例えば、ディスク種別が「ＦＣ」であった場合、ＦＣディスクを示す。また、ディスク種別が「ＳＡＴＡ」であった場合、ＳＡＴＡディスクを示す。
ＲＧ＃５１７は、ボリュームが属するＲＡＩＤグループを識別するための番号を示す。
ＤＫＡ＃５１８は、ボリュームが属するＲＡＩＤグループを制御するコントローラを識別するための番号を示す。最大実行数がＲＡＩＤグループのみに依存する場合（コントローラが一つしかないときや、スイッチングなどによりすべてのコントローラがすべてのボリュームを制御しうるときなど）、コントローラを考慮する必要がないため、その場合、ＤＫＡ＃５１８は必須ではない。
容量５１９は、ボリュームの記憶容量を示す。
【００２５】
図５は、ストレージ階層表４２４のテーブル構造を示す図である（適宜他図参照）。ストレージ階層表４２４は、ストレージ階層に関する情報を保持する。ストレージ階層表４２４は、それぞれのストレージ階層について、ストレージ階層ＩＤ６１１、階層名６１２、および階層条件６１３を対応付けている。
ストレージ階層ＩＤ６１１は、ストレージ階層を識別するためのＩＤである。
階層名６１２は、ストレージ階層の名称を示す。
階層条件６１３は、ストレージ階層を定義付ける条件である。階層条件６１３には、例えば、「容量」、「（ストレージ）装置ＩＤ」、「（ストレージ）装置種別」、「ＲＡＩＤレベル」、および「ディスク種別」を含めることができ、これらの中から一つ以上の組み合わせを選択できる。階層条件が指定されていない項目は「−」となる。
【００２６】
「容量」は、ストレージ階層の記憶容量を示す。「装置ＩＤ」は、ストレージシステム１０１を識別するためのＩＤである。「装置種別」は、ストレージシステム１０１の種別（例えば、装置の型番など）を示す。「ＲＡＩＤレベル」は、そのストレージ階層のＲＡＩＤレベルを示す。「ディスク種別」は、ストレージ階層の記憶領域を提供するストレージデバイス１１２のディスク種別を示す。ディスク種別が「ＦＣ」であった場合、ＦＣディスクを示す。また、ディスク種別が「ＳＡＴＡ」であった場合、ＳＡＴＡディスクを示す。
【００２７】
図６は、ストレージ表４２１のテーブル構造を示す図である（適宜他図参照）。ストレージ表４２１は、ストレージシステム１０１に関する情報を保持する。ストレージ表４２１は、それぞれのストレージシステム１０１について、ストレージシステムＩＤ７１１、ストレージ名７１２、装置種別７１３、コントローラ数７１４、コントローラ当り並列実行数７１５を対応付けている。
【００２８】
ストレージシステムＩＤ７１１は、ストレージシステム１０１を識別するためのＩＤである。
ストレージ名７１２は、ストレージシステムの名称を示す。
装置種別７１３は、ストレージシステム１０１の種別（例えば、装置の型番など）を示す。
コントローラ数７１４は、ストレージシステム１０１が有するコントローラ１１１の総数を示す。
【００２９】
コントローラ当り並列実行数７１５は、ストレージシステム１０１のコントローラ１１１がボリューム再配置を並列に処理することが可能なボリューム数を示す。本実施形態ではコントローラ１１１は、複数（例えば２つ）のボリュームの再配置を並列に処理することで、再配置を高速化することが可能である。つまり、一つのコントローラ１１１に属する各ボリュームが異なったＲＡＩＤグループに属しているとき、そのコントローラ１１１は各ボリュームの再配置を並列（コントローラ当り並列実行数７１５まで可能）に処理することができる。コントローラ当り並列実行数７１５は、コントローラ１１１の性能に依存する。各項目で指定されていないものは「−」で表示される。
【００３０】
図７は、マイグレーショングループ表４２３のテーブル構造を示す図である（適宜他図参照）。マイグレーショングループ表４２３は、マイグレーショングループに関する情報を保持する。マイグレーショングループとは、ボリューム再配置を一括で操作するためのグループである。管理者は、ボリューム再配置を一括で操作する際、マイグレーショングループを作成し、マイグレーショングループ表４２３に登録する。その後、ボリューム再配置を行うボリューム(以後、移行元ボリュームと呼ぶ。)をマイグレーショングループに追加する。次に、マイグレーショングループに対し、ボリューム再配置先となるストレージ階層を選択する。次に、各移行元ボリュームについて、そのストレージ階層に属するボリュームを再配置先のボリュームとして選択(以後、移行先ボリュームと呼ぶ。)する。上記の操作でボリューム再配置を指示する。
【００３１】
マイグレーショングループ表は、それぞれのマイグレーショングループについて、ＭＧＩＤ８１１、移行先ストレージ階層８１２、最大並列実行数８１３、および実行状況８１４を対応付けている。
ＭＧＩＤ８１１は、マイグレーショングループを識別するためのＩＤである。
移行先ストレージ階層８１２は、マイグレーショングループに属するボリュームが、ボリュームの再配置で移行するストレージ階層のＩＤを示す情報である。移行先ストレージ階層８１２の「−」は、移行先ストレージ階層が指定されていない場合を示す。
【００３２】
最大並列実行数８１３は、マイグレーショングループ内のボリュームを再配置する際に、並列実行することができる最大値を示す。最大並列実行数８１３の「−」は、移行先ストレージ階層が指定されていないなど、最大並列実行数を計算できない場合を示す。
実行状況８１４は、マイグレーショングループの再配置が実行中かどうかなどを識別するための情報である。実行状況８１４には、例えば、「実行中」、「未実行」、「完了」、および「失敗」がある。「実行中」は、そのマイグレーショングループ内のボリュームの再配置が実行されている状態を示す。「未実行」は、そのマイグレーショングループの再配置が一度も行われていないことを示す。「完了」は、移行先ストレージ階層８１２への再配置が完了したことを示す。「失敗」は、そのマイグレーショングループの再配置が失敗したことを示す。
【００３３】
図８は、マイグレーション対応表４２６のテーブル構造を示す図である（適宜他図参照）。マイグレーション対応表４２６は、移行元ボリュームと、移行先ボリュームの対応を示している。
マイグレーション対応表は、それぞれのボリュームの対応について移行元ボリュームの移行元ＶＯＬ＃９１１、移行元ＲＧ＃９１２、ＤＫＡ＃９１３、移行先ボリュームの移行先ＶＯＬ＃９１４、移行先ＲＧ＃９１５、移行先ＤＫＡ＃９１６、および容量９１７を対応付けている。
移行元ボリュームの移行元ＶＯＬ＃９１１、移行元ＲＧ＃９１２、および移行元ＤＫＡ＃９１３は、それぞれボリューム表４２２にあるＶＯＬ＃５１４、ＲＧ＃５１７、およびＤＫＡ＃５１８に対応している。
【００３４】
移行先ボリュームの移行先ＶＯＬ＃９１４、移行先ＲＧ＃９１５、および移行先ＤＫＡ＃９１６は、それぞれボリューム表４２２にあるＶＯＬ＃５１４、ＲＧ＃５１７、およびＤＫＡ＃５１８に対応している。
移行元ＤＫＡ＃９１３、移行先ＤＫＡ＃９１６は、図４にＤＫＡ＃５１８がない場合には、マイグレーション対応表から削除する。
容量９１７は、移行元ボリュームの容量を示す。
【００３５】
図９は、マイグレーション順序表４２５のテーブル構造を示す図である（適宜他図参照）。マイグレーション順序表４２５は、ボリューム再配置を並列実行するボリュームの順序に関する情報を保持する。マイグレーション順序表４２５は、マイグレーショングループ内の各ボリュームについて、ＭＧＩＤ１０１１、移行元ＶＯＬ＃１０１２、容量１０１３、進捗１０１４、および順序１０１５を対応付ける。
【００３６】
ＭＧＩＤ１０１１はマイグレーショングループを識別するためのＩＤである。
移行元ＶＯＬ＃１０１２は移行元ボリュームを識別するための番号である。移行元ＶＯＬ＃１０１２は、マイグレーション対応表４２６の移行元ＶＯＬ＃９１１と対応している。
容量１０１３はボリュームの容量を示す。
進捗１０１４は、ボリュームの再配置の実行状況を示す。進捗には、例えば、「未実行」、「実行中」、および「完了」がある。「未実行」は、そのボリュームの再配置がまだ行われていないことを示す。「実行中」は、そのボリュームの再配置が実行中であることを示す。「完了」は、そのボリュームの再配置が完了したことを示す。
【００３７】
順序１０１５は、ボリューム再配置を並列実行するボリュームの順序を示す。順序１０１５は、例えば、「０」、「１」、および「２」がある。「０」は、実行中もしくは、実行が完了した状態を示す。「１」は、次にボリューム再配置を開始する予定のボリュームであることを示す。「２」は、ボリューム再配置をまだ開始しないボリュームであることを示す。順序１０１５において「２」が付与されたボリュームは、「実行中」のボリュームが完了した時点で、並列実行が可能であれば「１」に変更され、再配置が開始される。この処理のフローは後述する（図１４）。
【００３８】
図１０は、ボリューム表３２１のデータ構造を示す図である（適宜他図参照）。ボリューム表３２１は、コントローラ１１１がボリュームにデータを読み書きするために必要な情報を保持する。ボリューム表は、それぞれのボリュームについて、ＶＯＬ＃１１１１、ＶＤＥＶ＃１１１２、Ｐｏｒｔ＃１１１３、ＲＡＩＤレベル１１１４、ディスク種別１１１５、ＲＧ＃１１１６、ＤＫＡ＃１１１７、および容量１１１８を対応付ける。
【００３９】
ＶＯＬ＃１１１１は、ストレージシステム１０１内でボリュームを識別するための番号を示す。
ＶＤＥＶ＃１１１２は、ボリューム上の記憶領域が割り当てられている仮想デバイスを識別するための番号を示す。
Ｐｏｒｔ＃１１１３は、ボリュームに割り当てられているポートを識別するための番号を示す。
【００４０】
ＲＡＩＤレベル１１１４は、ボリューム上の記憶領域のＲＡＩＤレベルを示す。ＲＡＩＤレベル１１１４には、ストレージデバイス１１２のドライブ構成を含めてもよい。
ディスク種別１１１５は、ボリューム上の記憶領域を提供するストレージデバイス１１２のディスク種別を示す。
ＲＧ＃１１１６は、ボリュームが属するＲＡＩＤグループを識別するための番号を示す。
ＤＫＡ＃１１１７は、ボリュームが属するＲＡＩＤグループを制御するコントローラを識別するための番号を示す。
容量１１１８は、ボリュームの記憶容量を示す。
【００４１】
図１１は、ストレージ管理サーバ１０２において、管理者が設定したマイグレーショングループから、データ再配置時の最大並列実行数を策定（算出）する処理を示すフローチャートである。
まず、テーブル管理プログラム４１３は、ボリューム表４２２からボリュームの構成情報を取得する。ＧＵＩプログラム４１４は、管理クライアント１０３のＷｅｂブラウザ１３１を通じて、ボリューム表４２２から取得したボリュームの構成情報を、管理者に表示する（ステップ１２０１）。
【００４２】
次に、管理者は、ＧＵＩプログラム４１４が表示したその画面上（不図示）で、ステップ１２０１で表示された情報を元に、マイグレーショングループを作成する。つまり、マイグレーショングループの作成は、以下の２つの操作で行われる。まず、マイグレーショングループＩＤを設定する。次に、そのマイグレーショングループにボリューム再配置の移行元となるボリュームを追加する。
そうすると、テーブル管理プログラム４１３は、マイグレーショングループ表４２３に新しいマイグレーショングループの情報を追加し、また、マイグレーショングループに追加したボリュームについて、ボリューム表４２２のＭＧＩＤをそのマイグレーショングループＩＤに変更することで、マイグレーショングループの作成を行う(ステップ１２０２)。
【００４３】
さらに、管理者は、その画面上（不図示）で、マイグレーショングループに追加された各ボリュームに対し、移行先となるボリュームを選択する。なお、このとき、管理者がボリュームを選択する代わりに、管理者があらかじめ定めたポリシー（条件）を元に、順番管理プログラム４１２が、移行先ストレージ階層から、移行先ボリュームを選択してもよい。
【００４４】
テーブル管理プログラム４１３は、ボリューム表４２２の情報と前記選択されたボリュームの情報から、マイグレーション対応表４２６を作成する(ステップ１２０４)。
順番管理プログラム４１２は、マイグレーション対応表４２６、ストレージ表４２１の情報に基づいて、ボリューム再配置の最大並列実行数を策定し、マイグレーショングループ表４２３に書き込む(ステップ１２０５)。最大並列実行数を策定する方法については、図１５を参照しながら説明する。
【００４５】
図１５は、ボリューム再配置の並列実行の概念を説明するための図である（適宜他図参照）。
本実施形態で最大並列実行数を策定する場合、最大並列実行数は、マイグレーショングループに追加されたボリューム(本実施形態では、ボリューム「１」〜「６」)が属するＲＡＩＤグループ(本実施形態では、ＲＧ「１」〜「３」)、コントローラ(コントローラ１１１に対応：ここではコントローラ「１」、「２」)によって決定される。ここでは、一つのコントローラが、ＲＡＩＤグループの異なるボリュームを最大２つ同時実行可能であることを前提とする。図１５のマイグレーショングループでは、コントローラ「１」に属するボリューム「１」〜「４」は、ボリューム「１」、ボリューム「２」がＲＧ「１」に属し、ボリューム「３」、ボリューム「４」がＲＧ「２」に属する。そのため、コントローラ「１」が並列実行可能な数は２となる。また、コントローラ「２」に属するボリューム「５」、ボリューム「６」は、どちらもＲＧ「３」に属する。そのため、コントローラ「２」が並列実行可能な数は１となる。これにより、図１５のマイグレーショングループの並列実行可能数は３となる。
【００４６】
一方、最大並列実行数がＲＡＩＤグループにのみ依存する場合は、ＲＡＩＤグループごとに最大並列実行数を求める。最大並列実行数は、マイグレーショングループに追加されたボリュームが属するＲＡＩＤグループ数（ここでは３）に、ＲＡＩＤグループごとの最大並列実行数（たとえば１）の積（３×１＝３）となる。
【００４７】
図１２は、ストレージ管理サーバ１０２において、ボリューム再配置処理開始時に、並列実行するボリュームを選択するフローチャートである（適宜他図参照）。ボリューム再配置処理の開始は管理者または、ストレージ管理サーバ１０２が行う。
まず、テーブル管理プログラム４１３は、マイグレーション対応表４２６から、ボリューム再配置を実行するマイグレーショングループに属する移行元ボリュームの情報を取得する（ステップ１３０１）。
次に、テーブル管理プログラム４１３は、ステップ１３０１で取得したボリューム情報から、各ボリュームをＤＫＡ＃９１３で分類する(ステップ１３０２)。
【００４８】
次に、テーブル管理プログラム４１３は、マイグレーショングループ表４２３と、ストレージ表４２１から、最大並列実行数８１３と、コントローラ当り並列実行数７１５の値を取得する(ステップ１３０３)。最大並列実行数がＲＡＩＤグループにのみ依存する場合（つまり、コントローラ１１１に依存しない場合）は、ステップ１３０４を省略し、ステップ１３０５を実行し、ステップ１３０５終了後、ステップ１３０６を実行する。
【００４９】
次に、順番管理プログラム４１２は、ステップ１３０２で分類したコントローラについて、並列実行ボリューム決定プロセス（物理的な競合を評価して並列実行するボリュームを決定するプロセス）を実行していないコントローラが存在するかどうかを判別する(ステップ１３０４)。並列実行ボリューム決定プロセスは各コントローラに属するボリュームで、どのボリュームを並列実行するかを決定するプロセスであり、図１３にて説明する。
【００５０】
もし、並列実行ボリューム決定プロセスを実行していないコントローラが存在するならば（ステップ１３０４でＹｅｓ）、並列実行ボリューム決定プロセスを実行する（ステップ１３０５）。
もし、並列実行ボリューム決定プロセスを実行していないコントローラが存在しないなら（ステップ１３０４でＮｏ）、テーブル管理プログラム４１３は、並列実行ボリューム決定プロセスでマイグレーション順序を１に変更したボリューム以外のボリュームのマイグレーション順序を２に変更し、マイグレーション順序表４２５を書き換える。(ステップ１３０６)
ストレージ操作プログラム４１５は、ストレージシステム１０１に、マイグレーション順序表４２５の順序が１となっているボリュームのボリューム再配置を指示する（ステップ１３０７）。
【００５１】
図１３は、並列実行決定プロセス(図１２におけるステップ１３０５の内容)のフローチャートである。なお、この処理はコントローラごとに行われる。
まず、テーブル管理プログラム４１３は、ボリューム表４２２から、当該コントローラに属するマイグレーショングループ内のボリュームを、ＲＡＩＤグループごとに分類する（ステップ１３１１）。
【００５２】
次に、順番管理プログラム４１２は、ステップ１３１１で分類したＲＡＩＤグループについて、ボリューム再配置の順序変更を行っていないＲＡＩＤグループが存在するかどうかを判別する（ステップ１３１２）。順序変更を行っていないＲＡＩＤグループが存在しない場合(ステップ１３１２でＮｏ)、すべてのＲＡＩＤグループに関して順序変更を行ったことになるので、処理を終了する。
【００５３】
順序変更を行っていないＲＡＩＤグループが存在する場合(ステップ１３１２でＹｅｓ)、順番管理プログラム４１２は、当該ＲＡＩＤグループに属するボリュームを一つ選択し、移行先ボリュームの情報をマイグレーション対応表４２５から取得する（ステップ１３１３）。なお、本実施形態では、ボリュームを選択する場合に、ＶＯＬ＃順に選択する。ただし、ボリューム選択の順序は、他の方法を用いても構わない。
ステップ１３１３で取得した移行先ボリュームと同じＲＡＩＤグループに属する移行先ボリュームで、マイグレーション順序が１となっているボリュームが存在するかどうか判別する（ステップ１３１４）。
【００５４】
移行先ボリュームと同じＲＡＩＤグループに属する移行先ボリュームで、マイグレーション順序が１となっているボリュームが存在する場合（ステップ１３１４でＹｅｓ）、順番管理プログラム４１２は、当該ＲＡＩＤグループに当該ボリューム、および、ステップ１３１３ですでに選択したボリューム以外のボリュームが存在するかどうかを判別する（ステップ１３１５）。
当該ＲＡＩＤグループに当該ボリューム、および、ステップ１３１３ですでに選択したボリューム以外のボリュームが存在する場合(ステップ１３１５でＹｅｓ)、別のボリュームを選択し、ステップ１３１３を実行する。
【００５５】
移行先ボリュームと同じＲＡＩＤグループに属する移行先ボリュームで、マイグレーション順序が１となっているボリュームが存在しない場合(ステップ１３１４でＮｏ)、または、当該ＲＡＩＤグループに当該ボリュームが存在し(ステップ１３１４でＹｅｓ)、かつ、ステップ１３１３ですでに選択したボリューム以外のボリュームが存在しない場合(ステップ１３１５でＮｏ)、当該ボリュームのマイグレーション順序を１に変更する（ステップ１３１６）。
【００５６】
このボリューム再配置における、並列処理の順序決定について、図１５の場合を例にとって説明する。順番管理プログラム４１２は、各コントローラについて、そのコントローラに属するＲＡＩＤグループごとにボリューム再配置を実行するボリュームを選択する。ここでは、ＲＧ「１」からはボリューム「１」、ボリューム「１’」のマイグレーション順序を１に変更する。次に、順番管理プログラム４１２は、ＲＧ「２」からボリューム「３」を図１３のステップ１３１３で選択するが、ボリューム「３」の移行先ボリューム「３’」は、ＲＧ「４」に属しており、同じくＲＧ「４」に属しているボリューム「１’」が、すでにマイグレーション順序が１になっているため、選択できない。次に、ボリューム「４」をステップ１３１３で選択する。ボリューム「４」の移行先ボリューム「４’」は、ＲＧ「５」に属しており、ＲＧ「５」にはマイグレーション順序が１になっているボリュームが存在しないため、ボリューム「４」が選択される。
【００５７】
図１４は、マイグレーショングループ内のボリュームで、ボリューム再配置が完了したボリュームが発生した場合に、ボリューム再配置が未実行のボリュームを選択し、ボリューム再配置を指示するためのフローチャートである。
ボリューム再配置の完了をストレージ管理サーバが知る方法として、ストレージ操作プログラム４１５が定期的にストレージシステムにボリューム再配置が完了したかどうかを確認する方法と、ストレージシステム１０１が、ボリューム再配置が完了した時点で、ストレージ管理サーバ１０２に通知する方法がある。また、別の方法にてストレージ管理サーバ１０２がボリューム再配置の完了を認識してもよい。
【００５８】
ボリューム再配置が完了すると、テーブル管理プログラム４１３は、マイグレーション順序表４２５の進捗１０１４、順序１０１５を変更する（ステップ１４０１）。
次に、テーブル管理プログラム４１３は、マイグレーション対応表４２６、マイグレーション順序表４２５から、各ボリュームの情報を取得し（ステップ１４０２）、それらを各ボリュームに属するコントローラごとに分類する（ステップ１４０３）。
【００５９】
順番管理プログラム４１２は、ボリューム再配置が完了したボリュームが属するコントローラに対し、図１３で説明した、コントローラ内の並列実行ボリューム決定プロセスを実行する（ステップ１４０４）。
ステップ１４０４で、順番管理プログラム４１２がマイグレーション順序を１に変更したボリュームが存在する場合、ストレージ操作プログラム４１５は、当該ボリュームのボリューム再配置の実行を指示する(ステップ１４０５)。
【００６０】
このように、本実施形態の計算機システム１００によれば、ストレージシステム１０１において物理リソースが競合しない（または競合がより少ない）ボリュームを選択することで、複数のボリュームを並列に再配置（移行）することができる。
また、ストレージシステム１０１において物理リソースが競合しない（または競合が所定より少ない）最大並列実行数を求めることで、ボリュームの再配置を最大限まで効率化することができる。
【００６１】
（第２実施形態）
第２実施形態は、複数のストレージシステム１０１が存在し、計算機システムの仮想化技術を用いて、統合管理する計算機システムに対し、本発明を適用させる場合の実施形態である。なお、第１実施形態の場合と同じ構成には同じ符号を付し、重複説明を適宜省略する。
【００６２】
図１６は、第２実施形態における計算機システム１００ａのハードウェア構成を示す。図１との相違点は、計算機システム１００ａ内のストレージシステム１０１が複数である点と、仮想化装置１０７が追加された点である。第２実施形態において、ホスト計算機１０４は、仮想化装置１０７を介して複数のストレージシステム１０１と接続することにより、複数のストレージシステム１０１のそれぞれが有する記憶資源（ストレージデバイス１１２）を論理的に一つの記憶資源として認識する。仮想化装置１０７は、例えば、仮想化スイッチ、インテリジェントスイッチ、または仮想化専用装置などである。
なお、ホスト計算機１０４またはストレージシステム１０１のうちいずれか一方が仮想化機能を有している場合には、仮想化装置１０７は必ずしも必須ではない。
【００６３】
図１７は、仮想化装置１０７のハードウェア構成を示す図である（適宜図１６など参照）。仮想化装置１０７は、ホストインターフェース（Ｉ／Ｆ）１８１１、ストレージインターフェース（Ｉ／Ｆ）１８１２、プロセッサ１８１３、メモリ１８１４、キャッシュ１８１５、記憶装置１８１６、および管理インターフェース（Ｉ／Ｆ）１８１７を備える。
【００６４】
ホストインターフェース１８１１は、ストレージネットワーク１０５を介してホスト計算機１０４に接続するためのネットワークインターフェースである。
ストレージインターフェース１８１２は、ストレージネットワーク１０５を介してストレージシステム１０１に接続するためのネットワークインターフェースである。なお、このストレージインターフェース１８１２は、図では一つとしているが、ストレージシステム１０１ごとに別々に設けておくのが望ましい。
【００６５】
プロセッサ１８１３は、複数のストレージシステム１０１のそれぞれが提供する記憶資源（ストレージデバイス１１２）を論理的に一つの記憶資源に仮想化するための処理などを行う。
メモリ１８１４は、各種制御用のマイクロプログラムなどを格納する。メモリ１８１４には、ボリューム表３２１、外部ボリューム表１９１１（ボリューム情報）、ボリューム再配置プログラム３１１、テーブル管理プログラム３１２、Ｉ／Ｏ制御プログラム３１３、外部接続制御プログラム１９１２が格納されている。
仮想化装置１０７は、一つ以上の仮想ボリューム１９１３を有する。仮想ボリューム１９１３は、ストレージシステム１０１が提供するボリュームが仮想的に割り当てられたボリュームである。説明の便宜上、ストレージシステム１０１が提供するボリュームを外部ボリュームと称する。仮想ボリューム１９１３のアドレス空間（アドレスをマッピングする領域）は、外部ボリュームのアドレス空間にマッピングされている。ホスト計算機１０４は、仮想ボリューム１９１３をストレージシステム１０１の記憶領域として認識し、仮想ボリューム１９１３にＩ／Ｏ要求を発行する。仮想化装置１０７は、ホスト計算機１０４からＩ／Ｏ要求を受信すると、仮想ボリューム１９１３と外部ボリュームとの間のアドレス変換を行い、ストレージシステム１０１にコマンド（ホスト計算機１０４からのＩ／Ｏ要求）を転送し、外部ボリュームにアクセスする。仮想ボリューム１９１３には、複数のストレージシステム１０１が有するそれぞれの外部ボリュームを割り当てることができる。これにより、仮想化装置１０７は、複数のストレージシステム１０１が有する記憶資源を論理的に一つの記憶資源として仮想化できる。
【００６６】
外部接続制御プログラム１９１２は、仮想化装置１０７とストレージシステム１０１との間の外部接続（例えば、仮想ボリューム１９１３と外部ボリュームとの間のアドレス変換や、ストレージシステム１０１へのコマンド転送など）を制御するプログラムである。
外部ボリューム表１９１１は、仮想ボリューム１９１３と外部ボリュームとの対応関係を示す情報を保持する。外部ボリューム表１９１１の詳細については、後述する（図１８）。
【００６７】
キャッシュ１８１５は記憶装置１８１６へ入出力されるデータを一時的に格納する。
管理インターフェース１８１７は、管理ネットワーク１０６を介してストレージ管理サーバ１０２、および管理クライアント１０３に接続するためのネットワークインターフェースである。
【００６８】
図１８は、外部ボリューム表１９１１のテーブル構造を示す図である（適宜図１６、図１７など参照）。外部ボリューム表１９１１は、複数のストレージシステム１０１のそれぞれが有する記憶資源（ストレージデバイス１１２）を論理的に一つの記憶し現に仮想化するために必要な情報を保持する。外部ボリューム表１９１１は、それぞれの仮想ボリューム１９１３について、ＶＯＬ＃２０１１、外部Ｐｏｒｔ＃２０１２、ＩＰアドレス２０１３、および外部ＶＯＬ＃２０１４を対応付ける。
【００６９】
ＶＯＬ＃２０１１は、仮想化装置１０７内で仮想ボリューム１９１３を識別するためのＩＤを示す。
外部Ｐｏｒｔ＃２０１２は、ホスト計算機１０４から仮想ボリューム１９１３へのＩ／Ｏ要求を外部ボリュームに転送するためのポート（仮想化装置１０７が有する外部接続用のポート）を識別するための番号を示す。
【００７０】
ＩＰアドレス２０１３は、外部ボリュームを有するストレージシステム１０１を識別するためのＩＰアドレスを示す。なお、外部ボリュームを有するストレージシステム１０１を識別するための情報として、ＷＷＮ（World Wide Name）を用いてもよい。
外部ＶＯＬ＃２０１４は、ストレージシステム１０１内で外部ボリュームを識別するための番号(ボリューム表３２１に保持されているＶＯＬ＃１１１１)を示す。
【００７１】
第２実施形態で、ボリューム再配置を並列実行するための各フローチャートは、図１１、１４Ａ、１４Ｂ，および１５と等しい。ただし、図１１のフローチャートのステップ１２０５を実行する際、第１実施形態では、マイグレーション対応表４２６とストレージ表４２１の情報に基づいて最大並列実行数を策定していたが、第２実施形態では、マイグレーション対応表４２６、ストレージ表４２１に加え、外部ボリューム表１９１１の情報を用いて、最大並列実行数を策定する。
例えば、移行元ボリュームが外部ボリュームで構成される場合、最大並列実行数は、外部ボリュームが属するストレージシステム１０１のコントローラ構成から計算する。順番管理プログラム４１２は、外部ボリュームが属するストレージシステム１０１の情報を取得し、図１１のフローチャートに従い、最大並列実行数を計算する。
【００７２】
また、例えば、移行元ボリュームがストレージシステム１０１に属する外部ボリュームであり、移行先ボリュームが仮想化装置に接続される、移行元ボリュームが属するストレージシステム１０１以外のストレージシステム１０１に属する外部ボリュームもしくは、仮想化装置１０７に属するボリュームの場合、移行元ボリュームのデータは、ボリューム再配置時には、仮想化装置のキャッシュに格納されるため、最大並列実行数は仮想化装置１０７のコントローラ構成から計算する。順番管理プログラム４１２は、仮想化装置１０７の情報をストレージ表４２１から取得し、図１１のフローチャートに従い、最大並列実行数を計算する。
【００７３】
図１９および図２０は、管理者が設定したマイグレーショングループから、データ再配置の最大並列実行数を策定する処理を示すフローチャートである。なお、ステップ２１０１〜２１０４は、図１１のステップ１２０１〜１２０４と同様なので、詳細な記述を省略する。
【００７４】
まず、データ再配置管理プログラム１２１の一つであるテーブル管理プログラム４１３は、ボリューム表４２２からボリュームの構成情報を取得し、管理クライアント１０３のＷｅｂブラウザ１３１（ＧＵＩ）を通じて、管理者に表示する（ステップ２１０１）。
次に、管理者は、ステップ２１０１で表示された情報を元に、マイグレーショングループを作成する。つまり、マイグレーショングループの作成は、以下の２つの操作で行われる。まず、マイグレーショングループＩＤを設定する。次に、そのマイグレーショングループにボリューム再配置の移行元となるボリュームを追加する。
そうすると、テーブル管理プログラム４１３は、マイグレーショングループ表４２３に新しいマイグレーショングループの情報を追加し、また、マイグレーショングループに追加したボリュームについて、ボリューム表４２２のＭＧＩＤ５１２をそのマイグレーショングループＩＤに変更することで、マイグレーショングループの作成を行う(ステップ２１０２)。
【００７５】
次に、管理者は、マイグレーショングループに追加された各ボリュームに対し、移行先となるボリュームを選択する。
テーブル管理プログラム４１３は、ボリューム表４２２の情報と、前記選択されたボリュームの情報から、マイグレーション対応表４２６を作成する(ステップ２１０４)。
順番管理プログラム４１２は、マイグレーション対応表４２６から、移行元および移行先ボリュームが属するストレージシステムを判断し、その情報を取得する(ステップ２１０５)。
【００７６】
ステップ２１０５の結果から、順番管理プログラム４１２は、移行元ボリュームが仮想化装置の外部ボリュームか内部ボリュームかを判断する(ステップ２１０６)。
もし、移行元ボリュームが内部ボリュームであった場合(ステップ２１０６でＮｏ)、ステップ２１０９を実行する。
もし、移行元ボリュームが外部ボリュームであった場合(ステップ２１０６でＹｅｓ)、順番管理プログラム４１２は、移行先ボリュームが移行元ボリュームと同一のストレージシステムに属するかどうかを判断する（ステップ２１０７）。
【００７７】
もし、移行先ボリュームが移行元ボリュームと同一のストレージシステム１０１に属する場合(ステップ２１０７でＹｅｓ)、順番管理プログラム４１２は、外部ボリュームが属するストレージシステム１０１の情報、および、マイグレーション対応表４２６の情報から、ステップ１２０５と同様に最大並列実行数を計算する(ステップ２１０８)。
もし、移行先ボリュームが移行元ボリュームと同一のストレージシステム１０１に属さない場合(ステップ２１０７でＮｏ)、順番管理プログラム４１２は、仮想化装置１０７の情報および、マイグレーション対応表４２６の情報から、ステップ１２０５と同様に最大並列実行数を計算する(ステップ２１０９)。
【００７８】
このように、第２実施形態の計算機システム１００ａによれば、仮想化装置１０７が複数のストレージシステム１０１の記憶資源を論理的に一つの記憶資源として仮想化した場合でも、物理リソースが競合しない（または競合がより少ない）ボリュームを選択することで、効率よく、複数のボリュームを並列に再配置（移行）することができる。
【００７９】
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではなく、ハードウェアやフローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００８０】
【図１】第１実施形態の計算機システムのハードウェア構成図である。
【図２】ストレージシステムの構成図である。
【図３】ストレージ管理サーバの構成図である。
【図４】ボリューム表のテーブル構造を示す説明図である。
【図５】ストレージ階層表のテーブル構造を示す説明図である。
【図６】ストレージ表のテーブル構造を示す説明図である。
【図７】マイグレーショングループ表のテーブル構造を示す説明図である。
【図８】マイグレーション対応表のテーブル構造を示す説明図である。
【図９】マイグレーション順序表のテーブル構造を示す説明図である。
【図１０】ボリューム表のテーブル構造を示す説明図である。
【図１１】管理者が設定したマイグレーショングループから、データ再配置の最大並列実行数を策定する処理を示すフローチャートである。
【図１２】ボリューム再配置処理開始時に、並列実行するボリュームを選択する処理を示すフローチャートである。
【図１３】並列実行決定プロセスの処理を示すフローチャートである。
【図１４】ボリューム再配置が未実行のボリュームを選択し、ボリューム再配置を指示するための処理を示すフローチャートである。
【図１５】ボリューム再配置の並列実行処理の概念図である。
【図１６】第２実施形態の計算機システムのハードウェア構成図である。
【図１７】仮想化装置のハードウェア構成図である。
【図１８】外部ボリューム表のテーブル構造を示す説明図である。
【図１９】仮想化装置使用時におけるデータ再配置の最大並列実行数を策定する処理を示すフローチャートである。
【図２０】仮想化装置使用時におけるデータ再配置の最大並列実行数を策定する処理を示すフローチャートである。
【符号の説明】
【００８１】
１００，１００ａ  計算機システム
１０１，１１１  ストレージシステム
１０２  ストレージ管理サーバ
１０３  管理クライアント
１０４  ホスト計算機
１０５  ストレージネットワーク
１０６  管理ネットワーク
【図１】
2008108020.tif 000003
【図２】
2008108020.tif 000004
【図３】
2008108020.tif 000005
【図４】
2008108020.tif 000006
【図５】
2008108020.tif 000007
【図６】
2008108020.tif 000008
【図７】
2008108020.tif 000009
【図８】
2008108020.tif 000010
【図９】
2008108020.tif 000011
【図１０】
2008108020.tif 000012
【図１１】
2008108020.tif 000013
【図１２】
2008108020.tif 000014
【図１３】
2008108020.tif 000015
【図１４】
2008108020.tif 000016
【図１５】
2008108020.tif 000017
【図１６】
2008108020.tif 000018
【図１７】
2008108020.tif 000019
【図１８】
2008108020.tif 000020
【図１９】
2008108020.tif 000021
【図２０】
2008108020.tif 000022