JP4914173B2 - 再配置システムおよび再配置方法 - Google Patents

再配置システムおよび再配置方法 Download PDF

Info

Publication number
JP4914173B2
JP4914173B2 JP2006294063A JP2006294063A JP4914173B2 JP 4914173 B2 JP4914173 B2 JP 4914173B2 JP 2006294063 A JP2006294063 A JP 2006294063A JP 2006294063 A JP2006294063 A JP 2006294063A JP 4914173 B2 JP4914173 B2 JP 4914173B2
Authority
JP
Japan
Prior art keywords
pool
virtual volume
tier
relocation
hierarchy
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.)
Expired - Fee Related
Application number
JP2006294063A
Other languages
English (en)
Other versions
JP2008112276A (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
Priority to JP2006294063A priority Critical patent/JP4914173B2/ja
Priority to US11/624,884 priority patent/US8069326B2/en
Publication of JP2008112276A publication Critical patent/JP2008112276A/ja
Application granted granted Critical
Publication of JP4914173B2 publication Critical patent/JP4914173B2/ja
Expired - Fee Related 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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Description

本発明は、シン・プロビジョニングにより構築された仮想ボリュームを、プール枯渇に対する安全性を確保しつつ再配置することができる再配置システムおよび再配置方法に関する。
企業等の組織で管理されるデータは、ディスクアレイサブシステム等として呼ばれるストレージ装置に格納されるのが一般的である。このストレージ装置は、ハードディスクドライブ等の記憶装置を複数備えてRAID(Redundant Array of Inexpensive Disks)を構成し、その上にボリュームと呼ばれる論理的な記憶領域を構築する。ホストコンピュータ(以下、「ホスト」という。)は、このボリュームを介して記憶装置にアクセスし、データの読み書きを行う。
ところで、近年、企業等の組織で管理されるデータの量は年々増加する一方であり、ストレージ装置の有効利用が重要課題となっている。この課題を解決するために、ストレージ階層管理やシン・プロビジョニングといった従来技術があり、シン・プロビジョニングは、ストレージ装置の容量利用効率を向上するための技術となっている。
特許文献1には、ボリュームをその特性に応じて階層と呼ばれるグループに分類し、データをその価値に応じた特性を有するボリュームに適宜配置することでストレージの有効利用を図る、ストレージ階層管理の方法が開示されている。
シン・プロビジョニングによらない通常のボリューム(以下、「通常ボリューム」という。)においては、ボリューム作成時にボリュームの全容量に相当する領域が記憶装置上に確保される。一方、シン・プロビジョニングでは、複数の通常ボリュームをプールし、その上に仮想的なボリューム(以下、「仮想ボリューム」という。)を構築する。そして、その仮想ボリュームをホストに公開し、実際にデータが書き込まれたデータブロックに対してだけ、物理的な記憶領域をプール内の通常ボリュームから確保し割り当てる。
そのため、メリットとしては、大きな容量の仮想ボリュームを作成しても、実際にホストから使用される分だけの通常ボリュームを用意しておけばよく、ストレージ装置の容量利用効率が向上する。デメリットとしては、プール内の通常ボリューム上の空き領域が枯渇すると、そのプール上に構築された仮想ボリュームすべてに対して、それ以上データを書き込むことができなくなる。そのため、ユーザ(ストレージ装置の管理者)は、プールの使用量の増加を見積もり、運用中にプールが枯渇することがないように、プールへの通常ボリュームの追加といった維持管理作業を随時行う必要がある。
シン・プロビジョニングと階層管理を組み合わせて用いることで、ストレージの有効利用がより促進されると考えられる。すなわち、プールをその特性ごとに階層に分類し、異なる階層に属する複数のプール間で仮想ボリュームを再配置することで、ユーザはシン・プロビジョニングと階層管理の両方の利点を享受することができると期待される。
特開2006−99748号公報
前記従来技術には次のような問題があり、シン・プロビジョニングの上で適用した場合、ユーザのストレージ有効利用を十分支援できるとは言いがたい。
第1の問題は、プール枯渇の危険性が増すということである。仮想ボリュームをプール間で再配置することで各プールの使用量の傾向が大きく変化するため、再配置後のプールの使用量増加を見積もるのが難しくなるためである。最悪の場合、再配置を実行した結果、移動先のプールの枯渇までの期間(以下、「残運用期間」という。)が短くなってしまい、ユーザが対処を講じるのが間に合わなくなる可能性がある。
第2の問題は、プールの空き領域を調整する手段として再配置を利用することが難しいということである。例えば、ユーザが枯渇しそうなプールを発見し、そのプール上に構築された仮想ボリュームを別のプールに移動することにより枯渇時期を延ばそうとしても、どの仮想ボリュームをどのプールに再配置するのが最も効果的かを判断するのは難しい。
本発明は、前記の課題を解決するための発明であって、シン・プロビジョニングにより構築された仮想ボリュームを、プール枯渇に対する安全性を確保しつつ再配置することができる再配置システムおよび再配置方法を提供することを目的とする。
前記目的を達成するため、複数のプールを備え、ひとつ以上の通常ボリュームからなるプール上に構築されたひとつ以上の仮想ボリュームを有し、ひとつ以上の仮想ボリュームへの書き込み操作に応じて、プールを構成するひとつ以上の通常ボリュームから記憶領域を割り当てるストレージと、仮想ボリュームを管理する管理サーバとを備える仮想ボリュームの再配置システムであって、管理サーバは、プールを階層に分類する複数の条件からなる階層定義を記憶するとともに、階層定義の条件には、階層における使用量増加の傾向を、階層間の相対比率で表した値である使用量増加バイアスを記憶する記憶部と、記憶部の使用量増加バイアスを含む条件を考慮してプールの枯渇までの期間を予測する予測部と、予測部の予測結果に基づいて移動先候補となるプールを選択する選択部と、選択部で選択された移動先候補のひとつのプールに仮想ボリュームを再配置させる再配置部とを備えたことを特徴とする。このような構成によれば、仮想ボリュームの再配置前後のプール枯渇までの期間を予測し、予測結果に基づいて仮想ボリュームの再配置動作を制御することができる。
本発明によれば、シン・プロビジョニングにより構築された仮想ボリュームを、プール枯渇の安全性を確保しつつ再配置することができる。
以下、本発明の実施形態について図面を参照して説明する。
図1は、本発明の再配置システムの構成を示す図である。ストレージ装置110は、DKC(ディスクコントローラ)111、複数の通常ボリューム112を備える。各通常ボリューム112は、DKC111上で一意な識別子(以下、「通常ボリュームID」という。)によって識別される。通常ボリューム112に対応する記憶装置は、ストレージ装置110に内蔵された記憶装置であってもよいし、ストレージ装置110に接続された他のストレージ装置に内蔵された記憶装置のような、ストレージ装置110の外部に存在する記憶装置であってもよい。
プール113は、DKC111によってシン・プロビジョニングのプールとして認識される通常ボリューム112の集合である。プール113は、DKC111に対して複数存在することができ、各プールは、一意な識別子(以下、「プールID」という。)によって識別される。
仮想ボリューム114は、DKC111によってプール113の上に構築されたシン・プロビジョニングの仮想ボリュームである。仮想ボリューム114は、ひとつのプール113に対して複数存在することができ、各仮想ボリューム114はDKC111上で一意な識別子(以下、「仮想ボリュームID」という。)によって識別される。仮想ボリューム114は、DKC111にネットワーク131を介して接続されたホスト132から、ボリュームとしてアクセス可能である。ネットワーク131は、例えばSAN(Storage Area Network)を用いて構成することができる。
管理サーバ100は、再配置制御部101と、再配置制御部101からアクセス可能なデータベース102と、データベース102を管理するデータベース管理部103を備えるサーバコンピュータである。管理クライアント120は、ブラウザ121を備えるクライアントコンピュータである。管理サーバ100、管理クライアント120、およびDKC111は、ネットワーク130を介して互いに接続されている。ネットワーク130は、例えばLAN(Local Area Network)を用いて構成することができる。
再配置制御部101は、データベース管理部103を介してデータベース102にアクセスするとともに、ブラウザ121およびDKC111と通信しながら、再配置にかかわる各種の処理を実行するモジュールである。
DKC111は、プール113および仮想ボリューム114に関する各種の情報(プール113および仮想ボリューム114の一覧、プール113と仮想ボリューム114の間の関連、例えば、プール113および仮想ボリューム114の容量や実使用量といった属性情報等)を管理しており、管理サーバ100に対して、それらの情報を渡すインタフェースを備えている。また、DKC111は、管理サーバ100からの要求に従って、指定された仮想ボリューム114を指定された別のプール113に再配置するためのインタフェースを備えている。また、DKC111は、管理サーバ100からの要求に従って、指定された仮想ボリューム114を、未使用の別の通常ボリューム112に再配置するためのインタフェースを備えている。
図2は、図1で列挙した各装置のハードウェア構成を示す図である。管理サーバ100は、バスを介して互いに接続された、CPU(Central Processing Unit)2200、メモリ2201、ハードディスク等の外部記憶装置2202、NIC(Nerwork Interface Card)2203を備える。メモリ2201上には再配置制御部101およびデータベース管理部103がプログラムとして格納され、CPU2200によって実行される。データベース102は外部記憶装置2202上に格納される。NIC2203はネットワーク130に接続され、ストレージ装置110および管理クライアント120との通信を受け持つ。
ストレージ装置110は、バスを介して互いに接続された、CPU2210、メモリ2211、ハードディスク等の記憶装置を多数配列したディスクアレイ2212、NIC2213、CHA(Channel Adapter)2214を備える。メモリ2211上にはDKC111がプログラムとして格納され、CPU2210によって実行される。DKC111が実行されることにより、ディスクアレイ2212上の記憶領域がボリュームとしてCHA2214およびネットワーク131を介して接続されたホスト132に対して提供される。NIC2213は、ネットワーク130に接続され、管理サーバ100との通信を受け持つ。
管理クライアント120は、バスを介して互いに接続された、CPU2220、メモリ2221、NIC2223を備える。メモリ2221上にはブラウザ121がプログラムとして格納され、CPU2220によって実行される。NIC2223は、ネットワーク130を介して、管理サーバ100と各種データやコマンドを交換する。131と132については説明を省略する。
《実施形態1》
図3は、実施形態1の再配置制御部の構成を示す図である。再配置制御部101は、再配置実行処理S200、再配置実行後の移動先プールの残運用期間予測処理S201、残運用期間予測処理S202、使用量予測関数更新処理S203から構成される。内容の詳細は後記する。
図4は、実施形態1のデータベースの構成を示す図である。データベース102は、仮想ボリュームテーブル210、プールテーブル211、仮想ボリューム使用量予測関数テーブル212、仮想ボリューム使用量履歴テーブル213から構成される。
次に、データベース102上の各テーブルの構成について説明する。
図5は、図4のデータベース上の各テーブルの構成を示す図である。仮想ボリュームテーブル210は、図5(a)に示すように、DKC111から取得された各仮想ボリューム114の属性情報を格納する仮想ボリュームレコード300の集合から構成される。各レコードは、少なくとも、レコードが表す仮想ボリューム114を一意に識別する数値である仮想ボリュームIDが格納される仮想ボリュームIDフィールド301、該仮想ボリュームが所属するプールを一意に識別する数値であるプールIDを表すプールIDフィールド302、該仮想ボリュームの仮想的な容量をメガバイト単位の値で表す仮想容量フィールド303、該仮想ボリュームに実際に割り当てられた物理的な記憶領域の合計サイズをメガバイト単位の値で表す実使用量フィールド304を有する。仮想ボリュームテーブル210の内容と、実際の仮想ボリューム114の属性情報とは、DKC111から一定時間毎に情報を取得する等の既知の方法により同期を取っておく。なお、仮想ボリュームレコード300と後記する仮想ボリューム使用量予測関数レコード320とは一対一の数量関係にある。
プールテーブル211は、図5(b)に示すように、各プール113の属性情報を格納するプールレコード310の集合から構成される。各レコードは、少なくとも、レコードが表すプール113を一意に識別する数値であるプールIDが格納されるプールIDフィールド311、該プール全体の容量をメガバイト単位の値で表す容量フィールド312、該プールの実使用量をメガバイト単位の値で表す実使用量フィールド313、該プール上の仮想ボリューム114にプール113上の物理的な記憶領域を割り当てる際の単位データサイズをキロバイト単位の値で表すページサイズフィールド314、プール113を構成するディスクのRAID構成種別(例えばRAID0、RAID1、RAID5等)を表すRAID種別フィールド315、プールを構成するディスクの性能種別(例えばSATA、SCSI、FC)を表す性能種別フィールド316を有する。プールテーブル211の内容と、実際のプール113の属性情報とは、DKC111から一定時間毎に情報を取得する等の既知の方法により同期を取っておく。なお、SATAとは、Serial Advanced Technology Attachmentの略である。SCSIとは、Small Computer System Interfaceの略である。FCとは、Fibre Channelの略である。
仮想ボリューム使用量予測関数テーブル212は、図5(c)に示すように、各仮想ボリューム114の実使用量の予測値を算出するための一次予測関数の係数を格納する、仮想ボリューム使用量予測関数レコード320の集合から構成される。各レコードは、少なくとも、レコードが表す予測関数によって実使用量が予測される仮想ボリューム114の仮想ボリュームIDを格納する仮想ボリュームIDフィールド321、一日あたりの仮想ボリューム114の実使用量増加量の見積もり値をメガバイト単位の値で格納する一次係数フィールド322を有する。仮想ボリュームIDフィールド321によって表される仮想ボリューム114の将来のある時点における実使用量の予測値は、該仮想ボリュームの現在の実使用量に対し、予測する時点の現在からの経過日数に一次係数フィールド322の値を掛けたものを加えることによって求められる。例えば、仮想ボリュームIDが0000である仮想ボリューム114について、現在の実使用量が750MB、一時係数が50MB/日とすると、該仮想ボリュームの3日後の実使用量の予測値は、750+50×3=900MBと求められる。なお、仮想ボリュームレコード300と仮想ボリューム使用量予測関数レコード320とは一対一の関係にある。
仮想ボリューム使用量履歴テーブル213は、図5(d)に示すように、各仮想ボリューム114の一定時間ごと、例えば一時間ごとの実使用量を格納する仮想ボリューム使用量履歴レコード330の集合から構成される。各レコードは、少なくとも、該レコードが実使用量を表す仮想ボリューム114の仮想ボリュームIDを格納する仮想ボリュームIDフィールド331、実使用量が取得された日付と時刻を表す時刻フィールド332、該仮想ボリュームの該時刻における実使用量をメガバイト単位の値で表す実使用量フィールド333を有する。
次に、ユーザがある仮想ボリュームをあるプールに再配置することを指示し、指定した仮想ボリュームを再配置する方法について、図6、図7、図8、図9、図10を用いて説明する。
図6は、実施形態1の再配置指示画面を示す図である。図6を用いて、ユーザがある仮想ボリュームを移動先であるプールに再配置することを指示し、再配置実行処理S200(図3、図7参照)を呼び出すための操作方法について説明する。再配置指示画面4s01はブラウザ121上に表示される画面である。再配置指示画面4s01は、ツリー領域4s02、プール情報領域4s03、仮想ボリューム情報領域4s04を含む。ツリー領域4s02は、プールを表すノードと仮想ボリュームを表すノードがツリー状に表示される。図6は、2個のプールがノード4s10とノード4s11によって表され、ノード4s10が表すプールに所属する仮想ボリュームがノード4s20とノード4s21によって表され、ノード4s11が表すプールに所属する仮想ボリュームがノード4s22によって表される様子を示している。ノード4s10とノード4s11に対応するプールのプールIDはそれぞれ00と01であり、ノード4s20、ノード4s21、ノード4s22に対応する仮想ボリュームの仮想ボリュームIDはそれぞれ0000、0001、0002である。
ユーザは、ツリー領域4s02上で、マウスを用いてノードをクリックすることにより、プールと仮想ボリュームをそれぞれひとつ選択状態にすることができる。選択状態のノードは画面上でハイライト表示され、且つそれらのノードが表すプールおよび仮想ボリュームの属性情報がプール情報領域4s03および仮想ボリューム情報領域4s04にそれぞれ表示される。図6はノード4s10とノード4s20が選択されている様子を示している。
さらに、ユーザは、ツリー領域4s02上で、マウスを用いて仮想ボリュームを表すノードを、プールを表すノード上にドラッグアンドドロップすることにより、再配置の実行を指示することができる。例えば、ノード4s20をノード4s11の上にドラッグアンドドロップすることにより、仮想ボリュームIDが0000である仮想ボリュームをプールIDが01であるプールに再配置することを指示することができる。このように、ユーザが図6の再配置指示画面4s01により再配置指示を出すと、図7に示す再配置実行処理S200が実行される。
図7は、再配置実行処理の処理内容を示すフローチャートである。再配置実行処理S200は、移動する仮想ボリュームIDと、移動先プールIDとをパラメタとして受け取り、仮想ボリュームの再配置を実行する。再配置実行処理S200は、ユーザがブラウザ121を介して、前述した操作方法により、ある仮想ボリュームをあるプールに再配置することを指示することにより呼び出される。再配置実行処理S200は、CPU2200により実行される。
ステップS401では、再配置実行後の移動先プールの残運用期間予測処理S201を、移動する仮想ボリュームIDと、移動先プールIDとを渡して呼び出す。ステップS402では、ステップS401の戻り値として得られた予測残運用期間が、最低残運用期間閾値より小さいか否かを判定する。最低残運用期間閾値は、再配置後のプールに最低限確保すべき枯渇までの期間を表す閾値であり、システムが定める固定値でもよいし、ユーザから与えられたパラメタやデータベース102上の値から計算によって求まる値を用いてもよい。判定結果が真の場合は(ステップS402,Yes)、ステップS405へ、判定結果が偽の場合は(ステップS402,No)、ステップS403へ進む。
ステップS403では、DKC111に対して、移動する仮想ボリュームIDと移動先プールIDとを指定して、仮想ボリュームを別のプールに再配置することを指示する。これにより、DKC111は、指定された仮想ボリュームに対応付けられた物理的な記憶領域を、指定された移動先プール内の通常ボリューム上に再配置する。ステップS404では、移動した仮想ボリュームの最新の属性情報をDKC111から取得し、移動した仮想ボリュームに対応する仮想ボリュームレコード300(図5(a)参照)を更新する。これにより、プールIDフィールド302が再配置後のプールIDに更新される。その後一連の処理を終了する。ステップS405では、呼び出し側にエラーを返して一連の処理を終了する。なお、ステップS401における再配置実行後の移動先プールの残運用期間予測処理S201は、図8を用いて説明する。
図8は、再配置実行後の移動先プールの残運用期間予測処理を示すフローチャートである。再配置実行後の移動先プールの残運用期間予測処理S201は、移動する仮想ボリュームIDと、移動先プールIDを受け取り、移動する仮想ボリュームを移動先プールに再配置した場合を想定して、移動先プールの残運用期間を予測する。再配置実行後の移動先プールの残運用期間予測処理S201は、CPU2200により実行される。
ステップS501では、移動する仮想ボリュームIDに対応する仮想ボリュームレコード300を検索し、そのレコードのプールIDフィールド302の値を保存したのち、プールIDフィールドを移動先プールIDに書き換える。ステップS502では、残運用期間予測処理S202を、移動先プールIDを渡して呼び出す。ステップS503では、ステップS501で書き換えたプールIDフィールド302の値を保存しておいた値に戻す。ステップS504では、ステップS502の結果を戻り値として返し、一連の処理を終了する。なお、ステップS502における残運用期間予測処理S202は、図9を用いて説明する。
図9は、残運用期間予測処理を示すフローチャートである。残運用期間予測処理S202は、プールIDを受け取り、そのプールの残運用期間を予測する。残運用期間予測処理S202は、CPU2200により実行される。
ステップS601では、指定されたプールに所属する仮想ボリュームに関するすべてのレコードを仮想ボリュームテーブル210(図5(a)参照)から検索し、それらのレコードの仮想容量フィールド303の値を合計する。ステップS602では、指定されたプールに対応するプールレコード310の容量フィールド312(図5(b)参照)からプール容量を取得し、プール容量から容量マージンを差し引いたものが、ステップS601で求められた仮想容量合計を上回っているか否かを判定する。ここで、容量マージンは、プールを運用可能とみなす最低限の空き容量であり、固定値を用いてもよいし、ユーザから与えられたパラメタやデータベース上の値から計算により求まる値を用いてもよいが、本実施形態ではプールの容量の10%とする。判定結果が真の場合は(ステップS602,Yes)、ステップS606に進み、判定結果が偽の場合は(ステップS602,No)、ステップS603に進む。
ステップS603では、指定されたプールに所属する仮想ボリュームに関するすべてのレコードを仮想ボリューム使用量予測関数テーブル212(図5(c)参照)から検索し、それらのレコードの一次係数フィールド322の値を合計する。同様に、指定されたプールに所属する仮想ボリュームに関するすべてのレコードを仮想ボリュームテーブル210(図5(a)参照)から検索し、それらのレコードの実使用量フィールド304の値を合計する。例えば、図5に例示されるように、プールIDが00であるプールに仮想ボリュームIDが0000および0001である仮想ボリュームが所属していたとすると、該プールに関する実使用量合計および一次係数合計はそれぞれ1250MB(750MBと500MBの加算)、56MB/日(50MB/日と6MB/日の加算)となる。
ステップS604では、ステップS603で求めた一次係数合計と実使用量合計を用いて、(実使用量合計+一次係数合計×t)=(プール容量−容量マージン)を満たすtを求める。例えば、図5に例示されるように、プールIDが00であるプールに仮想ボリュームIDが0000および0001である仮想ボリュームが所属していたとすると、該プールに関するtは、(1250+56×t)=(10000−(10000×0.10))を満たすtを計算し138.4と求められる。すなわち、このプールは今後およそ138日の間安全に運用できると予測される。ステップS605では、ステップS604で求められたtを予測結果として返す。ステップS606では、プールが枯渇することはないため、無限大を予測結果として返す。
次に、仮想ボリューム使用量予測関数テーブル212(図5(c)参照)の一次係数フィールド322の決定方法について説明する。ひとつの方法は、ユーザから与えられたパラメタを使用することである。ユーザが仮想ボリュームごとに単位時間あたりの実使用量増加量を見積もり、一次係数フィールド322に格納する。もうひとつの方法は、実使用量の履歴から自動的に計算する使用量予測関数更新処理S203を備えることである。図10を用いて使用量予測関数更新処理S203について詳細に説明する。
図10は、使用量予測関数更新処理を示すフローチャートである。使用量予測関数更新処理S203は、一定時間ごと、例えば毎時0分に起動され、その時点での仮想ボリュームの実使用量に基づいて仮想ボリューム使用量履歴テーブル213(図5(d)参照)を更新し、さらに仮想ボリューム使用量予測関数テーブル212(図5(c)参照)を更新する。使用量予測関数更新処理S203は、CPU2200により実行される。
ステップS701では、仮想ボリューム使用量履歴テーブル213(図5(d)参照)から、時刻フィールド332と現在時刻との差がある基準値より大きい、すなわち古いレコードをすべて削除する。基準値としては、固定値を使用してもよいし、ユーザから与えられたパラメタやデータベース102上の値から計算によって求まる値を用いてもよい。ステップS702では、仮想ボリュームテーブル210上に記録されている全仮想ボリュームに対して、ステップS703〜S707を繰り返す。
ステップS703では、DKC111から該仮想ボリュームの実使用量を取得する。ステップS704では、仮想ボリューム使用量履歴テーブル213に新たなレコードを追加し、該仮想ボリュームのID,現在時刻、ステップS703で取得した実使用量を、該レコードの仮想ボリュームIDフィールド331、時刻フィールド332、実使用量フィールド333にそれぞれ格納する。ステップS705では、仮想ボリューム使用量履歴テーブル213から、該仮想ボリュームに関連する仮想ボリューム使用量履歴レコード330をすべて検索し、該レコードの時刻フィールド332と実使用量フィールド333の値の組(x,y)をすべて取得する。ステップS706では、ステップS705で取得した(x,y)の組に対して、一次近似関数y=ax+bの係数を最小二乗法により求める。ステップS707では、該仮想ボリュームに対応する仮想ボリューム使用量予測関数レコード320の一次係数フィールド322に、ステップS706で求められた一次近似関数の一次係数aを書き込む。
なお、本実施形態では、予測関数として、仮想ボリュームの使用量履歴から最小二乗法で求められる一次関数を用いているが、これは本発明の予測関数の形および予測関数の決定方法を限定するものではない。一般的な多項式や指数関数といった異なる形の予測関数を用いたり、異なる予測関数決定方法を適用したりしてもよい。
また、本実施形態は、単一の仮想ボリュームを再配置可能なシステムとして構成されているが、これを複数の仮想ボリュームをまとめて再配置可能なシステムに拡張することは容易に可能である。
以上述べたように、本実施形態は、上述のように構成されるため、以下の効果を奏する。本実施形態では、再配置前後のプールの残運用期間を予測し、予測結果に基づいて仮想ボリュームの再配置を制御する。そのため、ユーザ自身がプールの残運用期間に注意を払うことなく、仮想ボリューム再配置によってストレージ資源を安全且つ有効に活用することが可能となる。
本実施形態では、移動先プールの残運用期間の予測に基づいて再配置の可否を判断する。そのため、ユーザ自身がプールの残運用期間に注意を払って再配置を行ってよいかどうかを判断する必要がない。
本実施形態では、再配置後のプールの残運用期間の予測値が、最低限確保すべき期間を表す閾値以上である場合にのみ再配置を許可する。そのため、ユーザが再配置によりプールの残運用期間を小さくしすぎてしまうことを防ぐことができる。
本実施形態では、ユーザから与えられたパラメタに基づいて決定される予測関数を用いて、再配置前後のプールの残運用期間を予測する。そのため、ユーザは仮想ボリュームごとの見積もりを前もって設定しておくだけで、プールの残運用期間を考慮した再配置を実行することができる。
本実施形態では、仮想ボリュームの実使用量の履歴に基づいて決定される予測関数を用いて、再配置前後のプールの残運用期間を予測する。そのため、ユーザが自分で見積もりを行うことなく、プールの残運用期間を考慮した再配置を実行することができる。
本実施形態では、仮想ボリュームの実使用量が仮想容量を超えないという性質を考慮して、再配置前後のプールの残運用期間を予測する。そのため、シン・プロビジョニングの仮想ボリュームの性質を効果的に利用して再配置を実行することができる。
《実施形態2》
本発明の実施形態2を説明する。実施形態2は、実施形態1の変形にあたる。本実施形態の特徴は、プールを階層に分類し、さらにプールの残運用期間を考慮しつつ、仮想ボリュームを指定された階層に再配置することを可能とした点にある。
図11は、実施形態2の再配置制御部の構成を示す図である。図3に記載の同一構成品については、同一番号を付しており、説明は省略する。再配置制御部101は、追加のモジュールとして、階層指定再配置実行処理S800と、移動先プール選択処理S801を備える。なお、図11に示すように、追加モジュールは、容易に判別できるように符号を四角で囲っている。以下の実施形態においても同様である。
図12は、実施形態2のデータベースの構成を示す図である。図4および図5に記載の同一構成品については、同一番号を付しており、説明は省略する。データベース102は、追加のテーブルとして、階層テーブル214を備える。仮想ボリュームテーブル210は、追加のフィールドとして、最後に該仮想ボリュームを再配置した際の移動先階層の階層IDを格納する最終移動階層フィールド305を備える。プールテーブル211は、追加のフィールドとして、階層条件評価時に用いる残運用期間の予測値(以下、「予測残運用期間」という。)を一時的に格納する予測残運用期間フィールド317を備える。
階層テーブル214は、プールを階層に分類するためにユーザが定める階層定義を格納するテーブルであり、階層レコード340の集合から構成される。階層レコード340は、少なくとも、階層を一意に識別する名称である階層IDを格納する階層IDフィールド341、該階層に属するプールを選択する条件である階層条件を表す条件式フィールド342を有する。条件式フィールド342には、階層条件をプールレコード310のフィールドに対する条件式として記述する。例えば、「RAID種別=RAID5 and 予測残運用期間>=7日」といった条件式を記述することで、RAID種別フィールド315がRAID5且つ予測残運用期間フィールド317が7日以上であるプールを選択する階層条件を記述することができる。
次に、ユーザがある仮想ボリュームをある階層に再配置することを指示し、指定した仮想ボリュームを再配置する方法について、図13、図14、図15、図16を用いて説明する。
図13は、実施形態2の階層指定再配置指示画面を示す図である。図13を用いて、ユーザがある仮想ボリュームをある階層に再配置することを指示し、階層指定再配置実行処理S800(図11参照)を呼び出すための操作方法について説明する。階層指定再配置指示画面9s01は、ツリー領域4s02、プール情報領域4s03、仮想ボリューム情報領域4s04、階層指示領域9s02を含む。ここで、ツリー領域4s02、プール情報領域4s03、仮想ボリューム情報領域4s04は、実施形態1(図6参照)で説明したものと同一である。階層指示領域9s02には、階層テーブル214上に登録されている各階層に対応する矩形が階層IDとともに一覧表示される。図13には、階層IDが「高速」および「低速」である階層に対応する矩形9s20および矩形9s21が、それぞれ表示されている様子を表している。
ユーザは、ツリー領域4s02上の仮想ボリュームを表すノードを、階層指示領域9s02上のいずれかの矩形の上にマウスを用いてドラッグアンドドロップすることにより、ある仮想ボリュームをある階層に再配置することを指示することができる。例えば、ノード4s20を矩形9s20の上にドラッグアンドドロップすることにより、仮想ボリュームIDが0000である仮想ボリュームを階層IDが「高速」である階層に再配置することを指示することができる。このように、ユーザが図13の階層指定再配置指示画面9s01により再配置指示を出すと、図14に示す階層指定再配置実行処理S800が実行される。
図14は、階層指定再配置実行処理を示すフローチャートである。階層指定再配置実行処理S800は、ユーザがブラウザ121を介して、ある仮想ボリュームをある移動先階層に再配置することを指示することにより呼び出される。階層指定再配置実行処理S800は、移動する仮想ボリュームIDと、移動先階層IDとをパラメタとして受け取る。階層指定再配置実行処理S800は、CPU2200により実行される。
ステップS9a01では、移動する仮想ボリュームIDと移動先階層IDとを渡して、移動先プール選択処理S801(図16参照)を呼び出す。ステップS9a02では、ステップS9a01で得られたプールID一覧を用いて、それらのプールの属性情報と選択ボタンとを各行に含む移動先候補プール一覧表(図15参照)を作成して、ブラウザ121を介して、ユーザに提示し、ユーザがいずれかの選択ボタンを押すのを待つ。各行に含まれるプールの属性情報には、少なくとも各プールのIDと、移動後の予測残運用期間とが含まれる。一覧表の先頭行の選択ボタンをデフォルトボタンとして設定する。
図15は、移動先候補プール一覧表の具体的な表示例を示す図である。移動先候補プール一覧表9t05は、プールIDカラム9t51、予測残運用期間カラム9t52、選択ボタンカラム9t53を含む。行9t54は、プールIDが00であるプールが1番目の移動先候補であり、再配置実行後の予測残運用期間が100日であることを示している。行9t55は、プールIDが08であるプールが2番目の移動先候補であり、再配置実行後の予測算運用期間が70日であることを示している。ユーザは、選択ボタンカラム9t53上にある任意の選択ボタンを押すことにより、移動先プールを選択する。1番目の行である行9t54上の選択ボタンは、前記のとおりデフォルトボタンとして選択されており、ユーザは例えばEnterキーを押す等の動作により、1番目の移動先候補であるプールを選択することもできる。
図14に戻り、ステップS9a03では、移動する仮想ボリュームIDとステップS9a02で選択されたプールのプールIDとを渡して再配置実行処理S200(図7参照)を呼び出し、仮想ボリュームを選択されたプールに移動する。ステップS9a04では、移動した仮想ボリュームに対応する仮想ボリュームレコード300の最終移動階層フィールド305に、移動先階層の値(階層ID)を書き込む。なお、別の実施形態として、ステップS9a02でユーザにプールを選択させる代わりに、ステップS9a01で得られたプールID一覧のうち先頭のものを自動的に選択するようにしてもよい。
図16は、移動先プール選択処理を示すフローチャートである。移動先プール選択処理S801は、移動する仮想ボリュームIDと移動先階層IDとを受け取り、存在する全プールに対して、移動する仮想ボリュームを該プールに移動した場合の予測残運用期間を計算したのち、移動先階層の階層条件に適合するプールを抽出し、それらのプールID一覧を、再配置後の予測残運用期間の平準度が高くなる順番にソートして返す。なお、移動する仮想ボリュームIDとして無効な値を受け取った場合には、現状の予測残運用期間を各プールについて計算したのち、移動先階層条件に適合するプールのID一覧を、再配置後の予測残運用期間の平準度が高くなる順番にソートして返す。移動先プール選択処理S801は、CPU2200により実行される。
ステップS901では、プールテーブル211(図12参照)上に存在するすべてのプールに対して、ステップS902〜S905を繰り返す。ステップS902では、移動する仮想ボリュームIDが有効か否かを判定する。有効な場合は(ステップS902,Yes)、ステップS903に、無効な場合は(ステップS902,No)、ステップS904に進む。ステップS903では、移動する仮想ボリュームIDと該プールのプールIDとを渡して再配置実行後の移動先プールの残運用期間予測処理S201(図8参照)を呼び出す。ステップS904では、該プールのプールIDを渡して残運用期間予測処理S202(図9参照)を呼び出す。
ステップS905では、該プールに対応するプールレコード310の予測残運用期間フィールド317(図12参照)に、直前のステップで得られた予測残運用期間を書き込む。ステップS906では、移動先階層に対応する階層レコード340の条件式フィールド342に格納された条件式に従ってプールテーブル211(図12参照)を検索し、条件に適合するプールを抽出する。ステップS907では、直前のステップで抽出されたプールのID一覧を、再配置後の予測残運用期間の平準度が高くなる順に、すなわちプールレコード310の予測残運用期間フィールド317の値が大きい順にソートして返す。
本実施形態は、以下のような効果を奏する。
本実施形態は、プールを階層に分類するための階層定義を持ち、各階層の階層条件にはプールの残運用期間に関する条件を含めることができ、さらにこの階層条件の評価は再配置後のプールの予測残運用期間に基づいて行われるように構成されている。そのため、ユーザは階層条件によってプールの残運用期間を保障することができ、且つ再配置後の正確な予測に基づいて階層に適合するプールを選択することが可能となる。
本実施形態は、同一階層に複数の移動先候補プールが存在した場合に、予測残運用期間の平準度が高くなるような移動先候補プールをより好適な移動先プールとして選択するよう構成されている。そのため、ユーザは、画面上で好適な順にソートされた移動先候補プール一覧から移動先を選択するだけで、あるいは自動的に、プール枯渇に対する安全性が可能な限り高くなるような階層管理を実行することが可能となる。
《実施形態3》
本発明の実施形態3について説明する。実施形態3は、実施形態2の変形にあたる。本実施形態の特徴は、同一階層内のプールの残運用期間を平準化するために、同一階層内で仮想ボリュームを再配置する再配置プランを決定することにある。
図17は、実施形態3の再配置制御部およびデータベースの構成を示す図である。図11および図12に記載の同一構成品については、同一番号を付しており、説明は省略する。再配置制御部101は、階層指定再配置実行処理S800(図11参照)を削除し、追加のモジュールとして、階層内平準化処理S1000と、階層内平準化プラン選択処理S1001を備える。データベース102は、実施形態2と同一である。
図18は、階層内平準化処理を示すフローチャートである。階層内平準化処理S1000は、ユーザがブラウザ121を介して、ある階層の平準化を指示することによって呼び出される。または何らかの契機で自動的に起動されてもよい。階層内平準化処理S1000は、平準化対象の階層IDをパラメタとして受け取る。階層内平準化処理S1000は、CPU2200により実行される。
ステップS11a01では、平準化対象の階層IDを渡して、階層内平準化プラン選択処理S1001(図20参照)を呼び出す。ステップS11a02では、ステップS11a01の結果として、仮想ボリュームIDと移動先プールIDの組からなる有効な平準化プランが返されたか否かを判定する。有効な平準化プランが返された場合は(ステップS11a02,Yes)、ステップS11a03に進み、平準化プランなしが返された場合は(ステップS11a02,No)、ステップS11a05に進む。
ステップS11a03では、図19に示すように、平準化プラン確認画面11s01をユーザに提示する。
図19は、平準化プラン確認画面の具体的な表示例を示す図である。平準化プラン確認画面11s01は、移動する仮想ボリュームIDが表示される領域11s02、移動元プールのプールID、該プールの再配置前後の予測残運用期間がそれぞれ表示される領域11s11、領域11s12、領域11s13を含み、且つ移動先プールのプールID、該プールの再配置前後の予測残運用期間がそれぞれ表示される領域11s21、領域11s22、領域11s23を含む。また、平準化プラン確認画面11s01は、OKボタン11s31とキャンセルボタン11s32を含み、且つユーザに表示の意味を説明するための各種のラベルを含む。ユーザがOKボタン11s31を押した場合にはステップS11a04に進み、キャンセルボタン11s32を押した場合にはその時点で処理を終了する。
図18に戻り、ステップS11a04では、再配置実行処理S200(図7参照)を呼び出して、ステップS11a01で返された再配置プランによって指定される仮想ボリュームを移動先プールに移動し、一連の処理を終了する。ステップS11a05では、有効な平準化プランが存在しない、すなわち既に平準度が最も高い状態であることをユーザに示し、一連の処理を終了する。なお、ステップS11a01における平準化対象の階層内平準化プラン選択処理S1001について図20を用いて説明する。
図20は、階層内平準化プラン選択処理を示すフローチャートである。階層内平準化プラン選択処理S1001は、指定された階層内で仮想ボリュームを再配置することによって、階層内の複数プールの予測残運用期間が現在より平準化されるような再配置プラン(以下、「平準化プラン」という。)を返す。そのような再配置プランが存在しない場合は、再配置プランなしを返す。階層内平準化プラン選択処理S1001は、パラメタとして、平準化対象の階層IDを受け取る。
ステップS1101では、移動先プール選択処理S801(図16参照)を無効な仮想ボリュームIDと平準化対象の階層IDを渡して呼び出し、抽出されたプール一覧を平準化対象プールとする。ステップS1102では、仮想ボリュームテーブル210(図12、図17参照)を検索し、平準化対象プールに所属する全仮想ボリュームを抽出し、移動候補仮想ボリュームとする。
ステップS1103では、移動する仮想ボリュームと移動先プールの組からなる可能な再配置プランすべてについて、ステップS1104〜1106を繰り返す。可能な再配置プランは、移動候補仮想ボリュームのうちいずれかを移動する仮想ボリュームとし、平準化対象プールのうち移動する仮想ボリュームの所属プールを除いたいずれかを移動先プールとすることにより、得ることができる。ステップS1104では、移動する仮想ボリュームに対応する仮想ボリュームレコード300のプールIDフィールド302(図12参照)の値を保存し、移動先プールのプールIDに書き換える。ステップS1105では、平準化対象プールそれぞれに対して残運用期間予測処理S202(図9参照)を呼び出し予測残運用期間を求め、それらの分散を求める。ステップS1106では、ステップS1104で書き換えたプールIDフィールド302の値を元に戻す。
ステップS1107では、ステップS1105と同じ処理を行って現状の分散を求め、それがステップS1105で求められた分散のうち最小のものより大きいか否かを判定する。判定結果が真であれば(ステップS1107,Yes)、ステップS1108へ進み、判定結果が偽であれば(ステップS1107,No)、ステップS1109に進む。ステップS1108では、分散が最小となった再配置プランを平準化プランとして返す。ステップS1109では、平準化プランなしを返す。
例えば、ある階層に、容量10000MBのプールAと容量20000MBのプールBとが存在し、プールAには2個、プールBには1個の仮想ボリュームが存在したとする。さらに、すべての仮想ボリュームの実使用量およびその増加率が同一であり、実使用量は500MB、その増加率は50MB/日だったとする。この階層に対して階層内平準化処理S1000(図18)を実行すると、プールA上の仮想ボリュームのうち1つをプールBに再配置する再配置プランが選択され、図19に示す内容の平準化プラン確認画面が表示されることになる。
なお、平準化プランの選択にはここで示した以外の任意の最適化アルゴリズムを用いることができる。また、本実施形態では再配置プランは単一の仮想ボリュームの移動のみが含まれるが、複数の仮想ボリュームの移動を含むように拡張することは容易である。
以上のように、本実施形態は、同一階層内でプールの残運用期間を平準化するために有効な再配置プラン(移動する仮想ボリュームと移動先プールの組)を決定するよう構成されている。そのため、ユーザは、プール枯渇に対する安全性を増すために再配置を実行することが簡単にできるようになる。
《実施形態4》
本発明の実施形態4を説明する。実施形態4は、実施形態2の変形にあたる。本実施形態の特徴は、階層間で仮想ボリュームを再配置する際に、階層の特性差に基づいて、再配置前後の使用量増加傾向の変化を予測し、再配置後の残運用期間の予測に補正を加える点にある。
図21は、実施形態4の再配置制御部の構成を示す図である。図11に記載の同一構成品については、同一番号を付しており、説明は省略する。再配置制御部101は、追加モジュールとして、バイアス補正付き再配置実行後の移動先プールの残運用期間予測処理S1200と、予測用情報バイアス補正処理S1201を備える。また、実施形態2における階層指定再配置実行処理S800および移動先プール選択処理S801の変形である階層指定再配置実行処理S800aおよび移動先プール選択処理S801aを備える。
図22は、実施形態4のデータベースの構成を示す図である。図12に記載の同一構成品については、同一番号を付しており、説明は省略する。階層テーブル214は、追加のフィールドとして、使用量増加バイアスフィールド343を有する。
使用量増加バイアスフィールド343は、該階層における使用量増加の傾向を、階層間の相対比率で表した値である。すなわち、頻繁に読み書きされ使用量が増加しやすい用途で用いる階層には大きな値を、逆に書き込みアクセスが少ない用途で用いる階層には小さな値を設定する。使用量増加バイアスフィールド343への値の設定は、条件式フィールド342と同様にユーザが行ってもよいし、条件式フィールド342に性能種別が条件として指定されている場合、その性能に応じて(すなわち高速な性能種別の場合には大きな値を、低速な性能種別の場合には小さな値を)自動的に設定するようにしてもよい。
図23は、実施形態4の階層指定再配置実行処理を示すフローチャートである。階層指定再配置実行処理S800aは、実施形態2で説明した階層指定再配置実行処理S800(図14参照)に1ステップを追加したものである。すなわち、図23に示すように、ステップS9a03とステップS9a04の間にステップS13a01が追加されている。ステップS13a01では、直前のステップで移動した仮想ボリュームIDと移動先階層IDをパラメタとして渡し、予測用情報バイアス補正処理S1201(図26参照)を呼び出す。
図24は、実施形態4の移動先プール選択処理を示すフローチャートである。移動先プール選択処理S801aは、実施形態2で説明した移動先プール選択処理S801(図16参照)の1ステップを置き換えたものである。図24に示すように、ステップS903がステップS13b01で置き換えられている。ステップS13b01では、バイアス補正付き再配置実行後の移動先プールの残運用期間予測処理S1200(図25参照)を、移動する仮想ボリュームID、ループ901で処理中のプールのプールID、移動先階層IDを渡して呼び出す。
図25は、バイアス補正付き再配置実行後の移動先プールの残運用期間予測処理を示すフローチャートである。図25を用いて、バイアス補正付き再配置実行後の移動先プールの残運用期間予測処理S1200の処理内容について、順を追って説明する。バイアス補正付き再配置実行後の移動先プールの残運用期間予測処理S1200は、移動する仮想ボリュームID、移動先プールID、移動先階層IDをパラメタとして受け取り、階層間の使用量増加バイアスの違いにより補正された移動先プールの予測残運用期間を返す。
ステップS1301では、再配置実行後の移動先プールの残運用期間予測処理S201(図8参照)を、移動する仮想ボリュームIDと移動先プールIDを渡して呼び出す。ステップS1302では、移動元階層と移動先階層の使用量増加バイアスの比を取得する。移動先階層の使用量増加バイアスは、移動先階層に対応する階層レコード340の使用量増加バイアスフィールド343(図22参照)の値を取得することで求められる。移動元階層の使用量増加バイアスは、まず移動する仮想ボリュームに対応する仮想ボリュームレコード300の最終移動階層フィールド305(図12参照)の値(階層ID)を取得し、次にその階層に対応する階層レコード340の使用量増加バイアスフィールド343の値を取得することで求められる。使用量増加バイアス比は、移動先階層の使用量増加バイアスを移動元階層の使用量増加バイアスで割ることで求められる。ステップS1303では、ステップS1301で得られた予測残運用期間に、ステップS1302で得られた使用量増加バイアス比を掛け、その結果を戻り値として返す。
図26は、予測用情報バイアス補正処理を示すフローチャートである。図26を用いて、予測用情報バイアス補正処理S1201の処理内容について、順を追って説明する。予測用情報バイアス補正処理S1201は、移動する仮想ボリュームID、移動先階層IDをパラメタとして受け取り、仮想ボリューム使用量予測関数テーブル212(図5(c)参照)および仮想ボリューム使用量履歴テーブル213(図5(d)参照)の内容を、階層間の使用量増加バイアスの違いに基づいて補正する。
ステップS1311では、ステップS1302(図25参照)と同じ方法により、移動元階層と移動先階層の使用量増加バイアスの比を取得する。ステップS1312では、移動する仮想ボリュームに対応する仮想ボリューム使用量予測関数レコード320(図5(c)参照)の一次係数フィールド322を、現在の値にステップS1311で求められた使用量増加バイアス比を掛けた値で更新する。ステップS1313では、移動する仮想ボリュームに対応するすべての仮想ボリューム使用量履歴レコード330(図5(d)参照)の実使用量フィールド333を、現在の値にステップS1311で求められた使用量増加バイアス比を掛けた値で更新する。
本実施形態では、階層定義に基づいて、仮想ボリュームの再配置に伴う該仮想ボリュームの使用量増加傾向の変化を予測し、再配置後の残運用期間の予測を補正するよう構成されている。そのため、性能が異なる階層間での再配置のように、再配置によって仮想ボリュームの使用量増加傾向が変化する場合にも、その変化を考慮して適切に再配置を行うことが簡単にできる。
《実施形態5》
本発明の第5の実施形態を説明する。実施形態5は、実施形態2の変形にあたる。本実施形態の特徴は、優先度が付けられた複数の移動先候補階層からなるユーザ定義の階層選択ポリシーに基づいて、プールの予測残運用期間を考慮しつつ、複数の階層から移動可能且つ最も好適な移動先階層を選択し、その階層の中から移動先プールを選択する点にある。
本実施形態の他の特徴は、移動先階層選択ポリシーを構成する移動先候補階層の中に、プールにより構成される階層と、プールとして使われていない通常ボリュームにより構成される階層とを混在させることができ、それらの中から容量オーバヘッドを考慮して移動先を選択する点にある。
本実施形態のさらに他の特徴は、各仮想ボリュームについて、前回の移動先階層よりも好適な階層に移動可能か否かを調べ、もし可能ならば該仮想ボリュームの該階層への再配置を行うことにより、データの配置を状況に合わせて最も好適な状態に保つ点にある(以下、このような再配置を「好適化再配置」という。)。
図27は、実施形態5の再配置制御部の構成を示す図である。図11に記載の同一構成品については、同一番号を付しており、説明は省略する。再配置制御部101は、階層指定再配置実行処理S800を削除し、追加のモジュールとして、ポリシー指定再配置実行処理S1900、ポリシー指定移動先プール選択処理S1901、好適化再配置処理S1700、および好適化再配置プラン選択処理S1701を備える。
図28は、実施形態5のデータベースの構成を示す図である。図12に記載の同一構成品については、同一番号を付しており、説明は省略する。データベース102は、追加のテーブルとして、ポリシーテーブル215、移動状況テーブル216、通常ボリュームテーブル217を備える。階層テーブル214は、追加のフィールドとして、階層種別フィールド344(図29(a)参照)を備える。
図29は、階層テーブル、ポリシーテーブル、移動状況テーブル、および通常ボリュームテーブルの構成を示す図である。図29(a)に示すように、階層テーブル214の階層種別フィールド344には、階層がプール113または通常ボリューム112のどちらから構成されるかを示す「プール」または「通常ボリューム」の二値が格納される。前者の場合、条件式フィールド342には、実施形態2で説明したように、プール113を選択するための条件を、プールレコード310に対する条件式として記述する。一方、後者の場合、条件式フィールド342には、通常ボリューム112を選択するための条件を、通常ボリュームレコード370に対する条件式として記述する。これにより、階層テーブル214に、プール113から構成される階層と通常ボリューム112から構成される階層とを混在させることが可能となる。
図29(b)のポリシーテーブル215は、ポリシーに含まれる移動先候補階層に対応するポリシーレコード350の集合からなる。ポリシーレコード350は、少なくとも、該レコードが構成するポリシーの名称を表すポリシーIDフィールド351、候補の順位を表す優先度フィールド352、移動先階層を表す階層フィールド353、容量効率フィールド354を含む。優先度フィールド352は整数値であり、値が小さいほどその移動先候補階層がユーザにとって好適であり、再配置先として優先的に採用すべきであることを表す。容量効率フィールド354は、階層フィールド353によって示される階層の階層種別が「通常ボリューム」の場合にのみ意味を持つ値であり、該階層への再配置が許可されるために必要な容量効率(ボリューム容量に対する実使用量の割合)の最小値が格納される。容量効率フィールド354の値は、仮想ボリュームから通常ボリュームへの再配置の際に発生する容量オーバヘッドをどれだけ許容するかに基づいて、ユーザが決定する。
図29(c)の移動状況テーブル216は、各仮想ボリュームについて、最後の再配置実行時に適用されたポリシーおよび採用された移動先候補階層の優先度を記録する、移動状況レコード360の集合からなる。移動状況レコード360は、少なくとも、仮想ボリュームIDフィールド361、最後の再配置実行時に適用されたポリシーのIDを格納する最終適用ポリシーフィールド362、最後の再配置実行時に採用された移動先候補階層の優先度を格納する最終適用優先度フィールド363からなる。
図29(d)の通常ボリュームテーブル217は、ストレージ装置110上の各通常ボリューム112の属性情報および使用状態を格納する通常ボリュームレコード370の集合から構成される。通常ボリュームレコード370は、少なくとも、通常ボリュームのIDを格納する通常ボリュームIDフィールド371、通常ボリュームの属性情報である容量、RAID種別、性能種別をそれぞれ格納する容量フィールド372、RAID種別フィールド373、性能種別フィールド374、および通常ボリュームが使用中か否かを「使用中」または「未使用」の二値で表す使用状態フィールド375を有する。プールの一部となっている通常ボリュームの使用状態は、常に「使用中」とする。
ここで、ポリシーの意味をよりわかりやすく説明するために、図30を用いて階層テーブル214およびポリシーテーブル215の構成例について説明する。
図30は、階層テーブルおよびポリシーテーブルの構成例を示す図である。図30(a)は、階層テーブル214の構成を示し、階層レコード340aは、信頼性の高いRAID種別で構成された高速ディスクから成り、且つ予測残運用期間が14日以上であるプールを条件とする「高速高信頼」階層を表す。階層レコード340bは、信頼性中程度のRAID種別で構成された高速なディスクから成り、且つ予測残運用期間が7日以上であるプールを条件とする「高速」階層を表す。階層レコード340cは、信頼性中程度のRAID種別で構成された低速なディスクから成り、且つ予測残運用期間が7日以上であるプールを条件とする「低速」階層を表す。階層レコード340dは、信頼性中程度のRAID種別で構成された高速なディスク上の通常ボリュームを条件とする「超高速」階層を表す。ここで、階層レコード340dが表す階層は通常ボリュームにより構成される階層であるため、プールから構成される他の階層とは異なり、条件式の中に予測残運用期間に関する条件は含まれない。
図30(b)は、ポリシーテーブル215の構成を示し、ポリシーレコード350aと350bは、「高速高信頼」階層を最も好ましい候補とし、「高速」階層を次いで好ましい候補とする「信頼性妥協」ポリシーを構成する。このポリシーは、できる限り高速で高信頼な階層を使用したいが、もしその階層に十分な残運用期間を確保できなければ、信頼性の程度の落ちる別の階層を使用してもよい、というユーザの意図を表現したものである。
ポリシーレコード350cと350dは、「高速」階層を最も好ましい候補とし、「低速」階層を次いで好ましい候補とする「性能妥協」ポリシーを構成する。このポリシーは、できる限り高速な階層を使用したいが、もしその階層に十分な残運用期間を確保できなければ、性能の落ちる別の階層を使用してもよい、というユーザの意図を表現したものである。
ポリシーレコード350e、350f、350gは、「高速」階層を最も好ましい候補とし、「高速信頼性」階層を次いで好ましい候補とし、「超高速」階層を最後に好ましい候補とする「コスト妥協」ポリシーを構成する。このポリシーは、信頼性が中程度のコストパフォーマンスの高い階層を使いたいが、もしその階層に十分な残運用期間を確保できなければ、コストの高い高信頼性階層を使用してもよい、というユーザの意図を表現したものである。さらに、高信頼性階層さえも使用できない場合には、利用率が60%以上となるのであれば(すなわち移動する仮想ボリュームの仮想容量に対する実使用量の割合が60%以上であれば)通常ボリュームからなる階層を使用してもよい、というユーザの意図を表現している。
次に、ユーザがある仮想ボリュームをあるポリシーに従って再配置することを指示し、指定した仮想ボリュームを再配置する方法について、図31、図32、図33、図34、図35、図36を用いて説明する。ユーザに指定されたポリシーに従って再配置を行う際に働くモジュールとして、ポリシー指定再配置実行処理S1900(図32参照)、ポリシー指定移動先プール選択処理S1901(図34参照)がある。さらに、好適化再配置を行う際に働くモジュールとして好適化再配置処理S1700(図35参照)、好適化再配置プラン選択処理S1701(図36参照)がある。
図31は、ポリシー指定再配置指示画面を示す図である。図31を用いて、ユーザがある仮想ボリュームをあるポリシーに従って再配置することを指示し、ポリシー指定再配置実行処理S1900を呼び出すための操作方法について説明する。ポリシー指定再配置指示画面20s01は、ツリー領域4s02、プール情報領域4s03、仮想ボリューム情報領域4s04、ポリシー指示領域20s02を含む。ここで、ツリー領域4s02、プール情報領域4s03、仮想ボリューム情報領域4s04は、実施形態1(図6参照)で説明したものと同一である。ポリシー指示領域20s02には、ポリシーテーブル215上に登録されている各ポリシーに対応する矩形がポリシーIDとともに一覧表示される。図31には、ポリシーIDが「信頼性妥協」「性能妥協」「コスト妥協」であるポリシーに対応する矩形20s20、矩形20s21、矩形20s22がそれぞれ表示されている様子を表している。
ユーザは、ツリー領域4s02上の仮想ボリュームを表すノードを、ポリシー指示領域20s02上のいずれかの矩形の上にマウスを用いてドラッグアンドドロップすることにより、ある仮想ボリュームをあるポリシーに従って再配置することを指示することができる。例えば、ノード4s20を矩形20s20の上にドラッグアンドドロップすることにより、仮想ボリュームIDが0000である仮想ボリュームをポリシーIDが「信頼性妥協」であるポリシーに従って再配置することを指示することができる。このように、ユーザが図31のポリシー指定再配置指示画面20s01により再配置指示を出すと、図32に示すように、ポリシー指定再配置実行処理S1900が実行される。
図32は、ポリシー指定再配置実行処理を示すフローチャートである。ポリシー指定再配置実行処理S1900は、ユーザがブラウザ121を介して、後述する操作方法により、ある仮想ボリュームをあるポリシーに従って再配置することを指示することにより呼び出される。ポリシー指定再配置実行処理S1900は、移動する仮想ボリュームIDと、ポリシーIDとをパラメタとして受け取る。ポリシー指定再配置実行処理S1900は、CPU2200により実行される。
ステップS2001では、移動する仮想ボリュームIDとポリシーIDとを渡して、ポリシー指定移動先プール選択処理S1901(図34参照)を呼び出す。ステップS2002では、ステップS2001の戻り値の種別を判定する。プールID一覧の場合(ステップS2002,プールID一覧)、ステップS2003に進む。通常ボリュームIDの場合(ステップS2002,通常ボリュームID)、ステップS2010に進む。空の場合(ステップS2002,空)、ステップS2020に進む。
ステップS2003では、ステップS2001で得られたプールID一覧を用いて、プールの属性情報と選択ボタンとを各行に含む移動先候補プール一覧表を作成してブラウザ121を介して、図33に示すようにユーザに提示し、ユーザがいずれかの選択ボタンを押すのを待つ。各行に含まれるプールの属性情報は、少なくとも各プールのIDと予測残運用期間とを含む。一覧表の先頭行の選択ボタンをデフォルトボタンとして設定する。さらに、一覧表のヘッダとして、ステップS2001で得られた階層IDを含める。
図33は、移動先候補プール一覧表の具体的な表示例を示す図である。移動先候補プール一覧表20t05は、カラムとしてプールIDカラム20t51、予測残運用期間カラム20t52、選択ボタンカラム20t53を含み、さらに移動先として選択された階層を表示するヘッダ領域20t06を含む。ここに例示されているヘッダ領域20t06は、移動先として階層IDが「高速」である階層が選択されたことを示している。行20t54は、プールIDが00であるプールが1番目の移動先候補であり、再配置実行後の予測残運用期間が100日であることを示している。行20t55は、プールIDが08であるプールが2番目の移動先候補であり、再配置実行後の予測算運用期間が70日であることを示している。ユーザは、選択ボタンカラム20t53上にある任意の選択ボタンを、マウスを用いてクリックすることにより、移動先プールを選択する。1番目の行である行20t54上の選択ボタンはデフォルトボタンとして選択されており、ユーザは例えばEnterキーを押す等の動作により、1番目の移動先候補であるプールを選択することもできる。
図32に戻り、ステップS2004では、再配置実行処理S200(図7参照)を呼び出し、パラメタとして与えられた仮想ボリュームを、ステップS2003で選択されたプールに移動する。ステップS2005では、仮想ボリュームレコードの最終移動階層フィールドを更新する処理として、移動した仮想ボリュームに対応する仮想ボリュームレコード300の最終移動階層フィールド305(図12参照)に、移動先階層の値(階層ID)を書き込む。ステップS2006では、移動した仮想ボリュームに対応する移動状況レコード360(図29(c)参照)の最終適用ポリシーフィールド362と最終適用優先度フィールド363に、今回用いたポリシーIDとステップで得られた優先度とをそれぞれ更新し格納する。そして、一連の処理を終了する。
ステップS2010では、ステップS2001で得られた通常ボリュームIDを用いて、通常ボリュームの属性情報と確認ボタンとをブラウザ121を介してユーザに提示し、ユーザが確認ボタンを押すのを待つ。ステップS2011では、DKC111に指示して、指定された仮想ボリュームをステップS2001で得られた通常ボリュームに再配置する。ステップS2012では、仮想ボリュームテーブル210、仮想ボリューム使用量予測関数テーブル212、仮想ボリューム使用量履歴テーブル213、移動状況テーブル216から、移動した仮想ボリュームに関連するレコードを削除する。そして、一連の処理を終了する。なお、ステップS2020では、ブラウザ121を介してユーザにエラーを表示し、一連の処理を終了する。
なお、別の実施形態として、ステップS2003において、ユーザにプールを選択させる代わりに、ステップS2001で得られたプールID一覧のうち先頭のものを自動的に選択するようにしてもよい。
図34は、ポリシー指定移動先プール選択処理を示すフローチャートである。ポリシー指定移動先プール選択処理S1901は、移動する仮想ボリュームIDと、移動先選択に使用するポリシーIDとを受け取り、ポリシーに従って選択された移動先階層のIDおよび優先度を返すとともに、移動先階層種別がプールの場合は移動先候補プールのID一覧を予測残運用期間が大きいものから順番にソートしたものを、移動先階層種別が通常ボリュームの場合は移動先候補のボリュームIDを、それぞれ返す。移動先として適切なプールまたは通常ボリュームが見つからなかった場合には、空を返す。ポリシー指定移動先プール選択処理S1901は、CPU2200により実行される。
ステップS2101では、指定されたポリシーIDに関連するポリシーレコード350(図29(b)参照)をすべて選択し、優先度フィールド352が小さい順にステップS2102〜S2104およびステップS2109〜S2111を繰り返す。ステップS2102では、処理中のポリシーレコード350の階層フィールド353で表される階層の種別を、階層レコード340(図29(a)参照)の階層種別フィールド344を参照して判定する。階層の種別が「プール」の場合は(ステップS2102、プール)、ステップS2103に進み、「通常ボリューム」の場合は(ステップS2102、通常ボリューム)、ステップS2109に進む。
ステップS2103では、移動する仮想ボリュームIDと、処理中のポリシーレコード350の階層フィールド353の値を渡して移動先プール選択処理S801(図16参照)を呼び出す。ステップS2104では、選択されたプールID一覧が空か否かを判定する。判定結果が空の場合は(ステップS2104,Yes)、繰り返し処理を続行し、判定結果が空でない場合は(ステップS2104,No)、ステップS2105に進む。ステップS2105では、処理中だったポリシーレコード350の階層フィールド353と優先度フィールド352の値、およびステップS2103で得られたプールID一覧を返して、一連の処理を終了する。
ステップS2109では、移動する仮想ボリュームの容量効率(仮想容量に対する実使用量の割合)を求め、その値が処理中のポリシーレコード350の容量効率フィールド354の値以上か否かを判定する。判定結果が真の場合は(ステップS2109,Yes)、ステップS2110に進み、判定結果が偽の場合は(ステップS2109,No)、繰り返し処理を続行する。
ステップS2110では、仮想ボリュームと容量が同じで、且つ処理中のポリシーレコード350の階層フィールド353で表される階層に対応する階層レコード340の条件式フィールド342に適合する未使用通常ボリュームを、通常ボリュームテーブル217から検索(選択)する。ステップS2111では、ステップS2110の結果通常ボリュームが見つかったか否かを判定する。見つからなかった場合は(ステップS2111,Yes)、繰り返し処理を続行し、見つかった場合(ステップS2111,No)、ステップS2112に進む。ステップS2112では、処理中だったポリシーレコード350の階層フィールド353と優先度フィールド352の値、およびステップS2110で得られた通常ボリュームIDを返し、一連の処理を終了する。なお、ステップS2120では、空を返して、一連の処理を終了する。
図35は、好適化再配置処理を示すフローチャートである。好適化再配置処理S1700は、ユーザがブラウザ121を介して好適化再配置を指示することによって呼び出される。または何らかの契機で自動的に起動されてもよい。以下、好適化再配置処理S1700の処理内容を、図35を用いて詳細に説明する。好適化再配置処理S1700は、CPU2200により実行される。
ステップS18a01では、好適化再配置プラン選択処理S1701(図36参照)を呼び出す。ステップS18a02では、ステップS18a01で得られた再配置プラン候補一覧が空か否かを判定する。判定結果が空でない場合は(ステップS18a02,No)、ステップS18a03に、判定結果が空の場合は(ステップS18a02,Yes)、ステップS18a05に進む。
ステップS18a03では、ステップS18a01で得られた再配置プラン候補一覧を用いて、再配置プランの属性値と選択ボタンとを各行に含む再配置プラン候補一覧表を作成してブラウザ121を介してユーザに提示し、ユーザがいずれかの選択ボタンを押すのを待つ。各行に含まれる再配置プランの属性は、仮想ボリュームID、最終適用ポリシーID,最終移動階層ID、移動先階層IDを含む。ステップS18a04では、ユーザが選択した再配置プランについて、その仮想ボリュームIDと前回適用されたポリシーIDとを渡してポリシー指定再配置実行処理S1900(図32参照)を呼び出す。その後、一連の処理を終了する。ステップS18a05では、現時点で好適化再配置はできないことをユーザに提示し、一連の処理を終了する。
なお、別の実施形態として、ステップS18a03において、ユーザが複数の再配置プランを選択できるようにし、ステップS18a04をそれらの再配置プランに対して繰り返し適用してもよい。また、ステップS18a03において、ユーザに再配置プランを選択させる代わりに、再配置プラン候補一覧の一部またはすべてを自動的に実行してもよい。
図36は、好適化再配置プラン選択処理を示すフローチャートである。図36を用いて好適化再配置プラン選択処理S1701を詳細に説明する。ステップS1801では、すべての移動状況レコード360に対してステップS1802〜1804を繰り返す。ステップS1802では、該移動状況レコード360上の仮想ボリュームIDフィールド361と最終適用ポリシーフィールド362の値を用いて、ポリシー指定移動先プール選択処理S1901(図34参照)を呼び出す。
ステップS1803では、ステップS1802で得られたプールID一覧が空でなく、且つステップS1802で得られた優先度の値が、該移動状況レコード360上の最終適用優先度フィールド363の値よりも小さいか否かを判定する。判定結果が真の場合は(ステップS1803,Yes)、ステップS1804に進み、判定結果が偽の場合は(ステップS1803,No)、繰り返し処理を続行する。
ステップS1804では、再配置プラン候補一覧に、仮想ボリュームID、最終適用ポリシーID、最終移動階層ID、移動先階層IDの組からなる再配置プラン候補情報を追加する。仮想ボリュームIDとして該移動状況レコード360上の仮想ボリュームIDフィールド361の値を、最終適用ポリシーIDとして該移動状況レコード360上の最終適用ポリシーフィールド362の値を、最終移動階層IDとして仮想ボリュームIDに対応する仮想ボリュームレコード300の最終移動階層フィールド305の値を、移動先階層IDの値としてステップS1802で得られた階層IDを、それぞれ使用する。ステップS1805では、それまでのステップで作成された再配置プラン候補一覧を返して、一連の処理を終了する。
以上のように、本実施形態は、優先度が付けられた複数の移動先候補階層からなるユーザ定義の階層選択ポリシーに基づいて、プールの予測残運用期間を考慮しつつ、複数の階層から移動可能且つ最も好適な階層を選択するとともに、該階層から最適な移動先プールを選択するよう構成されている。そのため、ユーザは、予測残運用期間を守りつつ、複数の階層の中から柔軟に移動先プールを選択することが簡単にできるようになる。
また、本実施形態は、プールからなる階層と通常ボリュームからなる階層とを混在させて移動先選択ポリシーを構成し、さらに仮想ボリュームを通常ボリュームに再配置した際の容量効率の低下を加味して移動先階層を選択するよう構成されている。したがって、移動先としてプールまたは通常ボリュームのどちらを利用するかを、残運用期間の要件や容量効率低下の要件のバランスをみて適切に判断し、ユーザの再配置作業を効率化することができる。
また、本実施形態は、各仮想ボリュームについて、前回の移動先階層よりも好適な階層に移動可能かどうかを調べ、もし存在すれば該仮想ボリュームの該階層への再配置プラン(好適化再配置プラン)をユーザに提示し、実行する。そのため、ユーザは、状況の変化に応じてより好適な階層に再配置可能な仮想ボリュームを簡単に発見し、再配置を実行することができるようになる。例えば、プールの予測残運用期間が確保できないために一時的に二番目に好適な階層に配置されていた仮想ボリュームを、プールの容量を増やした後に最好適な場所に再配置し直す、といったことが簡単に行えるようになる。
《実施形態6》
本発明の実施形態6を説明する。実施形態6は、実施形態2の変形にあたる。本実施形態の特徴は、同一プールに配置することが好ましくない複数の仮想ボリューム(例えば主系と待機系とで使用している複数の仮想ボリュームや、アクセス負荷分散のためにデータを分散して格納している複数の仮想ボリューム)を、ユーザが同一のプールに誤って配置してしまうことを防ぐように構成されている点にある。そのために、本実施形態は、2つの仮想ボリュームが互いに同一プールに属してはならないことを表す排他制約の複数からなる排他制約定義に基づいて、それらの排他制約を守りつつ移動先プールを決定するように構成されている。
図37は、実施形態6の再配置制御部の構成を示す図である。図11に記載の同一構成品については、同一番号を付しており、説明は省略する。再配置制御部101は、追加のモジュールとして、排他制約違反プール除去処理S2300を備える。また、移動先プール選択処理が一部変更されており後述する。
図38は、実施形態6のデータベースの構成を示す図である。図12に記載の同一構成品については、同一番号を付しており、説明は省略する。データベース102は、追加のテーブルとして、排他制約テーブル218を備える。
排他制約テーブル218は、個々の排他制約を表す排他制約レコード380の集合から構成される。排他制約レコード380は、少なくとも、互いに同一プールに属してはならない2つの仮想ボリュームIDを格納する、仮想ボリュームID1フィールド381および仮想ボリュームID2フィールド382を有する。
図39は、実施形態6の移動先プール選択処理を示すフローチャートである。移動先プール選択処理S801bは、実施形態2で説明した移動先プール選択処理S801に1ステップを追加したものである。図39に示すように、ステップS906とステップS907の間にステップS24a01が追加されている。ステップS24a01では、移動する仮想ボリュームIDと、直前のステップで抽出されたプールのプールID一覧とを渡して排他制約違反プール除去処理S2300(図40参照)を呼び出す。
図40は、排他制約違反プール除去処理を示すフローチャートである。排他制約違反プール除去処理S2300は、仮想ボリュームIDとプールID一覧とをパラメタとして受け取り、受け取った仮想ボリュームIDで表される仮想ボリュームとの間に排他制約が定義されている仮想ボリュームを含むプールのプールIDを、渡されたプールID一覧から取り除いた結果得られたプールID一覧を返す。
ステップS2401では、排他制約テーブル218を検索し、受け取った仮想ボリュームIDで指定される仮想ボリュームとの間に排他制約が定義されている仮想ボリュームの仮想ボリュームIDをすべて抽出する。すなわち、仮想ボリュームID1フィールドが受け取った仮想ボリュームIDに等しい排他制約レコード380の仮想ボリュームID2フィールドの値と、仮想ボリュームID2フィールドが受け取った仮想ボリュームIDに等しい排他制約レコード380の仮想ボリュームID1フィールドの値とをすべて抽出する。例えば、図38に例示された排他制約テーブル218においては、受け取った仮想ボリュームIDが0000の場合、抽出結果は0001となる。また、受け取った仮想ボリュームIDが0001の場合、抽出結果は0000および0002となる。
ステップS2402では、ステップS2401で抽出された仮想ボリュームIDに関連する仮想ボリュームレコード300をすべて検索し、それらのレコードのプールIDフィールド302の値をすべて取得することにより、前記抽出された各仮想ボリュームIDに対応する仮想ボリュームが属するプールのプールIDをすべて取得する。ステップS2403では、パラメタで指定されたプールID一覧から、ステップS2402で取得されたプールIDをすべて取り除き、その結果得られたプールID一覧を返す。そして、一連の処理を終了する。
以上のように、本実施形態は、2つの仮想ボリュームが互いに同一プールに属してはならないことを表す排他制約の複数からなる排他制約定義に基づいて、それらの排他制約を守りつつ移動先プールを決定するよう構成されている。そのため、ユーザは、例えば主系と待機系とで使用している複数の仮想ボリュームや、アクセス負荷分散のためにデータを分散して格納している複数の仮想ボリュームといった、同一プールに配置することが好ましくない複数の仮想ボリュームが、必ず異なるプールに配置されるような再配置を実行することが簡単にできるようになる。
本発明は、シン・プロビジョニングにより構築された仮想ボリュームを、プール枯渇に対する安全性を確保しつつ再配置することができる再配置システムおよび再配置方法を提供することができる。さらに、プール枯渇に対する安全性を確保しつつ、階層管理された複数のプール間での最適な仮想ボリューム再配置プランの決定を支援するための再配置システムおよび再配置方法を提供することができる。各実施形態の特徴を下記に示す。
実施形態1においては、仮想ボリュームの再配置前後のプール枯渇までの期間を予測し、予測結果に基づいて仮想ボリュームの再配置動作を制御することができる。
実施形態2においては、仮想ボリュームを管理する管理サーバ100は、プールを階層に分類する複数の条件からなる階層定義を記憶する記憶部(例えば、階層テーブル214)と、記憶部の条件を考慮して前記プールの枯渇までの期間を予測する予測部(例えば、残運用期間予測処理S202)と、予測部の予測結果に基づいて移動先候補となるプールを選択する選択部(例えば、移動先プール選択処理S801)と、選択部で選択された移動先候補のひとつのプールに前記仮想ボリュームを再配置させる再配置部(例えば、再配置実行処理S200)とを備えたことを特徴とする。このような構成によれば、階層管理されたプール間での仮想ボリューム再配置に際して、プール枯渇に対する安全性を確保しつつ最適な移動先プールを選択するために、あらかじめ設定された条件を用いてプールを階層に分類し、指定された階層から最適な移動先プールを選択し、且つ、設定された条件にはプール枯渇までの期間に関する条件を含むことができ、プール枯渇までの期間に関する条件を予測に基づいて評価することができる。
実施形態3では、プール枯渇が発生する危険がより低い状態に仮想ボリュームを再配置するために、複数プール間の枯渇までの期間を平準化するような仮想ボリューム再配置プランを、予測に基づいて決定することができる。
実施形態4では、アクセス頻度が異なる階層間での仮想ボリューム再配置に際して、枯渇までの期間の予測を正確に行うために、階層間のアクセス頻度特性の差に基づいて予測に補正を加えることができる。
実施形態5では、プール枯渇の危険性等の理由により移動先として本来好適な階層への再配置を回避し、次善策として別の階層への再配置を実行可能とするために、あらかじめ設定された階層選択ポリシーに従って、複数の階層から最も好適な階層を選択し、前記最も好適な階層から移動先プールを選択することができる。
また、実施形態5では、前記次善策に従って再配置を行った後で、データ配置状態をより好適なものとするために、好適でない配置状態の仮想ボリュームをより好適な階層に再配置するための実行可能な再配置プランを決定することができる。
さらに、実施形態5では、プールからなる階層と通常ボリュームからなる階層を混在することを許容し、仮想ボリュームを通常ボリュームに再配置した場合の容量効率の低下を加味して最も好適な移動先階層を選択することができる。
実施形態6では、2つの仮想ボリュームが互いに同一プールに属してはならないことを表す排他制約の複数からなる排他制約定義に基づいて、それらの排他制約を守りつつ移動先プールを決定することができる。
本発明の再配置システムの構成を示す図である。 図1で列挙した各装置のハードウェア構成を示す図である。 実施形態1の再配置制御部の構成を示す図である。 実施形態1のデータベースの構成を示す図である。 図4のデータベース上の各テーブルの構成を示す図である。 実施形態1の再配置指示画面を示す図である。 再配置実行処理を示すフローチャートである。 再配置後の移動先プールの残運用期間予測処理を示すフローチャートである。 残運用期間予測処理を示すフローチャートである。 使用量予測関数更新処理を示すフローチャートである。 実施形態2の再配置制御部の構成を示す図である。 実施形態2のデータベースの構成を示す図である。 実施形態2の階層指定再配置指示画面を示す図である。 階層指定再配置実行処理を示すフローチャートである。 移動先候補プール一覧表の具体的な表示例を示す図である。 移動先プール選択処理を示すフローチャートである。 実施形態3の再配置制御部およびデータベースの構成を示す図である。 階層内平準化処理を示すフローチャートである。 平準化プラン確認画面の具体的な表示例を示す図である。 階層内平準化プラン選択処理を示すフローチャートである。 実施形態4の再配置制御部の構成を示す図である。 実施形態4のデータベースの構成を示す図である。 実施形態4の階層指定再配置実行処理を示すフローチャートである。 実施形態4の移動先プール選択処理を示すフローチャートである。 バイアス補正付き再配置実行後の移動先プールの残運用期間予測処理を示すフローチャートである。 予測用情報バイアス補正処理を示すフローチャートである。 実施形態5の再配置制御部の構成を示す図である。 実施形態5のデータベースの構成を示す図である。 階層テーブル、ポリシーテーブル、移動状況テーブル、および通常ボリュームテーブルの構成を示す図である。 階層テーブルおよびポリシーテーブルの構成例を示す図である。 ポリシー指定再配置指示画面を示す図である。 ポリシー指定再配置実行処理を示すフローチャートである。 移動先候補プール一覧表の具体的な表示例を示す図である。 ポリシー指定移動先プール選択処理を示すフローチャートである。 好適化再配置処理を示すフローチャートである。 好適化再配置プラン選択処理を示すフローチャートである。 実施形態6の再配置制御部の構成を示す図である。 実施形態6のデータベースの構成を示す図である。 実施形態6の移動先プール選択処理を示すフローチャートである。 排他制約違反プール除去処理を示すフローチャートである。
符号の説明
100 管理サーバ
101 再配置制御部
102 データベース
103 データベース管理部
110 ストレージ装置
111 DKC
112 通常ボリューム
113 プール
114 仮想ボリューム
130,131 ネットワーク
132 ホスト
210 仮想ボリュームテーブル
211 プールテーブル
212 仮想ボリューム使用量予測関数テーブル
213 仮想ボリューム使用量履歴テーブル
214 階層テーブル
215 ポリシーテーブル
216 移動状況テーブル
217 通常ボリュームテーブル
218 排他制約テーブル
S200 再配置実行処理
S201 再配置実行後の移動先プールの残運用期間予測処理
S202 残運用期間予測処理
S203 使用量予測関数更新処理
S800 階層指定再配置実行処理
S801 移動先プール選択処理
S1000 階層内平準化処理
S1001 階層内平準化プラン選択処理
S1200 バイアス補正付き再配置実行後の移動先プールの残運用期間予測処理
S1201 予測用情報バイアス補正処理
S1700 好適化再配置処理
S1701 好適化再配置プラン選択処理
S1900 ポリシー指定再配置実行処理
S1901 ポリシー指定移動先プール選択処理
S2300 排他制約違反プール除去処理

Claims (12)

  1. 複数のプールを備え、ひとつ以上の通常ボリュームからなる前記プール上に構築されたひとつ以上の仮想ボリュームを有し、ひとつ以上の前記仮想ボリュームへの書き込み操作に応じて、前記プールを構成するひとつ以上の前記通常ボリュームから記憶領域を割り当てるストレージと、前記仮想ボリュームを管理する管理サーバとを備える仮想ボリュームの再配置システムであって、
    前記管理サーバは、
    前記プールを階層に分類する複数の条件からなる階層定義を記憶するとともに、前記階層定義の条件には、前記階層における使用量増加の傾向を、前記階層間の相対比率で表した値である使用量増加バイアスを記憶する記憶部と、
    前記記憶部の前記使用量増加バイアスを含む条件を考慮して前記プールの枯渇までの期間を予測する予測部と、
    前記予測部の予測結果に基づいて移動先候補となるプールを選択する選択部と、
    前記選択部で選択された移動先候補のひとつのプールに前記仮想ボリュームを再配置させる再配置部とを備えた
    ことを特徴とする再配置システム。
  2. 前記選択部は、移動先として指定された階層内に移動先候補プールが複数存在する場合に、複数の前記移動先候補プールの再配置後における枯渇までの期間の予測に基づいて好適な移動先プールを選択する
    ことを特徴とする請求項に記載の再配置システム。
  3. 前記選択部は、前記移動先として指定された階層内のプールの枯渇までの期間の平準度がより高くなる前記移動先候補プールをより好適な移動先プールとして選択する
    ことを特徴とする請求項に記載の再配置システム。
  4. 前記選択部は、指定された階層内で仮想ボリュームを再配置することにより複数の前記移動先候補プールの枯渇までの期間の平準度が向上する再配置プランを決定する
    ことを特徴とする請求項に記載の再配置システム。
  5. 前記予測部は、階層の特性差に基づいて仮想ボリュームの再配置に伴う前記仮想ボリュームの使用量増加傾向の変化を予測し、前記使用量増加傾向の変化の予測に基づいて前記再配置後のプールの枯渇までの期間の予測を補正する
    ことを特徴とする請求項に記載の再配置システム。
  6. 前記記憶部は、あらかじめ設定された複数の階層選択ポリシーを記憶し、
    前記選択部は、再配置する仮想ボリュームについて前記複数の階層選択ポリシーのうちいずれかの階層選択ポリシーに従って再配置する指示を受理した場合、前記指示された階層選択ポリシーに従って、複数の階層から前記再配置するボリュームの移動先として最も好適な階層を選択し、前記最も好適な階層から移動先プールを選択する
    ことを特徴とする請求項に記載の再配置システム。
  7. 前記階層選択ポリシーは、少なくとも移動先候補階層と優先順位の組から構成され、
    前記選択部は、前記移動先候補階層のうち、移動先として選択可能なプールが存在し、且つ前記優先順位が最も高い前記移動先候補階層を前記最も好適な階層として選択する
    ことを特徴とする請求項に記載の再配置システム。
  8. 前記選択部は、前記階層選択ポリシーに従って、現在配置されている階層より好適な階層に再配置可能な仮想ボリュームを選択し、再配置プランを選択する
    ことを特徴とする請求項に記載の再配置システム。
  9. 前記選択部は、仮想ボリュームの中から、前回の再配置時に最も好適な階層として選択された階層の優先順位よりも高い優先順位の階層に再配置可能な前記仮想ボリュームを選択し、前記仮想ボリュームの前記優先順位が高い階層への再配置を再配置プランとして選択する
    ことを特徴とする請求項に記載の再配置システム。
  10. 前記階層定義は、プールを階層に分類する条件と通常ボリュームを階層に分類する条件との混在を許容し、
    前記選択部は、仮想ボリュームから通常ボリュームへの再配置時の容量効率の低下を加味して前記最も好適な階層を選択する
    ことを特徴とする請求項に記載の再配置システム。
  11. 前記記憶部は、互いに同一プールに属してはならない仮想ボリュームの組の定義からなる排他制約を記憶し、
    前記選択部は、前記排他制約により定義された仮想ボリュームの組が同一プールに属しないことを追加の条件として前記条件に適合するプールを選択する
    ことを特徴とする請求項に記載の再配置システム。
  12. 複数のプールを備え、ひとつ以上の通常ボリュームからなる前記プール上に構築されたひとつ以上の仮想ボリュームを有し、ひとつ以上の前記仮想ボリュームへの書き込み操作に応じて、前記プールを構成するひとつ以上の前記通常ボリュームから記憶領域を割り当てるストレージと、前記仮想ボリュームを管理する管理サーバとを備える仮想ボリュームの再配置システムの再配置方法であって、
    前記管理サーバは、記憶部と、予測部と、選択部と、再配置部とを備え、
    前記記憶部は、前記プールを階層に分類する複数の条件からなる階層定義記憶されており、前記階層定義の条件には、前記階層における使用量増加の傾向を、前記階層間の相対比率で表した値である使用量増加バイアスが記憶されており
    前記予測部は、前記記憶部の前記使用量増加バイアスを含む条件を考慮して前記プールの枯渇までの期間を予測し、
    前記選択部は、前記予測部の予測結果に基づいて移動先候補となるプールを選択し、
    前記再配置部は、前記選択部で選択された移動先候補のひとつのプールに前記仮想ボリュームを再配置する
    ことを特徴とする再配置方法。
JP2006294063A 2006-10-30 2006-10-30 再配置システムおよび再配置方法 Expired - Fee Related JP4914173B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006294063A JP4914173B2 (ja) 2006-10-30 2006-10-30 再配置システムおよび再配置方法
US11/624,884 US8069326B2 (en) 2006-10-30 2007-01-19 Relocation system and a relocation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006294063A JP4914173B2 (ja) 2006-10-30 2006-10-30 再配置システムおよび再配置方法

Publications (2)

Publication Number Publication Date
JP2008112276A JP2008112276A (ja) 2008-05-15
JP4914173B2 true JP4914173B2 (ja) 2012-04-11

Family

ID=39331776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006294063A Expired - Fee Related JP4914173B2 (ja) 2006-10-30 2006-10-30 再配置システムおよび再配置方法

Country Status (2)

Country Link
US (1) US8069326B2 (ja)
JP (1) JP4914173B2 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596674B2 (en) * 2006-04-28 2009-09-29 Hitachi, Ltd. Data managed storage system for regulatory compliance
US8019965B2 (en) * 2007-05-31 2011-09-13 International Business Machines Corporation Data migration
JP4924244B2 (ja) * 2007-06-29 2012-04-25 富士ゼロックス株式会社 利用状況管理装置および利用状況処理プログラムおよび利用状況管理システム
JP2009043055A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd 計算機システム、ストレージ装置及びデータ管理方法
US7870360B2 (en) * 2007-09-14 2011-01-11 International Business Machines Corporation Storage area network (SAN) forecasting in a heterogeneous environment
US8244868B2 (en) * 2008-03-24 2012-08-14 International Business Machines Corporation Thin-provisioning adviser for storage devices
JP5192932B2 (ja) * 2008-07-23 2013-05-08 株式会社日立製作所 ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置
JP4893716B2 (ja) * 2008-08-28 2012-03-07 富士通株式会社 バックアップ装置、バックアップ方法およびバックアッププログラム
US8117235B1 (en) * 2008-09-29 2012-02-14 Emc Corporation Techniques for binding resources for use by a consumer tier
JP5250368B2 (ja) * 2008-09-30 2013-07-31 株式会社日立製作所 計算機システムおよび計算機システムにおける容量管理方法
JP2010086424A (ja) * 2008-10-01 2010-04-15 Hitachi Ltd ストレージ装置の管理装置
JP4727705B2 (ja) 2008-10-31 2011-07-20 株式会社日立製作所 階層型ストレージシステム
JP2010113509A (ja) * 2008-11-06 2010-05-20 Hitachi Ltd 記憶領域の割当方法および管理サーバ
US8527720B2 (en) 2008-12-03 2013-09-03 Lsi Corporation Methods of capturing and naming dynamic storage tiering configurations to support data pre-staging
US8407436B2 (en) * 2009-02-11 2013-03-26 Hitachi, Ltd. Methods and apparatus for migrating thin provisioning volumes between storage systems
JP5214502B2 (ja) * 2009-03-12 2013-06-19 株式会社日立製作所 ストレージ装置を管理する計算機及び方法
JP5331555B2 (ja) * 2009-04-23 2013-10-30 株式会社日立製作所 データ移行システムおよびデータ移行方法
US9773033B2 (en) * 2009-05-22 2017-09-26 International Business Machines Corporation Storing and retrieving volumes in a database by volume attributes
EP2302499A3 (en) * 2009-09-11 2012-09-26 Hitachi Ltd. Computer system performing capacity vitualization based on thin provisioning technology in both storage system and server computer
US8402214B2 (en) * 2009-09-16 2013-03-19 Hitachi, Ltd. Dynamic page reallocation storage system management
US8935500B1 (en) * 2009-09-24 2015-01-13 Vmware, Inc. Distributed storage resource scheduler and load balancer
JP5427011B2 (ja) * 2009-12-17 2014-02-26 株式会社日立製作所 仮想ハードディスクの管理サーバおよび管理方法、管理プログラム
JP5052592B2 (ja) * 2009-12-28 2012-10-17 株式会社日立製作所 ストレージ管理システム、ストレージ階層管理方法及び管理サーバ
JP5363595B2 (ja) * 2010-02-08 2013-12-11 株式会社日立製作所 仮想ボリューム内のデータの再配置を行うストレージシステム及び方法
JP5309259B2 (ja) * 2010-03-25 2013-10-09 株式会社日立製作所 ストレージ装置及びその制御方法
KR101049945B1 (ko) * 2010-03-31 2011-07-15 중소기업은행 객체 재편성 장치 및 그 방법
JP5079841B2 (ja) * 2010-04-15 2012-11-21 株式会社日立製作所 ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
CN102754084B (zh) * 2010-05-18 2015-10-07 株式会社日立制作所 存储装置和数据管理方法
US8447945B2 (en) 2010-06-14 2013-05-21 Hitachi, Ltd. Storage apparatus and storage system including storage media having different performances
US20120151174A1 (en) * 2010-12-13 2012-06-14 Hitachi, Ltd. Computer system, management method of the computer system, and program
US9348515B2 (en) * 2011-01-17 2016-05-24 Hitachi, Ltd. Computer system, management computer and storage management method for managing data configuration based on statistical information
JP5632082B2 (ja) * 2011-02-02 2014-11-26 株式会社日立製作所 ストレージ装置及びデータ管理方法
JP5733136B2 (ja) * 2011-09-26 2015-06-10 富士通株式会社 情報処理装置の制御方法、制御プログラム及び情報処理装置
WO2013098960A1 (ja) * 2011-12-27 2013-07-04 株式会社日立製作所 計算機システム、ファイル管理方法及び記憶媒体
US8880804B2 (en) * 2012-03-21 2014-11-04 Hitachi, Ltd. Storage apparatus and data management method
US20150081964A1 (en) * 2012-05-01 2015-03-19 Hitachi, Ltd. Management apparatus and management method of computing system
US11379354B1 (en) * 2012-05-07 2022-07-05 Amazon Technologies, Inc. Data volume placement techniques
US9542153B1 (en) * 2012-06-30 2017-01-10 EMC IP Holding Company LLC System and method for tiering data storage
US9092461B1 (en) 2012-06-30 2015-07-28 Emc Corporation System and method for tiering data storage
JP5355764B2 (ja) * 2012-08-29 2013-11-27 株式会社日立製作所 ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
US9578098B2 (en) 2012-11-19 2017-02-21 Hitachi, Ltd. Management system and management method
JP6142599B2 (ja) 2013-03-18 2017-06-07 富士通株式会社 ストレージシステム、ストレージ装置および制御プログラム
US9940062B1 (en) * 2013-05-07 2018-04-10 EMC IP Holding Company LLC Technique for creating a history of tape movement in a virtual tape library
WO2015008375A1 (ja) * 2013-07-19 2015-01-22 株式会社日立製作所 ストレージ装置および記憶制御方法
US10372372B2 (en) * 2015-04-22 2019-08-06 Hitachi, Ltd. Storage system
WO2017022128A1 (ja) * 2015-08-06 2017-02-09 株式会社日立製作所 管理装置及び方法
US10380524B1 (en) * 2016-07-12 2019-08-13 Jda Software Group, Inc. System and method of automotive production planning
US10614414B1 (en) * 2016-07-12 2020-04-07 Jda Software Group, Inc. System and method of an explanation tool for automotive production planning
US10089136B1 (en) * 2016-09-28 2018-10-02 EMC IP Holding Company LLC Monitoring performance of transient virtual volumes created for a virtual machine
KR102227643B1 (ko) * 2016-09-28 2021-03-15 한국전자기술연구원 오케스트레이션 기반 최적 스토리지 할당을 위한 예측형 후보군 선정 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3541744B2 (ja) * 1999-08-30 2004-07-14 株式会社日立製作所 ストレージサブシステム及びその制御方法
JP2001290680A (ja) * 2000-04-07 2001-10-19 Hitachi Ltd データベースシステムの自動再構成方法
JP3966459B2 (ja) * 2002-05-23 2007-08-29 株式会社日立製作所 ストレージ機器管理方法、システム、およびプログラム
JP4183443B2 (ja) * 2002-05-27 2008-11-19 株式会社日立製作所 データ再配置方法及び装置
JP4643395B2 (ja) * 2004-08-30 2011-03-02 株式会社日立製作所 ストレージシステム及びデータの移動方法
US7096338B2 (en) 2004-08-30 2006-08-22 Hitachi, Ltd. Storage system and data relocation control device
JP4688556B2 (ja) 2005-04-22 2011-05-25 株式会社日立製作所 ボリュームマイグレーションシステム、ボリューム再配置方法及びプログラム
JP4699837B2 (ja) * 2005-08-25 2011-06-15 株式会社日立製作所 ストレージシステム、管理計算機及びデータ移動方法
JP4757165B2 (ja) * 2006-10-04 2011-08-24 株式会社日立製作所 計算機システム、データ移行監視方法及びデータ移行監視プログラム

Also Published As

Publication number Publication date
JP2008112276A (ja) 2008-05-15
US20080104350A1 (en) 2008-05-01
US8069326B2 (en) 2011-11-29

Similar Documents

Publication Publication Date Title
JP4914173B2 (ja) 再配置システムおよび再配置方法
JP4733461B2 (ja) 計算機システム、管理計算機及び論理記憶領域の管理方法
JP5629919B2 (ja) 継続中の負荷の測定及びランク付けを用いてストレージプールに仮想ボリュームのホットスポットを配置する方法
US8312242B2 (en) Tracking memory space in a storage system
JP5685676B2 (ja) 計算機システム及びデータ管理方法
JP5124551B2 (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
US7587553B2 (en) Storage controller, and logical volume formation method for the storage controller
WO2014002213A1 (ja) 管理システム及び管理方法
WO2011077489A1 (ja) 仮想ボリュームを提供するストレージシステム
WO2011104741A1 (en) Management system for storage system and method for managing storage system
WO2012169027A1 (ja) 計算機システム及びストレージシステム管理方法
WO2013164878A1 (ja) 計算機システムの管理装置および管理方法
JPWO2012140730A1 (ja) 管理システム、それを有する計算機システム、及び管理方法
WO2011045831A1 (en) Storage apparatus and its control method
JP5395962B2 (ja) 計算機システム、及びその管理方法、並びに、プログラム
US7603337B2 (en) Storage system operation management method and storage system
JP2006350599A (ja) ストレージシステム及びストレージシステムのデータマイグレーション方法
CN103095805A (zh) 一种对数据进行智能分层管理的云存储系统
JP2001067187A (ja) ストレージサブシステム及びその制御方法
WO2013098960A1 (ja) 計算機システム、ファイル管理方法及び記憶媒体
JP4748950B2 (ja) 記憶領域管理方法及びシステム
JP2005038071A (ja) ストレージの容量を最適化する管理方法
WO2012004827A1 (en) Storage subsystem and its control method
CN101976181A (zh) 一种存储资源的管理方法及管理装置
JP2020154587A (ja) 計算機システム及びデータ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111219

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: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120120

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees