(57)【要約】【課題】  ストレージ装置の性能、データ特性、リソースの使用状況に応じて、ストレージシステムの最適構成を維持する。【解決手段】  複数の記憶媒体の容量を仮想的に管理するプールと、プールから論理的な記憶装置として定義され、計算機に提供される複数のボリュームとを有するストレージ装置と、ストレージ装置のプールと複数のボリュームの構成を管理する管理サーバとを含むストレージシステムの管理方法であって、ストレージ装置は、複数のボリュームに対し、データ削減技術の適用と不適用を設定し、管理サーバは、複数のボリュームについて、評価値を算出し、算出された評価値とボリュームの評価閾値と比較することで、構成変更すべきボリュームを抽出する。【選択図】  図１
2020086644.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶媒体の容量を仮想的に管理するプールと、プールから論理的な記憶装置として定義され、計算機に提供される複数のボリュームとを有するストレージ装置と、前記ストレージ装置の前記プールと前記複数のボリュームの構成を管理する管理サーバとを含むストレージシステムの管理方法であって、
前記ストレージ装置は、
前記複数のボリュームの第１のボリュームに対し、データ削減技術の適用を設定し、
前記複数のボリュームの第２のボリュームに対し、データ削減技術の不適応を設定し、
前記管理サーバは、
前記第１のボリューム及び第２のボリュームについて、データ削減技術により削減されたデータ削減量をライト性能で除算した評価値を算出し、
算出された評価値とボリュームの評価閾値と比較することで、前記第１のボリュームを、データ削減技術を不適用にする構成変更を行うべきか判定し、前記第２のボリュームを、データ削減技術を適応にする構成変更を行うべきか判定し、構成変更すべきボリュームを移行元ボリューム候補として抽出する、ことを特徴とするストレージシステムの管理方法。
【請求項２】
前記管理サーバは、前記第１のボリュームのデータ削減量がプールの空き容量以下であるかを判定し、構成変更を行う、ことを特徴とする請求項１に記載のストレージシステムの管理方法。
【請求項３】
前記管理サーバは、
抽出された構成変更すべき移行元ボリューム候補の移行先ボリューム候補を、
移行先ボリュームの、ボリューム性能要件、及び、プールの空き容量に基づいて決定する、
ことを特徴とする請求項１に記載のストレージシステムの管理方法。
【請求項４】
前記ストレージシステムは、複数の前記ストレージ装置を有し、
前記管理サーバは、
抽出された構成変更すべき移行元ボリューム候補の移行先ボリューム候補を、
移行先ボリュームの、ボリュームのライト性能及びリード性能であるボリューム性能要件、プールの空き容量、及び、前記ストレージ装置のガベージコレクション速度であるGC性能要件、又は、キャッシュ容量に基づいて決定する、
ことを特徴とする請求項１に記載のストレージシステムの管理方法。
【請求項５】
前記ストレージシステムは、複数の前記ストレージ装置を有し、
前記管理サーバは、
抽出された構成変更すべき移行元ボリューム候補を移行先ボリューム候補に移行する際に、移行元ボリューム候補と移行先ボリューム候補とが、同一ストレージ装置内で共存不可であるボリュームでないかを判定する、ことを特徴とする請求項４記載のストレージシステムの管理方法。
【請求項６】
前記管理サーバは、
前記移行先ボリューム候補が複数存在する場合に、前記移行先ボリューム候補を定義するプールのコストを計算し、
計算されたプールのコストに基づいて、移行先ボリュームを決定する、ことを特徴とする請求項４記載のストレージシステムの管理方法。
【請求項７】
複数の記憶媒体の容量を仮想的に管理するプールと、プールから論理的な記憶装置として定義され、計算機に提供される複数のボリュームとを有するストレージ装置と、前記ストレージ装置の前記プールと前記複数のボリュームの構成を管理する管理サーバとを含むストレージシステムであって、
前記ストレージ装置は、
前記複数のボリュームの第１のボリュームに対し、データ削減技術の適用を設定し、
前記複数のボリュームの第２のボリュームに対し、データ削減技術の不適応を設定し、
前記管理サーバは、
前記第１のボリューム及び第２のボリュームについて、データ削減技術により削減されたデータ削減量をライト性能で除算した評価値を算出し、
算出された評価値とボリュームの評価閾値と比較することで、前記第１のボリュームを、データ削減技術を不適用にする構成変更を行うべきか判定し、前記第２のボリュームを、データ削減技術を適応にする構成変更を行うべきか判定し、構成変更すべきボリュームを移行元ボリューム候補として抽出する、ことを特徴とするストレージシステム。
【請求項８】
前記管理サーバは、前記第１のボリュームのデータ削減量がプールの空き容量以下であるかを判定し、構成変更を行う、ことを特徴とする請求項７に記載のストレージシステム。
【請求項９】
前記管理サーバは、
抽出された構成変更すべき移行元ボリューム候補の移行先ボリューム候補を、
移行先ボリュームの、ボリューム性能要件、及び、プールの空き容量に基づいて決定する、
ことを特徴とする請求項７に記載のストレージシステム。
【請求項１０】
前記ストレージシステムは、複数の前記ストレージ装置を有し、
前記管理サーバは、
抽出された構成変更すべき移行元ボリューム候補の移行先ボリューム候補を、
移行先ボリュームの、ボリュームのライト性能及びリード性能であるボリューム性能要件、プールの空き容量、及び、前記ストレージ装置のガベージコレクション速度であるGC性能要件、又は、キャッシュ容量に基づいて決定する、
ことを特徴とする請求項７に記載のストレージシステム。
【請求項１１】
前記ストレージシステムは、複数の前記ストレージ装置を有し、
前記管理サーバは、
抽出された構成変更すべき移行元ボリューム候補を移行先ボリューム候補に移行する際に、移行元ボリューム候補と移行先ボリューム候補とが、同一ストレージ装置に内で共存不可であるボリュームでないかを判定する、ことを特徴とする請求項１０記載のストレージシステム。
【請求項１２】
前記管理サーバは、
前記移行先ボリューム候補が複数存在する場合に、前記移行先ボリューム候補を定義するプールのコストを計算し、
コストの安いプールから定義されるボリュームを、移行先ボリュームとして決定する、ことを特徴とする請求項１０記載のストレージシステム。
【請求項１３】
前記ストレージ装置が、前記管理サーバに代わり、前記管理サーバの機能を管理部として有する、こと特徴とする請求項１０に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関するもので、特に、時間経過に伴う性能、データ特性の変化に応じた最適構成を維持する技術に関する。
【背景技術】
【０００２】
ストレージ装置の初期導入時に記憶媒体の性能やデータ特性に合わせて、記憶媒体の組合せを選択し、最適なストレージ構成を実現しても、時間の経過に伴い性能やデータ特性が変化してしまい最適な構成ではなくなってしまう。稼働情報の監視結果に基づき構成を変更する技術として、特許文献１がある。特許文献１には、アクセス頻度の高い論理ディスク装置をより高速な物理ディスク装置へ再配置することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−２７４５４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、アクセス頻度に応じて適切な物理ディスクにデータを再配置する技術が開示されているが、データ圧縮やデータ重複排除等のデータ削減技術によるデータ削減率などのデータ特性の変化やデータ削減技術の処理のオーバーヘッド、データ削減技術によって変動する必要なリソースについて考慮がされていない。そのため、最適なストレージ構成、性能や容量問題の発生リスク等を考慮した、データ特性やリソースの使用率等の変化に追従した最適構成についても言及されていない。
【０００５】
データ削減技術を用いたストレージシステムにおいて、最適構成を維持するために、ボリュームマイグレーションを行うが、移行元のボリュームの選定、移行先ボリュームの選定については、データ削減技術特有の要件を満たす必要がある。
【０００６】
そこで、本発明は、データ削減技術を利用したストレージ装置の性能、データ特性、リソースの使用状況に応じて、最適構成を維持するストレージシステム及びストレージシステムの管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によるストレージシステムの管理方法は、好ましくは、複数の記憶媒体の容量を仮想的に管理するプールと、プールから論理的な記憶装置として定義され、計算機に提供される複数のボリュームとを有するストレージ装置と、ストレージ装置のプールと複数のボリュームの構成を管理する管理サーバとを含むストレージシステムの管理方法であって、ストレージ装置は、複数のボリュームの第１のボリュームに対し、データ削減技術の適用を設定し、複数のボリュームの第２のボリュームに対し、データ削減技術の不適応を設定し、管理サーバは、第１のボリューム及び第２のボリュームについて、データ削減技術により削減されたデータ削減量をライト性能で除算した評価値を算出し、算出された評価値とボリュームの評価閾値と比較することで、第１のボリュームを、データ削減技術を不適用にする構成変更を行うべきか判定し、第２のボリュームを、データ削減技術を適応にする構成変更を行うべきか判定し、構成変更すべきボリュームを移行元ボリューム候補として抽出する。
【発明の効果】
【０００８】
本発明によれば、ストレージ装置の性能、データ特性、リソースの使用状況に応じて、最適構成を維持することができる。
【図面の簡単な説明】
【０００９】
【図１】計算機システムの構成図である。
【図２】ストレージ装置の構成図である。
【図３Ａ】ストレージ構成テーブルを示す図である。
【図３Ｂ】キャッシュ構成テーブルを示す図である。
【図３Ｃ】閾値定義テーブルを示す図である。
【図３Ｄ】ＧＣ性能定義テーブルを示す図である。
【図４Ａ】移行方式テーブルを示す図である。
【図４Ｂ】共存不可ボリューム定義テーブルを示す図である。
【図５Ａ】ＶＯＬ性能監視テーブルを示す図である。
【図５Ｂ】ＶＯＬ削減率監視テーブルを示す図である。
【図６Ａ】プール容量テーブルを示す図である。
【図６Ｂ】ＶＯＬテーブルを示す図である。
【図６Ｃ】移行候補ＶＯＬテーブルを示す図である。
【図６Ｄ】移行先候補テーブルを示す図である。
【図７Ａ】構成組合テーブルを示す図である。
【図７Ｂ】移行順序組合テーブルを示す図である。
【図８】構成最適化処理部の処理フロー図である。
【図９】プール容量算出処理部の処理フロー図である。
【図１０】ＶＯＬ性能算出処理部の処理フロー図である。
【図１１】移行判定処理部の処理フロー図である。
【図１２】移行先算出処理部の処理フロー図である。
【図１３】構成算出処理部の処理フロー図である。
【図１４】構成算出処理部の処理フロー図である。
【図１５】移行順序算出処理部の処理フロー図である。
【図１６】移行順序算出処理部の処理フロー図である。
【図１７】移行順序算出処理部の処理フロー図である。
【図１８】移行順序判定処理部の処理フロー図である。
【図１９】移行処理部の処理フロー図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本発明の実施例を説明する。添付図面では、機能的に同じ要素を同じ番号で表示する場合がある。符号の用い方として、例えば、11ａ、11ｂと同種のものを11と纏めて記載する場合がある。図面は、本発明の原理に則った具体的な実施例を示している。
【００１１】
さらに、本発明の実施例においては、後述するように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし、専用ハードウェアで実装してもよいし、又はソフトウェアとハードウェアの組み合わせで実装してもよい。
【００１２】
以下では「プログラム」を主語（動作主体）として本発明の実施形態における各処理について説明を行う場合がある。メモリに格納されたプログラムは、プロセッサによって実行されることで定められた処理を行うため、実際の処理主体はプロセッサであるが、説明のためにプログラムを主語として説明する場合がある。プログラムの一部又は全ては専用ハードウェアで実現してもよく、また、モジュール化されていてもよい。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００１３】
以後の説明では、各種情報をテーブル形式で説明するが、管理用の情報は必ずしもテーブルによるデータ構造で表現されていなくてもよく、リスト、ＤＢ、キュー等のデータ構造やディレクトリ構造等その他の方法で表現されてもよい。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等について単に「情報」と呼ぶことがある。
【００１４】
また、以下ではデータ削減技術の例としてデータ圧縮とデータ重複排除について説明する。データ重複排除処理では、複数のデータの中で、重複する部分を検出し、一つの共有データのみ保持し、複数のデータを共有データに関連付けることによって、保持するデータの総量を削減する。データ圧縮処理は、あるデータをそのデータの実質的な性質（専門用語では「情報量」）を保ったまま、データ量を減らした別のデータに変換する処理である。また、明細書中でボリュームのことを略してVOLと記載することがある。
【実施例１】
【００１５】
＜システム構成＞
ストレージシステムの一実施例を図１により説明する。
図１は、計算機システム1の構成図である。計算機システム１は、ストレージ装置11a、11bを含む管理対象10、計算機（サーバ）13、管理対象10を管理する管理サーバ14がネットワーク12を介して接続されている。図１においては、二つのストレージ装置を示しているが、ストレージ装置の数はこれに限らず、１台であっても、３台以上であってもかまわない。また、ネットワークは、ネットワーク12は、例えばＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、イーサネット（登録商標）などによって構成する。
【００１６】
管理サーバ14は、通常のサーバ等と同様、処理部（プロセッサ）143、記憶装置149等を有する計算機を用いることができる。管理サーバ14は、管理者からの入力情報を入力するキーボード、マウス、タッチパネル等の入力デバイス141、表示装置やプリンター等の出力デバイス142に接続される。管理サーバ14は、ネットワーク12を介して管理対象のストレージ装置11に接続されるインタフェース（Ｉ/Ｆ）147を有している。
【００１７】
記憶装置149には、監視処理部144、構成最適化処理部145等、各種機能を実現するためのプログラムが記憶され、プロセッサ143によって実行される。記憶装置149は、メモリ、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体によって構成される。プロセッサ143が機能を実行する際には、メモリに各種プログラムがロードされて、各種機能を実現する。そのため、実際の構成は、プロセッサ143によって行われる動作も、動作の理解を容易にするため、各種プログラムを主語として記載することがある。
【００１８】
記憶装置149に格納される監視処理部144は、性能監視処理部1441、削減率監視処理部1442というプログラムが含まれる。また、構成最適化処理部145には、プール容量算出処理部1451、VOL(ボリューム)性能算出処理部1452、移行判定処理部1453、移行先算出処理部1454、構成算出処理部1455、移行順序算出処理部1456、移行処理部1457というプログラムが含まれる。移行順序算出処理部1456には、さらに移行順序判定処理部14561というプログラムが含まれる。これら、各プログラムの詳細については、後述する。
【００１９】
記憶装置149は、監視処理部144、構成最適化処理部145等のプログラムの他、ストレージ装置11の状態を表す各種テーブル146が格納されている。各種テーブルについても後述する。
【００２０】
尚、図１では、管理サーバ14を専用の装置として示しているが、管理サーバ14は、ストレージ装置11をＳＤＳ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｓｔｏｒａｇｅ）、やＨｙｐｅｒ  Ｃｏｎｖｅｒｇｅｄ  Ｉｎｆｒａｓｔｒａｃｔｕｒｅ（ＨＣＩ）等のマルチノード構成において、管理サーバに代わり、管理サーバの14の機能を一台或いは複数のノードに持たせた構成であっても良い。管理サーバと管理サーバの機能を有するノードを総称して管理部と称する。
【００２１】
図２は、ストレージ装置の構成を詳細に示した図である。ストレージ装置11a、11bは、ＦＣ−ＳＷ（ファイバチャネルスイッチ）201を介して、複数のサーバ13に接続される。ストレージ装置11のコントローラ202は、ネットワーク12bを介して、管理サーバ14に接続される。
【００２２】
ストレージ装置11は、ＳＳＤ、ＳＡS等の記憶媒体206を束ねて仮想的に管理するプール205、プールから論理的な記憶装置として定義され、サーバ13に提供されるボリューム204を有する。プール205とボリュームはコントローラ202によって、管理される。基本的に記憶媒体206の物理サイズ(プールに登録している物理ディスクの総計)が、プール１の総容量となる。図２には、コントローラ202とキャッシュ203を説明上、分離して記載しているが、コントローラ202にキャッシュ203が含まれていても良い。
【００２３】
＜各種テーブル：静的テーブル＞
図３Ａ−Ｄは、ストレージ装置の状態の内、静的テーブルを示す図である。静的テーブルは、ストレージ装置の構成情報や要件情報等である。図３Ａは、ストレージ装置の構成テーブルを示す。ボリューム毎の識別子310に対し、ストレージ装置の名称311、プールの識別子312、プール容量313、プール容量に対する使用容量限界を示すプール閾値314、キャッシュ名315、圧縮VOLか通常VOLかを示すボリューム種別316、プールを構成する記憶媒体のバイト単価であるコスト317、ボリューム要件318の情報を対応付けて管理する。ボリューム種別は、ストレージ装置11のコントローラ202により、各ボリュームがデータ削減技術を適用するかしないかの設定を表している。
【００２４】
図３Ａにおいて、例えば、識別子310が「１」に対し、ストレージ名称311は「storage1」、プール識別子312は「POOL１」、プール容量313は「550.00GB」、プール閾値314は「60％」、キャッシュ名315は「Cache１」、ボリューム種別316は「圧縮(性能)VOL」、コスト317は「210￥/GB」、ボリューム要件318として、ライト性能(例えば、スループット)は、平均値「100MB/s」、最大値「200MB/s」、リード性能(例えば、スループット)は、平均値「200MB/s」、最大値「400MB/s」が対応して管理されている。
【００２５】
図３Ｂは、静的テーブルの内のキャッシュ構成テーブルを示す。キャッシュ構成テーブルは、データ削減技術（データ圧縮/重複排除）の利用時にメタデータの格納によって消費されるキャッシュ容量を設計指針として定義したものである。キャッシュを識別する識別子320に対し、キャッシュが搭載されるストレージ装置の名称321、キャッシュ名322、キャッシュの容量323、キャッシュの設計指針324を対応付けて管理する。
【００２６】
例えば、識別子320が「１」のキャッシュは、ストレージ装置名称321が「storage1」に搭載され、キャッシュ名322は「Cache１」、キャッシュ容量323が「64GB」、設計指針324として「ボリューム総定義容量×0.001＋圧縮VOLの総定義容量×0.002<キャッシュ容量」が対応して管理されている。
【００２７】
図３Ｃは、静的テーブルの内の閾値定義テーブルを示す図である。データ削減技術が適応されたボリュームや適応されていない通常ボリュームの性能要件を定義したものである。識別子330に対し、識別名331と閾値332が対応して管理されている。例えば、閾値名331「閾値(ON_MB/s)」に対して、閾値「0.5」が対応して管理されている。
【００２８】
図３Ｄは、静的テーブルの内のGC(ガベージコレクション)性能定義テーブルを示す図である。データ削減技術である重複排除、圧縮により不要となったデータ（ガベージ）を整理し、効率よくデータ格納するための処理の速度を、閾値として定義している。ガベージデータの生成量が、ガベージコレクション性能（GC性能）を上回ると、ストレージ装置のリソースであるプール容量が枯渇するため、GC性能定義テーブルとして管理する。
【００２９】
例えば、識別子340が「１」のストレージは、ストレージ名称341が「Storage1」で、GC性能342が「500MB/s」として管理されている。
【００３０】
以上、図３Ａ−Ｄに示した各種テーブルは、図１のテーブル146として記憶されている。図３Ａ−Ｄでは、ストレージ装置が2台の場合を示しているが、台数は１台であっても、３台以上であっても良い。
【００３１】
図４Ａ、Ｂは、静的テーブルの内、移行方式テーブルと共存不可ボリューム定義テーブルとを示している。
【００３２】
図４Ａは、移行方式テーブルを示し、移行元のボリューム411に対し、移行先ボリューム412と、移行手順となる移行方式413、移行にかかる移行時間414と対応して管理する。例えば、識別子410が「１」に対し、移行元411は「通常VOL」、移行先412は「同ストレージ/別プール/通常VOL」、移行方式413は「移行先ボリューム作成→プール間移動→移行元ボリューム削除」、移行時間414は「[使用容量(削減前)]÷0.2」が対応して記憶されている。この場合、移行方式413は、移行先ボリュームを作成し、プールを跨ったボリュームの移動を行い、最後に移行元ボリュームを削除する、という手順を表している。
【００３３】
図４Ｂは、静的テーブルの内、共存不可ボリューム定義テーブルを示している。ボリューム毎の識別子420に対し、識別子で特定される対象ボリュームの名称421、同一のストレージ装置内で対象ボリュームと共存不可となるボリューム名称422が対応して管理されている。例えば、システムの可用性のため、冗長データである複製データを異なるストレージ装置に格納する場合が該当する。図４Ｂは、例えば、識別子420が「1」に対し、対象ボリューム421は「VOL1」、VOL1と共存不可となるボリューム422が「VOL4」であることを示している。図４Ａ、Bに示した各種テーブルは、図１のテーブル146として記憶されている。
【００３４】
＜各種テーブル：動的テーブル＞
図５Ａは、動的テーブルの内、VOL（ボリューム）性能監視テーブルを示した図である。動的テーブルは、ストレージ装置の構成情報や要件情報等に対し、実際にボリュームに対し、データのライトやリード処理を行う際の性能情報等、動的に変化するデータを管理する。ボリュームの性能を監視する機能を利用してボリューム毎に得られる情報が示されている。
【００３５】
例えば、識別子510「１」は、取得日時511「2018/01/18 14:00:00」に取得された、VOL512「VOL1」の性能情報である。この「VOL1」は、POOL513により「POOL１」、Storage514により「Storage1」に所属していることを示している。また、「VOL1」は、重複排除や圧縮技術等のデータ削減機能が動作しているためD＆C（Ｄｅｄｕｐｌｉｃａｔｉｏｎ  ａｎｄ  Ｃｏｍｐｒｅｓｓｉｏｎ）515が「ON」となっていることを示す。さらに、「VOL1」は、使用容量（削減前）516が「100.00GB」であり、定義容量517が「200.00GB」である。ライト性能518は「100MB/s」、リード性能519は「100MB/s」と取得日時に計測されたことを示す。
【００３６】
図５Ａは、同じ「VOL1」に対して、異なる時間に取得された性能も識別子510が「6」で記憶されていることを示している。
【００３７】
図５Ｂは、動的テーブルの内、VOL削減率監視テーブルを示した図であり、ボリューム毎、監視時刻において、データの削減率を管理する。例えば、識別子520が「1」で特定されるボリュームについて取得日時521が「2018/01/18 14:00:00」で、対象ボリューム523が「VOL１」の場合、削減率524は「0.4」であることを示している。図５Ｂも図５Ａと同様、同じ「VOL1」に対して、異なる時間に取得された削減率も識別子520が「6」で記憶されていることを示している。図５Ａ、Ｂに示した各種テーブルは、図１のテーブル146として記憶されている。
【００３８】
図６Ａ−Ｄは、動的テーブルの内、プール容量の使用状況を管理するプール容量テーブル、ボリュームの使用状況を管理するVOLテーブル、運用状況に応じて、ストレージ装置のスループット、データ削減率、リソースの使用率から、コストと性能を最適化するためにボリュームマイグレーションを行う必要があると判断された移行元ボリュームを管理する移行候補VOLテーブル、移行先の候補を管理する移行先候補テーブルを示す。
【００３９】
図６Ａは、プール容量の使用状況を管理するプール容量テーブルを示している。各プールの使用容量が管理されている。
【００４０】
図６Ｂは、VOLテーブルを示している。例えば、識別子620が「１」のボリュームは、VOL621が「VOL1」、POOL622が「POOL１」、Storage623が「Storage1」に所属することを示している。また、「VOL1」は、データ削減技術D&C624が適応されており、使用容量（削減前）625が「100.00GB」、定義容量626が「200.00GB」、削減率627が「0.4」、計測されたライト性能628、リード性能629が対応して管理されている。
【００４１】
図６Ｃは、移行候補VOLテーブルを示している。この例では、移行候補となる移行元ボリュームが、「VOL1」「VOL3」「VOL5」の3つのボリュームであることを示している。
【００４２】
図６Ｄは、移行先候補テーブルを示している。移行元ボリューム641「VOL1」に対して、移行先候補642として、
(1) Storage1/POOL1/圧縮(性能)VOL
(2) Storage1/POOL1/通常VOL
(3) Storage2/POOL4/圧縮(性能)VOL
(4) Storage2/POOL4/通常VOL
の４つのボリュームが移行先候補として管理されていることを示している。図６Ａ−Ｄに示した各種テーブルは、図１のテーブル146として記憶されている。
【００４３】
図７Ａ−Ｂは、動的テーブルの内、構成組合テーブルと、移行順序組合テーブルを示している。図７Ａは、構成組合テーブルを示す。構成組合テーブルは、図６Ｄで示した移行元VOL641に対する移行先ボリュームの組み合わせを示したものであり、全組み合わせの一部を示している。
【００４４】
例えば、構成組合711の「構成１」では、図６Ｄの移行元VOL641「VOL１」「VOL3」「VOL5」のそれぞれの移行先候補(1)の「Storage1/POOL1/圧縮(性能)VOL」が組合された構成713を示している。判定結果714は、GC性能、プール容量、キャッシュ容量、共存不可等の条件を満たすか否かが構成711毎に登録される。さらに、各構成711において、移行元ボリューム712から構成713で管理される移行先ボリュームへデータを移行した際のコスト715が計算され、当該テーブルに記憶される。判定処理については、後述する。
【００４５】
図７Ｂは、移行順序組合テーブルを示し、順序組合721毎に、移行元のボリューム722、移行元ボリュームを移行する順序723、移行条件を満たすか否かの判定結果724を対応させて管理する。GC超過性能725は、GC性能を一時的に超過するが、問題が顕在化しない移行順も許容するために用いられる情報である。図７Ａ−Ｂに示した各種テーブルは、図１のテーブル146として記憶されている。
【００４６】
＜構成最適化処理部＞
図８は、構成最適化処理部の処理フロー図である。この処理では、ストレージ装置のスループット、データ削減率、リソースの使用率からコストや性能を最適化するために、構成変更を行ったほうが良いボリュームを特定し、移行先にボリュームを移行させる処理である。
【００４７】
構成最適化処理部145は、ステップS801でプール容量算出処理部1451がプール容量を算出する。この処理は、図９を用いて後述する。
【００４８】
次に、ステップS802で、VOL性能算出処理部1452がボリュームのライト性能、リード性能及びデータ削減率を算出する。この処理は、図１０を用いて後述する。
【００４９】
ステップS803で、移行判定処理部1453がステップS802で求めた削減率に基づき、ボリュームの評価値を算出し、優先的に圧縮ボリュームとすべきボリューム、優先的に通常ボリュームとすべきボリューム、移行不可になりそうなボリュームを特定し、移行候補VOLテーブルに移行候補となる移行元ボリュームを記憶する。
【００５０】
評価値とは、データ削減技術により削減されたデータ削減量をライト性能等のスループットで除算した値で定義される。この評価値は、構成変更が必要なボリューム、即ち、最適構成から外れているボリュームを選択するための情報として用いられる。この処理は、図１１を用いて後述する。
【００５１】
ステップS803で、移行候補となる移行元のボリュームが特定されると、そのボリュームが移行される移行先ボリュームをステップS804で抽出する。ステップS804は、移行先算出処理部1454がボリュームに要求される性能要求等から移行先の候補となる移行先ボリュームを抽出する。この処理は、図１２を用いて後述する。
【００５２】
ステップS805で、構成算出処理部1455が、移行元ボリュームに対する移行先ボリュームの移行先候補の組合せを算出し、各組合せにおける性能、容量、および共存不可等の条件を満たすか否かの判定結果とコストを構成組合テーブル(図７Ａ参照)に登録する。この処理は、図１３、１４を用いて後述する。
【００５３】
ステップS806で、移行順序算出処理部1456がボリュームの移行順を算出する。この処理は、図１５−１８を用いて後述する。
【００５４】
ステップS807で、移行処理部1457が、ステップS806で算出した移行順に従って、移行元から移行先へボリュームのマイグレーション（移行）を行う。
【００５５】
尚、ステップS801からS807は、一定周期（T1、例えば一日）で繰り返し実行され、ストレージ装置の各ボリュームのスループット、データ特性、使用容量の変化に応じて、性能要件を満たしつつ、より安価な構成となる最適構成を維持する。
【００５６】
＜プール容量算出処理部＞
図９は、プール容量算出処理部1451の処理フロー図であり、図８のステップS801に対応する。
【００５７】
ステップS901で、プール容量算出処理部1451が、図５Ｂに示したVOL削減率監視テーブル、図５Ａに示したVOL性能監視テーブル、図３Ａに示したストレージ構成テーブルに基づいて、各プールのプール使用容量を計算し、図６Ａに示したプール容量テーブルに登録する。
【００５８】
具体的には、（1）当該プールに所属する圧縮ボリュームの使用容量の合計値と、当該プールに所属するデータ削減機能を利用しない通常ボリュームの使用容量の合計値を加算し、プール使用容量を算出する。以下、重複排除（Deduplication）、圧縮（Compression）等のデータ削減機能を利用してデータの削減をしたボリュームを、説明の便宜上、圧縮ボリュームと呼ぶことがある。
【００５９】
例えば、POOL１に所属するボリュームは、図５ＡのVOL性能監視テーブルからVOL１とVOL2であり、それぞれ使用容量は、VOL１が「100.00GB」、VOL2が「200.00GB」である。図３Ａのストレージ構成テーブルからVOL１が圧縮VOL、VOL2が通常VOLである。VOL１のデータ削減率は、図５Ｂから「0.4」である。
【００６０】
従って、POOL１の圧縮VOLの使用容量は、VOL1の使用容量「100GB」と削減率「0.4」から、「60GB」と計算され、POOL１の通常ボリュームの使用容量は、「200GB」であるから、合計値である「260GB」が、図６Ａで示したプール容量テーブルに登録される。
【００６１】
他のPOOLについても、同様にプール容量算出処理部1451が使用容量を計算し、プール容量テーブルに登録する。図６Ａは直近のプール使用容量を計算して登録した情報である。
【００６２】
＜VOL性能算出処理部＞
図１０は、VOL性能算出処理部1452の処理フロー図である。VOL性能算出処理部1452は、図５Ａに示したVOL性能監視テーブルを参照して、ボリューム毎にライト性能とリード性能について、一定周期T1における、平均値と最大値とを図６Ｂに示すVOLテーブルに登録する（S1001）。
【００６３】
尚、図６Ｂに登録される値は、直近のデータである。また、ライト性能の平均値は「Write MB/s(AVG)」として、ライト性能の最大値は「Write MB/s(MAX)」として、リード性能の平均値は「Read MB/s(AVG)」として、リード性能の最大値は「Read MB/s(MAX)」として、図６ＢのVOLテーブルに登録される。
【００６４】
例えば、VOL１は、図５ＡのVOL性能監視テーブルの「VOL1」に関するライト性能、リード性能に基づいて、一定周期T1における平均値と最大値を算出する。その値は、「Write MB/s(AVG)」が「100」、「Write MB/s(MAX)」が「150」、「Read MB/s(AVG)」が「100」、「Read MB/s(MAX)」が「150」というように算出される。
【００６５】
ステップS1001では、図５Ｂに示した各VOLの削減率を参照して、図６ＢのVOLテーブルに各VOLの削減率を登録する。
【００６６】
＜移行判定処理部＞
図１１は、移行判定処理部1453の処理フロー図である。移行判定処理部1453は、ステップS1101で、各ボリュームについて評価値を算出する。評価値は、ボリュームの使用容量（削減前）に削減率を乗算することによって得られるデータ削減量をライト性能「Write MB/s(AVG)」で除算した値として定義される。
【００６７】
例えば、VOL１は、VOLテーブル（図６Ｂ）から、使用容量（削減前）が「100GB」で、削減率が「0.4」、「Write MB/s(AVG)」が「100」であるため、
評価値は、100×0.4/100で、「0.4」と計算される。
【００６８】
このボリューム毎に計算された評価値を用いて、以下に示すステップS1102−S1103で、各ボリュームについて、データ削減技術を不適用にする構成変更を行うべきか、データ削減技術を適応にする構成変更を行うべきか判定し、構成変更すべきボリュームを移行元ボリューム候補として抽出する。
【００６９】
次に、ステップS1102において、閾値定義テーブル（図３Ｃ）を参照して、データ削減機能を使うべき（ONにすべき）ボリュームを抽出し、通常ボリュームの評価値と閾値定義テーブル（図３Ｃ）の評価閾値を比較（評価値＞評価閾値となるかを条件として）して、移行候補VOLテーブル（図６Ｃ）に登録する。
【００７０】
例えば、ステップS1101で、VOL3は評価値が「9」と算出され、VOLテーブル（図６Ｂ）より通常VOLであるため、閾値定義テーブルの評価閾値「2」と比較される。この場合、評価値「9」＞評価閾値「2」の関係が成り立つので、優先的に圧縮ボリュームにすべきボリュームとして、移行候補VOLテーブル（図６Ｃ）に登録される。この処理は、全ての通常VOLに対して行われる。
【００７１】
次に、ステップS1103において、優先的に通常ボリュームとすべきボリュームを抽出する。VOLテーブル（図６Ｂ）から圧縮ボリュームを特定し、圧縮ボリュームの評価値と閾値定義テーブル（図３Ｃ）の評価閾値を比較（評価値＜評価閾値となるかを条件として）することで、優先的に通常ボリュームとすべきボリュームを抽出する。例えば、VOL１は、評価値がステップS1101で「0.4」と算出され、圧縮VOLの評価閾値は閾値定義テーブルから「0.5」であるため、評価値＜評価閾値の関係が成り立ち、優先的に通常ボリュームとすべきボリュームとして抽出され、移行候補VOLテーブルに登録される。
【００７２】
次に、ステップＳ1104で、移行不可になりそうなボリュームを抽出する。抽出条件としては、データ削減機能[D&C]がON、かつ、使用容量(削減前)×削減率≦プール容量×プール閾値-プール使用容量とする。つまり、移行するためのプールの空き容量が十分にあるかを判断する。そのため、移行判定処理部1453は、ストレージ構成テーブルとVOLテーブル、プール容量テーブル、閾値定義テーブルを参照する。
【００７３】
例えば、VOL１は、VOLテーブル（図６Ｂ）より、データ削減機能がONで、使用容量（削減前）が「100GB」、POOL１のプール容量(図３Ａ)が「550GB」、プール閾値(図３Ａ)が「60％」、プール使用容量(図６Ａ)が「260GB」であるため、VOL1:100*0.4≦550*0.6-260となり、抽出条件を満たさないため、抽出されない。同様に、全ボリュームに対して抽出条件を満たすか判定し、満たす場合には、移行候補テーブル(図６Ｃ)に登録する。
【００７４】
このように、運用中の各ボリュームの評価値を算出し、データ削減技術の適用状況に応じた評価閾値と比較することで、データ削減技術に関する構成変更を行う必要が高いボリュームの抽出することができる。
【００７５】
＜移行先算出処理部＞
図１２は、移行先算出処理部1454の処理フロー図である。
移行先算出処理部1454は、ステップS1201で、移行候補VOLテーブル(図６Ｃ)、VOLテーブル(図６Ｂ)、ストレージ構成テーブル(図３Ａ)を参照して、移行候補VOLに対して、性能要件を満たすストレージ構成（ボリューム）を抽出する。
【００７６】
ここで、性能要件とは、
(1) [Write MB/s(AVG)]<ボリューム要件(Write MB/s(AVG))
(2) [Write MB/s(MAX)]<ボリューム要件(Write MB/s(MAX))
(3) [Read MB/s(AVG)]<ボリューム要件(Read MB/s(AVG))
(4) [Read MB/s(MAX)]<ボリューム要件(Read MB/s(MAX))
とする。
【００７７】
例えば、(1)から(4)の性能要件を見ると、VOL1は、[Write MB/s(AVG)]が「100MB」、[Write MB/s(MAX)]が「150MB」、[Read MB/s(AVG)]が「100MB」、[Read MB/s(MAX)]が「150MB」であったとすると、この要件を満たすボリュームは、
(1) Storage1/POOL1/圧縮(性能)VOL
(2) Storage1/POOL1/通常VOL
(3) Storage2/POOL4/圧縮(性能)VOL
(4) Storage2/POOL4/通常VOL
の４つのボリュームが抽出される。
【００７８】
同様に、移行候補VOL3、VOL5についても、性能要件から移行先とすることができるボリュームを抽出し、移行先候補VOLテーブル(図６Ｄ)に登録する。
【００７９】
＜構成算出処理部＞
図１３は、構成算出処理部1455の処理フロー図である。
構成算出処理部1455が、移行先候補テーブル、VOLテーブル、GC性能定義テーブル、ストレージ構成テーブル、キャッシュ構成テーブルを参照して処理を実行する。
【００８０】
ステップS1301において、移行候補（移行元）VOLに対する移行先候補VOLの組合せを構成組み合わせとして算出する。例えば、図６Ｄの移行先候補テーブルを参照すると、VOL１に対しては４通り、VOL3に対しては6通り、VOL5に対しては5通りの移行先候補が存在するので、4×6×5=120通りの構成組合が算出される。
【００８１】
ステップS1302では、VOLテーブル、GC性能定義テーブルを参照して、移行後の構成がGC性能の要件を満たしているかを判定し、判定結果を構成組合テーブル(図７Ａ)に登録する。GC性能とは、ガベージコレクションを行う速度を示す。データ削減技術により、不要となったデータを処理するスピードを示す。GC性能が低いと、移行候補（移行元）から移行先候補にVOLを移行させる構成変更を行っても、GC処理のために狙い通りの性能を維持できなくなるためである。
【００８２】
具体的には、
SUM(移動候補VOLを除く[D&C]が“ON”のボリュームのWrite MB/s(AVG))＋SUM(移動候補VOL&&移行先候補で[D&C]が“ON”のボリュームのWrite MB/s(AVG))<[GC MB/s]の関係が成立するかを判定する。SUMは、当該ストレージに所属する該当ボリュームの平均スループットを合計する。
【００８３】
例えば、構成１では、移行候補VOLがVOL1、VOL3、VOL5を考える。移行候補VOL１に対して、Storage1/POOL1/圧縮(性能)VOLがVOL移行先候補として、移行候補VOL3に対して、Storage1/POOL1/圧縮(性能)VOLがVOL移行先候補として、移行候補VOL5対して、Storage1/POOL1/圧縮(性能)VOLがVOL移行先候補として組合され、GC性能について、判定する。
【００８４】
つまり、VOL1に対して、移動候補VOLを除く[D&C]が“ON”のボリュームはVOL4となり、そのWrite MB/s(AVG)は、VOLテーブルより「50MB/s」となる。
【００８５】
そして、移動候補VOL、かつ、移行先候補で[D&C]が“ON”のボリュームは、VOL1、VOL3、VOL5であり、それぞれのVOLのWrite MB/s(AVG)は、「100 MB/s」「10MB/s」「20 MB/s」となり、図３Ｄに示したStorage1のGC性能「500MB/s」以下となるため、問題なしと判定され、図７Ａの構成組合テーブルの判定結果714に「〇」が記載される。同様に、構成２、構成３についても判定され、構成組合テーブルの判定結果に登録される。
【００８６】
次に、ステップS1303で、構成変更処理を行っても、プールの空き容量の要件を満たすかを判定する。プールの空き容量が要件を満たさない場合、データ格納先として容量不足となるためである。
【００８７】
この判定は、例えば、
移行後プール使用容量＜プール容量×プール閾値−最大増加使用容量
で判定する。
因みに、「移行後プール使用容量」は、
[SUM(移動候補VOLを除く[D&C]が”ON”のボリュームの使用容量[削減前]×(1-[削減率]))＋[SUM(移動候補VOLを除く[D&C]が”OFF”のボリュームの使用容量[削減前])＋SUM(移動候補VOL&&移動先候補で[D&C]が”ON”のボリュームの使用容量[削減前]×(1-[削減率]))＋SUM(移動候補VOL&&移動先候補で[D&C]が”OFF”のボリュームの使用容量[削減前])で計算される。
【００８８】
「最大増加使用容量」は、
MAX(移動候補VOLを除く[D&C]が”ON”のボリュームの使用容量[削減前]×[削減率],移動候補で[D&C]がONのボリュームの使用容量[削減前]×[削減率])で計算される。
SUMは、当該プールに所属するボリュームの使用容量の合計、MAXは、当該プールに所属する該当ボリュームの使用容量の増加量の最大値を示す。
【００８９】
例えば、構成組合テーブル(図７Ａ)に記載された構成１については、POOL1は問題あり、POOL２−４は問題なしと判定される。従って、判定結果としては、構成組合テーブル(図７Ａ)には、プール容量の要件を満たさないので「×」と登録される。
【００９０】
次に、ステップS1304で、キャッシュ構成テーブル(図３Ｂ)とVOLテーブル(図６Ｂ)を参照し、移行後の構成がキャッシュの要件を満たしているか判定し、判定結果を構成組合テーブル(図７Ａ)のキャッシュの項目に登録する。
【００９１】
この判定は、例えば、「移行後ボリューム総定義容量」と「移行後圧縮ボリューム総定義容量」が「設計指針」を満たしているかによって行われる。
ちなみに、「移行後ボリューム総定義容量」は、SUM(移動候補VOLを除くボリュームの定義容量)＋SUM(移動候補VOLのボリューム定義容量)で計算される。
【００９２】
また、「移行後圧縮ボリューム総定義容量」は、SUM(移動候補VOLを除く[D&C]が“ON”のボリュームの定義容量)＋SUM(移動候補VOL&&[移動先候補で[D&C]が“ON”のボリュームの定義容量)で計算される。尚、SUMは、当該キャッシュに所属する該当ボリュームの定義容量を合計する。
【００９３】
構成１については、CACHE１−CHACHE3について、構成変更をおこなってもキャッシュの要件を満たすこととなるため、図７Ａのキャッシュに「〇」が登録される。
【００９４】
図１３に示した判定により、構成変更によりGC性能、プール空き容量、キャッシュ容量について判定し、判定結果を図７Ａに登録する。本実施例では、GC性能、プール空き容量、キャッシュ容量の3つを示したが、GC性能、キャッシュ容量については、移行後の構成により性能要件を満たさない場合であっても、ストレージ装置の管理者によって許容されると判断した場合には、構成変更を実施することはできる。一方、プールの空き容量については、構成変更で必ず必要となるリソースであるため、要件を満たさない場合には、構成変更ができない。
【００９５】
従って、プールの空き容量の判定は必須条件とであり、GC性能およびキャッシュ容量については性能維持のためのオプションとなる。また、GC性能、プール空き容量、キャッシュ容量の判定順は、図１３に示したものに限られず、他の順であっても良い。
【００９６】
図１４は、構成算出処理部1455の処理フロー図である。構成算出処理部1455は、ステップS1401で、共存不可ボリューム定義テーブル(図４Ｂ)、VOLテーブル(図６Ｂ)を参照し、構成組合の中で、共存不可ボリュームが同一プールに存在しないかを判定する。
【００９７】
判定結果は、図７Ａの判定結果714に登録される。構成１については、構成変更後各プールに共存不可のボリュームが含まれていないため、肯定的な判定となり「〇」が登録される。
【００９８】
次に、ステップ1402では、ストレージ構成テーブル、VOLテーブルを参照して、各構成組合の各プールのコストを算出(移行後の構成のコストを算出)する。移行先ボリューム候補が複数存在する場合に、最小コストの構成を抽出するためである。
因みに、コストは、各プールのコストの和を当該構成組合の[コスト(\)]とし、例えば、以下の計算によって算出される。
【００９９】
SUM(移動候補VOLを除くボリューム&&[D&C]が“ON”のボリュームの[使用容量(削減前)]×(1-[削減率])×”圧縮VOL”の[コスト])＋SUM(移動候補VOLを除くボリューム&&[D&C]が“OFF”のボリュームの[使用容量(削減前)]×”通常VOL”の[コスト])＋SUM(移動候補VOL&&移動先候補で[D&C]が“ON”のボリュームの[使用容量(削減前)]×(1-[削減率])×”圧縮VOL”の[コスト])＋SUM(移動候補VOL&&移動先候補で[D&C]が“OFF”のボリュームの[使用容量(削減前)]×”通常VOL”の[コスト])=[各プールのコスト]。ここで、SUMは、当該プールに所属する該当ボリュームの使用容量にコスト(\/GB)を積算した値を合計する。
【０１００】
ステップS1402で計算された構成組合のコストを図７Ａのコスト欄715に登録する。
同様に、構成２、構成３等、全ての構成組合にいて図１３、１４の判定と計算を行い、図７Ａのようにその結果を構成組合テーブルに登録する。尚、本実施例では、VOL1に4通り、VOL3に6通り、VOL5に5通りの移行先候補が存在するので、4×6×5=120通りの構成組合が考えられ、120通りの構成について、判定結果と計算結果を登録することになる。
【０１０１】
このように、ボリュームの性能要件、移行時に必要となるプールの空き容量等を考慮して、移行元ボリューム候補が移行される移行先ボリューム候補を抽出するため、データ削減技術に関する構成変更を行ってもプール容量が枯渇することがない。
【０１０２】
また、データ削減技術特有のGC性能やデータ削減技術のメタデータを格納するために必要となるキャッシュ容量を、それぞれ限界値と比較して移行先ボリュームを決定するので、ボリューム移行に際してストレージ装置のGC性能やキャッシュ容量等のリソースが枯渇することがない。
【０１０３】
＜移行順序算出処理部＞
図１５は、移行順序算出処理部1456の処理フロー図である。移行順序算出処理部1456はステップS1501で、構成組合テーブルを参照し、判定結果が肯定的「〇」で、コストが低い組合を選択する。ここでは、図７Ａの「構成３」が選択されたものとする。
【０１０４】
次に、ステップS1502で「構成３」の移行順序の組合せを算出する。「構成３」には、移行元VOLとしてVOL1、VOL3、VOL5の3つのVOLがあり、それぞれに対する移行先713に移行する順序の組合せを算出し、図７Ｂの移行順序組合テーブルに記憶する。
【０１０５】
次に、ステップS1503で、移行元VOLと移行先VOLから、[移行方式]を算出する。即ち、各ボリュームの現在の構成(VOLテーブル参照)と、移行後の構成(選択した構成組合参照)から、図４Ａの移行方式のどれに該当するかを判定する。
【０１０６】
例えば、構成３は以下のような移行が行われる。
VOL1は、移行前がStorage1/POOL1/圧縮VOLで、移行後がStorage1/POOL1/圧縮VOLであるため、移行方式テーブルの移行方式#10に該当すると判定する。
また、VOL3は、移行前がStorage1/POOL2/通常VOLで、移行後がStorage1/POOL1/圧縮VOLであるため、移行方式#3に該当すると判定する。
【０１０７】
ステップS1504は、移行順序組合の一つを選択し、全ての組合せについて、ステップS1505、ステップS1506の処理を行うループに入る。
【０１０８】
ステップS1505では、VOLテーブル、GC性能定義テーブル、ストレージ構成テーブル、キャッシュ構成テーブル、プール容量テーブルを参照し、現状構成の各リソースの使用状況を算出する。ここで、各リソースとは、各プールのプール空き容量、各ストレージのGC空き性能、各キャッシュのボリューム総定義容量、各キャッシュの圧縮ボリューム総定義容量である。
ちなみに、各プールの「プール空き容量」は、「プール容量×プール閾値-プール使用容量」で算出することができる。
【０１０９】
各ストレージの「GC空き性能」は、「GC MB/s-SUM(圧縮ボリュームへの[Write MB/s])」で算出することができる。SUMは、当該ストレージに所属する該当ボリュームの平均スループットを合計する。
【０１１０】
各キャッシュの「ボリューム総定義容量」は、「SUM(ボリュームの[定義容量])」で算出することができる。SUMは、当該キャッシュに所属するボリュームの定義容量を合計する。
【０１１１】
キャッシュの「圧縮ボリューム総定義容量」は、「SUM(圧縮ボリュームの[定義容量])」で算出することができる。SUMは、当該キャッシュに所属する該当ボリュームの定義容量を合計する。
【０１１２】
ここで、各ストレージにおける一時的に超過するGC性能を記録する変数を初期化することができる。GC性能が一時的に要件を超過するが、問題が顕在化しない移行順序も実施できるようにするためである。
【０１１３】
ステップS1506で、移行順序判定処理部14561がステップごとに、各プールの空き容量、各ストレージのGC空き性能、各キャッシュの定義容量を増減させて、各リソースの限界値を超えていないかを判定する。例えば、順序1「VOL1→VOL3→VOL5」の場合、「VOL1(ステップ1:何もしない)→VOL3(ステップ2:移行先ボリューム作成→ステップ3:プール間移動→ステップ4:移動元ボリューム削除→ステップ5:圧縮有効化)→VOL5(ステップ6:移行先ボリューム作成→ステップ7:ストレージ間移動→ステップ8:移動元ボリューム削除)の各ステップについて、各リソースの限界値を超えていないかを判定する。判定結果は、移行順子組合テーブルの判定結果に登録される。
【０１１４】
全ての移行順序組合について、判定が終了すると、ステップS1508において、判定結果が全て肯定的「〇」の移行順序組合せがあるか判断し、あれば、ステップS1509で移行処理部が移行処理を行う。
【０１１５】
このように、移行先ボリューム候補が複数存在する場合に、移行後のコストが最小となる構成組合で、移行中に各リソースの性能限界が超過しないような移行順序を決定することができる。
【０１１６】
図１５の処理では、全ての判定結果が肯定的な場合に移行処理を実施することとしたが、GC性能が限界値を超えた場合であっても、問題が顕在化しない場合がある。こういった場合、移行後のコストが最小となる構成組合で、移行中に問題が顕在化しないような移行順序の算出方法を、図１６を用いて説明する。
【０１１７】
移行順序算出処理部1456は、ステップS1601で移行順序組合テーブルを参照して、移行順序の組合の中で、「GC性能」以外の判定結果が肯定的「○」な組合を抽出する。
【０１１８】
次に、ステップS1602で、移行方式テーブルとVOLテーブルを参照して、各VOLの[使用容量(削減前)]と[移行方式]から、移行時間[s]の見積を行う。全てのVOLの移行時間を算出する。移行時間は、移行順序に従ってVOLを移行した場合の総移行時間である。
【０１１９】
次に、ステップS1603で、移行順序組合の中から一つを取り出し、全ての組合せについて、ステップS1604、ステップS1605の処理を行うループに入る。
ステップS1604では、VOLテーブル、GC性能定義テーブル、ストレージ構成テーブル、キャッシュ構成テーブル、プール容量テーブルを参照し、各プールの空き容量、各ストレージのGC空き性能、各キャッシュのボリューム総定義容量、各キャッシュの圧縮ボリューム総定義容量をそれぞれ計算する。
【０１２０】
ちなみに、それぞれ以下の考え方で求めることができる。
各プールの空き容量は、[プール容量]×[プール閾値]-[プール使用容量]-([超過GC性能]÷1024)×[移行順序組合の総移行時間]
各ストレージのGC空き性能は、[GC MB/s]-SUM(圧縮ボリュームへの[Write MB/s])＋[超過GC性能]
各キャッシュのボリューム総定義容量は、SUM(ボリュームの[定義容量])
各キャッシュの圧縮ボリューム総定義容量は、SUM(圧縮ボリュームの[定義容量])
でそれぞれ計算する。
【０１２１】
ここで、一時的に超過するGC性能[超過GC性能]×[総移行時間]で移行中にガベージデータの増加により消費されるプール容量の最大値を見積もる。
この最大値を各プールの空き容量から減算したうえで、「移動順序判定処理」をすることによって、一時的にGC性能が超過しても、問題が顕在化しないかを判断できる。
【０１２２】
次に、ステップS1605で移動順序判定処置部14561が処理を実行し、移行順序組合テーブルに処理結果を登録する。
ステップS1604、S1605の処理は、移行順序組合せの数だけ実行される（S1606）。
【０１２３】
図１７は、移行順序算出処理部1456の処理フローである。
ステップS1701で、判定結果がすべて肯定的「○」な移行順序組合があるかを判定し、ある場合には、ステップS1702に進み移行処理部1457が移行処理を実行する。
【０１２４】
一方、全ての判定結果が肯定的でない場合、ステップS1703で次点の構成組合があるかを判定する。次点の構成組合せとは、例えば、GC性能のみが否定的な場合である。次点の構成組合がある場合には、ステップS1704に進み、次点の構成組合を選択して、移行順序算出処理部1456による処理を実行する。次点の構成組合がない場合には、ステップS1705に進み、「移行不可」のメッセージを出力する。
【０１２５】
＜移行順序判定処理部＞
図１８は、移行順序判定処理部14561の処理フロー図である。移行順序判定処理部14561は、ステップS1801で、移行順序組合せの移行ステップの一つを選択する。
【０１２６】
ステップS1802で、順序組合(n)のy番目の移行ステップが圧縮無効化であるか判定する。圧縮無効化である場合には、ステップS1803に進み、圧縮無効化でない場合はステップS1804に進む。
【０１２７】
ステップS1803で、移行後の、対象VOLの所属するプールについてプール空き容量と、対象VOLが所属するストレージ装置のGC空き性能と、対象VOLが所属するキャッシュに対して圧縮ボリューム総定義容量を計算する。
【０１２８】
例えば、移行後の「プール空き容量」は、移行前[プール空き容量]−対象VOLの圧縮無効化後の増加容量、で計算できる。
また、対象VOLが所属するストレージ装置の「GC空き性能」は、[GC空き性能]＋対象VOLへの[Write MB/s(AVG)]、で計算できる。
また、「圧縮ボリューム総定義容量」は、[圧縮ボリューム総定義容量]−[対象VOLの定義容量]、で計算できる。
尚、プール空き容量の計算結果、「０」以下となる場合には、移行不可と判定する。
【０１２９】
ステップS1804で、ボリューム移行がプール間移行するものがあるかを判定する。例えば、順序組合(n)のy番目の移行ステップが[プール間移動]であるかを判定する。
【０１３０】
ステップS1804の判定結果、プール間移行がある場合には、ステップS1805に進み、プール間移行がない場合には、ステップS1806に進む。
【０１３１】
ステップS1805では、移行先のプールについてプール空き容量、移行先のプールのキャッシュについてボリューム総定義容量を計算し、各リソースの要件を満たしているか判定する。また、共存不可ボリュームが同一プールに存在すれば、移行不可と判定する。
【０１３２】
例えば、「プール空き容量」は、[プール空き容量]−[対象VOLの使用容量(削減前)]、で計算できる。プール空き容量が「０」未満なら移行不可と判定する。
また、「ボリューム総定義容量」は、[ボリューム総定義容量]＋[対象VOLの定義容量]で、計算できる。キャッシュの[設計指針]を確認し、満たせないなら移行不可と判定する。
【０１３３】
ステップS1806で、移行処理がストレージ装置間であるか判定する。例えば、順序組合(n)のy番目の移行ステップが[ストレージ間移動]であるかを判定する。ステップS1806の判定で、YESの場合には、ステップS1807に進み、NOの場合にはステップS1808に進む。
【０１３４】
ステップS1807では、移動先の、「プール空き容量」、「キャッシュ空き容量」、「共存不可ボリューム」についてそれぞれ判定し、要件を満たさない場合には、移行不可と判定する。
ここで、「プール容量」は、[プール空き容量]−[対象VOLの使用容量(削減前)]、で計算できる。[プール空き容量]<0なら移行不可と判定する。
【０１３５】
移行先のプールのキャッシュについて、「ボリューム総定義容量」は、[ボリューム総定義容量]＋[対象VOLの定義容量]、で計算できる。キャッシュの[設計指針]を確認し、満たせないなら移行不可と判定する。
「共存不可ボリューム」については、同一プールに存在すれば、移行不可と判定する。
【０１３６】
ステップS1808で、移行ステップの中に移行先VOLを圧縮VOLとするか、即ち、順序組合(n)のy番目の移行ステップが圧縮有効化であるか判定する。判定結果、YESの場合には、ステップS1809に進み、NOの場合には、ステップS1810に進む。
【０１３７】
ステップS1809では、圧縮VOLとした場合の移行先のリソースが限界値以下かを判定する。つまり、対象VOLの所属する「プールの空き容量」、対象VOLの所属するストレージについて「GC空き性能」、対象VOLの所属するキャッシュについて「圧縮ボリューム総定義容量」を計算し、それぞれの限界値と比較する。
【０１３８】
例えば、「プールの空き容量」は、[プール空き容量]＋対象VOLの有効化後の減少容量、で計算できる。
「GC空き性能」は、[GC空き性能]−対象ボリュームへの[Write MB/s(AVG)]、で計算できる。[GC空き性能]<0なら移行不可と判定する。
圧縮ボリューム総定義容量は、[圧縮ボリューム総定義容量]＋[対象VOLの定義容量]、で計算できる。キャッシュの[設計指針]を確認し、満たせないなら移行不可と判定する。
【０１３９】
ステップS1810では、移行元ボリュームを削除するステップであるかを判定する。例えば、順序組合(n)のy番目の移行ステップ=[移行元ボリューム削除]で判定する。判定の結果、YESの場合、ステップS1811に進み、NOの場合、ステップS1812に進む。
【０１４０】
ステップS1811では、移行元プールに関する「プール空き容量」、移行元キャッシュに関する「ボリューム総定義容量」等のリソースの計算を行う。
例えば、「プール空き容量」は、[プール空き容量]＋[対象VOLの使用容量(削減前)]、で計算できる。
また、「ボリューム総定義容量」は、[ボリューム総定義容量]−[対象VOLの定義容量]、で計算できる。
【０１４１】
＜移行処理部＞
図１９は、移行処理部1457の処理フロー図である。移行処理部1457は、ステップS1901で移行順序組合テーブルから選択された移行順序の組合に従い構成変更を実施する。移行順序を構成する各移行は移行元VOLと移行先VOLを選択した、通常のボリュームマイグレーションと、データ削減技術（圧縮・伸長或いは、重複排除をするしない）を用いたデータ移行であるため、詳細な説明は割愛する。
【０１４２】
以上の通り、本実施例によると、ストレージ装置の使用中に変化する、ストレージ装置の各ボリュームのスループット性能、データ削減率を考慮したコスト、使用容量に基づいて、構成変更が必要なボリューム（最適構成から外れてしまったボリューム）を特定することができる。
【０１４３】
また、構成変更が必要なボリュームを移行元とし、移行元ボリュームの性能要件を満たしつつ、最適構成とするための移行先ボリュームを抽出することができる。
【０１４４】
また、移行先ボリュームの抽出において、移行先のリソース要件（移行先のプール容量、移行先ストレージ装置のキャッシュ容量やガベージコレクション性能が限界値を超えない）を満たす移行先ボリュームを抽出することができる。
また、低コスト（ビット単価）な移行先ボリュームを抽出することができる。
【０１４５】
ストレージ装置或いはストレージシステムの稼働中に、ストレージ装置或いはストレージシステム全体でコスト削減効果が高い構成を維持できる。
【符号の説明】
【０１４６】
１：計算機システム、11：ストレージ装置、12：ネットワーク、13：サーバ、14：管理サーバ、143：処理部、144：監視処理部、1441：性能監視処理部、1442：削減率監視処理部、145：構成最適化処理部、1451：プール容量算出処理部、1452：VOL性能算出処理部、1453：移行判定処理部、1454：移行先算出処理部、1455：構成算出処理部、1456：移行順序算出処理部、14561：移行順序判定処理部、1457：移行処理部、146：テーブル、202：コントローラ、203：キャッシュ、204：ボリューム、205：プール、206：記憶媒体。
【図１】
2020086644.tif 000003
【図２】
2020086644.tif 000004
【図３Ａ】
2020086644.tif 000005
【図３Ｂ】
2020086644.tif 000006
【図３Ｃ】
2020086644.tif 000007
【図３Ｄ】
2020086644.tif 000008
【図４Ａ】
2020086644.tif 000009
【図４Ｂ】
2020086644.tif 000010
【図５Ａ】
2020086644.tif 000011
【図５Ｂ】
2020086644.tif 000012
【図６Ａ】
2020086644.tif 000013
【図６Ｂ】
2020086644.tif 000014
【図６Ｃ】
2020086644.tif 000015
【図６Ｄ】
2020086644.tif 000016
【図７Ａ】
2020086644.tif 000017
【図７Ｂ】
2020086644.tif 000018
【図８】
2020086644.tif 000019
【図９】
2020086644.tif 000020
【図１０】
2020086644.tif 000021
【図１１】
2020086644.tif 000022
【図１２】
2020086644.tif 000023
【図１３】
2020086644.tif 000024
【図１４】
2020086644.tif 000025
【図１５】
2020086644.tif 000026
【図１６】
2020086644.tif 000027
【図１７】
2020086644.tif 000028
【図１８】
2020086644.tif 000029
【図１９】
2020086644.tif 000030