以下図面について、本発明の一実施の形態を詳述する。
なお、以降の説明では、「aaaテーブル」等の表現にて本発明の情報を説明するが、これらの情報は必ずしもテーブルのデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」、「aaaリスト」、「aaaDB」、「aaaキュー」等について「aaa情報」と呼ぶことがある。さらに、各情報御の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
(1)第1の実施の形態
(1−1)計算機システムの構成
まず、図1を参照して、本実施の形態にかかる計算機システム1の構成について説明する。図1に示すように、本実施の形態にかかる計算機システム1は、ストレージシステム1050と、ホスト計算機2000a、2000b(以降、ホスト計算機2000a、2000bを単にホスト計算機2000と称する場合もある。)と、データネットワーク3000a、3000b(以降、データネットワーク3000a、3000bを単にデータネットワーク3000と称して説明する場合もある。)と、管理ネットワーク4000と、管理計算機5000と、入出力装置6000と、を備えている。
ストレージシステム1050は、複数のストレージ装置、例えば、ストレージ装置1000a、ストレージ装置1000bから構成される。ストレージ装置1000a、1000bは、以降の説明では、単にストレージ装置1000と称する場合もある。また、あるストレージ装置に接続されるストレージ装置と、接続先のストレージ装置とを明示的に区別するために、前者を外部接続元ストレージ装置、後者を外部接続先ストレージ装置と称して説明する場合もある。
複数のストレージ装置1000とホスト計算機2000とは、データネットワーク3000aを介して接続されている。また、ストレージシステム1050を構成する複数のストレージ装置1000間は、データネットワーク3000bを介して接続されている。データネットワーク3000aおよび3000bは、SAN(Storage Area Network)であっても、IP(Internet Protocol)ネットワークであってもよく、これら以外のデータ通信用ネットワークであってもよい。
また、ホスト計算機2000およびストレージ装置1000は、管理ネットワーク4000を介して管理計算機5000と接続されている。管理ネットワーク4000は、例えば、IPネットワークを例示できるが、SANであっても、これら以外のデータ通信用ネットワークであってもよい。また、データネットワーク3000a、3000bと管理ネットワーク4000とは、異なるネットワークでもよいし、同一のネットワークでもよい。また、本実施形態では、ホスト計算機2000と管理計算機5000とは、別体の計算機として説明しているが、かかる例に限定されず、ホスト計算機2000と管理計算機5000とを一体の計算機として構成してもよい。また、入出力装置6000は、管理計算機5000と管理ネットワーク4000を介して接続されている。
ストレージ装置1000は、データを格納する記憶デバイスを備えた情報処理装置であって、ホスト計算機2000から送信されたコマンドを解釈してストレージ装置1000の記憶領域内へのリード/ライトを実行する。ホスト計算機2000は、ユーザ業務に応じた各種演算処理を実行するコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレーム等から構成される。
管理計算機5000は、システム管理者が計算機システム1を管理するために利用する情報処理装置であって、例えば、パーソナルコンピュータ、ワークステーション又はメインフレーム等から構成される。入出力装置6000は、システム管理者からの入力を受け付けたり、管理計算機5000から送信される処理結果等を受信して出力したりする端末装置であって、例えば、キーボード、スイッチ、ポインティングデバイスなどの入力装置と、ディスプレイやスピーカなどの出力装置とから構成される。本実施形態では、管理計算機5000と入出力装置6000とは別体の装置としたが、かかる例に限定されず、管理計算機5000と入出力装置6000とを一体の装置として構成してもよい。
また、図1では2つのストレージ装置1000から構成される1つのストレージシステムと、2つのホスト計算機2000と、1つの管理計算機5000とから計算機システム1が構成されているが、各装置の数はこれらに限定されない。
ここで、本実施形態の概要について説明する。通常、計算機システム1が扱うデータ量が増加した場合に、データ量の増加に対し、ストレージ装置1000を新規に追加したり、既存のストレージシステム1050間でデータを移行したりすることによって対応している。
ストレージシステム1050間で移行されるデータの単位は、ストレージ装置1000にデータを格納するホスト計算機2000に利用される記憶領域の単位であり、例えば、単一のハードディスク装置(HDD:Hard Disk Drive)から構成される論理ボリュームであったり、複数のハードディスク装置から構成されるRAIDグループ上の論理ボリュームであったり、シンプロビジョニングを利用した仮想ボリュームなどを例示できる。
ここで、シンプロビジョニングとは、ホスト計算機2000に対して仮想ボリュームを提供し、ホスト計算機2000から仮想ボリュームに対するデータの書込み要求があったときに、データを格納するための物理的な記憶領域を動的に仮想ボリュームに割り当てる機能である。このようなシンプロビジョニング機能によれば、現実に提供可能な記憶領域よりも大きな容量の仮想ボリュームをホスト計算機2000に提供することができる。また、最近では、性能の異なる複数種類のハードディスク装置を用いて効率的にストレージ管理を行うことが行われている。例えば、階層ストレージ管理と呼ばれる管理手法では、アクセス頻度の高いデータが格納された領域に対しては高速および高性能な記憶階層から記憶領域を割り当て、アクセス頻度の低いデータが格納された領域に対しては低速および低性能な記憶階層から記憶領域を割り当てる。
また、移行されるデータが格納されている移行元の記憶領域の情報と、データの移行先の記憶領域の情報とを取得し、データを移行するために必要な所要時間を算出して、最適なデータ移行プランを作成する技術が開示されている。例えば、高性能な記憶階層に格納されたデータを、低性能な記憶階層に格納されたデータより優先して移行することにより、アクセス頻度の高いデータを優先的に移行することを可能としている。
しかし、上記技術では、データ移行の所要時間を算出するために、複数のストレージ装置1000を管理する管理計算機5000は、データの移行元となるストレージ装置1000aおよびデータの移行先となるストレージ装置1000bから任意の記憶領域に関するすべての情報を取得する必要があった。このため、管理計算機5000とストレージ装置1000との間で転送されるデータ量が膨大となり、ストレージシステム全体の性能を劣化させる可能性があるという課題があった。本実施形態にかかるストレージシステム1では、ストレージ装置1000の記憶領域に関する情報を大幅に削減して、記憶領域に関するすべての情報を得た場合と同等の結果を得ることにより、データの移行処理等を効率化させることを可能としている。
(1−2)各装置の構成
(1−2−1)ストレージ装置の構成
次に、ストレージ装置1000のハードウェア構成およびソフトウェア構成について説明する。図2に示すように、ストレージ装置1000は、ストレージ装置1000全体を制御するディスクコントローラ1200と、データを格納するディスクデバイス1100とから構成される。
ディスクコントローラ1200は、メインメモリ1210と、制御デバイス1220と、ホストI/F1230と、管理I/F1240と、ディスクI/F1250と、外部接続I/F1260とを備える。なお、ストレージ装置1000が、外部接続先として利用される場合には、外部接続I/Fを備えていなくともよい。
メインメモリ1210には、構成管理プログラム1211と、統計情報作成プログラム1215と、ストレージ側物理論理記憶領域対応テーブル1212と、リソース構成テーブル1213と、ストレージ側外部ストレージ構成テーブル1214と、が記憶されている。なお、ストレージ装置1000が、外部接続先として利用される場合には、ストレージ側外部ストレージ構成テーブル1214がメインメモリ1210に記憶されていなくともよい。また、ストレージ装置1000が、シンプロビジョニング機能に対応していない場合には、ストレージ側物理論理記憶領域対応テーブル1212がメインメモリ1210に記憶されていなくともよい。各テーブルの詳細については、後述する。
構成管理プログラム1211は、ストレージ装置1000の構成情報や性能情報を管理するプログラムである。構成管理プログラム1211は、例えば、ストレージ側物理論理記憶領域対応テーブル1212、リソース構成テーブル1213またはストレージ側外部ストレージ構成テーブル1214に格納されている情報を参照したり更新したりする。また、構成管理プログラム1211は、後述する管理計算機5000のシステム管理プログラム5110と通信して、各種情報を送受信する。
統計情報作成プログラム1215は、管理計算機5000の要求に応じて、ストレージ装置1000の構成に関する統計情報を作成する機能を有する。ここで、統計情報とは、所定の記憶領域の単位と、所定の統計情報の粒度とに対応する情報であって、例えば、記憶領域の単位として論理ボリュームまたは仮想ボリュームが例示でき、統計情報の粒度としてリソース毎のセグメント割当数や、論理ボリューム内のデータの占有率などを例示できる。統計情報作成プログラム1215は、管理計算機5000から与えられた記憶領域の単位および統計情報の粒度に対応する情報を各テーブルから取得する。メインメモリ1210に格納されている各テーブルについては、後で詳細に説明する。
制御デバイス1220は、演算処理装置として機能し、メインメモリ1210に記憶されている各種プログラムや演算パラメータ等にしたがって、ストレージ装置1000全体の動作を制御する。
ホストI/F1230は、データネットワーク3000を介してホスト計算機2000と接続するためのインタフェースであって、データや制御命令などの各種情報をホスト計算機2000に送受信する。管理I/F1240は、管理ネットワーク4000を介してホスト計算機2000や管理計算機5000に接続するためのインタフェースであって、データや制御命令などの各種情報をホスト計算機2000や管理計算機5000に送受信する。
ディスクI/F1250は、ディスクコントローラ1200とディスクデバイス1100とを接続するインタフェースであって、データや制御命令などの各種情報をディスクデバイス1100に送受信する。外部接続I/F1260は、データネットワーク3000と外部接続されたストレージ装置1000とを接続するためのインタフェースであって、データや制御命令などの各種情報を外部接続されたストレージ装置1000に送受信する。
ディスクデバイス1100は、複数の物理デバイス(PDEV)1150a、1150b、1150c、1150d(以降、物理デバイス(PDEV)1150と称して説明する場合もある。)から構成される。ここで、ディスクデバイス1100の論理的な構成について説明する。
図3に示すように、ディスクデバイス1100は、一つ以上の論理ボリューム1110(1110a、1110b、1110c、1110d)とプール1120とを備えている。論理ボリューム1110とは、データの記憶単位となる論理的な記憶領域であって、一つ以上の物理リソース1121または仮想リソース1122から生成される。論理ボリューム1110には、ホスト計算機2000によってリード/ライトされる各種データが格納されている。なお、本実施形態では、ディスクデバイス1100には、4つの論理ボリューム1110と1つのプール1120が備えられているが、論理ボリューム等の数はこれらに限定されない。
プール1120は、1つ以上の物理リソース1121または1つ以上の仮想リソースから構成されている。プール1120は、ストレージ装置1000がホスト計算機2000に提供する記憶領域の集合であって、例えば、RAIDグループにより提供されるプールでもよいし、シンプロビジョニングにより提供されるプールであってもよい。例えば、RAIDグループにより提供されるプールの場合には、複数のディスクにより1つのRAIDグループが構成され、1つのRAIDグループが提供する記憶領域上に1または複数の論理ボリュームが定義される。そして、複数のRAIDグループが提供する論理ボリュームが1つのプールとして管理される。RAIDグループとしては、例えば、複数のハードディスクデバイスを1つにまとめて巨大な記憶領域として提供する「RAID0」や、ハードディスクデバイスの冗長度を高めるために、ハードディスク間でミラーリングを行う「RAID1」などを例示できる。
図3では、プール1120は、物理リソース1121と仮想リソース1122から構成されているが、かかる例に限定されず、プール1120は、物理リソース1121のみから構成されていてもよいし、仮想リソース1122のみから構成されていてもよい。また本実施形態では、複数の物理デバイス(PDEV)1150から構成されるRAID上の論理デバイスを、物理リソースとして定義している。また、外部接続技術によって、外部接続元のストレージシステム1050内に作成される論理デバイスを、仮想リソースとして定義している。また、物理リソースと仮想リソースとを特に区別する必要がない場合には、単にリソースと称して説明する。
さらに、図3では、論理ボリューム1110の各種種類を示している。論理ボリューム1110の種類としては、例えば、通常論理ボリューム1110a、外部接続ボリューム1110b、シンプロビジョニングボリューム1110c、ダイナミックシンプロビジョニング1110dなどが挙げられる。
通常論理ボリューム1110aは、ハードディスクデバイスから構成される物理リソース1121(RAIDグループ等)から構成される論理的な記憶領域である。また、外部接続ボリューム1110bは、記憶領域の実体が外部接続先(例えば、ストレージ装置1000b)に存在し、仮想リソース1122から構成される論理的な記憶領域である。
また、シンプロビジョニングボリューム1110cは、上記したように、動的に容量を拡張することが可能な論理ボリュームである。シンプロビジョニングボリューム1110cは、ホスト計算機2000からのデータの書き込み要求を受けた時点で、プール1120に含まれる物理リソース1123または仮想リソース1124からセグメント(所定の領域)を割り当てることにより、動的にボリュームの容量を拡張することができる。
また、ダイナミックシンプロビジョニングボリューム1110dは、シンプロビジョニングボリューム1110cと同様に、動的に容量を拡張することが可能な論理ボリュームである。ダイナミックシンプロビジョニングボリューム1110dは、一度割り当てられたセグメントを、論理ボリュームアクセス状況に応じて、性能(応答性、信頼性など)の異なるセグメントへ動的に割り当てることができる。
なお、図3では、シンプロビジョニングボリューム1110cおよびダイナミックシンプロビジョニングボリューム1110dは、物理リソース1123および仮想リソース1124の両方からセグメントを割り当てることとなっているが、かかる例に限定されず、物理リソース1123または仮想リソース1124のいずれか一方からセグメントを割り当てるようにしてもよい。
次に、図4〜図7を参照して、メインメモリ1210に格納されている各テーブルの詳細について説明する。
ストレージ側物理論理記憶領域対応テーブル1212は、シンプロビジョニング機能における、論理ボリューム1110の論理アドレスと、物理リソース1121または仮想リソース1122とのアドレスの対応関係を管理するテーブルである。ストレージ側物理論理記憶領域対応テーブル1212は、図4に示すように、ボリューム識別子欄12120、論理開始アドレス欄12121、論理終了アドレス欄12122、プール識別子欄12123、リソース識別子欄12124、物理開始アドレス欄12125および物理終了アドレス欄12126から構成される。
ボリューム識別子欄12120には、各論理ボリューム1110を識別するボリューム識別子が格納される。また、論理開始アドレス欄12121には、論理ボリューム1110のセグメントの開始アドレスが格納され、論理終了アドレス欄12122には、論理開始アドレス欄12121に格納された論理開始アドレスに対応する論理ボリューム1110の終了アドレスが格納される。
そして、プール識別子欄12123には、セグメントの割当て元であるリソースを有するプールを識別するプール識別子が格納される。リソース識別子欄12124には、プール1120の物理リソース1121または仮想リソース1122の識別子であるリソース識別子が格納される。物理開始アドレス欄12125には、プール1120の物理リソース1120または仮想リソース1122のリソースの開始アドレスが格納され、物理終了アドレス欄12126には、プール1120の物理リソース1120または仮想リソース1122のリソースの終了アドレスが格納される。
ここで、ストレージ側物理論理記憶領域対応テーブル1212に格納されている情報について説明する。
図5は、図4に示すストレージ側物理論理記憶領域対応テーブル1212に格納されている情報の例を示している。図5に示すように、プール識別子「1」のプール1120の物理リソース0の1000番地から1999番地までが、論理ボリューム(ボリューム識別子0)1110の0番地から999番地に対応している。同様に、物理リソース「1」の0番地から999番地が、論理ボリューム(ボリューム識別子が「0」)1110の1000番地から1999番地に対応している。そして、物理リソース「2」の0番地から2999番地が、論理ボリューム(ボリューム識別子が「0」)1110の2000番地から3999番地に対応している。また、論理ボリューム1110の4000番地から199999番地までは、物理リソースが割り当てられていない状態である。なお、ダイナミックシンプロビジョニングボリューム1110dでは、図5に示す対応関係が、動的に変更される。
次に、リソース構成テーブル1213について説明する。リソース構成テーブル1213は、ストレージ装置1000のディスクデバイス1110に備えられているリソースに関する情報を管理するテーブルである。図6に示すように、リソース構成テーブル1213は、プール識別子欄12130、リソース識別子欄12131、リソース種別欄12132およびリソース構成欄12133から構成される。
プール識別子欄12130には、各リソースが所属するプールを識別するプール識別子が格納される。リソース識別子欄12131には、各リソースを識別するリソース識別子が格納される。リソース種別欄12132には、各リソースの種別を示す情報が格納される。リソース種別とは、記憶媒体の種別を表し、例えば、FC(Fibre channel)、SSD(Solid State Drive)またはSATA(Serial AT Attachment)などを例示できる。リソース構成欄12133には、リソースの構成を示す情報が格納される。リソースの構成を示す情報とは、ストレージ装置1000内部の物理リソースか、ストレージ装置1000に接続された外部のストレージ装置の仮想リソースかを示す情報である。図6では、ストレージ装置1000内部の物理リソースを「内部」とし、ストレージ装置外部の仮想リソースを「外部」としている。
次に、ストレージ側外部ストレージ構成テーブル1214について説明する。ストレージ側外部ストレージ構成テーブル1214は、外部接続の接続元となるストレージ装置1000a(以降、外部接続元ストレージ装置1000aと称する。)内の仮想リソース1122と、外部接続の接続先となるストレージ装置1000b(以降、外部接続先ストレージ装置1000bと称する。)の論理ボリュームとの対応関係を管理するテーブルである。図7に示すように、ストレージ側外部ストレージ構成テーブル1214は、リソース識別子欄12140、ポート識別子欄12141、外部ストレージ識別子欄12142、外部ストレージ側リソース識別子欄12143および外部ストレージポート識別子欄12144から構成される。
リソース識別子欄12140には、外部接続元ストレージ装置1000aの仮想リソース1122を識別するリソース識別子が格納される。ポート識別子欄12141には、外部接続元ストレージ装置1000の仮想リソース1122と、外部接続先ストレージ装置1000bの論理ボリューム1110を接続している、外部接続元ストレージ装置1000a側のポートを識別するポート識別子が格納される。
外部ストレージ識別子欄12142には、外部接続元ストレージ装置1000aの仮想リソース1122に対応する外部接続先ストレージ装置1000bを識別する識別子が格納される。当該識別子は、外部接続先ストレージ装置1000bを特定可能な情報であれば、どのような形式の情報であってもよい。
外部ストレージ側リソース識別子欄12143には、外部接続元ストレージ装置1000aの仮想リソース1122と対応する外部接続先ストレージ装置1000bの論理ボリューム1110を構成するリソースを識別する識別子が格納される。また、外部ストレージポート識別子欄12144には、外部接続元ストレージ装置1000aの仮想リソース1122と外部接続先ストレージ装置1000bの論理ボリューム1110を接続している、外部接続元ストレージ装置1000aのポートを識別するポート識別子が格納される。
(1−2−2)ホスト計算機の構成
次に、図8を参照して、ホスト計算機2000のハードウェア構成およびソフトウェア構成について説明する。図8に示すように、ホスト計算機2000は、メインメモリ2100と、制御デバイス2200と、ホストI/F2300と、管理I/F2400とを備える。なお、ホスト計算機2000には、図示していない、キーボードや表示デバイス等の入出力デバイスが備えられていてもよい。
メインメモリ2100には、各種プログラムや演算パラメータが格納されている。制御デバイス2200は、演算処理装置として機能し、メインメモリ2100に記憶されている各種プログラムや演算パラメータ等にしたがって、ホスト計算機2000全体の動作を制御する。
ホストI/F2300は、データネットワーク3000を介してストレージ装置1000と接続するためのインタフェースであって、データや制御命令などの各種情報をストレージ装置1000に送受信する。管理I/F2400は、管理ネットワーク4000を介してストレージ装置1000または管理計算機5000と接続するためのインタフェースであって、データや制御命令などの各種情報をストレージ装置1000または管理計算機5000に送受信する。
(1−2−3)管理計算機の構成
次に、図9を参照して、管理計算機5000のハードウェア構成およびソフトウェア構成について説明する。図9に示すように、管理計算機5000は、メインメモリ5100と、制御デバイス5200と、管理I/F5300と、ホストI/F5400とを備える。
メインメモリ5100には、システム管理プログラム5110と、データ移行所要時間計算プログラム5112と、統計情報取得プログラム5113と、リソース管理テーブル5150と、管理側外部ストレージ構成テーブル5155と、管理側物理論理記憶領域対応テーブル5160と、ディスクタイプ性能情報テーブル5170と、ポート性能情報テーブル5180と、が記憶されている。
システム管理プログラム5110は、ストレージシステム1050の構成を管理するプログラムであって、具体的には、ストレージ装置1000の構成情報をストレージ装置1000の構成管理プログラム1211から取得して、取得した情報をもとにリソース管理テーブル5150や管理側外部ストレージ構成テーブル5155を更新するプログラムである。
データ移行所要時間計算プログラム5112は、ユーザ操作に応じて、移行対象のボリュームと移行先のボリュームの情報の入力を受け付けて、リソース管理テーブル5150、管理側外部ストレージ構成テーブル5155、管理側物理論理記憶領域対応テーブル5160、ディスクタイプ性能情報テーブル5170およびポート性能情報テーブル5180を参照して、入力されたボリューム間のデータ移行の所要時間を算出するためのプログラムである。
統計情報取得プログラム5113は、ユーザ操作に応じて、統計情報を取得する対象として、任意の記憶領域の単位と、統計情報の粒度の入力を受け付けて、ストレージ装置1000の統計情報作成プログラム1215に入力された情報を提供する。そして、統計情報取得プログラム5113は、ストレージ装置1000の統計情報作成プログラム1215から、入力に応じた統計情報を取得する。
次に、リソース管理テーブル5150について説明する。リソース管理テーブル5150は、管理計算機5000に管理されている1つ以上のストレージ装置1000が有するリソースの情報を管理するテーブルである。リソース管理テーブル5150は、図10に示すように、装置識別子欄51500、プール識別子欄51501、リソース識別子欄51502、リソース種別欄51503およびリソース構成欄51504から構成される。
装置識別子欄51500には、ストレージ装置1000を識別するストレージ装置の識別子が格納される。プール識別子欄51501には、ストレージ装置1000のプール1120を識別するプール識別子が格納される。リソース識別子欄51502には、各プール内のリソースを識別するリソース識別子が格納される。リソース種別欄51503には、各リソースの種別を示す情報が格納される。リソース種別とは、記憶媒体の種別を表し、例えば、FC、SSD、SATAなどを例示できる。リソース構成欄51504には、リソースの構成を示す情報が格納される。リソースの構成を示す情報とは、ストレージ装置1000内部の物理リソースか、ストレージ装置1000に接続された外部のストレージ装置の仮想リソースかを示す情報である。図10では、ストレージ装置1000内部の物理リソースを「内部」とし、ストレージ装置外部の仮想リソースを「外部」としている。
次に、管理側外部ストレージ構成テーブル5155について説明する。管理側外部ストレージ構成テーブル5155は、管理計算機5000に管理され、1つ以上のストレージ装置1000aと、外部接続された外部ストレージ装置1000bとの外部接続の構成を示すテーブルである。管理側外部ストレージ構成テーブル5155は、図11に示すように、ストレージ識別子欄51550、リソース識別子欄51551、ポート識別子欄51552、外部ストレージ識別子欄51553、外部ストレージ側リソース識別子51554および外部ストレージポート識別子欄51555から構成される。
ストレージ識別子欄51550には、外部接続元のストレージ装置1000aを識別するストレージ識別子が格納される。リソース識別子欄51551には、外部接続元のストレージ装置1000a内の仮想リソース1122を識別するリソース識別子が格納される。ポート識別子欄51552には、外部接続元のストレージ装置1000a内の仮想リソース1122と外部接続先ストレージ装置1000b内の論理ボリューム1110を接続している、外部接続元ストレージ装置1000a側のポートを識別するポート識別子が格納される。
外部ストレージ識別子欄51553には、外部接続元ストレージ装置1000a内の仮想リソース1122に対応する外部接続先ストレージ装置1000bを識別する外部ストレージ識別子が格納される。外部ストレージ側リソース識別子51554には、外部接続元ストレージ装置1000a内の仮想リソース1122に対応する外部接続先ストレージ装置1000b内の論理ボリュームを構成するリソースを識別する外部ストレージ側リソース識別子が格納される。外部ストレージポート識別子欄51555には、外部接続元ストレージ装置1000a内の仮想リソース1122と外部接続先ストレージ装置1000b内の論理ボリューム1110を接続している、外部接続元ストレージ装置1000b側のポートを識別する外部ストレージポート識別子が格納される。
次に、管理側物理論理記憶領域対応テーブル5160について説明する。管理側物理論理記憶領域対応テーブル5160は、ストレージ装置1000の構成に関する任意の統計情報を管理するテーブルである。具体的には、統計情報取得プログラム5113が、ストレージ装置1000のストレージ側物理論理記憶領域対応テーブル1212の情報を元にした任意の統計情報をストレージ装置1000から取得して管理側物理論理記憶領域対応テーブル5160に格納する。統計情報とは、例えば、所定の記憶領域の単位と所定の統計情報の粒度に対応する情報であって、例えば、記憶領域の単位として論理ボリュームや仮想ボリュームが挙げられ、統計情報の粒度としてリソース毎のセグメント割当て数や論理ボリューム内のデータの占有率などが挙げられる。図12では、仮想ボリュームに割り当てられているリソースのセグメント数を統計情報として格納する例を挙げて説明する。
管理側物理論理記憶領域対応テーブル5160は、図12に示すように、装置識別子欄51600、ボリューム識別子欄51601、プール識別子欄51602、リソース識別子欄51603および割当済セグメント数51604から構成される。装置識別子欄51600には、ストレージ装置1000を識別する装置識別子が格納される。ボリューム識別子欄51601には、論理ボリューム1110を識別するボリューム識別子が格納される。プール識別子欄51602には、セグメントの割当て元であるリソースを有するプールを識別するプール識別子が格納される。リソース識別子欄51603には、プール1120の物理リソース1121または仮想リソース1122の識別子であるリソース識別子が格納される。割当済セグメント数51604には、各ボリュームに割り当てられた任意リソースのセグメント数が格納される。例えば、ストレージ側物理論理記憶領域対応テーブル1212に格納されている情報のうち、同一種別のリソースから割り当てられているセグメント数を合計した値が格納される。
次に、ディスクタイプ性能情報テーブル5170について説明する。ディスクタイプ性能情報テーブル5170は、物理リソース1121または仮想リソース1122の各リソースのリード(Read)/ライト(Write)性能を管理するテーブルである。ディスクタイプ性能情報テーブル5170は、図13に示すように、装置識別子欄51700、リソース種別欄51701、Read性能欄51702およびWrite性能欄51703から構成される。
装置識別子欄51700には、ストレージ装置1000を識別する装置識別子が格納される。リソース種別欄51701には、各リソースの種別を示す情報が格納される。リソース種別とは、記憶媒体の種別を表し、例えば、FC、SSD、SATAなどを例示できる。Read性能欄51702には、リソース種別に対応するリード(Read)性能が格納される。リード性能は、例えば、「G/Sec」の単位で示されるが、かかる例に限定されず、他の単位で表されてもよい。Write性能欄51703には、リソース種別に対応するライト(Write)性能が格納される。例えば、「G/Sec」の単位で示されるが、かかる例に限定されず、他の単位で表されてもよい。
次に、ポート性能情報テーブル5180について説明する。ポート性能情報テーブル5180は、ストレージ装置1000に含まれる各ポートの性能を示すIOPS(Input Output Per Second)を管理するテーブルである。ポート性能情報テーブル5180は、図14に示すように、装置識別子欄51800、ポート識別子欄51801および最大IOPS欄51802から構成される。
装置識別子欄51800には、ストレージ装置1000を識別する装置識別子が格納される。ポート識別子欄51801には、ストレージ装置1000に含まれる各ポートを識別するポート識別子が格納される。最大IOPS欄51802には、各ポートのIOPSの値が格納される。当該IOPSの値は、カタログやマニュアル等に占められるポートのIPOSの値が格納されてもよい。また、システム管理プログラム5110によりストレージ装置1000から取得されたポートのIPOSの測定値が格納されてもよいし、過去に測定された複数の測定値から傾向を割りだした予測値を格納してもよい。
図9に戻り、制御デバイス5200は、演算処理装置として機能し、メインメモリ5100に記憶されている各種プログラムや演算パラメータ等にしたがって、管理計算機5000全体の動作を制御する。
管理I/F5300は、管理ネットワーク4000を介してストレージ装置1000およびホスト計算機2000と接続するためのインタフェースであって、データや制御命令などの各種情報をストレージ装置1000およびホスト計算機2000に送受信する。
ホストI/F5400は、管理ネットワーク4000を介してホスト計算機2000と接続するためのインタフェースであって、データや制御命令などの各種情報をホスト計算機2000に送受信する。
なお、上記したストレージ装置1000、ホスト計算機2000および管理計算機5000に備えられている各機能は、各装置の制御デバイスが、各装置のメインメモリから読み出して実行する各プログラムによって実現される。各プログラムは、予め各装置のメインメモリに格納されていてもよいし、必要に応じて、各装置が利用可能な媒体を介して、他の装置からメインメモリに格納されてもよい。各装置が利用可能な媒体とは、例えば、読取装置等に着脱可能な記憶媒体や、各装置に接続されるネットワークや、ネットワークを伝搬する搬送波やデジタル信号などの通信媒体などを例示できる。
(1−3)各装置の動作の詳細
次に、計算機システム1における各装置の動作の詳細について説明する。以下では、特に、本実施形態の特徴的な処理を実行する管理計算機5000の動作の詳細について説明する。
以降の説明では「プログラム」を主語として説明を行う場合があるが、プログラムは制御デバイスによって実行されることで定められた処理をメインメモリ及びポート(通信制御デバイス)を用いながら行うため、制御デバイスを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理計算機等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用のハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディア(computer-readable memory media)によって各計算機にインストールされてもよい。
まず、システム管理プログラム5110の処理の詳細について説明する。システム管理プログラム5110は、以下の処理を定期的に実行してもよいし、ユーザ操作に応じて実行してもよい。システム管理プログラム5110は、ストレージ装置1000から構成情報を取得して、取得した構成情報を所定のテーブルに格納する処理を行う。
具体的には、システム管理プログラム5110は、図15に示すように、ストレージ装置1000の構成管理プログラム1212に対して、ストレージ装置1000内のリソースおよび外部ストレージの構成情報を要求する(S1010)。
そして、システム管理プログラム5110は、構成管理プログラム1212により取得されたストレージ装置1000内のリソース構成テーブル1213およびストレージ側外部ストレージ構成テーブル1214の情報を取得する(S1020)。
そして、システム管理プログラム5110は、ステップS1020で取得して構成情報を、リソース管理テーブル5150および管理側外部ストレージ構成テーブル5155に格納する(S1030)。具体的に、システム管理プログラム5110は、各ストレージ装置1000の装置識別子とリソース構成情報とを対応付けてリソース管理テーブル5150に格納する。また、システム管理プログラム5110は、各ストレージ装置1000の装置識別子(ストレージ識別子)と外部ストレージの構成情報とを対応付けて管理側外部ストレージ構成テーブル5155に格納する。
次に、データ移行所要時間計算プログラム5112の処理の詳細について説明する。データ移行所要時間計算プログラム5112は、システム管理者からの入力に応じて以下の処理を実行してもよいし、ストレージ装置1000の論理ボリュームに対するリソースの割り当て状況等を監視する監視プログラム(図示せず)の要求に応じて以下の処理を実行してもよい。
図16に示すように、データ移行所要時間計算プログラム5112は、システム管理者からの入力等に応じてデータ移行にかかる所要時間を算出する処理を行う。具体的には、まず、データ移行所要時間計算プログラム5112は、入力装置6000を介して管理者により入力されたデータ移行のための情報を取得する(S2005)。データ移行のための情報とは、例えば、データ移行の対象となるボリューム(論理ボリューム)の情報やデータの移行先のボリュームの情報などである。ボリュームの情報としては、例えば、図10または図11に示したリソースを識別する情報などである。
そして、データ移行所要時間計算プログラム5112は、統計情報取得プログラム5113に対して、所定の入力に応じた統計情報を要求する(S2010)。具体的に、データ移行所要時間計算プログラム5112は、統計情報取得プログラム5113にステップS2005で取得した移行元ボリュームの情報および移行先のボリュームの情報と、統計情報の単位と、統計情報の粒度および種類とを統計情報取得プログラム5113に提供して、統計情報取得プログラム5113から入力に応じた統計情報を取得する。ここで、統計情報の単位とは、例えば仮想ボリューム単位を例示でき、統計情報の粒度または種類とは、リソース毎のセグメント割当数を例示できる。
そして、データ移行所要時間計算プログラム5112は、ステップS2010で取得した指定したボリュームのリソース割り当てに関する統計情報を取得する(S2020)。なお、本実施形態では、取得する統計情報をボリュームのリソース割り当てに関する情報としたが、かかる例に限定されず、ステップS2010での入力に応じて変化する情報である。統計情報取得プログラム5113による統計情報の取得処理については後で詳細に説明する。
次に、データ移行所要時間プログラム5112は、ステップS2020で取得した統計情報を、管理側物理論理記憶領域対応テーブル5160に格納する(S2030)。管理側物理論理記憶領域対応テーブル5160には、上記したように、ストレージ側物理論理記憶領域対応テーブル1212に格納されている情報のうち、同一種別のリソースから割り当てられているセグメント数を合計した値が格納される。これにより、ストレージ側物理論理記憶領域対応テーブル1212に格納されているすべての情報よりも少ない情報をまとめて取得することができるため、転送するデータ量や転送時間を大幅に短縮することが可能となる。
そして、データ移行所要時間計算プログラム5112は、リソース管理テーブル5150、管理側外部ストレージ構成テーブル5155、管理側物理論理記憶領域対応テーブル5160、ディスクタイプ性能情報テーブル5170、ポート性能情報テーブル5180に格納されている情報を元に、データ移行の所要時間を算出する(S2040)。
ここで、データ移行所要時間算出処理の具体例について説明する。図17に示すように、データ移行所要時間計算プログラム5112は、管理側物理論理記憶領域対応テーブル5160を参照して、ステップS2005において入力されたデータ移行の対象となるボリュームを構成するリソースを特定する(S2050)。
そして、データ移行所要時間計算プログラム5112は、リソース管理テーブル5150を参照して、ステップS2050で特定したリソースの種別と構成を特定する(S2052)。
そして、データ移行所要時間計算プログラム5112は、ステップS2052において特定した構成情報が外部か否かを判定する(S2054)。ステップS2054において、構成情報が外部であると判定された場合には、データ移行所要時間計算プログラム5112は、管理側外部ストレージ構成テーブル5155を参照して、特定したリソースに対応する、外部接続に用いられるポートを特定する(S2056)。さらに、データ移行所要時間計算プログラム5112は、ポート性能情報テーブル5180を参照して、ステップS2056において特定したポートの性能情報を特定する(S2058)。
ステップS2054において、構成情報が外部ではないと判定された場合には、ステップS2060の処理を実行する。そして、データ移行所要時間計算プログラム5112は、ディスクタイプ性能情報テーブル5170を参照して、ステップS2050において特定したリソースの種別に対応するリード/ライト性能を特定する(S2060)。
次に、データ移行所要時間計算プログラム5112は、ステップS2050において特定したリソースに格納されたデータのデータ移行所要時間を計算する(S2062)。例えば、移行元ボリュームが200GBのSSDおよび800GBのFCである場合には、ステップS2060においてSSDのリード性能が10(G/Sec)、FCのリード性能が8(G/Sec)と特定される。したがって、移行元ボリュームのデータ移行所要時間は、次式により算出される。
移行先ボリュームが1000GBのFCでの仮想リソースで構成されている場合には、ステップS2058において、ポート性能が特定される。ポート性能の最大IOPSが10(G/sec)であった場合には、10/5(G/sec)をポート性能としてもよい。また、ステップS2060において、FCのライト性能が4(G/Sec)と特定される。したがって、移行先ボリュームへのデータ移行所要時間は、1000/4+1000/5=250+200=450(sec)となる。よって、データ移行所要時間計算プログラム5112は、移行元ボリュームのデータ移行所要時間と移行先ボリュームのデータ移行所要時間とを加算した値(120+450=570(sec))をデータ移行所要時間とする。
そして、データ移行所要時間計算プログラム5112は、すべてのリソースについてデータ移行所要時間を算出したか否かを判定する(S2064)。ステップS2064において、すべてのリソースについてデータ移行所要時間を算出したと判定された場合には、データ移行所要時間計算プログラム5112は、処理を終了する。一方、ステップS2064において、すべてのリソースについてデータ移行所要時間を算出していないと判定された場合には、データ移行所要時間計算プログラム5112は、ステップS2050以降の処理を繰り返す。
次に、統計情報取得プログラム5113の処理の詳細について説明する。統計情報取得プログラム5113は、ストレージ装置1000の統計情報作成プログラム1215に対して所定の統計情報を要求する。統計情報取得プログラム5113は、上記したデータ移行所要時間計算プログラム5112の指示のもと、以下の統計情報取得処理を実行する。
図18に示すように、まず、統計情報取得プログラム5113は、データ移行所要時間計算プログラム5112から、統計情報取得対象の情報の入力を受け付ける(S3005)。統計情報取得対象の情報とは、例えば、統計情報取得対象の単位と、統計情報取得対象を特定する情報と、統計情報の粒度または種類などである。具体的に、統計情報取得対象の単位として仮想ボリュームを例示でき、統計情報取得対象を特定する情報として移行元または移行先の論理ボリュームを例示でき、統計情報の粒度または種類の情報としてリソース毎のセグメント割当数を例示できる。
そして、統計情報取得プログラム5113は、ステップS3005において受け付けた統計情報取得対象の情報を、ストレージ装置1000の統計情報作成プログラム1215に提供し、統計情報作成プログラム1215に対して、統計情報を要求する(S3010)。そして、統計情報取得プログラム5113は、統計情報作成プログラム1215から、統計情報取得対象の情報に対応する統計情報を取得する(S3020)。具体的に、統計情報作成プログラム1215は、例えば、移行元または移行先の論理ボリュームのうち、対象となる仮想ボリュームについて、仮想ボリュームに割り当てられているセグメント数を、リソース毎に加算した値を統計情報として作成して、統計情報取得プログラム5113に提供する。
なお、ステップS3010において、統計情報取得プログラム5113は、前記取得した時刻を統計情報作成プログラムへ送信してもよい。この場合、統計情報取得プログラム5113は、ステップS3020で統計情報作成プログラムから取得した統計情報の範囲内で、前回取得した時刻から構成が変更された箇所についてのみ統計情報を取得するようにしてもよい。かかる方法によれば、管理計算機5000とストレージ装置1000との間のデータ転送量をさらに削減することができる。
(2)第2の実施の形態
次に、図19〜図22を参照して、本発明の第2の実施の形態について説明する。第1の実施の形態では、ストレージ装置1000から管理計算機5000に転送される統計情報として、仮想ボリュームを構成するセグメント割当情報に関するデータを例示したが、第2の実施の形態では、セグメント割当情報に加えて、セグメントのIOPSの情報、プール内のリソースのセグメント割当情報と、セグメントのIOPSの情報を転送する点で第1の実施の形態と異なっている。以下では、第1の実施の形態と異なる構成について特に詳細に説明し、第1の実施の形態と同様の構成の詳細な説明について省略する。
図19に示すように、本実施形態にかかる管理計算機5000は、メインメモリ5100と、制御デバイス5200と、管理I/F5300と、ホストI/F5400とを備える。
制御デバイス5200と、管理I/F5300と、ホストI/F5400は、第1の実施形態と同様の機能を有するため、詳細な説明は省略する。
メインメモリ5100には、システム管理プログラム5110と、移行先ボリューム性能予測プログラム5114と、統計情報取得プログラム5113と、リソース管理テーブル5150と、管理側の外部ストレージ構成テーブル5155と、管理側物理論理記憶領域対応テーブル5160Bと、ディスクタイプ性能情報テーブル5170と、ポート性能情報テーブル5180と、管理側プール物理論理記憶領域対応テーブル5190と、が記憶されている。本実施形態では、第1の実施の形態において説明したデータ移行所要時間計算プログラム5112がメインメモリ5100に格納されていないが、データ移行所要時間計算プログラム5112がメインメモリ5100に格納されていてもよい。
以下では、第1の実施の形態と異なるプログラムおよびテーブルについて特に詳細に説明する。移行先ボリューム性能予測プログラム5114は、任意のダイナミックシンプロビジョニングボリューム(以降、動的仮想ボリュームと称する)のデータを異なるプールに属する動的仮想ボリュームに移行した場合の性能(例えばレスポンスタイム)を予測するプログラムである。なお、本実施の形態では、移行先ボリューム性能予測プログラム5114の性能予測の対象となるボリュームを動的仮想ボリュームとしたが、かかる例に限定されず、第1の実施の形態で説明した論理ボリューム1110は、例えば、通常論理ボリューム1110a、外部接続ボリューム1110bであってもよい。また、本実施の形態では、動的仮想ボリュームのデータ移行のルールは、IOPSが高いデータほど性能の高いリソースのセグメントに移行するルールとしているが、かかる例に限定されない。ここで、性能とは、マニュアルやカタログ等で示される値(G/sec)を例示できる。
次に、管理側物理論理記憶領域対応テーブル5160Bについて説明する。図20に示すように、管理側物理論理記憶領域対応テーブル5160Bは、ストレージ装置1000の構成に関する任意の統計情報を管理するテーブルである。管理側物理論理記憶領域対応テーブル5160Bは、第1の実施の形態にかかる管理側物理論理記憶領域対応テーブル5160に格納されている情報に加えて、任意の割当済セグメントへの平均IOPSの情報を保持する。
具体的に、平均IOPS欄51605には、ボリュームに割り当てられた任意のリソースのセグメントに対するIOPSの値の平均値が格納される。なお、本実施の形態では、管理側物理論理記憶領域対応テーブル5160Bに保持されるIOPSの値を割当セグメントの平均IOPSの値としたが、例えば、50パーセントタイルのようなIO分布を示す統計情報を格納してもよい。
次に、管理側プール物理論理記憶領域対応テーブル5190について説明する。管理側プール物理論理記憶領域対応テーブル5190は、ストレージ装置1000のプール1120内のリソースに関する統計情報を管理するテーブルであって、図21に示すように、管理側プール物理論理記憶領域対応テーブル5190は、装置識別子欄51900、プール識別子欄51901、リソース識別子欄51902、総セグメント数欄51903、割当済セグメント数欄51904、割当済セグメントへの平均IOPS欄51905から構成される。
装置識別子欄51900には、ストレージ装置を識別する装置識別子が格納される。プール識別子欄51901には、プールと識別するプール識別子が格納される。リソース識別子欄51902には、リソースを識別するリソース識別子欄が格納される。総セグメント数欄51903には、リソースが有する総セグメント数が格納される。割当済セグメント数欄51904には、リソースが有するセグメントのうち、割当済のセグメント数が格納される。割当済セグメントへの平均IOPS欄51905には、任意のリソースの割当済みセグメントへの平均IOPSの値が格納される。
次に、本実施の形態にかかる管理計算機500の動作の詳細について説明する。以下では、特に、第1の実施形態とは異なる本実施形態の特徴的な処理について説明する。以下では特に、移行先ボリューム性能予測プログラム5114の処理の詳細について説明する。
図22に示すように、移行先ボリューム性能予測プログラム5114は、まず、入力装置6000を介して管理者により入力されたデータ移行のための情報を取得する(S4010)。データ移行のための情報とは、例えば、データ移行の対象となるボリューム(論理ボリューム)の情報やデータの移行先のボリュームの情報などである。
次に、移行先ボリューム性能予測プログラム5114は、統計情報取得プログラム5113に対して、所定の入力に応じた統計情報を要求する(S4020)。具体的に、移行先ボリューム性能予測プログラム5114は、ステップS4010で取得した移行元ボリュームの情報および移行先のボリュームの情報と、統計情報の単位と粒度および種類を統計情報取得プログラム5113に提供して、統計情報取得プログラム5113から入力に応じた統計情報を取得する。ここで統計情報の単位とは、仮想ボリュームおよびプールであり、統計情報の粒度および種類とは、リソース毎のセグメント割当数および平均IOPSである。なお、本実施の形態では、リソース毎のセグメント割当数および平均IOPSを統計情報の粒度および種類として例示したが、50パーセントタイルのような粒度および種類であってもよい。
そして、移行先ボリューム性能予測プログラム5114は、ステップS4010で取得した指定したボリュームのリソース割り当てに関する統計情報を取得する(S4030)。なお、本実施形態では、取得する統計情報をボリュームのリソース割り当ておよび平均IOPSに関する情報としたが、かかる例に限定されない。
次に移行先ボリューム性能予測プログラム5114は、ステップS4030で取得した統計情報を、管理側物理論理記憶領域対応テーブル5160Bおよび管理側プール物理論理記憶領域対応テーブル5190に格納する(S4040)。管理側物理論理記憶領域対応テーブル5160Bには、上記したように、ストレージ側物理論理記憶領域対応テーブル1212に格納されている情報のうち、同一種別のリソースから割り当てられているセグメント数を合計した値と各リソースの平均IOPSが格納される。これにより、ストレージ側物理論理記憶領域対応テーブル1212に格納されているすべての情報よりも少ない情報をまとめて取得することができるため、転送するデータ量や転送時間を大幅に短縮することが可能となる。
そして、移行先ボリューム性能予測プログラム5114は、リソース管理テーブル5150、管理側外部ストレージ構成テーブル5155、管理側物理論理記憶領域対応テーブル5160B、ディスクタイプ性能情報テーブル5170、ポート性能情報テーブル5180、管理側プール物理論理記憶領域対応テーブル5190に格納されている情報を元に、移行先の動的仮想ボリュームの性能を算出する(S4050)。
ここで、移行先ボリューム性能予測処理の具体例について説明する。図23に示すように、移行先ボリューム性能予測プログラム5114は、管理側物理論理記憶領域対応テーブル5160を参照して、ステップS4010において入力された移行元ボリュームを構成するリソースおよび移行先ボリュームに対応するプールを構成するリソースを特定する(S4060)。
そして、移行先ボリューム性能予測プログラム5114は、リソース管理テーブル5150を参照して、ステップS4060で特定したリソースの種別と構成を特定する(S4062)。
そして、移行先ボリューム性能予測プログラム5114は、ステップS4062において特定した構成情報が外部か否かを判定する(S4064)。ステップS4064において、構成情報が外部であると判定された場合には、移行先ボリューム性能予測プログラム5114は、管理側外部ストレージ構成テーブル5155を参照して、特定したリソースに対応する、外部接続に用いられるポートを特定する(S4066)。さらに、移行先ボリューム性能予測プログラム5114は、ポート性能情報テーブル5180を参照して、ステップS4066において特定したポートの性能情報を特定する(S4068)。
ステップS4064において、構成情報が外部ではないと判定された場合には、ステップS4070の処理を実行する。そして、移行先ボリューム性能予測プログラム5114は、ディスクタイプ性能情報テーブル5170を参照して、ステップS4060において特定したリソースの種別に対応するリード/ライト性能を特定する(S4070)。
次に、移行先ボリューム性能予測プログラム5114は、ステップS4060において特定したリソースの移行における移行先ボリュームの性能を計算する(S4072)。例えば、移行元ボリュームがリソース1の1000セグメント(平均IOPS=5000)と、リソース2の1000セグメント(平均IOPS=6000)と、リソース3の2000セグメント(平均IOPS3000)とから構成されているとする。そして、移行先ボリュームに対応するプールがリソース10の全セグメント(1000セグメント)が割当済み(平均IOPS=4000)で、リソース11の全セグメント(1000セグメント)が割当済み(平均IOPS=3000)で、リソース2の全8000セグメントのうち2000セグメントが割当済(平均IOPS=2500)と特定できたとする。
また、上記したように、動的仮想ボリュームのデータ移行のルールは、IOPSが高いデータほど性能の高いリソースのセグメントに移行されるため、移行元ボリュームのリソース2上のデータ、移行元ボリュームのリソース1上のデータ、移行先のリソース10上のデータ・・・、の順で高性能のリソースが割り当てられると推測できる。したがって、この推測結果に基づいて、移行先において割り当てられるリソースの割合とメディアの性能とから移行先におけるボリュームの性能を算出することができる。
例えば、移行先のストレージ装置1000bにおける性能の異なる複数のリソースにデータが格納される割合に、各リソースの平均性能を乗じることにより、レスポンス性能を算出することができる。具体的に、移行先のストレージ装置bにおいて、1TB(1024GB)のデータ量のうち、SSDに20%、FCに60%、SATAに20%のデータが格納されると推測されたとする。そして、各リソースの平均レスポンス性能が、SSDが1(Sec)、FCが2(Sec)、SATAが3(Sec)であったとする。この場合、移行先のストレージ装置1000bの全体の平均レスポンス性能は、次式により算出される。
また、本実施の形態では、全セグメント毎のIOPSの情報をストレージ装置1000から取得した方が、ボリュームの性能をより高い精度で見積もることができるが、移行先ボリューム性能予測プログラム5114は、ステップS4020において統計情報の粒度をより細かく設定することにより、より詳細度の高いIOPSの統計情報を取得することができる。統計情報の粒度をより細かく設定するとは、例えば、IOPSが0〜1000のセグメント数、1001〜2000までのセグメント数・・・などを例示できる。これにより、移行先ボリューム性能予測プログラム5114は、データ転送量と統計情報の精度を調整することが可能となる。
なお、ステップS4020で前回取得した時刻を統計情報作成プログラム1215へ送信し、ステップS4030で統計情報作成プログラム1215から取得した統計情報の範囲内で、前回取得した時刻から構成が変更された箇所についてのみ統計情報を取得するようにしてもよい。かかる方法によれば、管理計算機5000とストレージ装置1000との間のデータ転送量をさらに削減することができる。
(3)他の実施の形態
なお、上述の実施形態においては、管理計算機5000に格納されている各種プログラムに基づいて、管理計算機5000の制御デバイス5200が本発明のバックアップ容量算出部、移行元データ決定部、移行先ストレージ装置決定部およびデータ移行指示部などの各種機能を実現しているが、かかる例に限定されない。例えば、制御デバイス5200を管理計算機5000とは別体の他の装置に設けて、当該CPUと協同して各種機能を実現するようにしてもよい。また、管理計算機5000に格納されている各種プログラムを管理計算機5000とは別体の他の装置に設けて、当該プログラムが制御デバイス5200に呼び出されることにより各種機能を実現するようにしてもよい。
また、例えば、本明細書の管理計算機5000等の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、管理計算機5000等の処理における各ステップは、異なる処理であっても並列的に実行されてもよい。
また、管理計算機5000等に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した管理計算機5000等の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。