(57)【要約】  １以上のストレージシステムを管理する管理装置であって、プロセッサとメモリとを含み、前記１以上のストレージ装置は、それぞれが１以上のＯＳ を格納する複数のボリュームを含み、前記プロセッサは、前記複数のボリュームぞれぞれの代表ＯＳのＯＳ種類及びバージョンを決定し、前記複数のボリュームから、代表ＯＳのＯＳ種類及びメジャーバージョンが同一である複数のボリュームを選択し、前記選択した複数のボリュームを、重複排除を行うボリュームで構成されている一つの重複排除グループに含める。
2017208450.tif 000002
【特許請求の範囲】
【請求項１】
１以上のストレージシステムを管理する管理装置であって、
プロセッサとメモリとを含み、
前記１以上のストレージ装置は、それぞれが１以上のＯＳを格納する複数のボリュームを含み、
前記プロセッサは、
前記複数のボリュームぞれぞれの代表ＯＳのＯＳ種類及びバージョンを決定し、
前記複数のボリュームから、代表ＯＳのＯＳ種類及びメジャーバージョンが同一である複数のボリュームを選択し、
前記選択した複数のボリュームを、重複排除を行うボリュームで構成されている一つの重複排除グループに含める、管理装置。
【請求項２】
請求項１に記載の管理装置であって、
前記プロセッサは、
前記複数のボリュームから１以上の重複排除グループを構成し、
前記１以上の重複排除グループの各重複排除グループを、同一ＯＳ種類の代表ＯＳを有するボリュームで構成する、管理装置。
【請求項３】
請求項２に記載の管理装置であって、
前記プロセッサは、前記１以上の重複排除グループの各重複排除グループを、同一バージョン又は連続する複数のバージョンの代表ＯＳを有するボリュームで構成する、管理装置。
【請求項４】
請求項１に記載の管理装置であって、
前記プロセッサは、
前記複数のボリュームから、１以上の重複排除グループをそれぞれ規定個数以下のボリュームで構成する、管理装置。
【請求項５】
請求項１に記載の管理装置であって、
前記プロセッサは、
前記複数のボリュームを、前記代表ＯＳのＯＳ種類及びメジャーバージョンの組で複数の第１ボリュームグループに分類し、
前記複数の第１ボリュームグループにおいて、構成ボリューム個数が規定範囲内であるボリュームグループを、重複排除グループと決定し、前記規定範囲は規定最小個数以上規定最大個数以下であり、
前記複数の第１ボリュームグループにおいて、構成ボリューム個数が前記規定範囲外であるボリュームグループから、構成ボリューム個数が前記規定最大個数以下であり、同一ＯＳ種類及び同一バージョン又は連続する複数のバージョンの代表ＯＳを有するボリュームで、１以上の重複排除グループをそれぞれ再構成する、管理装置。
【請求項６】
請求項５に記載の管理装置であって、
前記プロセッサは、
前記複数の第１ボリュームグループにおいて、構成ボリューム個数が前記規定最大個数を超える過大ボリュームグループそれぞれを、マイナーバージョンによって複数の第２ボリュームグループに分類し、
前記複数の第１ボリュームグループにおいて構成ボリューム個数が前記規定最小個数未満の過小ボリュームグループ及び前記複数の第２ボリュームグループから前記１以上の重複排除グループを構成する、管理装置。
【請求項７】
請求項６に記載の管理装置であって、
前記プロセッサは、前記過小ボリュームグループ及び前記複数の第２ボリュームグループにおいて、同一ＯＳ種類であって連続するバージョンのボリュームグループを統合し、
前記統合したボリュームグループを分割して、前記１以上の重複排除グループを構成する、管理装置。
【請求項８】
請求項１に記載の管理装置であって、
前記プロセッサは、
複数の仮想マシンの複数のＯＳを含む第１ボリュームにおいて、ＯＳ種類及びバージョンの組によって前記複数のＯＳを分類し、
分類された前記複数のＯＳにおいて、ＯＳの個数が最も多いＯＳ種類及びバージョンの組を選択し、
前記選択したＯＳ種類及びバージョンの組を、前記第１ボリュームの代表ＯＳのＯＳ種類及びバージョンの組と決定する、管理装置。
【請求項９】
請求項１に記載の管理装置であって、
前記プロセッサは、
複数の仮想マシンのＯＳを含む第１ボリュームにおいて、ＯＳ種類及びバージョンの組によって前記複数の仮想マシンを分類し、
分類された前記複数の仮想マシンにおいて、前記第１ボリュームに割り当てられている記憶容量の合計が最も多い仮想マシンのＯＳ種類及びバージョンの組を選択し、
前記選択したＯＳ種類及びバージョンの組を、前記第１ボリュームの代表ＯＳのＯＳ種類及びバージョンの組と決定する、管理装置。
【請求項１０】
請求項１に記載の管理装置であって、
前記プロセッサは、新規ボリュームを当該ボリュームが割り当てられるＯＳのＯＳ種類及びメジャーバージョンの代表ＯＳを有するボリュームと同一の重複排除グループを提示する、管理装置。
【請求項１１】
それぞれが１以上のＯＳを格納する複数のボリュームを含む、１以上のストレージシステム、を管理する管理方法であって、
前記複数のボリュームぞれぞれの代表ＯＳのＯＳ種類及びバージョンを決定し、
前記複数のボリュームから、代表ＯＳのＯＳ種類及びメジャーバージョンが同一である複数のボリュームを選択し、
前記選択した複数のボリュームを、重複排除を行うボリュームで構成されている一つの重複排除グループに含める、管理方法。
【請求項１２】
請求項１１に記載の管理方法であって、
前記複数のボリュームから１以上の重複排除グループを構成し、
前記１以上の重複排除グループの各重複排除グループを、同一ＯＳ種類の代表ＯＳを有するボリュームで構成する、管理方法。
【請求項１３】
請求項１２に記載の管理方法であって、
前記１以上の重複排除グループの各重複排除グループを、同一バージョン又は連続する複数のバージョンの代表ＯＳを有するボリュームで構成する、管理方法。
【請求項１４】
請求項１１に記載の管理方法であって、
前記複数のボリュームから１以上の重複排除グループを、それぞれ規定個数以下のボリュームで構成する、管理方法。
【請求項１５】
請求項１１に記載の管理方法であって、
前記複数のボリュームを、前記代表ＯＳのＯＳ種類及びメジャーバージョンの組で複数の第１ボリュームグループに分類し、
前記複数の第１ボリュームグループにおいて、構成ボリューム個数が規定範囲内であるボリュームグループを、重複排除グループと決定し、前記規定範囲は規定最小個数以上規定最大個数以下であり、
前記複数の第１ボリュームグループにおいて、構成ボリューム個数が前記規定範囲外であるボリュームグループから、構成ボリューム個数が前記規定最大個数以下であり、同一ＯＳ種類及び同一バージョン又は連続する複数のバージョンの代表ＯＳを有するボリュームで、１以上の重複排除グループを再構成する、管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムの管理装置に関する。
【背景技術】
【０００２】
企業や個人が持つデータ量は増加の一途をたどっているため、ビットあたりのコストを低減するための機能に対するニーズが高まっている。そこでストレージベンダは、ストレージシステム内でデータを圧縮・保存することで格納可能なデータ量を拡大する技術を提供している。【０００３】
特許文献１は、シンプロビジョニングボリュームのデータを更新する際、外部ストレージシステムも含め同一データブロックが格納されているプールボリュームを選択し、データを重複排除する技術を開示している。具体的には、特許文献１は以下の構成を開示する。【０００４】
「重複排除の効率向上のため、ストレージシステムはコントローラと、外部装置に搭載される複数の外部ボリュームおよび複数の第一ボリュームを有する。コントローラは、複数の外部ボリューム中の第一外部ボリューム内の複数の第一ボリュームの一つから取得される関連データを格納する。また、コントローラはサーバからオブジェクトデータを受け取り、オブジェクトデータを複数のプールボリュームに割り当てる。複数のプールボリュームは、外部装置に搭載される複数の外部ボリュームを含む。コントローラは、バックアップサーバから受け取るオブジェクト割り当て情報に基づいて、複数のプールボリュームにオブジェクトデータを格納する。」（要約参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０４７９３３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
重複排除によるデータ圧縮は、重複排除グループを構成するボリュームの間で、重複するデータを検索し、重複するデータを排除することで、空き領域を増加させる。重複排除による圧縮効果を十分に得るためには、重複排除グループに属するボリューム内のデータにおいて重複する部分が多くなるように、適切に重複排除グループを構成することが重要である。しかし、システムが全ての重複排除グループのグルーピングを試行する計算量は膨大であり、システムに対して大きな処理負荷となる。
【課題を解決するための手段】
【０００７】
本発明の代表的な一例は、１以上のストレージシステムを管理する管理装置であって、プロセッサとメモリとを含み、前記１以上のストレージ装置は、それぞれが１以上のＯＳ を格納する複数のボリュームを含み、前記プロセッサは、前記複数のボリュームぞれぞれの代表ＯＳのＯＳ種類及びバージョンを決定し、前記複数のボリュームから、代表ＯＳのＯＳ種類及びメジャーバージョンが同一である複数のボリュームを選択し、前記選択した複数のボリュームを、重複排除を行うボリュームで構成されている一つの重複排除グループに含める、ものである。
【発明の効果】
【０００８】
本発明の一態様によれば、重複排除による高い圧縮効果を奏することができる重複排除グループを効率的に構成することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の概要を示す。
【図２】計算機システムの構成例を示す。
【図３】ストレージ管理計算機の構成例を示す。
【図４】ストレージ管理クライアント計算機の構成例を示す。
【図５】ホスト情報収集計算機の構成例を示す。
【図６】ストレージコントローラの構成例を示す。
【図７】ストレージ管理計算機が保持するホスト表の構成例を示す。
【図８】ストレージ管理計算機が保持するＶＯＬ表の構成例を示す。
【図９】ストレージ管理計算機が保持するＶＯＬ割当表の構成例を示す。
【図１０】ストレージ管理計算機が保持するグループ内ＶＯＬ個数閾値表の構成例を示す。
【図１１】ストレージ管理計算機が保持する重複排除グループ表の構成例を示す。
【図１２】ストレージ管理計算機が保持するＶＯＬグループ表の構成例を示す。
【図１３】初期設定フェーズ全体のフローチャートを示す。
【図１４】ストレージ管理計算機によるボリュームとホストの情報を収集するステップの詳細のフローチャートである。
【図１５】ストレージ管理計算機による重複排除グループを設定するステップの詳細のフローチャートである。
【図１６】重複排除グループ決定プログラムによる、ボリュームの代表ＯＳ種類及びバージョンを決定ステップの詳細のフローチャートである。
【図１７】重複排除グループ決定プログラムによる、重複排除グループを構成するステップの詳細のフローチャートである。
【図１８】重複排除グループ決定プログラムによるボリュームグループの再構成の詳細のフローチャートである。
【図１９】ボリュームグループのボリューム個数の調整のためのステップの詳細のフローチャートである。
【図２０Ａ】ボリュームグループの統合及び分割の例を示す。
【図２０Ｂ】ボリュームグループの統合及び分割の例を示す。
【図２０Ｃ】ボリュームグループの統合及び分割の例を示す。
【図２０Ｄ】ボリュームグループの統合及び分割の例を示す。
【図２０Ｅ】ボリュームグループの統合及び分割の例を示す。
【図２１】運用フェーズにおいて、ホスト構成又はボリュームが格納するデータの変更に対して実行される処理の全体フローチャートである。
【図２２】運用フェーズにおける、ユーザによるボリュームのホストへの割り当てに対する処理のフローチャートである。
【図２３】運用フェーズにおける、ユーザによるボリュームの削除対する処理のフローチャートである。
【図２４】重複排除グループ一覧表の画像例を示す。
【図２５】重複排除グループ内ボリューム一覧表の画像例を示す。
【図２６】ユーザによる新規ボリュームの割り当てのための画像例を示す。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施例を説明する。ただし、本実施例は、発明を実現するための一例に過ぎず、発明の技術的範囲を限定するものではない。また、各図において共通の構成については、同一の参照番号が付されている。
【００１１】
以後の説明では「テーブル」という表現にて本発明の情報を説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、「リスト」、「ＤＢ（データベース）」、「キュー」等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等については、単に「情報」と呼ぶこともできる。また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【００１２】
以後の説明では「プログラム」を主語として説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを主語とした説明としてもよく、コントローラを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ（管理装置）等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００１３】
本実施形態の計算機システムは、同一ＯＳ種類のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を格納する複数のボリュームを一つの重複排除グループに含める。これにより、高い圧縮率を示す重複排除グループを効率的に構成することができる。計算機システムは、さらに、同一ＯＳ種類かつ同一メジャーバージョンのＯＳを格納する複数のボリュームを一つの重複排除グループに含める。
【００１４】
これにより、上記効果を高める。なお、重複排除グループは、異なるメジャーバージョンのＯＳを格納するボリュームを含むことができ、また、同一ＯＳ種類かつ同一メジャーバージョンのＯＳを格納するボリュームの一部が、異なる重複排除グループに含まれ得る。設計によっては、重複排除グループは、異なるＯＳ種類のＯＳを格納するボリュームを含んでもよい。
【００１５】
図１は、本実施形態の概要を示す。図１は、計算機システムにおけるボリュームマイグレーション前後の状態を示す。計算機システムは、ホスト計算機１０、ホスト情報収集計算機２０、ストレージ管理計算機３０、及び、ストレージ装置４０Ａ、４０Ｂを含む。ホスト計算機１０とストレージ装置４０Ａ、４０Ｂとはデータネットワークを介して通信する。ホスト情報収集計算機２０及びストレージ管理計算機３０は、他の装置と管理ネットワークを介して通信する。
【００１６】
ホスト情報収集計算機２０は、ホスト計算機１０から、実行されるＯＳついての情報を取得する。ストレージ管理計算機３０は、ストレージ装置４０Ａ、４０Ｂを管理及び制御する。
【００１７】
ホスト計算機１０は、仮想化制御プログラム（ハイパーバイザ）１０１を実行している。ハイパーバイザ１０１は、ホスト計算機１０上で、仮想マシン（ＶＭ）を構築する。図１において、ハイパーバイザ１０１は、複数のＶＭを構築する。ＶＭのメタデータ、ＶＭ上で動作するＯＳ（ゲストＯＳ）、アプリケーションプログラム及びそのデータを含み、１以上のイメージファイルに含められる。
【００１８】
ハイパーバイザ１０１は、１又は複数のボリュームを含むデータストアを１又は複数のＶＭに提供する。一つのイメージファイルは、当該データストアにおける一つのボリュームに格納される。
【００１９】
ストレージ装置４０Ａ、４０Ｂは、ホスト計算機１０にボリューム４０１Ａ〜４０１Ｄを提供する。例えば、ボリューム４０１Ａ〜４０１Ｄが一つのデータストアを構成する。ボリューム４０１Ａ〜４０１Ｄはそれぞれ、１又は複数のＶＭのイメージデータを格納している。ボリューム４０１Ａ及び４０１Ｃは、種類がＯＳ＿ＡのＯＳを含むＶＭのデータを格納する。ボリューム４０１Ｂ及び４０１Ｄは、種類がＯＳ＿ＢのＯＳを含むＶＭのデータを格納する。
【００２０】
図１の例において、ボリューム４０１Ａ〜４０１Ｄは仮想ボリューム（ＶＶＯＬ）である。ストレージ装置４０Ａ、４０Ｂは、それぞれ、１又は複数の論理ボリュームを含むシンプロビジョニングプール（単にプールとも呼ぶ）４１１Ａ、４１１Ｂを含む。ストレージ装置４０Ａ、４０Ｂは、それぞれ、プール４１１Ａ、４１１Ｂから仮想ボリュームを構築し、それをホスト計算機１０に提供する。プールから単位実記憶領域が、仮想ボリュームに対するライトに応じて割り当てられる。
【００２１】
ストレージ装置４０Ａ、４０Ｂは、それぞれ、重複排除グループに含まれるボリュームにおいて重複排除を行う。重複排除は、対象データ内の重複データを検出し、削除する。図１の例において、一つのプールから構築されるボリュームは、一つの重複排除グループに含まれる。
【００２２】
本実施形態のシステムは、同一の種類のＯＳを格納するボリュームを同一の重複排除グループに含める。同一種類のＯＳ間の重複部分は多いため、これにより、重複排除による圧縮率を高めることができる。
【００２３】
ボリューム４０１Ａ、４０１ＣはＯＳ＿Ａのデータを格納し、ボリュームマイグレーション前において異なるストレージ装置に格納されている。ボリューム４０１Ｂ、４０１ＤはＯＳ＿Ｂのデータを格納し、ボリュームマイグレーション前において異なるストレージ装置に格納されている。
【００２４】
ストレージ管理計算機３０は、ホスト情報収集計算機２０により収集されたＯＳについての情報から、同一重複排除グループに含めるボリュームを決定し、必要に応じてボリュームを移動する。
【００２５】
図１の例において、ストレージ管理計算機３０は、ハイパーバイザ及びＶＭ並びにそれらを格納するボリュームの情報をホスト情報収集計算機２０から取得する。ストレージ管理計算機３０は、ボリューム４０１Ａ、４０１Ｃを同一重複排除グループに含め、ボリューム４０１Ｂ、４０１Ｄを同一重複排除グループに含める、と決定する。
【００２６】
ストレージ管理計算機３０は、ボリューム４０１Ａ、４１１Ｃが同一プールから構築され、ボリューム４０１Ｂ、４１１Ｄが同一プールから構築されるように、ボリュームを移動する。具体的には、ストレージ管理計算機３０は、ボリューム４０１Ａをプール４１１Ａからプール４１１Ｂに移動し、ボリューム４０１Ｄをプール４１１Ｂからプール４１１Ａに移動する。同一種類のＯＳを格納するボリュームが同一重複排除グループに含まれるため、重複排除による圧縮率を高めることができる。
【００２７】
以下において、本実施形態の詳細を説明する。図２は、計算機システムの構成例を示す。計算機システムは、ホスト計算機１０Ａ〜１０Ｄ、ホスト情報収集計算機２０、ストレージ管理計算機３０、ストレージ装置４０Ａ、４０Ｂ、及び、ストレージ管理クライアント計算機５０を含む。
【００２８】
ホスト計算機１０Ａ〜１０Ｄ及びストレージ装置４０Ａ、４０Ｂは、データネットワークで接続されている。ホスト計算機１０Ａ〜１０Ｄ及びストレージ装置４０Ａ、４０Ｂは、各々のデータインタフェースからデータネットワークを介して互いに接続される。データネットワークは、例えば、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。データネットワークは、ＩＰネットワーク若しくはその他のいかなる種類のデータ通信用のネットワークであってもよい。
【００２９】
ホスト情報収集計算機２０、ストレージ管理計算機３０、及び、ストレージ管理クライアント計算機５０は、それぞれ、管理インタフェースから管理ネットワークを介して他の装置に接続される。管理ネットワークは、例えば、ＩＰネットワークである。管理ネットワークは、他のいかなる種類のネットワークであってもよく、データネットワークと同一のネットワークであってもよい。
【００３０】
ストレージ管理クライアント計算機５０はユーザインタフェースを含む計算機であって、ストレージ管理クライアント計算機５０は、ユーザ操作に従っては、ストレージ管理計算機３０と通信する。ストレージ管理計算機３０は、ストレージ装置４０Ａ、４０Ｂを管理及び制御する。ホスト情報収集計算機２０は、ホスト計算機１０Ａ〜１０Ｄから管理情報を収集する。特に、ホスト情報収集計算機２０は、ホスト計算機１０Ａ〜１０Ｄから実行されるＯＳのついての情報を収集する。ＯＳのついての情報は、ＯＳが格納されるボリュームの情報を含む。
【００３１】
ホスト計算機１０Ｂ、１０Ｄは、それぞれ、一つのみのＯＳを実行する。ホスト計算機１０Ａ〜１０Ｄは、それぞれ物理計算機である。ホスト計算機１０Ａ、１０Ｃは、それぞれ、ハイパーバイザ（仮想化制御プログラム）１０１を実行する。ハイパーバイザ１０１はＶＭ１０５を実行するための環境を提供する。
【００３２】
ハイパーバイザ１０１は、１又は複数のＶＭ１０５をホスト計算機上で構築する。ハイパーバイザは、ＯＳの一種である。ＶＭはＯＳ（ゲストＯＳ）を含み、さらに、当該ゲストＯＳ上で動作するアプリケーションを含み得る。ホスト計算機１０Ａ、１０Ｃは、ホストＯＳ上で動作する仮想化制御ソフトウェアを実行して、ＶＭを構築してもよい。
【００３３】
ストレージ装置４０Ａ、４０Ｂは、ホスト計算機１０Ａ〜１０Ｄにボリュームを提供する。ハイパーバイザ１０１は、ストレージ装置から提供される１又は複数のボリュームからなるデータストアを構築し、ＶＭ１０５それぞれのイメージファイルをデータストアに格納する。ハイパーバイザ１０１は、ＶＭイメージファイルがどのボリュームに格納されているかを管理し、ＶＭイメージファイルの読み出し及び書き込みを実行する。
【００３４】
図２の例において、ストレージ装置４０Ａは、仮想ボリューム４０１Ａ及び４０１Ｂを、それぞれ、物理計算機１０Ａ及び１０Ｂに提供する。仮想ボリューム４０１Ａは、物理計算機１０Ａのハイパーバイザ１０１に割り当てられ、仮想ボリューム４０１Ｂは、物理計算機１０ＢのＯＳに割り当てられる。
【００３５】
仮想ボリューム４０１Ａは、ストレージ装置４０Ａが実行する、ハイパーバイザ１０１とＶＭ１０５のＯＳとを含むデータを格納する。仮想ボリューム４０１Ｂは、ストレージ装置４０Ｂが実行するＯＳを含むデータを格納する。
【００３６】
ストレージ装置４０Ａは、仮想ボリューム４０１Ｃ及び４０１Ｄを、それぞれ、物理計算機１０Ｃ及び１０Ｄに提供する。仮想ボリューム４０１Ｃは、物理計算機１０Ｃのハイパーバイザ１０１に割り当てられ、仮想ボリューム４０１Ｂは、物理計算機１０ＢのＯＳに割り当てられる。仮想ボリューム４０１Ｃは、ストレージ装置４０Ｃが実行する、ハイパーバイザ１０１とＶＭ１０５のＯＳとを含むデータを格納する。仮想ボリューム４０１Ｄは、ストレージ装置４０Ｄが実行するＯＳを含むデータを格納する。
【００３７】
ストレージ装置４０Ａ、４０Ｂは同様の構成を有する。以下において、ストレージ装置４０Ａの構成について説明する。ストレージ装置４０Ａは、ストレージコントローラ４５０とディスクデバイス４１５を含む。
【００３８】
ストレージコントローラ４５０は、ストレージ装置４０Ａを制御する。ストレージコントローラ４５０は、複数の論理ボリュームを含むプール４１１を構築する。論理ボリュームは、パリティグループ４１３の記憶領域の一部である。パリティグループ４１３は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成を有する複数のディスクデバイス４１５で構成されている。ディスクデバイス４１５は、例えば、ハードディスクドライブ又はソリッドステートドライブである。
【００３９】
ストレージコントローラ４５０は、プール４１１から仮想ボリュームを構築し、それをホスト計算機に提供する。図２の例において、二つの仮想ボリューム４０１Ａ、４０１Ｂが図示されている。仮想ボリュームの容量は、仮想化されている。仮想ボリュームにホスト計算機から書き込みがありデータ格納領域が必要になる度に、ストレージコントローラ４５０は、プールから単位記憶領域（ページ）を仮想ボリュームに割り当てる。プール４１１において、各論理ボリュームは複数ページに分割される。ストレージコントローラ４５０は、プール１２１を、ページ単位で管理する。
【００４０】
ストレージ装置４０Ａは、仮想ボリュームではなく、実ボリュームをホスト計算機（ＯＳ）に提供してもよい。ストレージ装置４０Ａは、プール内のページから構成され実容量とホスト計算機により認識される容量が一致するボリュームを、ホスト計算機に提供してもよい。
【００４１】
図３は、ストレージ管理計算機３０の構成例を示す。ストレージ管理計算機３０は、ＣＰＵ３０１、メモリ３０２、二次記憶３０３及び通信インタフェース（Ｉ／Ｆ）３０４を含む。ＣＰＵ３０１は、メモリ３０２に格納されたプログラムを実行するプロセッサである。二次記憶３０３は、例えば、不揮発性記憶媒体を含む１又は複数の記憶デバイスで構成される。通信Ｉ／Ｆ３０４は、管理ネットワークとのインタフェースであって、システム管理のために他の装置と、データや制御命令の送受信を行う。ハードウェア構成の説明は、他の計算機について同様である。
【００４２】
本例において、メモリ３０２はストレージ管理プログラムを格納している。管理プログラムは、ＶＯＬ情報取得プログラム３２１、ホスト情報取得プログラム３２２、ＶＯＬ代表ＯＳ・バージョン計算プログラム３２３、重複排除グループ決定プログラム３２４、ストレージ構成変更指令プログラム３２５、を含む。
【００４３】
二次記憶３０３は、ストレージ管理情報を格納している。管理情報は、ホスト表３３１、ＶＯＬ表３３２、ＶＯＬ割当表３３３、グループ内ＶＯＬ個数閾値表３３４、重複排除グループ表３３５、及び、ＶＯＬグループ表３３６を含む。
【００４４】
説明の便宜上、プログラムがメモリ３０２内に示され、表が二次記憶３０３内に示されているが、典型的には、プログラム及び表は、二次記憶３０３の記憶領域からメモリ３０２の記憶領域にロードされ、ＣＰＵ３０１により使用される。プログラムの動作及び表が保持する情報の詳細は後述する。
【００４５】
図４は、ストレージ管理クライアント計算機５０の構成例を示す。管理者（ユーザ）は、ストレージ管理クライアント計算機５０を介して、ストレージ管理計算機３０を操作する。ストレージ管理クライアント計算機５０は、ＣＰＵ５０１、メモリ５０２、二次記憶５０３、通信Ｉ／Ｆ５０４、入力デバイス５０５及び出力デバイス５０６を含む。
【００４６】
ＣＰＵ５０１は、メモリ５０２に格納されたユーザ操作処理プログラム５２１を実行し、管理者（ユーザ）にＧＵＩを提供する。管理者は、出力デバイス５０６によって処理結果を視認しながら、入力デバイス５０５によって必要なデータを入力する。表示画像例及び管理者が入力する情報の例は、後述する。なお、管理装置は、入出力デバイスを含む一つの計算機で構成されてもよい。
【００４７】
図５は、ホスト情報収集計算機２０の構成例を示す。ホスト情報収集計算機２０は、ＣＰＵ２０１、メモリ２０２、二次記憶２０３及び通信Ｉ／Ｆ２０４を含む。ＣＰＵ２０１は、メモリ２０２に格納されたホスト情報収集プログラム２２１を実行する。ホスト情報収集プログラム２２１は、ホスト計算機からそのソフトウェア構成の情報、具体的には実行されるＯＳ（ハイパーバイザやＶＭのＯＳを含む）及びＯＳが格納されたボリュームの情報を収集する。ホスト情報収集プログラム２２１は、収集した情報を、二次記憶２０３内のホスト情報２３１に格納する。
【００４８】
図６は、ストレージコントローラ４５０の構成例を示す。ストレージコントローラ４５０は、ＣＰＵ４５１、メモリ４５２、二次記憶４５３、通信Ｉ／Ｆ４５４、及びディスクＩ／Ｆ４５５を含む。通信Ｉ／Ｆ４５４は、データネットワーク及び管理ネットワークを介した通信のためのＩ／Ｆである。ディスクＩ／Ｆ４５５は、ディスクデバイス４１５のためのＩ／Ｆである。
【００４９】
プロセッサであるＣＰＵ４５１は、メモリ４５２に格納されたストレージ制御プログラム４６１を実行することで、ストレージ装置を制御する。ストレージ制御プログラム４６１は、ボリュームの生成及び管理、ホストからのＩ／Ｏ要求の処理、重複排除グループ内のボリュームの重複排除、等の処理を実行する。ストレージ構成情報４７１は、ストレージ装置内のボリュームについての情報を含む。ボリュームについての情報は、例えば、仮想ボリューム、プール、プールボリューム、重複排除グループについて情報を含む。
【００５０】
図７は、ストレージ管理計算機３０が保持するホスト表３３１の構成例を示す。ホスト表３３１は、ホスト計算機で実行されるホストプログラム、つまり、ＯＳの情報を管理する。ホスト表３３１は、ホスト識別子欄、ＯＳ種類欄、ＯＳバージョン欄、ハイパーバイザ欄、ハイパーバイザ識別子欄、及びＶＭ割当容量欄を含む。
【００５１】
ホスト識別子欄は、ホスト（ホストプログラム）の識別子を示す。ＯＳ種類欄は、ホストプログラムのＯＳの種類を示す。上述のように、ハイパーバイザもＯＳである。ＯＳバージョン欄は、ＯＳのバージョンを示す。ハイパーバイザ欄は、各ホストプログラムが、ハイパーバイザであるか否かを示す。「ＴＲＵＥ」は当該ホストプログラムがハイパーバイザであることを示し、「ＦＡＵＬＳＥ」は当該ホストプログラムがハイパーバイザでないことを示す。ハイパーバイザ識別子欄は、各ゲストＯＳを管理するハイパーバイザの識別子を示す。ＶＭ割当容量欄は、ＶＭに割り当てられている記憶容量を示す。
【００５２】
図７の例において、ホストプログラムＢＡＲは、ハイパーバイザである。ＨＯＧＥ、ＦＵＧＡ、ＦＯＯ、及びＤＡＡの各ホストプログラムは、ＶＭ内のゲストＯＳである。それらを管理するハイパーバイザはＢＡＲである。ホストプログラムＰＩＹＯは、ホスト計算機のハードウェア上で直接動作するＯＳであり、ホスト計算機に実行される唯一のＯＳである。図７において、四つのＯＳ種類が例示されており、それらは、ＯＳ＿Ａ、ＯＳ＿Ｂ、ＯＳ＿Ｃ、ＯＳ＿Ｄである。
【００５３】
図８は、ストレージ管理計算機３０が保持するＶＯＬ表３３２の構成例を示す。ＶＯＬ表３３２は、ストレージ装置がホスト計算機に提供するボリュームを管理する。ＶＯＬ表３３２は、ＶＯＬ識別子欄、ＶＯＬ種類欄、及びストレージ識別子欄を含む。ＶＯＬ識別子欄は、ストレージ装置内でのボリュームの識別子を示す。ＶＯＬ種類欄は、ボリュームの種類を示す。
【００５４】
ストレージ識別子欄はボリュームを提供する（含む）ストレージ装置の識別子を示す。ＶＯＬ識別子欄の値とストレージ識別子欄との間の組が、システム内でボリュームを同定する識別子である。この点は他の表に置いて同様である。
【００５５】
本例において、ボリュームの種類はＤＡＴＡ  ＳＴＯＲＥとＳＴＡＮＤＡＲＤに類別される。ＤＡＴＡ  ＳＴＯＲＥボリュームは、ハイパーバイザに割り当てられ、ハイパーバイザ及びＶＭのイメージファイルを格納するボリュームである。ＳＴＡＮＤＡＲＤボリュームは、ホスト計算機において単独のＯＳに割り当てられ、そのデータを格納するボリュームである。ＤＡＴＡ  ＳＴＯＲＥボリュームが格納するＯＳの数は、１又は複数であり、ＳＴＡＮＤＡＲＤボリュームが格納するＯＳの数は１である。
【００５６】
図９は、ストレージ管理計算機３０が保持するＶＯＬ割当表３３３の構成例を示す。ＶＯＬ割当表３３３は、ボリュームが割り当てられているホストプログラムを管理する。ＶＯＬ割当表３３３は、ＶＯＬ識別子欄、ホスト識別子欄、及びストレージ識別子欄を含む。ＶＯＬ識別子欄は、ストレージ装置内でのボリュームの識別子を示す。ストレージ識別子欄はボリュームを提供する（含む）ストレージ装置の識別子を示す。ホスト識別子欄は、ボリュームが割り当てられているホスト（ホストプログラム）の識別子を示す。
【００５７】
図１０は、ストレージ管理計算機３０が保持するグループ内ＶＯＬ個数閾値表３３４の構成例を示す。グループ内ＶＯＬ個数閾値表３３４は、重複排除グループの最小ボリューム（ＶＯＬ）個数及び最大ボリューム（ＶＯＬ）個数を示す。グループ内ＶＯＬ個数閾値表３３４の数値は、管理者（ユーザ）により予め設定される。グループ内ＶＯＬ個数閾値表３３４は、重複排除グループの作成において参照される。本例において、最小ボリューム（ＶＯＬ）個数及び最大ボリューム（ＶＯＬ）個数は、全ての重複排除グループに共通であるが、異なる重複排除グループに異なる数値が定義されてもよい。
【００５８】
図１１は、ストレージ管理計算機３０が保持する重複排除グループ表３３５の構成例を示す。重複排除グループ表３３５は、重複排除グループを管理する。重複排除グループは、１又は複数のボリュームで構成され、重複排除グループ内でデータの重複排除が実行される。本例においては、重複排除グループは、同一のプールから実記憶領域が割り当てられる仮想ボリュームで構成される。
【００５９】
重複排除グループ表３３５は、グループ識別子欄、ＯＳ種類欄、最小バージョン欄、及び最大バージョン欄を含む。グループ識別子欄は、重複排除グループの識別子を示す。ＯＳ種類欄は、各重複排除グループに割り当てられているＯＳの種類を示す。後述するように、ボリュームは複数のＯＳを格納し得るため、ボリュームが格納するＯＳから代表ＯＳが選択される。重複排除グループは、代表ＯＳが同一の種類のボリュームで構成され、ＯＳ種類欄はその種類を示す。
【００６０】
最小バージョン欄は、重複排除グループに含まれるボリュームの代表ＯＳのバージョンにおいて、最も小さいバージョン、つまり、最も古いバージョンを示す。最大バージョン欄は、重複排除グループに含まれるボリュームの代表ＯＳのバージョンにおいて、最も大きいバージョン、つまり、最も新しいバージョンを示す。
【００６１】
図１２は、ストレージ管理計算機３０が保持するＶＯＬグループ表３３６の構成例を示す。ＶＯＬグループ表３３６は、ボリュームとボリュームそれぞれが含まれる重複排除グループとを示す。ＶＯＬグループ表３３６は、ＶＯＬ識別子欄、ストレージ識別子欄、及び、グループ識別子欄を含む。グループ識別子欄、重複排除グループの識別子を示す。ＶＯＬ識別子欄とストレージ識別子欄の値により、システム内でボリュームが同定される。
【００６２】
以下において、ストレージ管理計算機３０による処理を説明する。ストレージ管理計算機３０による処理は、初期設定フェーズと運用フェーズを含む。まず、初期設定フェーズを説明する。図１３は、初期設定フェーズ全体のフローチャートを示す。
【００６３】
ストレージ管理計算機３０は、計算機システム内のボリュームとホストの情報を収集する（Ｓ１１）。次に、ストレージ管理計算機３０は、収集したボリューム及びホストの情報を使用して重複排除グループを決定し、ストレージ装置４０Ａ、４０Ｂにおいて重複排除グループを設定する（Ｓ１２）。
【００６４】
図１４は、ストレージ管理計算機３０によるボリュームとホストの情報を収集するステップＳ１１の詳細のフローチャートである。ストレージ管理計算機３０は、システム内の各ボリュームについて、ステップＳ１１１〜Ｓ１１４を実行する。ストレージ管理計算機３０は、ボリュームに格納されている各ＶＭについてステップＳ１１４を実行する。
【００６５】
ステップＳ１１１において、ＶＯＬ情報取得プログラム３２１は、ストレージ装置４０Ａ、４０Ｂからボリュームの情報を取得する。具体的には、ＶＯＬ情報取得プログラム３２１は、各ボリュームを同定する識別子（ＶＯＬ識別子及びストレージ識別子）及び各ボリュームが割り当てられているホストの識別子（ホスト識別子）を取得する。
【００６６】
ＶＯＬ情報取得プログラム３２１は、取得したＶＯＬ識別子とストレージ識別子との組を、ＶＯＬ表３３２及びＶＯＬ割当表３３３に登録する。ＶＯＬ情報取得プログラム３２１は、取得したホスト識別子を対応するボリュームのエントリに登録する。割当先ホストは、ハイパーバイザ又はホスト計算機上の単一ＯＳである。
【００６７】
ステップＳ１１２において、ホスト情報取得プログラム３２２は、ホスト情報収集計算機２０から、ステップＳ１１１において取得された割当先ホストの情報を取得する。具体的には、ホスト情報取得プログラム３２２は、当該ホストのＯＳの種類及びバージョンを取得する。ホスト情報取得プログラム３２２は、さらに、当該ホストがＶＭを構築するハイパーバイザであるか否かの情報を取得する。
【００６８】
ホスト情報取得プログラム３２２は、取得した割当先ホストの情報をホスト表３３１に登録する。さらに、ホスト情報取得プログラム３２２は、ＶＯＬ表３３２の対応ボリュームのエントリにおいて、ＶＯＬ種類欄のセルに、ＤＡＴＡ  ＳＴＯＲＥ又はＳＴＡＮＤＡＲＤを登録する。当該割当先ホストがハイパーバイザである場合、ボリュームの種類はＤＡＴＡ  ＳＴＯＲＥであり、そうでない場合に、ボリュームの種類はＳＴＡＮＤＡＲＤである。
【００６９】
ステップ１１３において、ホスト情報取得プログラム３２２は、ボリュームの種類がＤＡＴＡ  ＳＴＯＲＥか否か判定する。ボリュームの種類がＤＡＴＡ  ＳＴＯＲＥではない場合（Ｓ１１３：ＮＯ）、ホスト情報取得プログラム３２２は、次のボリュームを選択する。
【００７０】
ボリュームの種類がＤＡＴＡ  ＳＴＯＲＥである場合（Ｓ１１３：ＹＥＳ）、ホスト情報取得プログラム３２２は、ステップＳ１１４を実行する。ステップＳ１１４において、ホスト情報取得プログラム３２２は、ホスト情報収集計算機２０から、当該ボリュームに格納されるＶＭの情報を取得する。
【００７１】
具体的には、ホスト情報取得プログラム３２２は、各ＶＭのホスト識別子、ＯＳ種類及びバージョン、当該ＶＭを構築、制御するハイパーバイザの識別子、並びに当該ＶＭに割り当てられている記憶容量を取得する。ホスト情報取得プログラム３２２は、ＶＭについて取得した情報を、ホスト表３３１に登録する。
【００７２】
図１５は、ストレージ管理計算機３０による重複排除グループを設定するステップＳ１２の詳細のフローチャートである。ストレージ管理計算機３０は、各ボリュームについてステップＳ１２１〜Ｓ１２３を実行した後、ステップＳ１２４及びＳ１２５を実行する。重複排除グループ決定プログラム３２４は、ＶＯＬ表３３２から順次ボリュームを選択してステップＳ１２１〜Ｓ１２３を実行する。
【００７３】
ステップＳ１２１において、重複排除グループ決定プログラム３２４は、ＶＯＬ表３３２を参照し、選択されているボリュームの種類が、ＤＡＴＡ  ＳＴＯＲＥであるか否か判定する。ボリュームの種類が、ＤＡＴＡ  ＳＴＯＲＥである場合（Ｓ１２１：ＹＥＳ）、つまり、ボリュームの割当先ホストがＶＭを管理するＯＳである場合、重複排除グループ決定プログラム３２４は、ステップ１２２を実行する。
【００７４】
ステップＳ１２２において、重複排除グループ決定プログラム３２４は、ボリュームの代表のＯＳ種類及びバージョンを決定する。ＤＡＴＡ  ＳＴＯＲＥのボリュームは、複数のＯＳを格納し得るからである。ボリュームの代表ＯＳ種類及びバージョンの決定方法の詳細は、図１６を参照して後述する。
【００７５】
ボリュームの種類が、ＤＡＴＡ  ＳＴＯＲＥではない場合（Ｓ１２１：ＮＯ）、つまり、ボリュームの割当先ホストがＶＭを管理するＯＳではない場合、重複排除グループ決定プログラム３２４は、ステップ１２３を実行する。
【００７６】
ステップＳ１２３において、重複排除グループ決定プログラム３２４は、ＶＯＬ割当表３３３とホスト表３３１から、当該ボリュームに対応するＯＳ種類及びバージョンを取得する。当該ＯＳ種類及びバージョンが、代表ＯＳ種類及びバージョンである。
【００７７】
ステップＳ１２４において、重複排除グループ決定プログラム３２４は、重複排除グループそれぞれに含まれるボリュームを決定する。重複排除グループの決定方法の詳細は、図１７を参照して後述する。
【００７８】
重複排除グループが決定された後、ステップＳ１２５が実行される。ステップＳ１２５において、ストレージ構成変更指令プログラム３２５は、決定された重複排除グループに従って、移動が必要なボリュームを決定し、それらボリュームの移動をストレージ装置４０Ａ及び４０Ｂに指示する。本例において、同一重複排除グループに含まれるボリュームは、同一ストレージ装置に含まれる。一つの重複排除グループは、一つのプール上で定義されてもよい。
【００７９】
図１６は、重複排除グループ決定プログラム３２４による、ボリュームの代表ＯＳ種類及びバージョンを決定ステップＳ１２２の詳細のフローチャートである。重複排除グループ決定プログラム３２４は、ボリュームに格納された各ＶＭについて、ステップＳ１３１〜Ｓ１３４を実行する。重複排除グループ決定プログラム３２４は、ＶＯＬ割当表３３３を参照して、当該ボリュームの割り当てられているホスト（ハイパーバイザ）を同定する。重複排除グループ決定プログラム３２４は、当該ホストにより制御されるＶＭを同定する。
【００８０】
ステップＳ１３１において、重複排除グループ決定プログラム３２４は、選択したＶＭのＯＳ種類及びバージョンをホスト表３３１から取得する。ステップＳ１３２において、重複排除グループ決定プログラム３２４は、予め設定されているモードがＯＳ数モードか、ＯＳ容量モードか判定する。
【００８１】
設定モードがＯＳ数モードである場合（Ｓ１３２：ＹＥＳ）、ステップＳ１３３において、重複排除グループ決定プログラム３２４は、当該ＶＭのＯＳ種類及びバージョンの組のカウンタを、インクリメントする。設定モードがＯＳ容量モードである場合（Ｓ１３２：ＮＯ）、ステップＳ１３４において、重複排除グループ決定プログラム３２４は、ＯＳ種類及びバージョンの組毎の総容量値において、当該ＶＭのＯＳ種類及びバージョンの総容量値に、当該ＶＭの割当容量を加算する。
【００８２】
当該ボリュームが格納する全てのＶＭについてステップＳ１３１〜Ｓ１３４を実行した後、重複排除グループ決定プログラム３２４は、ステップＳ１３５を実行する。ステップＳ１３５において、重複排除グループ決定プログラム３２４は、設定モードがＯＳ数モードであるかＯＳ容量モードであるか判定する。
【００８３】
設定モードがＯＳ数モードである場合（Ｓ１３５：ＹＥＳ）、重複排除グループ決定プログラム３２４は、ステップＳ１３６を実行する。ステップＳ１３６において、重複排除グループ決定プログラム３２４は、当該ボリュームに格納されているＶＭ数が最大のＯＳ種類を、当該ボリュームの代表ＯＳ種類と決定する。
【００８４】
さらに、ステップＳ１３７において、重複排除グループ決定プログラム３２４は、当該ボリュームに格納されている代表ＯＳ種類のＶＭにおいて、ＶＭ数が最大のバージョンを、当該ボリュームの代表バージョンと決定する。
【００８５】
設定モードがＯＳ容量モードである場合（Ｓ１３５：ＮＯ）、重複排除グループ決定プログラム３２４は、ステップＳ１３８を実行する。ステップＳ１３８において、重複排除グループ決定プログラム３２４は、当該ボリュームに格納されているＶＭにおいて、総割当容量が最大のＯＳ種類を、当該ボリュームの代表ＯＳ種類と決定する。
【００８６】
さらに、ステップＳ１３９において、重複排除グループ決定プログラム３２４は、当該ボリュームに格納されている代表ＯＳ種類のＶＭにおいて、総割当容量が最大のバージョンを、当該ボリュームの代表バージョンと決定する。
【００８７】
予め設定された基準に従って代表ＯＳを決定することで、システムの使用状況に応じて適切に代表ＯＳを選択することができる。
【００８８】
図１７は、重複排除グループ決定プログラム３２４による、重複排除グループを構成するステップＳ１２４の詳細のフローチャートである。重複排除グループ決定プログラム３２４は、ステップＳ１２２、Ｓ１２３で決定したボリュームの代表ＯＳ種類及びバージョンにしたがって、ボリュームをグループ化する。
【００８９】
重複排除グループ決定プログラム３２４は、各ボリュームについて、ステップＳ１５１〜Ｓ１５３を実行する。その後、重複排除グループ決定プログラム３２４は、ステップＳ１５４及びステップＳ１５５を実行する。
【００９０】
ステップＳ１５１において、重複排除グループ決定プログラム３２４は、選択したボリュームの代表ＯＳと同一のＯＳ種類及びメジャーバージョンのボリュームグループが存在するか（作成済みか）か否か判定する。ＯＳのバージョンは小数点を含む数値で表わされ、整数部がメジャーバージョンを示し、小数部がマイナーバージョンを示す。例えば、バージョン４．２１は、メジャーバージョンが４であり、マイナーバージョンが０．２１であることを示す。
【００９１】
該当するボリュームグループが存在しない場合（Ｓ１５１：ＮＯ）、ステップＳ１５２において、重複排除グループ決定プログラム３２４は、選択したボリュームの代表ＯＳのＯＳ種類及びメジャーバージョンが割り当てられたボリュームグループを作成する。
【００９２】
該当する重複排除グループが存在する場合（Ｓ１５１：ＹＥＳ）又は新たに作成された後（Ｓ１５２）、ステップＳ１５３において、重複排除グループ決定プログラム３２４は、そのボリュームグループに当該ボリュームを追加する。
【００９３】
ステップＳ１５１〜Ｓ１５３は、１又は複数のボリュームグループが構成する。各ボリュームグループを構成するボリュームの代表ＯＳのＯＳ種類及びメジャーバージョンは、共通である。
【００９４】
次に、ステップＳ１５４において、重複排除グループ決定プログラム３２４は、ステップＳ１５１〜Ｓ１５３で構成したボリュームグループのボリュームの個数を調整するため、ボリュームグループを再構成する。再構成後のボリュームグループが、それぞれ、最終的な重複排除グループである。
【００９５】
重複排除グループ決定プログラム３２４は、ボリューム個数が多すぎるボリュームグループを分割し、ボリューム個数が少なすぎるボリュームグループを他のボリュームグループと統合する。これにより、各重複排除グループのボリューム個数を規定範囲内に収め、効率的な重複排除を実現する。重複排除グループの再構成（Ｓ１５４）の詳細は後述する。
【００９６】
次に、ステップＳ１５５において、重複排除グループ決定プログラム３２４は、決定した重複排除グループの情報を、重複排除グループ表３３５及びボリュームグループ表３３６に登録する。具体的には、重複排除グループ決定プログラム３２４は、各重複排除グループの、識別子、ＯＳ種類、最小バージョン、及び最大バージョンを重複排除グループ表３３５に登録する。重複排除グループ決定プログラム３２４は、各重複排除グループの識別子を、ボリュームグループ表３３６に登録する。
【００９７】
図１８は、重複排除グループ決定プログラム３２４によるボリュームグループの再構成（Ｓ１５４）の詳細のフローチャートである。重複排除グループ決定プログラム３２４は、作成したボリュームグループを順次選択し、各ボリュームグループについて、ステップＳ１６１及びＳ１６２を実行する。その後、重複排除グループ決定プログラム３２４は、ステップＳ１６３を実行する。
【００９８】
ステップＳ１６１において、重複排除グループ決定プログラム３２４は、選択したボリュームグループの構成ボリューム個数が規定の最大ボリューム個数より多いか判定する。最大ボリューム個数は、グループ内ＶＯＬ個数閾値表３３４に予め登録されている。
【００９９】
選択したボリュームグループの構成ボリューム個数が規定の最大ボリューム個数以下である場合（Ｓ１６１：ＮＯ）、重複排除グループ決定プログラム３２４は、次のボリュームグループを選択する。
【０１００】
選択したボリュームグループの構成ボリューム個数が規定の最大ボリューム個数より多い場合（Ｓ１６１：ＮＯ）、ステップＳ１６２において、重複排除グループ決定プログラム３２４は、当該ボリュームグループを分割する。具体的には、重複排除グループ決定プログラム３２４は、ボリュームの代表ＯＳのマイナーバージョンによって、ボリュームグループを分割する。
【０１０１】
分割前のボリュームグループは、代表ＯＳのＯＳ種類とメジャーバージョンが同一のボリュームで構成されている。したがって、分割後のボリュームグループは、それぞれ、代表ＯＳのＯＳ種類及びバージョンが同一のボリュームで構成されている。このバージョンはメジャーバージョン及びマイナーバージョンの組で定義される。全てのボリュームについてステップＳ１６１及びＳ１６２が実行された後、各ボリュームグループのボリューム個数は、規定の最大個数以下である。
【０１０２】
次に、重複排除グループ決定プログラム３２４は、ステップＳ１６３を繰り返し実行することによって、分割後のボリュームグループからボリュームグループを再構成し、ボリュームグループのボリューム個数を調整する。これにより、ボリューム個数が規定範囲外であるボリュームグループの数を低減する。
【０１０３】
具体的には、重複排除グループ決定プログラム３２４は、同一ＯＳ種類のボリュームグループをバージョンに従った順序で配列し、ボリューム個数が規定範囲外の二つの隣接バージョンのボリュームグループを統合する。重複排除グループ決定プログラム３２４は、統合したボリュームグループを分割し、分割後の各ボリュームグループのボリューム個数が規定範囲内にあるようにする。
【０１０４】
図１９は、ボリュームグループのボリューム個数の調整のためのステップＳ１６３の詳細のフローチャートである。重複排除グループ決定プログラム３２４は、各ＯＳ種類のボリュームグループにおいて、バージョンの昇順で当該フローチャートの処理（ステップＳ１６３）を実行する。
【０１０５】
ステップＳ１７１において、重複排除グループ決定プログラム３２４は、バージョンの昇順で選択した一つボリュームグループ（対象ボリュームグループ）の隣接ボリュームグループを選択する。隣接ボリュームグループは、同一ＯＳ種類のボリュームグループであって、選択したボリュームグループに最も近いバージョンのボリュームを含むボリュームグループである。
【０１０６】
ステップＳ１７２において、重複排除グループ決定プログラム３２４は、隣接ボリュームグループが存在しているか判定する。隣接ボリュームグループが存在しない場合（Ｓ１７２：ＮＯ）、対象のボリュームグループは、当該ＯＳ種類における最後のボリュームグループである。
【０１０７】
隣接ボリュームグループが存在しない場合（Ｓ１７２：ＮＯ）、ステップＳ１７９において、重複排除グループ決定プログラム３２４は、対象ボリュームグループのボリューム個数と規定の最大個数とを比較する。
【０１０８】
対象ボリュームグループのボリューム個数が規定の最大個数より多い場合（Ｓ１７９：ＹＥＳ）、重複排除グループ決定プログラム３２４は、ステップ１７８に進み、当該ボリュームグループを分割する。ステップＳ１７８の詳細は後述する。対象ボリュームグループのボリューム個数が規定の最大個数以下である場合（Ｓ１７９：ＹＥＳ）、重複排除グループ決定プログラム３２４は、本フローを抜ける。
【０１０９】
ステップＳ１７２において隣接ボリュームグループが存在する場合（Ｓ１７２：ＹＥＳ）、ステップＳ１７３において、重複排除グループ決定プログラム３２４は、対象ボリュームグループのボリューム個数と、グループ内ＶＯＬ個数閾値表３３４に規定の最小個数とを比較する。
【０１１０】
対象ボリュームグループのボリューム個数が規定の最小個数よりも少ない場合（Ｓ１７３：ＹＥＳ）、ステップＳ１７４において、重複排除グループ決定プログラム３２４は、対象ボリュームグループに隣接ボリュームグループを統合する。
【０１１１】
その後、重複排除グループ決定プログラム３２４は、ステップＳ１７１に戻って、統合後の対象ボリュームグループの隣接ボリュームグループを選択する。ステップＳ１７１〜Ｓ１７４のループにより、統合後のボリュームグループのボリューム個数を、規定の最小数以上にする。
【０１１２】
選択したボリュームグループのボリューム個数が規定の最小個数以上である場合（Ｓ１７３：ＮＯ）、ステップＳ１７５において、重複排除グループ決定プログラム３２４は、対象ボリュームグループのボリューム個数と、グループ内ＶＯＬ個数閾値表３３４に規定の最大個数とを比較する。
【０１１３】
選択したボリュームグループのボリューム個数が規定の最大個数以下である場合（Ｓ１７５：ＮＯ）、統合された又は統合されなかった対象ボリュームグループのボリューム個数は、規定の最小数と最大数の範囲内である。重複排除グループ決定プログラム３２４は、本フローを抜ける。
【０１１４】
対象ボリュームグループのボリューム個数が規定の最大個数より多い場合（Ｓ１７５：ＹＥＳ）、ステップ１７６において、重複排除グループ決定プログラム３２４は、対象ボリュームグループの隣接ボリュームグループのボリューム個数を、規定の最小数及び最大数と比較する。
【０１１５】
隣接ボリュームグループのボリューム個数が、規定の最小個数と最大個数で定義される範囲外である場合（Ｓ１７６：ＮＯ）、具体的には、ボリューム個数が最小個数より少ない又は最大個数より多い場合、重複排除グループ決定プログラム３２４は、ステップＳ１７７において、対象ボリュームグループに隣接ボリュームグループを統合する。
【０１１６】
その後、重複排除グループ決定プログラム３２４は、ステップＳ１７６に戻る。ボリューム個数が規定範囲外のボリュームグループを統合することで、その後に分割によるボリュームグループのボリューム個数を大きくし、重複排除による圧縮率を向上する。
【０１１７】
隣接ボリュームグループのボリューム個数が、規定の範囲内である場合（Ｓ１７６：ＹＥＳ）、ステップＳ１７８において、重複排除グループ決定プログラム３２４は、対象ボリュームグループを、バージョンの昇順で、分割する。分割後の各ボリュームグループのボリューム個数が規定最大個数以下となるように、対象ボリュームグループは分割される。バージョンが同一又は連続するボリュームでボリュームグループ（重複排除グループ）が構成されるため、重複排除による圧縮率を向上できる。
【０１１８】
一例において、重複排除グループ決定プログラム３２４は、分割後のボリュームグループ個数が、対象ボリュームグループのボリューム個数を規定最大個数で割った値を切り上げた数、となるように、対象ボリュームグループを分割する。重複排除グループ決定プログラム３２４は、分割後のボリュームグループのボリューム個数が、均等になるように各ボリュームグループの数を決定する。つまり、ボリューム個数の違いは、最大１である。これにより、重複排除による圧縮率を向上させる。
【０１１９】
他の例において、重複排除グループ決定プログラム３２４は、分割後のボリュームグループの一つを除くボリュームグループを、規定の最大個数で構成してもよい。重複排除グループ決定プログラム３２４は、分割後のボリュームグループ個数が、対象ボリュームグループのボリューム個数を規定最小個数で割った値を切り下げた数、となるように、対象ボリュームグループを分割してもよい。
【０１２０】
図２０Ａ〜図２０Ｅは、ボリュームグループの統合及び分割の例を示す。本例において、ボリュームグループの規定最小ボリューム個数は１０であり、規定最大ボリューム個数は１０００である。
【０１２１】
図２０Ａは、ボリュームをＯＳ種類及びメジャーバージョンで分割した後の（Ｓ１５１〜Ｓ１５３）、ボリュームグループの例を示す。図２０Ａは、ＯＳ＿Ｂの四つのボリュームグループ（ＧＲＯＵＰ＿Ａ６０１〜ＧＲＯＵＰ＿Ｄ６０４）を示す。ボリュームはバージョンの昇順で配列されている。
【０１２２】
ＧＲＯＵＰ＿Ａ６０１のメジャーバージョンは５であり、ボリューム個数は８００である。ＧＲＯＵＰ＿Ｂ６０２のメジャーバージョンは６であり、ボリューム個数は１２０５である。ＧＲＯＵＰ＿Ｃ６０３のメジャーバージョンは７であり、ボリューム個数は８である。ＧＲＯＵＰ＿Ｄ６０４のメジャーバージョンは８であり、ボリューム個数は６００である。
【０１２３】
図２０Ｂは、ボリューム個数が規定最大個数より多いボリュームグループを、マイナーバージョンに従って分割した（Ｓ１６１、Ｓ１６２）例を示す。規定最大個数は１０００であるため、ＧＲＯＵＰ＿Ｂ６０２が、二つのボリュームグループＧＲＯＵＰ＿Ｂ‐１（６１１）、ＧＲＯＵＰ＿Ｂ‐２（６１２）に分割される。
【０１２４】
図２０Ｃは、ＧＲＯＵＰ＿Ａ６０１が、重複排除グループと決定されたことを示す。ＧＲＯＵＰ＿Ａ６０１のボリューム個数は８００であり、（最小ＶＯＬ個数（１０）≦ＶＯＬ個数（８００）≦最大ＶＯＬ個数（１０００））の条件を満たす（Ｓ１７３：ＮＯ、Ｓ１７５：ＮＯ）。
【０１２５】
図２０Ｄは、隣接ボリュームグループを統合し（Ｓ１７７）、さらに、統合したボリュームグループを分割した（Ｓ１７８）例を示す。ＧＲＯＵＰ＿Ｂ−１（６１１）のボリューム個数（１２００）は、規定最大個数（１０００）よりも多い（Ｓ１７５：ＹＥＳ）。さらに、隣接するＧＲＯＵＰ＿Ｂ−２（６１２）のボリューム個数（５）は、規定最小数（１０）より小さい（Ｓ１７６：ＮＯ）。
【０１２６】
したがって、ＧＲＯＵＰ＿Ｂ−１（６１１）、ＧＲＯＵＰ＿Ｂ−２（６１２）は統合され（Ｓ１７７）、さらに統合されたボリュームグループが分割される（Ｓ１７８）。分割により、重複排除グループＧＲＯＵＰ＿Ｂ´−１（６２１）、ＧＲＯＵＰ＿Ｂ´−２（６２２）が生成される。
【０１２７】
図２０Ｅは、隣接ボリュームグループを統合し（Ｓ１７４）、統合したボリュームグループを分割しない（Ｓ１７９：ＮＯ）例を示す。ＧＲＯＵＰ＿Ｃ６０３のボリューム個数（８）は、規定最小個数（１０）より少ないなので（Ｓ１７３：ＹＥＳ）、ＧＲＯＵＰ＿Ｃ６０３とＧＲＯＵＰ＿Ｄ６０４は統合され（Ｓ１７４）、ＧＲＯＵＰ＿Ｃ´６３１が形成される。
【０１２８】
ＧＲＯＵＰ＿Ｃ´６３１のボリューム個数（６０８）は、規定最大個数（１０００）以下であるので（Ｓ１７９：ＮＯ）、ＧＲＯＵＰ＿Ｃ´６３１は重複排除グループとして確定される。ＧＲＯＵＰ＿Ｃ´６３１は、異なるメジャーバージョンのボリュームを含む。
【０１２９】
図２１は、運用フェーズにおいて、ホスト構成又はボリュームが格納するデータの変更に対して実行される処理の全体フローチャートである。運用フェーズにおいて、ステップＳ２０１、Ｓ２０２は定期的に実行される。ＶＯＬ・ホスト情報の取得（Ｓ２０１）及び重複排除グループの設定（Ｓ２０２）は、図１３に示すＶＯＬ・ホスト情報の取得（Ｓ１０１）及び重複排除グループの設定（Ｓ１０２）と同様である。
【０１３０】
図２２は、運用フェーズにおける、ユーザによるボリュームのホストへの割り当てに対する処理のフローチャートである。ボリュームがホストに割り当てられると、ストレージ管理計算機３０は、当該ボリュームが属する重複排除グループを推奨する。ストレージ管理計算機３０は、必要に応じて、重複排除グループを再構成する。
【０１３１】
重複排除グループ決定プログラム３２４は、割り当てられた各ボリュームに対して、ステップＳ２１１を実行する。その後、重複排除グループ決定プログラム３２４は、ステップＳ２１２〜Ｓ２１５を実行する。
【０１３２】
ステップＳ２１１において、重複排除グループ決定プログラム３２４は、割り当てられたボリュームの重複排除グループを決定する。重複排除グループ決定プログラム３２４は、当該ボリュームの割当先ＯＳのＯＳ種類及びバージョンをＶＯＬ割当表３３３及びホスト表３３１を参照して同定する。重複排除グループ決定プログラム３２４は、重複排除グループ表３３５を参照して、当該ボリュームのＯＳ種類及びバージョンが属する重複排除グループを同定する。
【０１３３】
ステップＳ２１２において、重複排除グループ決定プログラム３２４は、ボリューム個数が規定最大個数を超える重複排除グループが存在するか判定する。そのような重複排除グループが存在しない場合（Ｓ２１２：ＮＯ）、ステップＳ２１４において、重複排除グループ決定プログラム３２４は、重複排除グループ表３３５及びボリュームグループ表３３６を更新する。さらに、ステップＳ２１５において、重複排除グループ決定プログラム３２４は、必要なボリュームを属する重複排除グループに移動する。
【０１３４】
ステップＳ２１２において、ボリューム個数が規定最大個数を超える重複排除グループが存在する場合（Ｓ２１２：ＹＥＳ）、重複排除グループ決定プログラム３２４は、ステップＳ２１３を実行する。ステップＳ２１３はステップＳ１５４と同様である。その後、重複排除グループ決定プログラム３２４は、ステップＳ２１４及びＳ２１５を実行する。
【０１３５】
図２３は、運用フェーズにおける、ユーザによるボリュームの削除に対する処理のフローチャートである。ボリュームが削除されると、ストレージ管理計算機３０は、重複排除グループを再構成する。
【０１３６】
重複排除グループ決定プログラム３２４は、削除された各ボリュームに対して、ステップＳ２２１を実行する。その後、重複排除グループ決定プログラム３２４は、ステップＳ２２２〜Ｓ２２５を実行する。
【０１３７】
ステップＳ２２１において、重複排除グループ決定プログラム３２４は、削除されたボリュームの情報を、ＶＯＬグループ表３３６から削除する。ステップＳ２２２において、重複排除グループ決定プログラム３２４は、ボリューム個数が規定最小大個数未満の重複排除グループが存在するか判定する。そのような重複排除グループが存在しない場合（Ｓ２２２：ＮＯ）、ステップＳ２２４において、重複排除グループ決定プログラム３２４は、重複排除グループ表３３５及びボリュームグループ表３３６を更新する。さらに、ステップＳ２２５において、重複排除グループ決定プログラム３２４は、必要なボリュームを属する重複排除グループに移動する。
【０１３８】
ステップＳ２２２において、ボリューム個数が規定最大個数を超える重複排除グループが存在する場合（Ｓ２２２：ＹＥＳ）、重複排除グループ決定プログラム３２４は、ステップＳ２２３を実行する。ステップＳ２２３はステップＳ１５４と同様である。その後、重複排除グループ決定プログラム３２４は、ステップＳ２２４及びＳ２２５を実行する。
【０１３９】
図２４は、重複排除グループ一覧表の画像例を示す。図２４は、ストレージ装置ＳＡ＿Ａの重複排除グループの情報を示す。ユーザ操作処理プログラム５２１は、ユーザによる入力デバイス５０５に応じて、当該画像を出力デバイス５０６に出力する。ユーザ操作処理プログラム５２１は、ストレージ管理計算機３０から、重複排除グループ一覧表で表示する情報を取得する。ストレージ管理計算機３０は、ストレージ装置４０Ａ、４０Ｂから重複排除による圧縮前後のボリュームの情報を取得する。
【０１４０】
図２５は、重複排除グループ内ボリューム一覧表の画像例を示す。図２５は、ストレージ装置ＳＡ＿Ａの重複排除グループＧＲ＿Ｂの情報を示す。ユーザ操作処理プログラム５２１は、ユーザによる入力デバイス５０５に応じて、当該画像を出力デバイス５０６に出力する。
【０１４１】
図２６は、ユーザによる新規ボリュームの割り当てのための画像例を示す。ユーザ操作処理プログラム５２１は、当該画像を出力デバイス５０６に出力し、入力デバイス５０５を介したユーザ入力を受け付ける。ユーザ操作処理プログラム５２１は、入力された情報をストレージ管理計算機３０に送信する。入力情報は、割当先ホストの情報とボリュームの容量の情報である。
【０１４２】
ユーザ操作処理プログラム５２１は、当該ボリュームが所属することを推奨する重複排除グループの情報をストレージ管理計算機３０から取得し、当該画像において表示する。これにより、ユーザに新規ボリュームの推奨重複排除グループを提示する。図２２を参照して説明したように、ストレージ管理計算機３０は新規ボリュームが属する重複排除グループを決定し、その情報をストレージ管理クライアント計算機５０に送信する。
【０１４３】
以上、本発明の実施形態を説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態の構成を加えることも可能である。各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１４４】
上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【図１】
2017208450.tif 000003
【図２】
2017208450.tif 000004
【図３】
2017208450.tif 000005
【図４】
2017208450.tif 000006
【図５】
2017208450.tif 000007
【図６】
2017208450.tif 000008
【図７】
2017208450.tif 000009
【図８】
2017208450.tif 000010
【図９】
2017208450.tif 000011
【図１０】
2017208450.tif 000012
【図１１】
2017208450.tif 000013
【図１２】
2017208450.tif 000014
【図１３】
2017208450.tif 000015
【図１４】
2017208450.tif 000016
【図１５】
2017208450.tif 000017
【図１６】
2017208450.tif 000018
【図１７】
2017208450.tif 000019
【図１８】
2017208450.tif 000020
【図１９】
2017208450.tif 000021
【図２０Ａ】
2017208450.tif 000022
【図２０Ｂ】
2017208450.tif 000023
【図２０Ｃ】
2017208450.tif 000024
【図２０Ｄ】
2017208450.tif 000025
【図２０Ｅ】
2017208450.tif 000026
【図２１】
2017208450.tif 000027
【図２２】
2017208450.tif 000028
【図２３】
2017208450.tif 000029
【図２４】
2017208450.tif 000030
【図２５】
2017208450.tif 000031
【図２６】
2017208450.tif 000032
【国際調査報告】
2017208450.tif 000033
2017208450.tif 000034