JP6568653B2 - ストレージシステムの管理装置 - Google Patents

ストレージシステムの管理装置 Download PDF

Info

Publication number
JP6568653B2
JP6568653B2 JP2018520328A JP2018520328A JP6568653B2 JP 6568653 B2 JP6568653 B2 JP 6568653B2 JP 2018520328 A JP2018520328 A JP 2018520328A JP 2018520328 A JP2018520328 A JP 2018520328A JP 6568653 B2 JP6568653 B2 JP 6568653B2
Authority
JP
Japan
Prior art keywords
volume
volumes
group
deduplication
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018520328A
Other languages
English (en)
Other versions
JPWO2017208450A1 (ja
Inventor
敦史 津田
敦史 津田
小林 正和
正和 小林
雄一郎 長島
雄一郎 長島
徹也 上原
徹也 上原
陽平 辻本
陽平 辻本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2017208450A1 publication Critical patent/JPWO2017208450A1/ja
Application granted granted Critical
Publication of JP6568653B2 publication Critical patent/JP6568653B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Software Systems (AREA)

Description

本発明は、ストレージシステムの管理装置に関する。
企業や個人が持つデータ量は増加の一途をたどっているため、ビットあたりのコストを低減するための機能に対するニーズが高まっている。そこでストレージベンダは、ストレージシステム内でデータを圧縮・保存することで格納可能なデータ量を拡大する技術を提供している。
特許文献1は、シンプロビジョニングボリュームのデータを更新する際、外部ストレージシステムも含め同一データブロックが格納されているプールボリュームを選択し、データを重複排除する技術を開示している。具体的には、特許文献1は以下の構成を開示する。
「重複排除の効率向上のため、ストレージシステムはコントローラと、外部装置に搭載される複数の外部ボリュームおよび複数の第一ボリュームを有する。コントローラは、複数の外部ボリューム中の第一外部ボリューム内の複数の第一ボリュームの一つから取得される関連データを格納する。また、コントローラはサーバからオブジェクトデータを受け取り、オブジェクトデータを複数のプールボリュームに割り当てる。複数のプールボリュームは、外部装置に搭載される複数の外部ボリュームを含む。コントローラは、バックアップサーバから受け取るオブジェクト割り当て情報に基づいて、複数のプールボリュームにオブジェクトデータを格納する。」(要約参照)。
特開2013−047933号
重複排除によるデータ圧縮は、重複排除グループを構成するボリュームの間で、重複するデータを検索し、重複するデータを排除することで、空き領域を増加させる。重複排除による圧縮効果を十分に得るためには、重複排除グループに属するボリューム内のデータにおいて重複する部分が多くなるように、適切に重複排除グループを構成することが重要である。しかし、システムが全ての重複排除グループのグルーピングを試行する計算量は膨大であり、システムに対して大きな処理負荷となる。
本発明の代表的な一例は、1以上のストレージシステムを管理する管理装置であって、プロセッサとメモリとを含み、前記1以上のストレージ装置は、それぞれが1以上のOS を格納する複数のボリュームを含み、前記プロセッサは、前記複数のボリュームぞれぞれの代表OSのOS種類及びバージョンを決定し、前記複数のボリュームから、代表OSのOS種類及びメジャーバージョンが同一である複数のボリュームを選択し、前記選択した複数のボリュームを、重複排除を行うボリュームで構成されている一つの重複排除グループに含める、ものである。
本発明の一態様によれば、重複排除による高い圧縮効果を奏することができる重複排除グループを効率的に構成することができる。
本実施形態の概要を示す。 計算機システムの構成例を示す。 ストレージ管理計算機の構成例を示す。 ストレージ管理クライアント計算機の構成例を示す。 ホスト情報収集計算機の構成例を示す。 ストレージコントローラの構成例を示す。 ストレージ管理計算機が保持するホスト表の構成例を示す。 ストレージ管理計算機が保持するVOL表の構成例を示す。 ストレージ管理計算機が保持するVOL割当表の構成例を示す。 ストレージ管理計算機が保持するグループ内VOL個数閾値表の構成例を示す。 ストレージ管理計算機が保持する重複排除グループ表の構成例を示す。 ストレージ管理計算機が保持するVOLグループ表の構成例を示す。 初期設定フェーズ全体のフローチャートを示す。 ストレージ管理計算機によるボリュームとホストの情報を収集するステップの詳細のフローチャートである。 ストレージ管理計算機による重複排除グループを設定するステップの詳細のフローチャートである。 重複排除グループ決定プログラムによる、ボリュームの代表OS種類及びバージョンを決定ステップの詳細のフローチャートである。 重複排除グループ決定プログラムによる、重複排除グループを構成するステップの詳細のフローチャートである。 重複排除グループ決定プログラムによるボリュームグループの再構成の詳細のフローチャートである。 ボリュームグループのボリューム個数の調整のためのステップの詳細のフローチャートである。 ボリュームグループの統合及び分割の例を示す。 ボリュームグループの統合及び分割の例を示す。 ボリュームグループの統合及び分割の例を示す。 ボリュームグループの統合及び分割の例を示す。 ボリュームグループの統合及び分割の例を示す。 運用フェーズにおいて、ホスト構成又はボリュームが格納するデータの変更に対して実行される処理の全体フローチャートである。 運用フェーズにおける、ユーザによるボリュームのホストへの割り当てに対する処理のフローチャートである。 運用フェーズにおける、ユーザによるボリュームの削除対する処理のフローチャートである。 重複排除グループ一覧表の画像例を示す。 重複排除グループ内ボリューム一覧表の画像例を示す。 ユーザによる新規ボリュームの割り当てのための画像例を示す。
以下、図面を参照しながら実施例を説明する。ただし、本実施例は、発明を実現するための一例に過ぎず、発明の技術的範囲を限定するものではない。また、各図において共通の構成については、同一の参照番号が付されている。
以後の説明では「テーブル」という表現にて本発明の情報を説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、「リスト」、「DB(データベース)」、「キュー」等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等については、単に「情報」と呼ぶこともできる。また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
以後の説明では「プログラム」を主語として説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよく、コントローラを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ(管理装置)等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
本実施形態の計算機システムは、同一OS種類のOS(Operating System)を格納する複数のボリュームを一つの重複排除グループに含める。これにより、高い圧縮率を示す重複排除グループを効率的に構成することができる。計算機システムは、さらに、同一OS種類かつ同一メジャーバージョンのOSを格納する複数のボリュームを一つの重複排除グループに含める。
これにより、上記効果を高める。なお、重複排除グループは、異なるメジャーバージョンのOSを格納するボリュームを含むことができ、また、同一OS種類かつ同一メジャーバージョンのOSを格納するボリュームの一部が、異なる重複排除グループに含まれ得る。設計によっては、重複排除グループは、異なるOS種類のOSを格納するボリュームを含んでもよい。
図1は、本実施形態の概要を示す。図1は、計算機システムにおけるボリュームマイグレーション前後の状態を示す。計算機システムは、ホスト計算機10、ホスト情報収集計算機20、ストレージ管理計算機30、及び、ストレージ装置40A、40Bを含む。ホスト計算機10とストレージ装置40A、40Bとはデータネットワークを介して通信する。ホスト情報収集計算機20及びストレージ管理計算機30は、他の装置と管理ネットワークを介して通信する。
ホスト情報収集計算機20は、ホスト計算機10から、実行されるOSついての情報を取得する。ストレージ管理計算機30は、ストレージ装置40A、40Bを管理及び制御する。
ホスト計算機10は、仮想化制御プログラム(ハイパーバイザ)101を実行している。ハイパーバイザ101は、ホスト計算機10上で、仮想マシン(VM)を構築する。図1において、ハイパーバイザ101は、複数のVMを構築する。VMのメタデータ、VM上で動作するOS(ゲストOS)、アプリケーションプログラム及びそのデータを含み、1以上のイメージファイルに含められる。
ハイパーバイザ101は、1又は複数のボリュームを含むデータストアを1又は複数のVMに提供する。一つのイメージファイルは、当該データストアにおける一つのボリュームに格納される。
ストレージ装置40A、40Bは、ホスト計算機10にボリューム401A〜401Dを提供する。例えば、ボリューム401A〜401Dが一つのデータストアを構成する。ボリューム401A〜401Dはそれぞれ、1又は複数のVMのイメージデータを格納している。ボリューム401A及び401Cは、種類がOS_AのOSを含むVMのデータを格納する。ボリューム401B及び401Dは、種類がOS_BのOSを含むVMのデータを格納する。
図1の例において、ボリューム401A〜401Dは仮想ボリューム(VVOL)である。ストレージ装置40A、40Bは、それぞれ、1又は複数の論理ボリュームを含むシンプロビジョニングプール(単にプールとも呼ぶ)411A、411Bを含む。ストレージ装置40A、40Bは、それぞれ、プール411A、411Bから仮想ボリュームを構築し、それをホスト計算機10に提供する。プールから単位実記憶領域が、仮想ボリュームに対するライトに応じて割り当てられる。
ストレージ装置40A、40Bは、それぞれ、重複排除グループに含まれるボリュームにおいて重複排除を行う。重複排除は、対象データ内の重複データを検出し、削除する。図1の例において、一つのプールから構築されるボリュームは、一つの重複排除グループに含まれる。
本実施形態のシステムは、同一の種類のOSを格納するボリュームを同一の重複排除グループに含める。同一種類のOS間の重複部分は多いため、これにより、重複排除による圧縮率を高めることができる。
ボリューム401A、401CはOS_Aのデータを格納し、ボリュームマイグレーション前において異なるストレージ装置に格納されている。ボリューム401B、401DはOS_Bのデータを格納し、ボリュームマイグレーション前において異なるストレージ装置に格納されている。
ストレージ管理計算機30は、ホスト情報収集計算機20により収集されたOSについての情報から、同一重複排除グループに含めるボリュームを決定し、必要に応じてボリュームを移動する。
図1の例において、ストレージ管理計算機30は、ハイパーバイザ及びVM並びにそれらを格納するボリュームの情報をホスト情報収集計算機20から取得する。ストレージ管理計算機30は、ボリューム401A、401Cを同一重複排除グループに含め、ボリューム401B、401Dを同一重複排除グループに含める、と決定する。
ストレージ管理計算機30は、ボリューム401A、411Cが同一プールから構築され、ボリューム401B、411Dが同一プールから構築されるように、ボリュームを移動する。具体的には、ストレージ管理計算機30は、ボリューム401Aをプール411Aからプール411Bに移動し、ボリューム401Dをプール411Bからプール411Aに移動する。同一種類のOSを格納するボリュームが同一重複排除グループに含まれるため、重複排除による圧縮率を高めることができる。
以下において、本実施形態の詳細を説明する。図2は、計算機システムの構成例を示す。計算機システムは、ホスト計算機10A〜10D、ホスト情報収集計算機20、ストレージ管理計算機30、ストレージ装置40A、40B、及び、ストレージ管理クライアント計算機50を含む。
ホスト計算機10A〜10D及びストレージ装置40A、40Bは、データネットワークで接続されている。ホスト計算機10A〜10D及びストレージ装置40A、40Bは、各々のデータインタフェースからデータネットワークを介して互いに接続される。データネットワークは、例えば、SAN(Storage Area Network)である。データネットワークは、IPネットワーク若しくはその他のいかなる種類のデータ通信用のネットワークであってもよい。
ホスト情報収集計算機20、ストレージ管理計算機30、及び、ストレージ管理クライアント計算機50は、それぞれ、管理インタフェースから管理ネットワークを介して他の装置に接続される。管理ネットワークは、例えば、IPネットワークである。管理ネットワークは、他のいかなる種類のネットワークであってもよく、データネットワークと同一のネットワークであってもよい。
ストレージ管理クライアント計算機50はユーザインタフェースを含む計算機であって、ストレージ管理クライアント計算機50は、ユーザ操作に従っては、ストレージ管理計算機30と通信する。ストレージ管理計算機30は、ストレージ装置40A、40Bを管理及び制御する。ホスト情報収集計算機20は、ホスト計算機10A〜10Dから管理情報を収集する。特に、ホスト情報収集計算機20は、ホスト計算機10A〜10Dから実行されるOSのついての情報を収集する。OSのついての情報は、OSが格納されるボリュームの情報を含む。
ホスト計算機10B、10Dは、それぞれ、一つのみのOSを実行する。ホスト計算機10A〜10Dは、それぞれ物理計算機である。ホスト計算機10A、10Cは、それぞれ、ハイパーバイザ(仮想化制御プログラム)101を実行する。ハイパーバイザ101はVM105を実行するための環境を提供する。
ハイパーバイザ101は、1又は複数のVM105をホスト計算機上で構築する。ハイパーバイザは、OSの一種である。VMはOS(ゲストOS)を含み、さらに、当該ゲストOS上で動作するアプリケーションを含み得る。ホスト計算機10A、10Cは、ホストOS上で動作する仮想化制御ソフトウェアを実行して、VMを構築してもよい。
ストレージ装置40A、40Bは、ホスト計算機10A〜10Dにボリュームを提供する。ハイパーバイザ101は、ストレージ装置から提供される1又は複数のボリュームからなるデータストアを構築し、VM105それぞれのイメージファイルをデータストアに格納する。ハイパーバイザ101は、VMイメージファイルがどのボリュームに格納されているかを管理し、VMイメージファイルの読み出し及び書き込みを実行する。
図2の例において、ストレージ装置40Aは、仮想ボリューム401A及び401Bを、それぞれ、物理計算機10A及び10Bに提供する。仮想ボリューム401Aは、物理計算機10Aのハイパーバイザ101に割り当てられ、仮想ボリューム401Bは、物理計算機10BのOSに割り当てられる。
仮想ボリューム401Aは、ストレージ装置40Aが実行する、ハイパーバイザ101とVM105のOSとを含むデータを格納する。仮想ボリューム401Bは、ストレージ装置40Bが実行するOSを含むデータを格納する。
ストレージ装置40Aは、仮想ボリューム401C及び401Dを、それぞれ、物理計算機10C及び10Dに提供する。仮想ボリューム401Cは、物理計算機10Cのハイパーバイザ101に割り当てられ、仮想ボリューム401Bは、物理計算機10BのOSに割り当てられる。仮想ボリューム401Cは、ストレージ装置40Cが実行する、ハイパーバイザ101とVM105のOSとを含むデータを格納する。仮想ボリューム401Dは、ストレージ装置40Dが実行するOSを含むデータを格納する。
ストレージ装置40A、40Bは同様の構成を有する。以下において、ストレージ装置40Aの構成について説明する。ストレージ装置40Aは、ストレージコントローラ450とディスクデバイス415を含む。
ストレージコントローラ450は、ストレージ装置40Aを制御する。ストレージコントローラ450は、複数の論理ボリュームを含むプール411を構築する。論理ボリュームは、パリティグループ413の記憶領域の一部である。パリティグループ413は、RAID(Redundant Array of Independent Disks)構成を有する複数のディスクデバイス415で構成されている。ディスクデバイス415は、例えば、ハードディスクドライブ又はソリッドステートドライブである。
ストレージコントローラ450は、プール411から仮想ボリュームを構築し、それをホスト計算機に提供する。図2の例において、二つの仮想ボリューム401A、401Bが図示されている。仮想ボリュームの容量は、仮想化されている。仮想ボリュームにホスト計算機から書き込みがありデータ格納領域が必要になる度に、ストレージコントローラ450は、プールから単位記憶領域(ページ)を仮想ボリュームに割り当てる。プール411において、各論理ボリュームは複数ページに分割される。ストレージコントローラ450は、プール121を、ページ単位で管理する。
ストレージ装置40Aは、仮想ボリュームではなく、実ボリュームをホスト計算機(OS)に提供してもよい。ストレージ装置40Aは、プール内のページから構成され実容量とホスト計算機により認識される容量が一致するボリュームを、ホスト計算機に提供してもよい。
図3は、ストレージ管理計算機30の構成例を示す。ストレージ管理計算機30は、CPU301、メモリ302、二次記憶303及び通信インタフェース(I/F)304を含む。CPU301は、メモリ302に格納されたプログラムを実行するプロセッサである。二次記憶303は、例えば、不揮発性記憶媒体を含む1又は複数の記憶デバイスで構成される。通信I/F304は、管理ネットワークとのインタフェースであって、システム管理のために他の装置と、データや制御命令の送受信を行う。ハードウェア構成の説明は、他の計算機について同様である。
本例において、メモリ302はストレージ管理プログラムを格納している。管理プログラムは、VOL情報取得プログラム321、ホスト情報取得プログラム322、VOL代表OS・バージョン計算プログラム323、重複排除グループ決定プログラム324、ストレージ構成変更指令プログラム325、を含む。
二次記憶303は、ストレージ管理情報を格納している。管理情報は、ホスト表331、VOL表332、VOL割当表333、グループ内VOL個数閾値表334、重複排除グループ表335、及び、VOLグループ表336を含む。
説明の便宜上、プログラムがメモリ302内に示され、表が二次記憶303内に示されているが、典型的には、プログラム及び表は、二次記憶303の記憶領域からメモリ302の記憶領域にロードされ、CPU301により使用される。プログラムの動作及び表が保持する情報の詳細は後述する。
図4は、ストレージ管理クライアント計算機50の構成例を示す。管理者(ユーザ)は、ストレージ管理クライアント計算機50を介して、ストレージ管理計算機30を操作する。ストレージ管理クライアント計算機50は、CPU501、メモリ502、二次記憶503、通信I/F504、入力デバイス505及び出力デバイス506を含む。
CPU501は、メモリ502に格納されたユーザ操作処理プログラム521を実行し、管理者(ユーザ)にGUIを提供する。管理者は、出力デバイス506によって処理結果を視認しながら、入力デバイス505によって必要なデータを入力する。表示画像例及び管理者が入力する情報の例は、後述する。なお、管理装置は、入出力デバイスを含む一つの計算機で構成されてもよい。
図5は、ホスト情報収集計算機20の構成例を示す。ホスト情報収集計算機20は、CPU201、メモリ202、二次記憶203及び通信I/F204を含む。CPU201は、メモリ202に格納されたホスト情報収集プログラム221を実行する。ホスト情報収集プログラム221は、ホスト計算機からそのソフトウェア構成の情報、具体的には実行されるOS(ハイパーバイザやVMのOSを含む)及びOSが格納されたボリュームの情報を収集する。ホスト情報収集プログラム221は、収集した情報を、二次記憶203内のホスト情報231に格納する。
図6は、ストレージコントローラ450の構成例を示す。ストレージコントローラ450は、CPU451、メモリ452、二次記憶453、通信I/F454、及びディスクI/F455を含む。通信I/F454は、データネットワーク及び管理ネットワークを介した通信のためのI/Fである。ディスクI/F455は、ディスクデバイス415のためのI/Fである。
プロセッサであるCPU451は、メモリ452に格納されたストレージ制御プログラム461を実行することで、ストレージ装置を制御する。ストレージ制御プログラム461は、ボリュームの生成及び管理、ホストからのI/O要求の処理、重複排除グループ内のボリュームの重複排除、等の処理を実行する。ストレージ構成情報471は、ストレージ装置内のボリュームについての情報を含む。ボリュームについての情報は、例えば、仮想ボリューム、プール、プールボリューム、重複排除グループについて情報を含む。
図7は、ストレージ管理計算機30が保持するホスト表331の構成例を示す。ホスト表331は、ホスト計算機で実行されるホストプログラム、つまり、OSの情報を管理する。ホスト表331は、ホスト識別子欄、OS種類欄、OSバージョン欄、ハイパーバイザ欄、ハイパーバイザ識別子欄、及びVM割当容量欄を含む。
ホスト識別子欄は、ホスト(ホストプログラム)の識別子を示す。OS種類欄は、ホストプログラムのOSの種類を示す。上述のように、ハイパーバイザもOSである。OSバージョン欄は、OSのバージョンを示す。ハイパーバイザ欄は、各ホストプログラムが、ハイパーバイザであるか否かを示す。「TRUE」は当該ホストプログラムがハイパーバイザであることを示し、「FAULSE」は当該ホストプログラムがハイパーバイザでないことを示す。ハイパーバイザ識別子欄は、各ゲストOSを管理するハイパーバイザの識別子を示す。VM割当容量欄は、VMに割り当てられている記憶容量を示す。
図7の例において、ホストプログラムBARは、ハイパーバイザである。HOGE、FUGA、FOO、及びDAAの各ホストプログラムは、VM内のゲストOSである。それらを管理するハイパーバイザはBARである。ホストプログラムPIYOは、ホスト計算機のハードウェア上で直接動作するOSであり、ホスト計算機に実行される唯一のOSである。図7において、四つのOS種類が例示されており、それらは、OS_A、OS_B、OS_C、OS_Dである。
図8は、ストレージ管理計算機30が保持するVOL表332の構成例を示す。VOL表332は、ストレージ装置がホスト計算機に提供するボリュームを管理する。VOL表332は、VOL識別子欄、VOL種類欄、及びストレージ識別子欄を含む。VOL識別子欄は、ストレージ装置内でのボリュームの識別子を示す。VOL種類欄は、ボリュームの種類を示す。
ストレージ識別子欄はボリュームを提供する(含む)ストレージ装置の識別子を示す。VOL識別子欄の値とストレージ識別子欄との間の組が、システム内でボリュームを同定する識別子である。この点は他の表に置いて同様である。
本例において、ボリュームの種類はDATA STOREとSTANDARDに類別される。DATA STOREボリュームは、ハイパーバイザに割り当てられ、ハイパーバイザ及びVMのイメージファイルを格納するボリュームである。STANDARDボリュームは、ホスト計算機において単独のOSに割り当てられ、そのデータを格納するボリュームである。DATA STOREボリュームが格納するOSの数は、1又は複数であり、STANDARDボリュームが格納するOSの数は1である。
図9は、ストレージ管理計算機30が保持するVOL割当表333の構成例を示す。VOL割当表333は、ボリュームが割り当てられているホストプログラムを管理する。VOL割当表333は、VOL識別子欄、ホスト識別子欄、及びストレージ識別子欄を含む。VOL識別子欄は、ストレージ装置内でのボリュームの識別子を示す。ストレージ識別子欄はボリュームを提供する(含む)ストレージ装置の識別子を示す。ホスト識別子欄は、ボリュームが割り当てられているホスト(ホストプログラム)の識別子を示す。
図10は、ストレージ管理計算機30が保持するグループ内VOL個数閾値表334の構成例を示す。グループ内VOL個数閾値表334は、重複排除グループの最小ボリューム(VOL)個数及び最大ボリューム(VOL)個数を示す。グループ内VOL個数閾値表334の数値は、管理者(ユーザ)により予め設定される。グループ内VOL個数閾値表334は、重複排除グループの作成において参照される。本例において、最小ボリューム(VOL)個数及び最大ボリューム(VOL)個数は、全ての重複排除グループに共通であるが、異なる重複排除グループに異なる数値が定義されてもよい。
図11は、ストレージ管理計算機30が保持する重複排除グループ表335の構成例を示す。重複排除グループ表335は、重複排除グループを管理する。重複排除グループは、1又は複数のボリュームで構成され、重複排除グループ内でデータの重複排除が実行される。本例においては、重複排除グループは、同一のプールから実記憶領域が割り当てられる仮想ボリュームで構成される。
重複排除グループ表335は、グループ識別子欄、OS種類欄、最小バージョン欄、及び最大バージョン欄を含む。グループ識別子欄は、重複排除グループの識別子を示す。OS種類欄は、各重複排除グループに割り当てられているOSの種類を示す。後述するように、ボリュームは複数のOSを格納し得るため、ボリュームが格納するOSから代表OSが選択される。重複排除グループは、代表OSが同一の種類のボリュームで構成され、OS種類欄はその種類を示す。
最小バージョン欄は、重複排除グループに含まれるボリュームの代表OSのバージョンにおいて、最も小さいバージョン、つまり、最も古いバージョンを示す。最大バージョン欄は、重複排除グループに含まれるボリュームの代表OSのバージョンにおいて、最も大きいバージョン、つまり、最も新しいバージョンを示す。
図12は、ストレージ管理計算機30が保持するVOLグループ表336の構成例を示す。VOLグループ表336は、ボリュームとボリュームそれぞれが含まれる重複排除グループとを示す。VOLグループ表336は、VOL識別子欄、ストレージ識別子欄、及び、グループ識別子欄を含む。グループ識別子欄、重複排除グループの識別子を示す。VOL識別子欄とストレージ識別子欄の値により、システム内でボリュームが同定される。
以下において、ストレージ管理計算機30による処理を説明する。ストレージ管理計算機30による処理は、初期設定フェーズと運用フェーズを含む。まず、初期設定フェーズを説明する。図13は、初期設定フェーズ全体のフローチャートを示す。
ストレージ管理計算機30は、計算機システム内のボリュームとホストの情報を収集する(S11)。次に、ストレージ管理計算機30は、収集したボリューム及びホストの情報を使用して重複排除グループを決定し、ストレージ装置40A、40Bにおいて重複排除グループを設定する(S12)。
図14は、ストレージ管理計算機30によるボリュームとホストの情報を収集するステップS11の詳細のフローチャートである。ストレージ管理計算機30は、システム内の各ボリュームについて、ステップS111〜S114を実行する。ストレージ管理計算機30は、ボリュームに格納されている各VMについてステップS114を実行する。
ステップS111において、VOL情報取得プログラム321は、ストレージ装置40A、40Bからボリュームの情報を取得する。具体的には、VOL情報取得プログラム321は、各ボリュームを同定する識別子(VOL識別子及びストレージ識別子)及び各ボリュームが割り当てられているホストの識別子(ホスト識別子)を取得する。
VOL情報取得プログラム321は、取得したVOL識別子とストレージ識別子との組を、VOL表332及びVOL割当表333に登録する。VOL情報取得プログラム321は、取得したホスト識別子を対応するボリュームのエントリに登録する。割当先ホストは、ハイパーバイザ又はホスト計算機上の単一OSである。
ステップS112において、ホスト情報取得プログラム322は、ホスト情報収集計算機20から、ステップS111において取得された割当先ホストの情報を取得する。具体的には、ホスト情報取得プログラム322は、当該ホストのOSの種類及びバージョンを取得する。ホスト情報取得プログラム322は、さらに、当該ホストがVMを構築するハイパーバイザであるか否かの情報を取得する。
ホスト情報取得プログラム322は、取得した割当先ホストの情報をホスト表331に登録する。さらに、ホスト情報取得プログラム322は、VOL表332の対応ボリュームのエントリにおいて、VOL種類欄のセルに、DATA STORE又はSTANDARDを登録する。当該割当先ホストがハイパーバイザである場合、ボリュームの種類はDATA STOREであり、そうでない場合に、ボリュームの種類はSTANDARDである。
ステップ113において、ホスト情報取得プログラム322は、ボリュームの種類がDATA STOREか否か判定する。ボリュームの種類がDATA STOREではない場合(S113:NO)、ホスト情報取得プログラム322は、次のボリュームを選択する。
ボリュームの種類がDATA STOREである場合(S113:YES)、ホスト情報取得プログラム322は、ステップS114を実行する。ステップS114において、ホスト情報取得プログラム322は、ホスト情報収集計算機20から、当該ボリュームに格納されるVMの情報を取得する。
具体的には、ホスト情報取得プログラム322は、各VMのホスト識別子、OS種類及びバージョン、当該VMを構築、制御するハイパーバイザの識別子、並びに当該VMに割り当てられている記憶容量を取得する。ホスト情報取得プログラム322は、VMについて取得した情報を、ホスト表331に登録する。
図15は、ストレージ管理計算機30による重複排除グループを設定するステップS12の詳細のフローチャートである。ストレージ管理計算機30は、各ボリュームについてステップS121〜S123を実行した後、ステップS124及びS125を実行する。重複排除グループ決定プログラム324は、VOL表332から順次ボリュームを選択してステップS121〜S123を実行する。
ステップS121において、重複排除グループ決定プログラム324は、VOL表332を参照し、選択されているボリュームの種類が、DATA STOREであるか否か判定する。ボリュームの種類が、DATA STOREである場合(S121:YES)、つまり、ボリュームの割当先ホストがVMを管理するOSである場合、重複排除グループ決定プログラム324は、ステップ122を実行する。
ステップS122において、重複排除グループ決定プログラム324は、ボリュームの代表のOS種類及びバージョンを決定する。DATA STOREのボリュームは、複数のOSを格納し得るからである。ボリュームの代表OS種類及びバージョンの決定方法の詳細は、図16を参照して後述する。
ボリュームの種類が、DATA STOREではない場合(S121:NO)、つまり、ボリュームの割当先ホストがVMを管理するOSではない場合、重複排除グループ決定プログラム324は、ステップ123を実行する。
ステップS123において、重複排除グループ決定プログラム324は、VOL割当表333とホスト表331から、当該ボリュームに対応するOS種類及びバージョンを取得する。当該OS種類及びバージョンが、代表OS種類及びバージョンである。
ステップS124において、重複排除グループ決定プログラム324は、重複排除グループそれぞれに含まれるボリュームを決定する。重複排除グループの決定方法の詳細は、図17を参照して後述する。
重複排除グループが決定された後、ステップS125が実行される。ステップS125において、ストレージ構成変更指令プログラム325は、決定された重複排除グループに従って、移動が必要なボリュームを決定し、それらボリュームの移動をストレージ装置40A及び40Bに指示する。本例において、同一重複排除グループに含まれるボリュームは、同一ストレージ装置に含まれる。一つの重複排除グループは、一つのプール上で定義されてもよい。
図16は、重複排除グループ決定プログラム324による、ボリュームの代表OS種類及びバージョンを決定ステップS122の詳細のフローチャートである。重複排除グループ決定プログラム324は、ボリュームに格納された各VMについて、ステップS131〜S134を実行する。重複排除グループ決定プログラム324は、VOL割当表333を参照して、当該ボリュームの割り当てられているホスト(ハイパーバイザ)を同定する。重複排除グループ決定プログラム324は、当該ホストにより制御されるVMを同定する。
ステップS131において、重複排除グループ決定プログラム324は、選択したVMのOS種類及びバージョンをホスト表331から取得する。ステップS132において、重複排除グループ決定プログラム324は、予め設定されているモードがOS数モードか、OS容量モードか判定する。
設定モードがOS数モードである場合(S132:YES)、ステップS133において、重複排除グループ決定プログラム324は、当該VMのOS種類及びバージョンの組のカウンタを、インクリメントする。設定モードがOS容量モードである場合(S132:NO)、ステップS134において、重複排除グループ決定プログラム324は、OS種類及びバージョンの組毎の総容量値において、当該VMのOS種類及びバージョンの総容量値に、当該VMの割当容量を加算する。
当該ボリュームが格納する全てのVMについてステップS131〜S134を実行した後、重複排除グループ決定プログラム324は、ステップS135を実行する。ステップS135において、重複排除グループ決定プログラム324は、設定モードがOS数モードであるかOS容量モードであるか判定する。
設定モードがOS数モードである場合(S135:YES)、重複排除グループ決定プログラム324は、ステップS136を実行する。ステップS136において、重複排除グループ決定プログラム324は、当該ボリュームに格納されているVM数が最大のOS種類を、当該ボリュームの代表OS種類と決定する。
さらに、ステップS137において、重複排除グループ決定プログラム324は、当該ボリュームに格納されている代表OS種類のVMにおいて、VM数が最大のバージョンを、当該ボリュームの代表バージョンと決定する。
設定モードがOS容量モードである場合(S135:NO)、重複排除グループ決定プログラム324は、ステップS138を実行する。ステップS138において、重複排除グループ決定プログラム324は、当該ボリュームに格納されているVMにおいて、総割当容量が最大のOS種類を、当該ボリュームの代表OS種類と決定する。
さらに、ステップS139において、重複排除グループ決定プログラム324は、当該ボリュームに格納されている代表OS種類のVMにおいて、総割当容量が最大のバージョンを、当該ボリュームの代表バージョンと決定する。
予め設定された基準に従って代表OSを決定することで、システムの使用状況に応じて適切に代表OSを選択することができる。
図17は、重複排除グループ決定プログラム324による、重複排除グループを構成するステップS124の詳細のフローチャートである。重複排除グループ決定プログラム324は、ステップS122、S123で決定したボリュームの代表OS種類及びバージョンにしたがって、ボリュームをグループ化する。
重複排除グループ決定プログラム324は、各ボリュームについて、ステップS151〜S153を実行する。その後、重複排除グループ決定プログラム324は、ステップS154及びステップS155を実行する。
ステップS151において、重複排除グループ決定プログラム324は、選択したボリュームの代表OSと同一のOS種類及びメジャーバージョンのボリュームグループが存在するか(作成済みか)か否か判定する。OSのバージョンは小数点を含む数値で表わされ、整数部がメジャーバージョンを示し、小数部がマイナーバージョンを示す。例えば、バージョン4.21は、メジャーバージョンが4であり、マイナーバージョンが0.21であることを示す。
該当するボリュームグループが存在しない場合(S151:NO)、ステップS152において、重複排除グループ決定プログラム324は、選択したボリュームの代表OSのOS種類及びメジャーバージョンが割り当てられたボリュームグループを作成する。
該当する重複排除グループが存在する場合(S151:YES)又は新たに作成された後(S152)、ステップS153において、重複排除グループ決定プログラム324は、そのボリュームグループに当該ボリュームを追加する。
ステップS151〜S153は、1又は複数のボリュームグループが構成する。各ボリュームグループを構成するボリュームの代表OSのOS種類及びメジャーバージョンは、共通である。
次に、ステップS154において、重複排除グループ決定プログラム324は、ステップS151〜S153で構成したボリュームグループのボリュームの個数を調整するため、ボリュームグループを再構成する。再構成後のボリュームグループが、それぞれ、最終的な重複排除グループである。
重複排除グループ決定プログラム324は、ボリューム個数が多すぎるボリュームグループを分割し、ボリューム個数が少なすぎるボリュームグループを他のボリュームグループと統合する。これにより、各重複排除グループのボリューム個数を規定範囲内に収め、効率的な重複排除を実現する。重複排除グループの再構成(S154)の詳細は後述する。
次に、ステップS155において、重複排除グループ決定プログラム324は、決定した重複排除グループの情報を、重複排除グループ表335及びボリュームグループ表336に登録する。具体的には、重複排除グループ決定プログラム324は、各重複排除グループの、識別子、OS種類、最小バージョン、及び最大バージョンを重複排除グループ表335に登録する。重複排除グループ決定プログラム324は、各重複排除グループの識別子を、ボリュームグループ表336に登録する。
図18は、重複排除グループ決定プログラム324によるボリュームグループの再構成(S154)の詳細のフローチャートである。重複排除グループ決定プログラム324は、作成したボリュームグループを順次選択し、各ボリュームグループについて、ステップS161及びS162を実行する。その後、重複排除グループ決定プログラム324は、ステップS163を実行する。
ステップS161において、重複排除グループ決定プログラム324は、選択したボリュームグループの構成ボリューム個数が規定の最大ボリューム個数より多いか判定する。最大ボリューム個数は、グループ内VOL個数閾値表334に予め登録されている。
選択したボリュームグループの構成ボリューム個数が規定の最大ボリューム個数以下である場合(S161:NO)、重複排除グループ決定プログラム324は、次のボリュームグループを選択する。
選択したボリュームグループの構成ボリューム個数が規定の最大ボリューム個数より多い場合(S161:NO)、ステップS162において、重複排除グループ決定プログラム324は、当該ボリュームグループを分割する。具体的には、重複排除グループ決定プログラム324は、ボリュームの代表OSのマイナーバージョンによって、ボリュームグループを分割する。
分割前のボリュームグループは、代表OSのOS種類とメジャーバージョンが同一のボリュームで構成されている。したがって、分割後のボリュームグループは、それぞれ、代表OSのOS種類及びバージョンが同一のボリュームで構成されている。このバージョンはメジャーバージョン及びマイナーバージョンの組で定義される。全てのボリュームについてステップS161及びS162が実行された後、各ボリュームグループのボリューム個数は、規定の最大個数以下である。
次に、重複排除グループ決定プログラム324は、ステップS163を繰り返し実行することによって、分割後のボリュームグループからボリュームグループを再構成し、ボリュームグループのボリューム個数を調整する。これにより、ボリューム個数が規定範囲外であるボリュームグループの数を低減する。
具体的には、重複排除グループ決定プログラム324は、同一OS種類のボリュームグループをバージョンに従った順序で配列し、ボリューム個数が規定範囲外の二つの隣接バージョンのボリュームグループを統合する。重複排除グループ決定プログラム324は、統合したボリュームグループを分割し、分割後の各ボリュームグループのボリューム個数が規定範囲内にあるようにする。
図19は、ボリュームグループのボリューム個数の調整のためのステップS163の詳細のフローチャートである。重複排除グループ決定プログラム324は、各OS種類のボリュームグループにおいて、バージョンの昇順で当該フローチャートの処理(ステップS163)を実行する。
ステップS171において、重複排除グループ決定プログラム324は、バージョンの昇順で選択した一つボリュームグループ(対象ボリュームグループ)の隣接ボリュームグループを選択する。隣接ボリュームグループは、同一OS種類のボリュームグループであって、選択したボリュームグループに最も近いバージョンのボリュームを含むボリュームグループである。
ステップS172において、重複排除グループ決定プログラム324は、隣接ボリュームグループが存在しているか判定する。隣接ボリュームグループが存在しない場合(S172:NO)、対象のボリュームグループは、当該OS種類における最後のボリュームグループである。
隣接ボリュームグループが存在しない場合(S172:NO)、ステップS179において、重複排除グループ決定プログラム324は、対象ボリュームグループのボリューム個数と規定の最大個数とを比較する。
対象ボリュームグループのボリューム個数が規定の最大個数より多い場合(S179:YES)、重複排除グループ決定プログラム324は、ステップ178に進み、当該ボリュームグループを分割する。ステップS178の詳細は後述する。対象ボリュームグループのボリューム個数が規定の最大個数以下である場合(S179:YES)、重複排除グループ決定プログラム324は、本フローを抜ける。
ステップS172において隣接ボリュームグループが存在する場合(S172:YES)、ステップS173において、重複排除グループ決定プログラム324は、対象ボリュームグループのボリューム個数と、グループ内VOL個数閾値表334に規定の最小個数とを比較する。
対象ボリュームグループのボリューム個数が規定の最小個数よりも少ない場合(S173:YES)、ステップS174において、重複排除グループ決定プログラム324は、対象ボリュームグループに隣接ボリュームグループを統合する。
その後、重複排除グループ決定プログラム324は、ステップS171に戻って、統合後の対象ボリュームグループの隣接ボリュームグループを選択する。ステップS171〜S174のループにより、統合後のボリュームグループのボリューム個数を、規定の最小数以上にする。
選択したボリュームグループのボリューム個数が規定の最小個数以上である場合(S173:NO)、ステップS175において、重複排除グループ決定プログラム324は、対象ボリュームグループのボリューム個数と、グループ内VOL個数閾値表334に規定の最大個数とを比較する。
選択したボリュームグループのボリューム個数が規定の最大個数以下である場合(S175:NO)、統合された又は統合されなかった対象ボリュームグループのボリューム個数は、規定の最小数と最大数の範囲内である。重複排除グループ決定プログラム324は、本フローを抜ける。
対象ボリュームグループのボリューム個数が規定の最大個数より多い場合(S175:YES)、ステップ176において、重複排除グループ決定プログラム324は、対象ボリュームグループの隣接ボリュームグループのボリューム個数を、規定の最小数及び最大数と比較する。
隣接ボリュームグループのボリューム個数が、規定の最小個数と最大個数で定義される範囲外である場合(S176:NO)、具体的には、ボリューム個数が最小個数より少ない又は最大個数より多い場合、重複排除グループ決定プログラム324は、ステップS177において、対象ボリュームグループに隣接ボリュームグループを統合する。
その後、重複排除グループ決定プログラム324は、ステップS176に戻る。ボリューム個数が規定範囲外のボリュームグループを統合することで、その後に分割によるボリュームグループのボリューム個数を大きくし、重複排除による圧縮率を向上する。
隣接ボリュームグループのボリューム個数が、規定の範囲内である場合(S176:YES)、ステップS178において、重複排除グループ決定プログラム324は、対象ボリュームグループを、バージョンの昇順で、分割する。分割後の各ボリュームグループのボリューム個数が規定最大個数以下となるように、対象ボリュームグループは分割される。バージョンが同一又は連続するボリュームでボリュームグループ(重複排除グループ)が構成されるため、重複排除による圧縮率を向上できる。
一例において、重複排除グループ決定プログラム324は、分割後のボリュームグループ個数が、対象ボリュームグループのボリューム個数を規定最大個数で割った値を切り上げた数、となるように、対象ボリュームグループを分割する。重複排除グループ決定プログラム324は、分割後のボリュームグループのボリューム個数が、均等になるように各ボリュームグループの数を決定する。つまり、ボリューム個数の違いは、最大1である。これにより、重複排除による圧縮率を向上させる。
他の例において、重複排除グループ決定プログラム324は、分割後のボリュームグループの一つを除くボリュームグループを、規定の最大個数で構成してもよい。重複排除グループ決定プログラム324は、分割後のボリュームグループ個数が、対象ボリュームグループのボリューム個数を規定最小個数で割った値を切り下げた数、となるように、対象ボリュームグループを分割してもよい。
図20A〜図20Eは、ボリュームグループの統合及び分割の例を示す。本例において、ボリュームグループの規定最小ボリューム個数は10であり、規定最大ボリューム個数は1000である。
図20Aは、ボリュームをOS種類及びメジャーバージョンで分割した後の(S151〜S153)、ボリュームグループの例を示す。図20Aは、OS_Bの四つのボリュームグループ(GROUP_A601〜GROUP_D604)を示す。ボリュームはバージョンの昇順で配列されている。
GROUP_A601のメジャーバージョンは5であり、ボリューム個数は800である。GROUP_B602のメジャーバージョンは6であり、ボリューム個数は1205である。GROUP_C603のメジャーバージョンは7であり、ボリューム個数は8である。GROUP_D604のメジャーバージョンは8であり、ボリューム個数は600である。
図20Bは、ボリューム個数が規定最大個数より多いボリュームグループを、マイナーバージョンに従って分割した(S161、S162)例を示す。規定最大個数は1000であるため、GROUP_B602が、二つのボリュームグループGROUP_B‐1(611)、GROUP_B‐2(612)に分割される。
図20Cは、GROUP_A601が、重複排除グループと決定されたことを示す。GROUP_A601のボリューム個数は800であり、(最小VOL個数(10)≦VOL個数(800)≦最大VOL個数(1000))の条件を満たす(S173:NO、S175:NO)。
図20Dは、隣接ボリュームグループを統合し(S177)、さらに、統合したボリュームグループを分割した(S178)例を示す。GROUP_B−1(611)のボリューム個数(1200)は、規定最大個数(1000)よりも多い(S175:YES)。さらに、隣接するGROUP_B−2(612)のボリューム個数(5)は、規定最小数(10)より小さい(S176:NO)。
したがって、GROUP_B−1(611)、GROUP_B−2(612)は統合され(S177)、さらに統合されたボリュームグループが分割される(S178)。分割により、重複排除グループGROUP_B´−1(621)、GROUP_B´−2(622)が生成される。
図20Eは、隣接ボリュームグループを統合し(S174)、統合したボリュームグループを分割しない(S179:NO)例を示す。GROUP_C603のボリューム個数(8)は、規定最小個数(10)より少ないなので(S173:YES)、GROUP_C603とGROUP_D604は統合され(S174)、GROUP_C´631が形成される。
GROUP_C´631のボリューム個数(608)は、規定最大個数(1000)以下であるので(S179:NO)、GROUP_C´631は重複排除グループとして確定される。GROUP_C´631は、異なるメジャーバージョンのボリュームを含む。
図21は、運用フェーズにおいて、ホスト構成又はボリュームが格納するデータの変更に対して実行される処理の全体フローチャートである。運用フェーズにおいて、ステップS201、S202は定期的に実行される。VOL・ホスト情報の取得(S201)及び重複排除グループの設定(S202)は、図13に示すVOL・ホスト情報の取得(S101)及び重複排除グループの設定(S102)と同様である。
図22は、運用フェーズにおける、ユーザによるボリュームのホストへの割り当てに対する処理のフローチャートである。ボリュームがホストに割り当てられると、ストレージ管理計算機30は、当該ボリュームが属する重複排除グループを推奨する。ストレージ管理計算機30は、必要に応じて、重複排除グループを再構成する。
重複排除グループ決定プログラム324は、割り当てられた各ボリュームに対して、ステップS211を実行する。その後、重複排除グループ決定プログラム324は、ステップS212〜S215を実行する。
ステップS211において、重複排除グループ決定プログラム324は、割り当てられたボリュームの重複排除グループを決定する。重複排除グループ決定プログラム324は、当該ボリュームの割当先OSのOS種類及びバージョンをVOL割当表333及びホスト表331を参照して同定する。重複排除グループ決定プログラム324は、重複排除グループ表335を参照して、当該ボリュームのOS種類及びバージョンが属する重複排除グループを同定する。
ステップS212において、重複排除グループ決定プログラム324は、ボリューム個数が規定最大個数を超える重複排除グループが存在するか判定する。そのような重複排除グループが存在しない場合(S212:NO)、ステップS214において、重複排除グループ決定プログラム324は、重複排除グループ表335及びボリュームグループ表336を更新する。さらに、ステップS215において、重複排除グループ決定プログラム324は、必要なボリュームを属する重複排除グループに移動する。
ステップS212において、ボリューム個数が規定最大個数を超える重複排除グループが存在する場合(S212:YES)、重複排除グループ決定プログラム324は、ステップS213を実行する。ステップS213はステップS154と同様である。その後、重複排除グループ決定プログラム324は、ステップS214及びS215を実行する。
図23は、運用フェーズにおける、ユーザによるボリュームの削除に対する処理のフローチャートである。ボリュームが削除されると、ストレージ管理計算機30は、重複排除グループを再構成する。
重複排除グループ決定プログラム324は、削除された各ボリュームに対して、ステップS221を実行する。その後、重複排除グループ決定プログラム324は、ステップS222〜S225を実行する。
ステップS221において、重複排除グループ決定プログラム324は、削除されたボリュームの情報を、VOLグループ表336から削除する。ステップS222において、重複排除グループ決定プログラム324は、ボリューム個数が規定最小大個数未満の重複排除グループが存在するか判定する。そのような重複排除グループが存在しない場合(S222:NO)、ステップS224において、重複排除グループ決定プログラム324は、重複排除グループ表335及びボリュームグループ表336を更新する。さらに、ステップS225において、重複排除グループ決定プログラム324は、必要なボリュームを属する重複排除グループに移動する。
ステップS222において、ボリューム個数が規定最大個数を超える重複排除グループが存在する場合(S222:YES)、重複排除グループ決定プログラム324は、ステップS223を実行する。ステップS223はステップS154と同様である。その後、重複排除グループ決定プログラム324は、ステップS224及びS225を実行する。
図24は、重複排除グループ一覧表の画像例を示す。図24は、ストレージ装置SA_Aの重複排除グループの情報を示す。ユーザ操作処理プログラム521は、ユーザによる入力デバイス505に応じて、当該画像を出力デバイス506に出力する。ユーザ操作処理プログラム521は、ストレージ管理計算機30から、重複排除グループ一覧表で表示する情報を取得する。ストレージ管理計算機30は、ストレージ装置40A、40Bから重複排除による圧縮前後のボリュームの情報を取得する。
図25は、重複排除グループ内ボリューム一覧表の画像例を示す。図25は、ストレージ装置SA_Aの重複排除グループGR_Bの情報を示す。ユーザ操作処理プログラム521は、ユーザによる入力デバイス505に応じて、当該画像を出力デバイス506に出力する。
図26は、ユーザによる新規ボリュームの割り当てのための画像例を示す。ユーザ操作処理プログラム521は、当該画像を出力デバイス506に出力し、入力デバイス505を介したユーザ入力を受け付ける。ユーザ操作処理プログラム521は、入力された情報をストレージ管理計算機30に送信する。入力情報は、割当先ホストの情報とボリュームの容量の情報である。
ユーザ操作処理プログラム521は、当該ボリュームが所属することを推奨する重複排除グループの情報をストレージ管理計算機30から取得し、当該画像において表示する。これにより、ユーザに新規ボリュームの推奨重複排除グループを提示する。図22を参照して説明したように、ストレージ管理計算機30は新規ボリュームが属する重複排除グループを決定し、その情報をストレージ管理クライアント計算機50に送信する。
以上、本発明の実施形態を説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態の構成を加えることも可能である。各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。

Claims (15)

  1. 1以上のストレージシステムを管理する管理装置であって、
    プロセッサとメモリとを含み、
    前記1以上のストレージシステムは、それぞれが1以上のOSを格納する複数のボリュームを含み、
    前記プロセッサは、
    前記複数のボリュームぞれぞれの代表OSのOS種類及びバージョンを決定し、
    前記複数のボリュームから、代表OSのOS種類及びメジャーバージョンが同一である複数のボリュームを選択し、
    前記選択した複数のボリュームを、重複排除を行うボリュームで構成されている一つの重複排除グループに含める、管理装置。
  2. 請求項1に記載の管理装置であって、
    前記プロセッサは、
    前記複数のボリュームから1以上の重複排除グループを構成し、
    前記1以上の重複排除グループの各重複排除グループを、同一OS種類の代表OSを有するボリュームで構成する、管理装置。
  3. 請求項2に記載の管理装置であって、
    前記プロセッサは、前記1以上の重複排除グループの各重複排除グループを、同一バージョン又は連続する複数のバージョンの代表OSを有するボリュームで構成する、管理装置。
  4. 請求項1に記載の管理装置であって、
    前記プロセッサは、
    前記複数のボリュームから、1以上の重複排除グループをそれぞれ規定個数以下のボリュームで構成する、管理装置。
  5. 請求項1に記載の管理装置であって、
    前記プロセッサは、
    前記複数のボリュームを、前記代表OSのOS種類及びメジャーバージョンの組で複数の第1ボリュームグループに分類し、
    前記複数の第1ボリュームグループにおいて、構成ボリューム個数が規定範囲内であるボリュームグループを、重複排除グループと決定し、前記規定範囲は規定最小個数以上規定最大個数以下であり、
    前記複数の第1ボリュームグループにおいて、構成ボリューム個数が前記規定範囲外であるボリュームグループから、構成ボリューム個数が前記規定最大個数以下であり、同一OS種類及び同一バージョン又は連続する複数のバージョンの代表OSを有するボリュームで、1以上の重複排除グループをそれぞれ再構成する、管理装置。
  6. 請求項5に記載の管理装置であって、
    前記プロセッサは、
    前記複数の第1ボリュームグループにおいて、構成ボリューム個数が前記規定最大個数を超える過大ボリュームグループそれぞれを、マイナーバージョンによって複数の第2ボリュームグループに分類し、
    前記複数の第1ボリュームグループにおいて構成ボリューム個数が前記規定最小個数未満の過小ボリュームグループ及び前記複数の第2ボリュームグループから前記1以上の重複排除グループを構成する、管理装置。
  7. 請求項6に記載の管理装置であって、
    前記プロセッサは、前記過小ボリュームグループ及び前記複数の第2ボリュームグループにおいて、同一OS種類であって連続するバージョンのボリュームグループを統合し、
    前記統合したボリュームグループを分割して、前記1以上の重複排除グループを構成する、管理装置。
  8. 請求項1に記載の管理装置であって、
    前記プロセッサは、
    複数の仮想マシンの複数のOSを含む第1ボリュームにおいて、OS種類及びバージョンの組によって前記複数のOSを分類し、
    分類された前記複数のOSにおいて、OSの個数が最も多いOS種類及びバージョンの組を選択し、
    前記選択したOS種類及びバージョンの組を、前記第1ボリュームの代表OSのOS種類及びバージョンの組と決定する、管理装置。
  9. 請求項1に記載の管理装置であって、
    前記プロセッサは、
    複数の仮想マシンのOSを含む第1ボリュームにおいて、OS種類及びバージョンの組によって前記複数の仮想マシンを分類し、
    分類された前記複数の仮想マシンにおいて、前記第1ボリュームに割り当てられている記憶容量の合計が最も多い仮想マシンのOS種類及びバージョンの組を選択し、
    前記選択したOS種類及びバージョンの組を、前記第1ボリュームの代表OSのOS種類及びバージョンの組と決定する、管理装置。
  10. 請求項1に記載の管理装置であって、
    前記プロセッサは、新規ボリュームを当該ボリュームが割り当てられるOSのOS種類及びメジャーバージョンの代表OSを有するボリュームと同一の重複排除グループを提示する、管理装置。
  11. それぞれが1以上のOSを格納する複数のボリュームを含む、1以上のストレージシステム、を管理する管理方法であって、
    前記複数のボリュームぞれぞれの代表OSのOS種類及びバージョンを決定し、
    前記複数のボリュームから、代表OSのOS種類及びメジャーバージョンが同一である複数のボリュームを選択し、
    前記選択した複数のボリュームを、重複排除を行うボリュームで構成されている一つの重複排除グループに含める、管理方法。
  12. 請求項11に記載の管理方法であって、
    前記複数のボリュームから1以上の重複排除グループを構成し、
    前記1以上の重複排除グループの各重複排除グループを、同一OS種類の代表OSを有するボリュームで構成する、管理方法。
  13. 請求項12に記載の管理方法であって、
    前記1以上の重複排除グループの各重複排除グループを、同一バージョン又は連続する複数のバージョンの代表OSを有するボリュームで構成する、管理方法。
  14. 請求項11に記載の管理方法であって、
    前記複数のボリュームから1以上の重複排除グループを、それぞれ規定個数以下のボリュームで構成する、管理方法。
  15. 請求項11に記載の管理方法であって、
    前記複数のボリュームを、前記代表OSのOS種類及びメジャーバージョンの組で複数の第1ボリュームグループに分類し、
    前記複数の第1ボリュームグループにおいて、構成ボリューム個数が規定範囲内であるボリュームグループを、重複排除グループと決定し、前記規定範囲は規定最小個数以上規定最大個数以下であり、
    前記複数の第1ボリュームグループにおいて、構成ボリューム個数が前記規定範囲外であるボリュームグループから、構成ボリューム個数が前記規定最大個数以下であり、同一OS種類及び同一バージョン又は連続する複数のバージョンの代表OSを有するボリュームで、1以上の重複排除グループを再構成する、管理方法。
JP2018520328A 2016-06-03 2016-06-03 ストレージシステムの管理装置 Active JP6568653B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/066643 WO2017208450A1 (ja) 2016-06-03 2016-06-03 ストレージシステムの管理装置

Publications (2)

Publication Number Publication Date
JPWO2017208450A1 JPWO2017208450A1 (ja) 2018-11-15
JP6568653B2 true JP6568653B2 (ja) 2019-08-28

Family

ID=60478203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018520328A Active JP6568653B2 (ja) 2016-06-03 2016-06-03 ストレージシステムの管理装置

Country Status (3)

Country Link
US (1) US10628069B2 (ja)
JP (1) JP6568653B2 (ja)
WO (1) WO2017208450A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157299B2 (en) * 2017-08-15 2021-10-26 Citrix Systems, Inc. Thin provisioning virtual desktop infrastructure virtual machines in cloud environments without thin clone support
JP6751423B2 (ja) * 2018-07-31 2020-09-02 株式会社日立製作所 ストレージ装置及びその制御方法
JP2020149229A (ja) * 2019-03-12 2020-09-17 Necソリューションイノベータ株式会社 重複排除装置、重複排除方法、プログラム及び記録媒体
US11288104B2 (en) * 2019-08-06 2022-03-29 International Business Machines Corporation Automatic dynamic operating system provisioning
WO2023199427A1 (ja) * 2022-04-13 2023-10-19 三菱電機株式会社 重複排除システム、機器、サーバ装置、重複排除方法、および、重複排除プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8280926B2 (en) * 2003-08-05 2012-10-02 Sepaton, Inc. Scalable de-duplication mechanism
JP4990828B2 (ja) 2008-03-25 2012-08-01 株式会社日立製作所 ストレージ装置及びこれの制御方法
US20100199065A1 (en) * 2009-02-04 2010-08-05 Hitachi, Ltd. Methods and apparatus for performing efficient data deduplication by metadata grouping
US8751463B1 (en) * 2011-06-30 2014-06-10 Emc Corporation Capacity forecasting for a deduplicating storage system
US8589640B2 (en) * 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8965856B2 (en) 2011-08-29 2015-02-24 Hitachi, Ltd. Increase in deduplication efficiency for hierarchical storage system
US9880771B2 (en) * 2012-06-19 2018-01-30 International Business Machines Corporation Packing deduplicated data into finite-sized containers
US9268784B1 (en) * 2012-09-19 2016-02-23 Emc Corporation Content-aware distributed deduplicating storage system based on locality-sensitive hashing
US9766832B2 (en) * 2013-03-15 2017-09-19 Hitachi Data Systems Corporation Systems and methods of locating redundant data using patterns of matching fingerprints
JP6119327B2 (ja) * 2013-03-15 2017-04-26 日本電気株式会社 重複データ管理装置、データ転送制御装置、データ転送制御システム、重複データ管理方法、データ転送制御方法、および、コンピュータ・プログラム

Also Published As

Publication number Publication date
US20190087116A1 (en) 2019-03-21
JPWO2017208450A1 (ja) 2018-11-15
US10628069B2 (en) 2020-04-21
WO2017208450A1 (ja) 2017-12-07

Similar Documents

Publication Publication Date Title
US10521369B1 (en) Host device with multi-path layer configured for per-process data reduction control
JP6568653B2 (ja) ストレージシステムの管理装置
US10379759B2 (en) Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure
US10013196B2 (en) Policy based provisioning of storage system resources
US8984221B2 (en) Method for assigning storage area and computer system using the same
US9286344B1 (en) Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure
US9116632B2 (en) Storage management system
US9075530B2 (en) Storage system and the storage system management method
US9047352B1 (en) Centralized searching in a data storage environment
US9329792B2 (en) Storage thin provisioning and space reclamation
US10992768B1 (en) Resuming copying of snapshots from a storage system to cloud storage
US20150234671A1 (en) Management system and management program
US10048885B1 (en) Managing reclaiming storage space in file systems
US11740824B2 (en) Performing wear leveling between storage systems of a storage cluster
US20220035574A1 (en) Modifying virtual persistent volumes based on analysis of performance metrics
US10268419B1 (en) Quality of service for storage system resources
US11397589B2 (en) Snapshot transmission from storage array to cloud using multi-path input-output
US11880606B2 (en) Moving virtual volumes among storage nodes of a storage cluster based on determined likelihood of designated virtual machine boot conditions
US11983432B2 (en) Load sharing of copy workloads in device clusters
US11556430B2 (en) Selecting restore processes for applications hosted on storage volumes that are part of group replication sessions
US11249687B2 (en) System and method for supporting data analysis
US11080215B1 (en) Host device providing automated prediction of change intervals to reduce adverse impacts on applications
JP6858812B2 (ja) ストレージ制御システム及び方法
US20230333874A1 (en) Virtual volume placement based on activity level
CN116483251A (zh) 使用存储系统度量的动态快照调度

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190802

R150 Certificate of patent or registration of utility model

Ref document number: 6568653

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150