JP5241671B2 - 記憶装置のデータ移行制御方法 - Google Patents

記憶装置のデータ移行制御方法

Info

Publication number
JP5241671B2
JP5241671B2 JP2009231107A JP2009231107A JP5241671B2 JP 5241671 B2 JP5241671 B2 JP 5241671B2 JP 2009231107 A JP2009231107 A JP 2009231107A JP 2009231107 A JP2009231107 A JP 2009231107A JP 5241671 B2 JP5241671 B2 JP 5241671B2
Authority
JP
Japan
Prior art keywords
storage area
migration
storage
data
policy
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
JP2009231107A
Other languages
English (en)
Other versions
JP2011081467A (ja
JP2011081467A5 (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 JP2009231107A priority Critical patent/JP5241671B2/ja
Priority to US12/621,121 priority patent/US8447941B2/en
Priority to EP10182189A priority patent/EP2309372A3/en
Publication of JP2011081467A publication Critical patent/JP2011081467A/ja
Publication of JP2011081467A5 publication Critical patent/JP2011081467A5/ja
Priority to US13/863,891 priority patent/US8667241B2/en
Application granted granted Critical
Publication of JP5241671B2 publication Critical patent/JP5241671B2/ja
Priority to US14/153,406 priority patent/US8886906B2/en
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/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
    • G06F3/0649Lifecycle management
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Description

本発明は記憶装置の構成管理に関するものであり、特に記憶装置のデータ移行制御方法に関するものである。
近年、企業や個人の利用するデータの量は急激に増加している。そこで、ストレージサブシステムやホスト計算機をスイッチやハブで接続し、柔軟なデータ管理を可能にするSAN(Storage Area Network)や、NAS(Network Attached Storage)といった技術を利用したストレージシステムが広く利用されている。
また近年では、記憶装置(以下、ストレージサブシステムとも表記する)の運用コストの低減がストレージシステムの管理において重要な課題となっている。これを解決する1つの方法として、データの新しさや利用頻度などに応じて、例えば新しいストレージサブシステムから古いストレージサブシステムにデータを再配置するといった、データのライフサイクル管理が重要になっている(なお、データの再配置元や再配置先のストレージサブシステム群をストレージ階層と呼ぶ)。
データのライフサイクル管理を実現する技術として、ストレージサブシステムの記憶領域(以下「ボリューム」と呼ぶ)を利用するホスト計算機に影響を与えることなく、該ボリュームの内容を別のボリュームに移行する技術(以下、マイグレーションと表記する)が公開されている。
マイグレーションを行う方法には、例えば特許文献1、2、3にて開示されている方法がある。これら技術では、まず、あるボリュームから別のボリュームへデータをコピーし、コピー元のボリュームのデータを削除する。コピー元、コピー先データのアドレス管理はアドレス管理プログラムが処理する。データ移行中にホスト計算機から該アドレスにアクセスがあった場合で、データ読み込み要求の場合は、アクセス処理プログラムが、アドレス管理プログラムの管理するアドレスのデータをホストに提供する。データ書込みの場合はキャッシュメモリに書き込みデータを保持し、後で移行先ボリュームにデータを書き込む。以上の処理を行うことによってボリュームの入れ替えを実現している。データの移行先としては、同一ストレージサブシステム内のボリュームや(特許文献1参照)、異なるストレージサブシステムのボリュームや(特許文献2参照)、仮想的に1台のストレージサブシステムとして管理している、異なるストレージサブシステムのボリュームがある(特許文献3参照)。
また特許文献4では、論理ボリュームの性能情報やI/O (Input/Output)アクセス頻度に基づいて、データを自動的にマイグレーションする方法を開示している。さらに特許文献5では、ホスト計算機から論理ボリュームへのI/Oアクセスの頻度などに応じて、論理ボリュームを構成するセグメント単位でデータをマイグレーションする方法を開示している。
特許出願公開第2000−293317号明細書 米国特許第6108748号明細書 特許出願公開第2003−345522号明細書 特許出願公開第2003−067187号明細書 特許出願公開第2007−066259号明細書
従来技術を用いることにより、ホスト計算機から論理ボリュームへのI/Oアクセスの頻度などに応じて、論理ボリューム単位または論理ボリュームを構成するセグメント単位でデータをマイグレーションすることで、データのライフサイクル管理を実現することができる。
しかし従来技術の方法では、データのマイグレーションにおいて論理ボリューム間の関連を考慮していない。例えば、ある論理ボリューム内のデータが別の論理ボリュームにコピーされているという関連(以下、コピーペアの関連と表記する)がある場合、一般的にコピー元ボリューム(以下、P-Volとも表記する)に対するI/Oアクセス頻度と、コピー先ボリューム(以下、S-Volとも表記する)に対するI/Oアクセス頻度は異なる。これは通常運用時においては、P-Volに対してはホスト計算機からの書き込み/読み込みのアクセスがあるのに対し、S-Volに対してはデータコピーのための書き込みアクセスのみがあるためである。このような構成において、従来技術の方法ではP-VolとS-Volは別々にアクセス頻度に基づいて、マイグレーションされることとなる。先に述べたように、一般的にP-Volに比べてS-Volの方がアクセス頻度が低いため、S-Volの方がP-Volに比べて、QoS (Quality of Service)の低いボリューム(またはセグメント)にマイグレーションされやすい。このため、例えばP-Volに障害が発生した際、ホスト計算機がS-Volを利用するとI/O性能が急激に劣化するなどの状況が起こり得る。このことは必ずしもユーザ要件に合っているとは限らない。
本発明では、関連のあるボリュームのペア(またはグループ)に対して、関連元のボリューム(例えば、コピーペアの関連におけるP-Vol)のマイグレーションと、関連先のボリューム(例えば、コピーペアの関連におけるS-Vol)のマイグレーションとを、併せて制御する。具体的には、本発明の計算機システムは、複数の記憶領域を有する1又は複数の記憶装置と、データの移行を制御するコントローラと、を有するストレージシステムを備えており、 コントローラが、第1記憶領域が有する第1データを第1記憶領域から第2記憶領域に移行する場合に、コントローラは、第1記憶領域と関連する第3記憶領域が有する第2データを、第3記憶領域から、第1記憶領域と関連する記憶領域に対して定められたポリシに従って選択される第4記憶領域に移行する。
本発明によれば、関連のあるボリュームのペア(またはグループ)に対して、ユーザ要件に合わせてマイグレーションを制御することができる。例えば、ボリュームがマイグレーションされたとき、当該ボリュームと関連のあるボリュームも合わせて、マイグレーションさせることができる。なお、マイグレーション対象の単位についてはボリュームや、ボリュームを構成するセグメントがあるが、本発明においてはマイグレーションの単位は限定しない。
第1実施例におけるシステム構成を示す図である。 ボリューム割当てテーブルの一例を示す図である。 物理リソース割当てテーブルの一例を示す図である。 構成情報テーブルの一例を示す図である。 ストレージ階層テーブルの一例を示す図である。 マイグレーションポリシテーブルの一例を示す図である。 関連ポリシテーブルの一例を示す図である。 ポリシ割当てテーブルの一例を示す図である。 I/O制御処理の一例を示す図である。 構成情報の取得処理の一例を示す図である。 マイグレーション設定処理の一例を示す図である。 ストレージ階層を設定するためのマイグレーション設定プログラムのユーザインタフェースの一例を示す図である。 マイグレーションポリシを設定するためのマイグレーション設定プログラムのユーザインタフェースの一例を示す図である。 関連ポリシを設定するためのマイグレーション設定プログラムのユーザインタフェースの一例を示す図である。 ポリシの割当てを設定するためのマイグレーション設定プログラムのユーザインタフェースの一例を示す図である。 マイグレーション指示処理の一例を示す図である。 関連先ボリュームに対するマイグレーション指示処理の一例を示す図である。 マイグレーション処理の一例を示す図である。 コピーペア関係にある論理ボリューム間のデータ同期処理の一例を示す図である。 コピーペア関係にある論理ボリューム間のデータ同期処理を行うための、構成管理プログラムのユーザインタフェースの一例を示す図である。 コピーペアの反転処理の一例を示す図である。 第2実施例におけるシステム構成を示す図である。 複数ストレージ間の関連を含む構成情報テーブルの一例を示す図である。 階層間の対応関係を含むストレージ階層テーブルの一例を示す図である。 第2実施例における関連先ボリュームに対するマイグレーション処理の一例を示す図である。 第3実施例におけるシステム構成図を示す図である。 ボリューム割当てテーブルの一例を示す図である。 マイグレーション状態を含む物理リソース割当てテーブルの一例を示す図である。 セグメント情報テーブルの一例を示す図である。 プール単位のストレージ階層テーブルの一例を示す図である。 セグメント単位のI/O制御処理の一例を示す図である。 セグメント情報を含む構成情報の取得処理の一例を示す図である。 セグメント単位のマイグレーション指示処理の一例を示す図である。 関連先ボリュームに対するセグメント単位のマイグレーション指示処理の一例を示す図である。 セグメント単位のマイグレーション処理の一例を示す図である。 第4実施例におけるシステム構成を示す図である。 マイグレーションポリシ、関連ポリシ、ポリシの割当て情報の送受信処理の一例を示す図である。 第5実施例におけるシステム構成図を示す図である。 階層間の対応関係を含むプール単位のストレージ階層テーブルの一例を示す図である。 関連先ボリュームに対するセグメント単位のマイグレーション指示処理の一例を示す図である。
本発明の1つの実施形態においては、関連元ボリュームおよび関連先ボリュームのマイグレーションに関するポリシ(以下、マイグレーションポリシと表記する)を設定し、当該ポリシに基づいてマイグレーションを制御する。マイグレーションポリシには、論理ボリュームまたは論理ボリュームを構成するセグメントをマイグレーションする条件と、マイグレーション先のストレージ階層と、を記述する。
関連元ボリュームのマイグレーションポリシでは、例えば論理ボリュームへのI/Oアクセス頻度(IOPS: Input Output Per Second)や、論理ボリュームに格納されるデータの、ある時刻における重要度などを条件としてポリシを記述することができる。また、関連先ボリュームのマイグレーションポリシでは、例えば関連元ボリュームのマイグレーションポリシを関連先ボリュームに対しても適用するというポリシや、関連元ボリュームのマイグレーションポリシとは独立に、関連先ボリュームに対するポリシ(マイグレーションの条件とマイグレーション先のストレージ階層)を記述することができる。
ストレージサブシステムやストレージ管理計算機は、当該ポリシに基づいて関連元ボリュームに対するマイグレーションと、関連先ボリュームに対するマイグレーションと、を制御する。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。なお、本実施例によって本発明が限定されることはない。
A.第1実施例:
B.第2実施例:
C.第3実施例:
D.第4実施例:
E.第5実施例:
A.第1実施例:
A1.システムの構成
図1は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム1000と、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000と、スイッチ装置5000と、を有している。図中では、ストレージサブシステム1000と、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000と、スイッチ装置5000と、がそれぞれ1台ずつ存在しているがこの限りではなく、1台以上存在すれば良い。
ストレージサブシステム1000とホスト計算機2000は、スイッチ装置3000を介してネットワーク接続されている。また、ストレージサブシステム1000と管理計算機4000は、スイッチ装置5000を介してネットワーク接続されている。なお、スイッチ装置3000とスイッチ装置5000は同一の装置であっても良い。
ストレージサブシステム1000は、ディスク装置1100と、ディスクコントローラ1200と、を有している。
ディスク装置1100は、物理リソース1121と、プール1120と、を有している。ここで、物理リソース1121とは、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの物理デバイスによって提供される記憶領域のリソースのことを表している。物理リソース1121を提供する物理デバイスの種類については特に限定しない。また、プール1120とは物理リソース1121のグループである。一般的にプール1120は、RAID (Redundant Array of Independent Disks)と呼ばれる技術を用いて、物理リソース1121を冗長化した上で構成されるが、この限りではなく、物理リソース1121をグループ化したものであれば良い。図中では、プール1120が1つ、物理リソース1121が5つ存在しているがこの限りではなく、1つ以上存在すれば良い。
ディスクコントローラ1200は、メモリ1210と、制御装置1220と、スイッチ装置3000との接続のためのI/F (Interface)1230と、スイッチ装置5000との接続のためのI/F1240と、ディスク装置との接続のためのディスクI/F1250と、を有している。これらの構成要素はバスを通じて接続されている。
ディスクコントローラ1200は更に、論理ボリューム1110を有している。論理ボリューム1110は、1つ以上の物理リソースから構成され、ディスクコントローラ1200によって、ホスト計算機2000に提供される、論理的な記憶領域のことを表している。ここで、論理ボリューム1110(1)は、あらかじめ割当てられた、1又は複数の物理リソース1121から構成されており、論理ボリューム1110(1)の容量と、それを構成する物理リソース1121の合計の容量とは等しい。一方、論理ボリューム1110(2)は、ホスト計算機2000に対して提供される仮想的な論理ボリュームであり、ホスト計算機2000からの書き込み要求に応じて、物理リソース1121が割当てられるものである。具体的には、ディスクコントローラ1200は、論理ボリューム1110(2)に対するデータの書き込み要求を受領したとき、当該書き込み要求の対象領域に対して物理リソースが割当てられていない場合に、物理リソース1121の記憶領域を論理ボリューム1100(2)に割当て、当該割当てられた物理リソースの記憶領域にデータを書き込む。これによって、ホスト計算機2000に提供される論理ボリューム1110(2)の記憶容量を、実際に割り当てられている物理リソース1121の合計容量よりも、大きな容量とすることができる。
図中では、上述の2種類の論理ボリューム1110が1つずつ存在しているが、この限りでなく、どちらか一方のみ、若しくは2種類が混在していてもよく、1つ以上の論理ボリューム1110が存在していれば良い。
メモリ1210は、制御装置1220が用いるプログラムとデータを記憶する。特にメモリ1210は、構成情報取得プログラム1211と、I/O制御プログラム1212と、ボリューム割当てテーブル1213と、物理リソース割当てテーブル1214と、データコピープログラム1215と、マイグレーションプログラム1216と、を有している。
構成情報取得プログラム1211は、ストレージサブシステム1000の構成情報を収集し、当該情報を他プログラムに送信するプログラムである。
I/O制御プログラム1212は、ホスト計算機2000からストレージサブシステム1000が持つ論理ボリューム1110へのI/Oアクセスを制御するプログラムである。
ボリューム割当てテーブル1213は、ホスト計算機2000に割り当てられた論理ボリューム1110の情報を格納するテーブルであり、具体例を図2に示す。ボリューム割当てテーブル1213は、ホスト計算機が持つI/F2300を識別するためのInitiator ID12120と、ストレージサブシステム1000が持つI/F(A)1230を識別するためのTarget ID12121と、論理ボリューム1110を識別するためのLUN (Logical Unit Number)12122と、論理ボリューム1110に対するマイグレーション処理の状態を示すマイグレーション状態12123と、を有する。図2では、Initiator ID12120およびTarget ID12121に、それぞれホスト計算機2000が持つI/F2300のWWN (World Wide Name)と、ストレージサブシステム1000が持つI/F(A)のWWNと、を用いているが、この限りではなく、Initiator ID12120と、Target ID12121と、をそれぞれ一意に識別できる情報であれば良い。また図2では、論理ボリューム1110の識別子としてLUN12122を用いているが、この限りではなく、論理ボリューム1110を一意に識別できる情報であれば良い。さらに図2では、マイグレーション状態12123にて、ハイフンと、「マイグレーション中」という2種類の情報を用いている。ここで、ハイフンは当該ボリュームがマイグレーションされていない状態を示し、「マイグレーション中」は当該ボリュームがマイグレーションされている最中であることを示している。ただし、マイグレーション状態12123に格納する情報およびその表記方法はこの限りでなく、マイグレーションの状態を示す他の情報を格納しても良いし、他の表記方法にて状態を表現しても良い。
図3は、本実施例における、物理リソース割当てテーブル1214の一例を示す図である。物理リソース割当てテーブル1214は、論理ボリューム1110の各セグメントに対する物理リソースの割当ての情報を格納するテーブルである。物理リソース割当てテーブル1214は、論理ボリューム1110を識別するためのLUN12130と、論理ボリューム内のセグメントを識別するためのセグメントID12131と、論理ボリューム1110の各セグメントの領域を識別するためのボリュームLBA (Logical Block Address) 領域12132と、論理ボリューム1110の各セグメントに割り当てられた物理リソース1121を識別するための物理リソースID12133と、論理ボリューム1110の各セグメントに割り当てられた物理リソース1121の記憶領域を識別するためのLBA領域12134と、を有している。なお、LUN12130と、セグメントID12131と、物理リソースID12133と、はそれぞれ論理ボリューム1110と、論理ボリューム1110内のセグメントと、物理リソース1121と、を一意に識別できる情報であれば、図3の表記に限らず、他の情報でも良い。また、ボリュームLBA領域12132と、LBA領域12134と、はそれぞれ論理ボリューム1110内の各セグメントの領域と、物理リソース1121内の記憶領域と、を一意に識別できる情報であれば、図3の表記に限らず、他の情報でも良い。
データコピープログラム1215は、論理ボリューム1110内のデータを別の論理ボリューム1110にコピーするプログラムである。なお、データをコピーする単位は、論理ボリューム1110全体でも良いし、論理ボリューム1110を構成するセグメント単位でも良い。
マイグレーションプログラム1216は、論理ボリューム1110を別の論理ボリューム1110にマイグレーションするプログラムである。マイグレーションプログラム1216は、論理ボリューム1110をマイグレーションする際、まず、当該ボリュームから別のボリュームへデータをコピーし、コピー元のボリュームのデータを削除する。コピー元、コピー先データのアドレス管理はアドレス管理プログラムが処理する。データ移行中にホスト計算機から該アドレスにアクセスがあった場合で、データ読み込み要求の場合は、アクセス処理プログラムが、アドレス管理プログラムの管理するアドレスのデータをホストに提供する。データ書込みの場合はキャッシュメモリに書き込みデータを保持し、後で移行先ボリュームにデータを書き込む。以上の処理を行うことによってマイグレーションプログラム1216は、論理ボリュームの入れ替えを実現する。なお、マイグレーションの方法はこの限りではなく、他の方法を用いても良い。
制御装置1220は、メモリ1210内のプログラムの実行やデータの入出力、ディスクコントローラが有する各I/Fを通じたデータや制御命令の入出力を制御する。
ストレージサブシステム1000は他に、物理リソース1121からプール1120を構成する機能や、プール1120から論理ボリューム1110を生成する機能、論理ボリュームをI/F(A)1230を通じてホスト計算機2000に割り当てる機能、管理計算機4000からストレージサブシステム1000の構成変更要求を受け付ける機能など、ストレージ装置として一般的な機能を有している。
また、ストレージサブシステム1000は他に、ストレージサブシステム1000のユーザがデータを入力するための入力装置や、ストレージサブシステム1000のユーザに情報を提示するための出力装置を有していても良いが、本発明とは直接関係ないため、図示はしない。
ホスト計算機2000は、メモリ2100と、制御装置2200と、スイッチ装置3000との接続のためのI/F2300と、を有している。これらの構成要素はバスを通じて接続されている。メモリ2100は、制御装置2200が用いるプログラムとデータを記憶する。特にメモリ2100は、アプリケーション2110を有する。アプリケーション2110はどのようなプログラムであっても構わない。制御装置2200は、メモリ2100内のプログラムの実行やデータの入出力、I/F2300を通じたデータや制御命令の入出力を制御する。
ホスト計算機2000は他に、ホスト計算機2000のユーザがデータを入力するための入力装置や、ホスト計算機2000のユーザに情報を提示するための出力装置を有していても良いが、本発明とは直接関係ないため、図示はしない。
スイッチ装置3000は、ストレージサブシステム1000との接続のためのI/F3100と、ホスト計算機2000との接続のためのI/F3200と、を有している。ストレージサブシステム1000とホスト計算機2000および両者を接続するスイッチ装置3000との間で利用されるネットワークプロトコルには、FC (Fibre Channel)やiSCSIなどがあるが特に限定はしない。また、図中ではI/F3100が1つ、I/F3200が1つ存在しているがこの限りではなく、1つ以上存在すれば良い。
管理計算機4000は、メモリ4100と、制御装置4200と、スイッチ装置5000との接続のためのI/F4300と、を有している。メモリ4100は、制御装置4200が用いるプログラムとデータを記憶する。特にメモリ4100は、構成管理プログラム4110と構成情報テーブル4120と、マイグレーション設定プログラム4130と、ストレージ階層テーブル4140と、マイグレーションポリシテーブル4150と、関連ポリシテーブル4160と、ポリシ割当てテーブル4170と、マイグレーション指示プログラム4180と、を有している。
構成管理プログラム4110は、ストレージサブシステム1000の構成を管理するためのプログラムである。構成管理プログラム4110は特に、ストレージサブシステム1000が持つ構成情報取得プログラム1211と通信することによって、ストレージサブシステム1000の構成情報を取得する機能を有する。構成管理プログラム4110は他に、物理リソース1121からプール1120を構成する機能や、プール1120から論理ボリューム1110を生成する機能、論理ボリュームをI/F(A)1230を通じてホスト計算機2000に割り当てる機能、特定の時刻に特定の処理を行うスケジューラ機能を有していても良い。
図4は、本実施例における、構成情報テーブル4120の一例を示す図である。構成情報テーブル4120は、ストレージサブシステム1000の構成情報を格納するためのテーブルである。構成情報テーブル4120は、ストレージサブシステム1000を識別するためのストレージサブシステムID41200と、ストレージサブシステム1000が持つ論理ボリューム1110を識別するためのLUN41201と、論理ボリューム1110の容量41202と、論理ボリューム1110を構成する物理リソースの種別を示すリソース種別41203と、論理ボリューム1110がホスト計算機2000に割当てられているか否かを示すパスフラグ41204と、ホスト計算機2000から論理ボリューム1110へのI/Oアクセス頻度を示すIOPS41205と、論理ボリューム1110が関連を持つ他の論理ボリューム1110を識別するための関連先LUN41206と、を有している。なお、構成情報テーブル4120に格納する情報はこれに限らず、ストレージサブシステム1000の構成に関する他の情報を格納しても良い。また、ストレージサブシステムID41200と、LUN41201と、関連先LUN41206と、は図中の表現に限らず、それぞれストレージサブシステム1000と、論理ボリューム1110と、論理ボリューム1110が関連を持つ他の論理ボリューム1110と、を一意に識別できる情報であれば良い。なお本実施例においては、関連先LUN41206にハイフンが格納されている場合は、当該ボリュームに関連する他の論理ボリューム1110が存在しないことを示し、関連先LUN41206に論理ボリュームの識別子が格納されている場合は、当該ボリューム即ちLUN41201で示される論理ボリュームを関連元ボリュームとし、関連先LUN41206で示される論理ボリュームを関連先論理ボリュームとする関連があることを示している。さらに、容量41202と、リソース種別41203と、パスフラグ41204と、IOPS41205と、は図中の表現に限らず、それぞれ論理ボリューム1110の容量と、論理ボリューム1110を構成する物理リソース1121の種別と、論理ボリューム1110がホスト計算機2000に割り当てられているか否かを示す情報と、ホスト計算機2000から論理ボリューム1110へのI/Oアクセス頻度を示す情報であれば良い。
マイグレーション設定プログラム4130は、論理ボリューム1110のマイグレーションに関する設定を行うプログラムである。本実施例においては、マイグレーション設定プログラム4130は、ストレージ階層の作成と、論理ボリューム1110のマイグレーションに関するポリシ(以下、マイグレーションポリシとも表記する)の設定と、当該ボリュームと関連を持った他の論理ボリューム1110のマイグレーションに関するポリシ(以下、関連ポリシとも表記する)の設定と、論理ボリュームへのマイグレーションポリシと関連ポリシの割当て設定と、を行う。本実施例においては、これらの設定は、マイグレーション設定プログラム4130が有するUI (User Interface)を通じて、ユーザ(ストレージ管理者)が、行う。ただしマイグレーションに関する設定を行う方法はこれに限らず、他の方法でも良い。例えばストレージ階層の設定は、論理ボリューム1110の内、リソース種別やRAIDレベルが同じものを集めて1つのストレージ階層にするという方法で、マイグレーション設定プログラム4130が自動的に行っても良い。また関連ポリシの設定は、論理ボリューム1110と他の論理ボリューム1110との関連の種類によって、マイグレーション設定プログラム4130が自動的に行っても良い。このための方法には例えば、ある論理ボリューム1110が別の論理ボリューム1110と同期コピーの関係にある場合は、関連元のボリュームをマイグレーションする際は、関連先のボリュームも合わせてマイグレーションするというポリシに設定する、という方法がある。
図5は、本実施例における、ストレージ階層テーブル4140の一例を示す図である。ストレージ階層テーブル4140は、ストレージ階層(データの再配置先の論理ボリューム群)の情報を格納するテーブルである。ストレージ階層テーブル4140は、ストレージ階層を識別するための階層ID41400と、ストレージ階層に含まれる論理ボリューム1110を持つストレージサブシステム1000を識別するためのストレージサブシステムID41401と、ストレージ階層に含まれる論理ボリューム1110を識別するLUN41402と、を有している。なお、階層ID41400と、ストレージサブシステムID41401と、LUN41402と、は図中の表現に限らず、それぞれストレージ階層と、ストレージサブシステム1000と、論理ボリューム1110と、を一意に識別できる情報であれば良い。
図6は、本実施例における、マイグレーションポリシテーブル4150の一例を示す図である。マイグレーションポリシテーブル4150は、論理ボリューム1110に対するマイグレーション処理に関するポリシ情報を格納するテーブルである。マイグレーションポリシテーブル4150は、マイグレーションポリシを識別するためのポリシID41500と、マイグレーションを行う条件を示すマイグレーション条件41501と、マイグレーション先のストレージ階層を識別するためのマイグレーション先階層ID41502と、を有している。本実施例においては、マイグレーション条件41501には、ホスト計算機2000から論理ボリューム1110へのI/Oアクセスの頻度(IOPS)を元に、当該ボリュームをマイグレーションするための条件を記述している。なお、ポリシID41500と、マイグレーション先階層ID41502と、は図中の表現に限らず、それぞれマイグレーションポリシと、マイグレーション先のストレージ階層と、を一意に識別できる情報であれば良い。また、マイグレーション条件41501は、図中の表現に限らず、論理ボリューム1110をマイグレーションするための条件を示す情報であれば良い。IOPS以外のマイグレーション条件としては例えば、論理ボリューム1110に格納されているデータの重要度や、論理ボリューム1110の運用コストなどがある。
図7は、本実施例における、関連ポリシテーブル4160の一例を示す図である。関連ポリシテーブル4160は、論理ボリューム1110と関連を持った別の論理ボリューム1110に対するマイグレーション処理に関するポリシ情報を格納するテーブルである。関連ポリシテーブル4160は、関連ポリシを識別するための関連ポリシID41600と、関連先の論理ボリューム1110をマイグレーションするタイミング41601と、関連先の論理ボリューム1110をマイグレーションする条件41602と、関連先の論理ボリューム1110に対するマイグレーションのポリシ41603と、を有している。なお、関連ポリシID41600は図中の表現に限らず、関連ポリシを一意に識別できる情報であれば良い。また、タイミング41601と、条件41602と、ポリシ41603と、は図中の表現に限らず、それぞれ関連先ボリュームをマイグレーションするタイミングと、その条件と、そのポリシを示す情報であれば良い。関連先ボリュームをマイグレーションするタイミングとしては、例えば関連元の論理ボリューム1110をマイグレーションする時や、関連元ボリュームから関連先ボリュームへのデータコピーの同期時や、ユーザが指定した任意のタイミング、などがある。関連先ボリュームをマイグレーションする条件としては、例えば関連元ボリュームのリソース種別が、SSD (Solid State Drive)など特定の種別である場合などがある。この条件を設定することにより、具体的には、関連元ボリュームがSAS (Serial Attached SCSI)へマイグレーションしたとき、関連先ボリュームもSASへマイグレーションするが、関連元ボリュームがSSDへマイグレーションしたとき、関連先ボリュームの移動は行わないようにすることができる。これにより、高価な物理リソースであるSSDの浪費を防ぐことができる。関連先ボリュームをマイグレーションする際のポリシについては、例えば関連元ボリュームのマイグレーションポリシに従うというポリシや、関連元ボリュームとは独立に、ユーザが指定した条件でマイグレーションを行うというポリシ、関連元ボリュームのマイグレーション先の階層IDを関連元ボリュームのマイグレーション先の階層IDと同じにするというポリシなどがある。ポリシIDを用いて、関連先ボリュームをマイグレーションする際のポリシの設定を行う場合、マイグレーション条件が重複しない限り、複数のポリシIDを設定できる。また、誤って、重複するマイグレーション条件のポリシIDを設定した場合も、アラートを出すなどして、ユーザに通知する。
図8は、本実施例における、ポリシ割当てテーブル4170の一例を示す図である。ポリシ割当てテーブル4170は、論理ボリューム1110に対する、マイグレーションポリシと関連ポリシの割当ての情報を示すテーブルである。ポリシ割当てテーブル4170は、論理ボリューム1110を持つストレージサブシステム1000を識別するためのストレージサブシステムID41700と、論理ボリューム1110を識別するためのLUN41701と、マイグレーションポリシを識別するためのポリシID41702と、関連ポリシを識別するための関連ポリシID41703と、を有している。なお、ストレージサブシステムID41700と、LUN41701と、ポリシID41702と、関連ポリシID41703と、は図中の表現に限らず、それぞれストレージサブシステム1000と、論理ボリューム1110と、マイグレーションポリシと、関連ポリシと、を一意に識別できる情報であれば良い。さらに、本実施例におけるポリシ割当てテーブルでは、論理ボリューム1110ごとにマイグレーションポリシおよび関連ポリシを割り当てているが、この限りでなく、例えば論理ボリューム1110のグループや、ストレージサブシステムに対してマイグレーションポリシおよび関連ポリシを割り当てても良い。
マイグレーション指示プログラム4180は、ストレージサブシステム1000が持つマイグレーションプログラム1216に対して、論理ボリューム1110に対するマイグレーション処理の実行を指示するプログラムである。本実施例では、マイグレーション指示プログラム4180は、マイグレーションプログラム1216に対して、マイグレーション先の論理ボリューム1110を識別するためのストレージサブシステムIDおよびLUNを送信し、マイグレーションの実行を指示する。
制御装置4200は、メモリ4100内のプログラムの実行やデータの入出力、I/F4300を通じたデータや制御命令の入出力を制御する。
管理計算機4000は他に、管理計算機4000のユーザがデータを入力するための入力装置や、管理計算機4000のユーザに情報を提示するための出力装置を有していても良い。
なお、図1では管理計算機4000とストレージサブシステム1000は別々の装置として示されているが、この限りではなく、管理計算機4000はストレージサブシステム1000と同一の筐体内に存在しても良い。また、管理計算機4000のメモリ4100内のプログラムをストレージサブシステム1000のメモリ1210内に有し、制御装置1220によって当該プログラムを実行することで、管理計算機4000と同様の機能を実現しても良い。
スイッチ装置5000は、ストレージサブシステム1000との接続のためのI/F5100と、管理計算機4000との接続のためのI/F5200と、を有している。ストレージサブシステム1000と管理計算機4000および両者を接続するスイッチ装置5000との間で利用されるネットワークプロトコルには、TCP/IPなどがあるが特に限定はしない。また、図中ではI/F5100が1つ、I/F5200が1つ存在しているがこの限りではなく、1つ以上存在すれば良い。
A2.データ処理手順の説明
本実施例におけるデータ処理手順を説明する。
図9は、本実施例においてI/O制御プログラム1212が、ホスト計算機2000から論理ボリューム1110へのI/Oを制御する際の処理のシーケンスを示している。
当該処理では、まずステップS1000にて、アプリケーション2110がストレージサブシステム1000に対してI/Oアクセスを行う。
次にステップS1010にて、I/O制御プログラム1212が、I/Oの種類を特定する。ここでは、I/Oの種類は「読み込み」または「書き込み」であるとする。
I/Oの種類が「読み込み」の場合、ステップS1020にて、I/O制御プログラム1212がボリューム割当てテーブル1213と、物理リソース割当てテーブル1214と、を参照し、読み込みアクセス先のLBA領域12134を特定する。
さらにステップS1030にて、I/O制御プログラム1212が、アプリケーション2110からの読み込みアクセスを、ステップS1020で特定したLBA領域12134に対して行うように制御する。
I/Oの種類が「書き込み」の場合、ステップS1040にてI/O制御プログラム1212がボリューム割当てテーブル1213を参照し、書き込みアクセス先の論理ボリューム1110のLUN12122と、そのマイグレーション状態12123と、を特定する。
次にI/O制御プログラム1212が、ステップS1050にて、当該ボリュームのマイグレーション状態12123が「マイグレーション中」であるか否かを判定する。
マイグレーション状態12123が「マイグレーション中」である場合、ステップS1060にてI/O制御プログラム1212が、アプリケーション2110からの書き込みアクセスを、メモリ1210に対して行うように制御する。なお、ここでの書き込みアクセス先はメモリ1210に限らず、制御装置1220が備えるキャッシュメモリや、他の論理ボリューム1110などであっても良い。
さらにステップS1070にて、I/O制御プログラム1212が、物理リソース割当てテーブル1214を更新し、書き込みアクセスのあったボリュームLBA領域12132に対応する物理リソースIDをメモリ1210の識別子に、LBA領域12134をメモリ1210上の記憶領域の識別子に、それぞれ設定する。
マイグレーション状態12123が「マイグレーション中」でない場合、ステップS1080にてI/O制御プログラム1212がボリューム割当てテーブル1213と、物理リソース割当てテーブル1214と、を参照し、書き込みアクセス先のLBA領域12134を特定する。
次にI/O制御プログラム1212が、ステップS1080にて書き込みアクセス先のLBA領域12134が既に割り当てられているか否かを判定する。本実施例においては、物理リソース割当てテーブル1214にてLBA領域12134にハイフンのみが格納されている場合、該当するボリュームLBA領域には物理リソースのLBA領域が割り当てられていないと判定する。
書き込みアクセス先のLBA領域12134が既に割当てられている場合、ステップS1110にてI/O制御プログラム1212が、アプリケーション2110からの書き込みI/Oを、当該LBA領域に対して行うように制御する。
書き込みアクセス先のLBA領域12134が割当てられていない場合、ステップS1100にてI/O制御プログラム1212が、I/Oアクセス対象の論理ボリューム1110のボリュームLBA領域12132に、新たに物理リソースのLBA領域を割り当てる。なお、新規に割り当てる物理リソースのLBA領域を決定する方法には、物理リソースのLBA領域を先頭から検索し、必要な容量を満たす最初の領域を選択するなどの方法があるが、特に限定はしない。ステップS1100の実行後、ステップS1110に進む。
図10は、本実施例において、構成管理プログラム4110が、ストレージサブシステム1000の構成情報を取得する際の処理のシーケンスを示している。なお本実施例においては、図10の処理シーケンスは管理計算機4000が持つプログラムの他の処理とは並列に実行されるものとする。
当該処理では、まずステップS2000にて、構成管理プログラム4110が構成情報取得プログラム1211に、ストレージサブシステム1000の構成情報の提供を要求する。
次にステップS2010にて、構成情報取得プログラム1211がストレージサブシステム1000の構成情報を収集し、構成管理プログラム4110に当該情報を返す。なお本実施例においては、構成情報取得プログラム1211は、ストレージサブシステム1000の構成情報として、構成情報テーブル4120に示す情報を返すものとするが、これに加えて他の情報を返しても良い。
ステップS2020にて構成管理プログラム4110が、ストレージサブシステム1000の構成情報を構成情報テーブル4120に格納する。
次にステップS2030にて構成管理プログラム4110が、一定時間が経過するのを待った後、ステップS2000に進む。構成管理プログラム4110がステップS2030にて待つ時間の長さは、構成管理プログラム4110にて予め決めておいても良いし、ユーザが設定するなどの他の方法で決定しても良い。
図11は、本実施例において論理ボリューム1110のマイグレーションに関する設定を行う際の処理のシーケンスを示している。
当該処理では、まずステップS3000にてマイグレーション設定プログラム4130が、マイグレーション設定プログラム4130のユーザインタフェースを通じて、ユーザ(ストレージ管理者)からのストレージ階層の設定を受け付ける。
図12は、本実施例においてユーザがストレージ階層の設定に用いるユーザインタフェースUI1000を示している。ユーザインタフェースUI1000は、論理ボリューム1110の一覧を表示するテーブルUI1100と、ストレージ階層の一覧を表示するテーブルUI1200と、論理ボリューム1110をストレージ階層に追加するためのボタンUI1300と、ストレージ階層から論理ボリューム1110を削除するためのボタンUI1400と、を有している。なお、論理ボリュームの一覧テーブルUI1100およびストレージ階層の一覧テーブルUI1200は、チェックボックスを有しており、ユーザは各テーブルの各行を選択できるものとする。
ユーザは論理ボリュームの一覧テーブルUI1100からストレージ階層に追加したい論理ボリューム1110を選択し、ストレージ階層の一覧テーブルUI1200から論理ボリューム1110を追加する対象のストレージ階層を選択する。なお本実施例においては、ストレージ階層の一覧テーブルUI1200にてストレージ階層を1つも選択しなかった場合は、新規のストレージ階層が生成されるものとする。ユーザがボタンUI1300を押すと、論理ボリューム1110がストレージ階層に追加される。ストレージ階層から論理ボリューム1110を削除する場合は、ユーザはストレージ階層の一覧テーブルUI1200から削除対象の行を選択し、ボタンUI1400を押す。なお本実施例においては、ストレージ階層に含まれる論理ボリューム1100が1つも無くなった際、当該ストレージ階層は自動的に削除されるものとする。
次にステップS3010にて、マイグレーション設定プログラム4130は、ストレージ階層の情報をストレージ階層テーブル4140に格納する。
次にステップS3020にて、マイグレーション設定プログラム4130が、マイグレーション設定プログラム4130のユーザインタフェースを通じて、ユーザからのマイグレーションポリシの設定を受け付ける。
図13は、本実施例においてユーザがマイグレーションポリシの設定に用いるユーザインタフェースUI2000を示している。UI2000はマイグレーションポリシの一覧を表示するテーブルUI2100と、マイグレーションポリシを削除するためのボタンUI2200と、マイグレーションポリシを入力するためのフィールドUI2300と、を有している。マイグレーションを入力するためのフィールドUI2300は、マイグレーション条件を入力するためのテキストフィールドUI2310と、マイグレーション先のストレージ階層を選択するためのドロップダウンリストUI2320と、マイグレーションポリシを追加するためのボタンUI2330と、を有している。なお、マイグレーションポリシの一覧テーブルUI2100は、チェックボックスを有しており、ユーザは各テーブルの各行を選択できるものとする。
ユーザはテキストフィールドUI2310に、マイグレーション条件を入力する。なお、マイグレーション条件を記述するための文法は特に限定しない。さらにユーザはドロップダウンリストUI2320から、マイグレーション先のストレージ階層を選択し、ボタンUI2330を押す。これによりマイグレーション条件とマイグレーション先階層と、がマイグレーションポリシとして追加される。マイグレーションポリシを削除する場合、ユーザはマイグレーションポリシの一覧テーブルUI2100から削除対象の行を選択し、ボタンUI2200を押す。
次にステップS3030にて、マイグレーション設定プログラム4130が、マイグレーションポリシの情報をマイグレーションポリシテーブル4150に格納する。
次にステップS3040にて、マイグレーション設定プログラム4130が、マイグレーション設定プログラム4130のユーザインタフェースを通じて、ユーザからの関連ポリシの設定を受け付ける。
図14は、本実施例においてユーザが関連ポリシの設定に用いるユーザインタフェースUI3000を示している。UI3000は、関連ポリシの一覧を表示するテーブルUI3100と、関連ポリシを削除するためのボタンUI3200と、関連ポリシを入力するためのフィールドUI3300と、を有している。関連ポリシを入力するためのフィールドUI3300は、関連先ボリュームをマイグレーションするタイミングを選択するためのドロップダウンリストUI3310と、関連先ボリュームをマイグレーションするための条件を入力するためのフィールドUI3320と、関連先ボリュームをマイグレーションする際のポリシを選択するためのドロップダウンリストUI3330と、関連先ボリュームをマイグレーションする際のポリシとして既存のポリシIDを選択する際に利用するマイグレーションポリシの一覧テーブルUI3340と、関連ポリシを追加するためのボタンUI3350と、を有する。なお、関連ポリシの一覧テーブルUI3100およびマイグレーションポリシの一覧テーブルUI3340は、チェックボックスを有しており、ユーザは各テーブルの各行を選択できるものとする。
ユーザはドロップダウンリストUI3310から、関連先ボリュームをマイグレーションするタイミングを選択する。また、ユーザはドロップダウンリストUI3321と、ドロップダウンリストUI3322と、テキストフィールドUI3323を用いて、関連先ボリュームをマイグレーションする条件を入力する。具体的には、ユーザはドロップダウンリストUI3321から条件の対象を選択し、ドロップダウンリストUI3322から条件の比較演算子を選択し、テキストフィールドUI3323に条件を入力する。さらにユーザは、ドロップダウンリストUI3330から、関連先ボリュームをマイグレーションする際のポリシを選択する。その際、「ポリシID(下記で指定)に従う」を選択した場合は、マイグレーションポリシの一覧テーブルUI3340から、関連先ボリュームのマイグレーションポリシとして設定するポリシを選択する。最後にユーザがボタンUI3350を押すことで、関連ポリシが設定される。関連ポリシを削除する場合は、ユーザは関連ポリシの一覧テーブルUI3100から削除対象の関連ポリシを選択し、ボタンUI3200を押す。
次にステップS3050にて、マイグレーション設定プログラム4130が関連ポリシの情報を関連ポリシテーブル4160に格納する。
次にステップS3060にて、マイグレーション設定プログラム4130が、マイグレーション設定プログラム4130のユーザインタフェースを通じて、ユーザからのポリシの割当て設定を受け付ける。
図15は、本実施例においてユーザがポリシの割当て設定に用いるユーザインタフェースUI4000を示している。UI4000は、論理ボリューム1110の一覧を表示するテーブルUI4100と、マイグレーションポリシの一覧を表示するテーブルUI4200と、関連ポリシの一覧を表示するテーブルUI4300と、マイグレーションポリシおよび関連ポリシを論理ボリューム1110に割り当てるためのボタンUI4400と、を有している。なお、論理ボリュームの一覧テーブルUI4100と、マイグレーションポリシの一覧テーブルUI4200と、関連ポリシの一覧テーブルUI4300と、はチェックボックスを有しており、ユーザは各テーブルの各行を選択できるものとする。
ユーザは論理ボリュームの一覧テーブルUI4100から、マイグレーションポリシおよび関連ポリシを割り当てる対象の論理ボリューム1110を選択する。またユーザは、マイグレーションポリシの一覧テーブルUI4200から、論理ボリューム1110に割り当てるマイグレーションポリシを選択する。さらにユーザは関連ポリシの一覧テーブルUI4300から、論理ボリューム1110に割り当てる関連ポリシを選択する。最後にユーザがボタンUI4400を押すことで、論理ボリューム1110へのマイグレーションポリシおよび関連ポリシの割当て設定が行われる。
次にステップS3070にて、マイグレーション設定プログラム4130が、ポリシの割当て設定の情報をポリシ割当てテーブル4170に格納する。以上の処理により、マイグレーションに関する設定が行われる。
図16は、本実施例におけるマイグレーション指示処理のシーケンスを示している。
図16の処理では、まずステップS4000にて、構成管理プログラム4110が持つスケジューラ機能が、一定時間ごとにマイグレーション指示プログラム4180を実行する。構成管理プログラム4110が持つスケジューラ機能がマイグレーション指示プログラムを実行する時間の間隔は、構成管理プログラム4110にて予め決めておいても良いし、ユーザが設定するなどの他の方法で決定しても良い。
次にステップS4010にて、マイグレーション指示プログラム4180が、構成情報テーブル4120と、マイグレーションポリシテーブル4150と、ポリシ割当てテーブル4170と、を参照し、マイグレーション条件を満たす論理ボリューム1110を探す。
次にステップS4020にて、マイグレーション指示プログラム4180が、マイグレーション条件を満たす論理ボリューム1110が存在するか否かを判定する。該当する論理ボリューム1110が存在しない場合は、本処理を終了する。該当する論理ボリューム1110が存在する場合は、ステップS4030に進む。
ステップS4030では、マイグレーション指示プログラム4180が、ストレージ階層テーブル4140と、構成情報テーブル4120と、マイグレーションポリシテーブル4150と、ポリシ割当てテーブル4170と、を参照し、ステップS4010で発見した論理ボリューム1110に割り当てられたポリシの情報からマイグレーション先のストレージ階層を特定し、当該ストレージ階層の中からマイグレーション先の論理ボリューム1110を選択する。なお、マイグレーション先の論理ボリュームを選択する方法には、例えば、ストレージ階層に含まれる論理ボリューム1110の内、ステップS4010で発見した論理ボリューム1110より容量が大きく、パスフラグが「なし」のものを選択するなどの方法があるが、特に限定はしない。
次にステップS4040にて、マイグレーション指示プログラム4180が、ステップS4010で発見した論理ボリューム1110に対するマイグレーションを行うよう、マイグレーションプログラム1216に指示する。
次にステップS4050にて、マイグレーションプログラム1216が、マイグレーション処理を実行する。マイグレーション処理の詳細は後述する。
次にステップS4060にて、構成管理プログラム4110が、マイグレーション指示プログラム4180に、ステップS4050にてマイグレーションされた論理ボリューム1110を通知し、当該ボリュームに関連を持つ論理ボリューム1110に対するマイグレーション処理を行うよう要求する。
次にステップS4070にて、マイグレーション指示プログラム4180が、ステップS4050にてマイグレーションされた論理ボリューム1110と関連を持った論理ボリューム1110(関連先ボリューム)に対するマイグレーション指示処理を行う。
図17は、本実施例における関連先ボリュームに対するマイグレーション指示処理のシーケンスを示している。
当該処理では、まずステップS5000にてマイグレーション指示プログラム4180が、ポリシ割当てテーブル4170を参照し、構成管理プログラム4110から指定された論理ボリューム1110と関連のある論理ボリューム1110を探す。
次にステップS5010にて、マイグレーション指示プログラム4180が、該当するボリュームが存在するか否かを判定する。該当するボリュームが存在しない場合は本処理を終了する。該当するボリュームが存在する場合は、ステップS5020に進む。
ステップS5020では、マイグレーション指示プログラム4180が、関連ポリシテーブル4160を参照し、ステップS5000で発見した論理ボリューム1110をマイグレーションするタイミングを特定する。
次にステップS5030にて、マイグレーション指示プログラム4180が、現時点がステップS5020で特定したタイミングに該当するか否かを判定する。該当しない場合は本処理を終了する。該当する場合はステップS5040に進む。
ステップS5040では、マイグレーション指示プログラム4180が、関連ポリシテーブルを参照し、ステップS5000で発見した論理ボリューム1110をマイグレーションする条件を特定する。
次にステップS5050にて、マイグレーション指示プログラム4180が、ステップS5040で特定した条件が満たされているか否かを判定する。条件が満たされていない場合は本処理を終了する。条件が満たされている場合は、ステップS5060に進む。
ステップS5060では、マイグレーション指示プログラム4180が、関連ポリシテーブル4160を参照し、ステップS5000で発見した論理ボリューム1110をマイグレーションするポリシ(関連ポリシ)を特定する。
次にステップS5070にて、マイグレーション指示プログラム4180が、構成情報テーブル4120と、ストレージ階層テーブル4140と、マイグレーションポリシテーブル4150と、ポリシ割当てテーブル4170と、を参照し、ステップS5000で発見した論理ボリューム1110のマイグレーション先の論理ボリューム1110を選択する。なお、マイグレーション先の論理ボリュームを選択する方法には、例えば、ストレージ階層に含まれる論理ボリューム1110の内、ステップS5000で発見した論理ボリューム1110より容量が大きく、パスフラグが「なし」のものを選択するなどの方法があるが、特に限定はしない。また、マイグレーション先の論理ボリュームが1つも無い場合には、ログ出力などの方法により、その旨をユーザに通知する。
次にステップS5080にて、マイグレーション指示プログラム4180が、ステップS5000で発見した論理ボリュームに対するマイグレーション処理を行うよう要求する。
図18は、本実施例におけるマイグレーション処理のシーケンスを示している。当該処理では、まずステップS6000にて、マイグレーションプログラム1216が、ボリューム割当てテーブル1213を参照し、マイグレーション指示プログラム4180に指定された論理ボリューム1110のマイグレーション状態を「マイグレーション中」に設定する。これにより、図9に示したように当該ボリュームに対する書き込みI/Oは、本時点以降、当該ボリュームに対してではなく、メモリに対して行うようにI/O制御プログラム1212によって制御される。
次にステップS6010にて、マイグレーションプログラム1216が、データコピープログラム1215に、マイグレーション元の論理ボリューム1110に格納されたデータを、マイグレーション先の論理ボリューム1110にコピーするように指示する。
次にステップS6020にて、データコピープログラム1215が、マイグレーション元の論理ボリューム1110に格納されたデータを、マイグレーション先の論理ボリューム1110にコピーする。
次にステップS6030にて、マイグレーションプログラム1216が、I/O制御プログラム1212に、一時的に書き込みI/Oを停止するように要求する。
次にステップS6040にて、I/O制御プログラム1212が、現在、書き込み中のI/O処理が終了した後で、一時的に書き込みI/Oを停止する。なお、本実施例においては、書き込みI/O停止中もストレージサブシステム1000はホスト計算機2000からのI/O(読み込み、書き込み)を受け付け、そのI/O要求をメモリ1210またはキャッシュメモリなどに保持しておくものとする。
次にステップS6050にて、マイグレーションプログラム1216が、I/O制御プログラム1212に、マイグレーション元の論理ボリューム1110に関して、メモリ上に書き込まれているデータをマイグレーション先の論理ボリューム1110の該当領域に書き込むように要求する。
次にステップS6060にて、I/O制御プログラム1212は、物理リソース割当てテーブル1214を参照し、マイグレーション元の論理ボリューム1110のボリュームLBA領域の内、メモリ上のLBA領域に書き込まれているデータを全て、マイグレーション先の論理ボリューム1110に割り当てられた物理リソース上のLBA領域に書き込む。
次にステップS6070にて、マイグレーションプログラム1216が、物理リソース割当てテーブル1214を参照し、マイグレーション元の論理ボリューム1110のLUNと、マイグレーション先の論理ボリューム1110のLUNと、を入れ替える。
次にステップS6080にて、マイグレーションプログラム1216が、I/O制御プログラム1212に、書き込みI/Oを再開するように要求する。
次にステップS6090にて、I/O制御プログラム1212が、書き込みI/Oを再開する。
図19は、本実施例において、コピーペア関係にあり、関連元ボリュームのみマイグレーションされた論理ボリューム1110のペア間のデータ同期処理を行う際のシーケンスを示している。
関連元ボリュームにデータが書き込まれた際、すぐに関連先ボリュームへデータが書き込まれないことがある。そこで、関連元ボリュームと関連先ボリュームのデータの同期化後に、関連先ボリュームのマイグレーションを行うことで、関連元ボリュームと関連先ボリュームの間のデータに不整合が生じず、マイグレーションすることができる。
図19の処理では、まずステップ7000にて、マイグレーションプログラム1216が、関連ポリシテーブル4160のタイミングが、「同期時」である関連ポリシIDが割り当てられた関連元ボリュームのマイグレーション処理を実行する。
次に、ステップS7010にて構成管理プログラム4110が、構成管理プログラム4110の持つユーザインタフェースを通じて、ユーザによる、コピーペア関係にある論理ボリューム1110間でデータの同期を取る処理を実行する指示を受け付ける。
図20は、本実施例においてユーザが、コピーペア関係にある論理ボリューム1110間でデータの同期を取る処理を実行するために用いるユーザインタフェースUI5000を示している。ユーザインタフェースUI5000は、コピーペア関係にある論理ボリューム1110の一覧を表示するテーブルUI5100と、コピーペア関係にある論理ボリューム1110間でデータを同期するためのボタンUI5200と、を有している。なお、コピーペア関係にある論理ボリューム1110の一覧テーブルはチェックボックスを有しており、ユーザは各行を選択できるものとする。
ユーザはコピーペア関係にある論理ボリュームの一覧テーブルUI5100から、データを同期化したいペアを選択し、ボタンUI5200を押す。これにより、当該ペア間でデータが同期化される。
次にステップS7020にて、構成管理プログラム4110が、データコピープログラム1215に対して、当該ボリュームのペア間でデータを同期するように要求する。
次にステップS7030にて、データコピープログラム1215が、当該ボリュームのペア間でデータを同期する。この処理は、コピー元の論理ボリューム1110に書き込まれたデータの内、コピー先の論理ボリューム1110に反映されていないデータを、コピー先の論理ボリュームに対して書き込むことで行われる。
次にステップS7040にて、構成管理プログラム4110が、マイグレーション指示プログラム4180に、ステップS7030にてデータの同期化を実行された論理ボリューム1110を通知し、当該ボリュームに関連を持つ論理ボリューム1110に対するマイグレーション指示処理を行うよう要求する。
次にステップS7050にて、マイグレーション指示プログラム4180が、ステップS7030にてデータの同期化を実行された論理ボリューム1110と関連を持った論理ボリューム1110(関連先ボリューム)に対するマイグレーション指示処理を行う。
図21は、本実施例において、コピーペアの関係にある論理ボリューム1110間で、コピーペアの関係を反転する際の処理のシーケンスを示している。ここでコピーペアの反転とは、コピー元の論理ボリューム1110をコピー先とし、コピー先の論理ボリューム1110をコピー元とする処理のことである。
当該処理では、まずステップS8000にて、構成管理プログラム4110が、構成管理プログラム4110の持つユーザインタフェースを通じて、ユーザによる、コピーペア関係にある論理ボリュームの間で、コピーペアの関係を反転する処理を実行する指示を受け付ける。
次にステップS8010にて、構成管理プログラム4110が、データコピープログラム1215に対し、当該ボリュームのペア間でコピーペアの関係を反転するように要求する。
次にステップS8020にて、データコピープログラム1215が、当該ボリュームのペア間でコピーペアの関係を反転する。
次にステップS8030にて、構成管理プログラム4110が、構成情報テーブル4120を参照し、新たにコピー先となった論理ボリューム1110(以下、オリジナルP-Volと記載する)の関連先LUNにハイフンを格納する。さらに構成管理プログラム4110は、新たにコピー元となった論理ボリューム1110(以下、オリジナルS-Volと記載する)の関連先LUNに、オリジナルP-VolのLUNを格納する。
次にステップS8040にて、構成管理プログラム4110が、ポリシ割当てテーブル4170を参照し、オリジナルP-VolとオリジナルS-Volとの間で、マイグレーションポリシおよび関連ポリシを入れ替える。
以上が第1実施例におけるデータ処理手順の説明である。これらの処理により、任意の論理ボリューム1110に対して、マイグレーションやデータコピーなどの処理を行った際、当該ボリュームに関連を持った論理ボリューム1110についてマイグレーション処理を行うことができる。その結果、関連のあるボリュームのペア(またはグループ)に対して、ユーザ要件に合わせてマイグレーションを制御することができる。また、図21に示した処理によって、論理ボリューム1110間の関連が変化した際にも、ポリシを入れ替えることによって、当該ペア(またはグループ)のマイグレーションを適切に制御することができる。
B.第2実施例:
B1.システムの構成
図22は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム1000bと、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000と、スイッチ装置5000と、第二のストレージサブシステム6000と、を有している。図中では、ストレージサブシステム1000bと、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000と、スイッチ装置5000と、第二のストレージサブシステム6000と、がそれぞれ1台ずつ存在しているがこの限りではなく、1台以上存在すれば良い。本構成の大部分は第1実施例の構成と同等であるため、以降は差分のみを説明する。
図1に示すデータ処理システムとの差異は、ストレージサブシステム1000bが、リモートコピー機能を持ったデータコピープログラム1215bを有している点と、管理計算機4000bが、複数ストレージ間の関連を含む構成情報テーブル4120bおよび階層間の対応関係を含むストレージ階層テーブル4140bを有している点と、第二のストレージサブシステム6000が存在している点、である。なお、第二のストレージサブシステム6000の構成はストレージサブシステム1000と同等であるため説明は省略する。
リモートコピー機能を持ったデータコピープログラム1215bは、ストレージサブシステム1000bが持つ論理ボリューム1110から第二のストレージサブシステム6000が持つ論理ボリューム1110に、データをコピーするプログラムである。当該プログラムによるデータのコピーは、ストレージサブシステム1000のI/F(A)1230と、スイッチ装置5000の持つI/F(A)5100と、第二のストレージサブシステム6000が持つI/F(A)1230と、を通じてデータを転送することで実現される。
図3に示す構成情報テーブル4120と、図23に示す複数ストレージ間の関連を含む構成情報テーブル4120bとの差異は、複数ストレージ間の関連を含む構成情報テーブル4120bが、関連先ストレージサブシステムID41206bを有している点である。関連先ストレージサブシステムID41206bは、ある論理ボリューム1110と関連を持った論理ボリュームを有しているストレージサブシステム1000または第二のストレージサブシステム6000を識別する情報である。第1実施例においては、関連先の論理ボリューム1110は、関連先LUN41206にて一意に識別されたが、本実施例においては関連先の論理ボリューム1110は、関連先ストレージサブシステムID41206bと、関連先LUN41206との組み合わせで一意に識別される。
図4に示すストレージ階層テーブル4140と、図24に示す階層間の対応関係を含むストレージ階層テーブル4140bとの差異は、階層間の対応関係を含むストレージ階層テーブル4140bが第二のストレージサブシステムID41403bと、第二のLUN41404bと、を有している点である。第二のストレージサブシステムID41403bと、第二のLUN41404bは、第二のストレージサブシステム6000が持つ論理ボリューム1110を識別する情報である。
リモートコピーの関係のように、論理ボリューム1110が複数のストレージサブシステムに跨った関係を持つ場合、ストレージサブシステム1000と第二のストレージサブシステム6000の構成が全く同じである保証がない。例えば、ストレージサブシステム1000が物理リソース1121としてSSD (Solid State Drive) を有していたとしても、第二のストレージサブシステム6000はSSDを有していない可能性がある。このため、例えば関連元ボリュームがストレージサブシステム1000の論理ボリューム1110であり、関連先ボリュームが第二のストレージサブシステム6000の論理ボリューム1110である場合、関連ポリシとして「関連元ボリュームに合わせる」を設定しても、関連元ボリュームに合わせることができない可能性がある。
このため、階層間の対応関係を含むストレージ階層テーブル4140bは、ストレージサブシステム1000におけるストレージ階層と、第二のストレージサブシステム6000におけるストレージ階層との対応関係の情報を含んでいる。関連元ボリュームがストレージサブシステム1000の論理ボリューム1110であり、関連先ボリュームが第二のストレージサブシステム6000の論理ボリューム1110である場合、関連ポリシとして「関連元ボリュームに合わせる」を設定すると、関連元ボリュームのマイグレーション先はストレージサブシステム1000のストレージ階層から選択され、関連先ボリュームのマイグレーション先は第二のストレージサブシステム6000のストレージ階層から選択される。
B2.データ処理手順の説明
本実施例の動作の大部分は第1実施例の動作と同じであるため、以降は差分のみを説明する。第1実施例の処理シーケンスと本実施例の処理シーケンスでは、関連先ボリュームに対するマイグレーション処理が異なる。
図25に、本実施例における関連先ボリュームに対するマイグレーション処理のシーケンスを示す。図25のステップS5000、S5010、S5020、S5030、S5040、S5050、S5060、は図17のステップS5000、S5010、S5020、S5030、S5040、S5050、S5060と同じであるため、説明は省略する。
本実施例における関連先ボリュームに対するマイグレーション処理では、ステップS5070bにて、マイグレーション指示プログラム4180が、複数ストレージ間の関連を含む構成情報テーブル4120bと、階層間の対応関係を含むストレージ階層テーブル4140bと、マイグレーションポリシテーブル4150と、ポリシ割当てテーブル4170と、を参照し、ステップS5000で発見した論理ボリューム1110のマイグレーション先の論理ボリューム1110を選択する。このとき、ステップS5000で発見した論理ボリューム1110がストレージサブシステム1000の持つ論理ボリューム1110であれば、ストレージサブシステム1000のストレージ階層からマイグレーション先の論理ボリューム1110を選択する。ステップS5000で発見した論理ボリューム1110が第二のストレージサブシステム6000の持つ論理ボリューム1110であれば、第二のストレージサブシステム6000のストレージ階層からマイグレーション先の論理ボリューム1110を選択する。なお、マイグレーション先の論理ボリュームを選択する方法には、例えば、ストレージ階層に含まれる論理ボリューム1110の内、ステップS5000で発見した論理ボリューム1110より容量が大きく、パスフラグが「なし」のものを選択するなどの方法があるが、特に限定はしない。また、マイグレーション先の論理ボリュームが1つも無い場合には、ログ出力などの方法により、その旨をユーザに通知する。
次にステップS5080bにて、マイグレーション指示プログラム4180が、ステップS5000で発見した論理ボリュームに対するマイグレーション処理を行うよう要求する。処理を要求する対象は、当該ボリュームを持つストレージサブシステム1000上のマイグレーションプログラム1216、または第二のストレージサブシステム6000上のマイグレーションプログラム1216である。
以上が第2実施例におけるデータ処理の手順である。これらの処理により、リモートコピーの関係のように、論理ボリューム1110が複数ストレージサブシステム間に跨った関係を持つ場合においても、関連のあるボリュームのペア(またはグループ)に対して、ユーザ要件に合わせてマイグレーションを制御することができる。
C.第3実施例:
C1.システムの構成
図26は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム1000cと、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000cと、スイッチ装置5000と、を有している。図中では、ストレージサブシステム1000cと、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000cと、スイッチ装置5000と、がそれぞれ1台ずつ存在しているがこの限りではなく、1台以上存在すれば良い。本構成の大部分は第1実施例の構成と同等であるため、以降は差分のみを説明する。
図1に示すデータ処理システムとの差異は、ストレージサブシステム1000cが、リソース種別ごとのプール1120cと、ボリューム単位割当てテーブル1213cと、マイグレーション状態を含む物理リソース割当てテーブル1214cと、セグメント単位のデータコピープログラム1215cと、セグメント単位のマイグレーションプログラム1216cと、を有している点と、管理計算機4000cが、セグメント情報テーブル4125cと、プール単位のストレージ階層テーブル4140cと、セグメント単位のマイグレーション指示プログラム4180cと、を有している点、である。ここで、セグメントとはボリュームを構成する論理的な記憶領域の単位であり、当然のことながら、セグメントのサイズはボリュームよりも小さい。
リソース種別ごとのプール1120cは、物理リソース1121を種別ごとに分類した上でグループ化したプールである。
図2に示すボリューム単位割当てテーブル1213と、図27に示すボリューム単位割当てテーブル1213cとの差異は、マイグレーション状態を示す12123cが、当該ボリュームを構成するセグメントが1つでもマイグレーション中の場合「マイグレーション中」とし、当該ボリュームを構成するセグメントすべてがマイグレーション中でない場合、ハイフンとする点である。ただし、マイグレーション状態12123cに格納する情報およびその表記方法はこの限りでなく、ボリュームを構成するセグメントのマイグレーションの状態を示すほかの情報を格納しても良いし、他の表記方法にて状態を表現しても良い。また、マイグレーション状態を表示する12123cは、ボリューム割当てテーブル1213cになくても良い。
図3に示す物理リソース割当てテーブル1214と、図28に示すマイグレーション状態を含む物理リソース割当てテーブル1214cとの差異は、マイグレーション状態を含む物理リソース割当てテーブル1214cが、セグメント単位のマイグレーション状態12135cを有している点である。
セグメント単位のデータコピープログラム1215cは、論理ボリューム1110間で、セグメント単位でデータをコピーする機能を有するプログラムである。
セグメント単位のマイグレーションプログラム1216cは、論理ボリューム1110間で、セグメント単位でマイグレーションする機能を有するプログラムである。
セグメント情報テーブル4125cは、ストレージサブシステム1000cが持つ論理ボリューム1110のセグメントの情報を格納するテーブルである。当該テーブルは、図29に示すように、ストレージサブシステムID41250と、LUN41251と、セグメントID41252と、リソース種別41253と、IOPS41254と、を有している。なお、セグメント情報テーブル4125cに格納する情報はこれに限らず、他の情報を格納しても良い。
図4に示すストレージ階層テーブル4140と、図30に示すプール単位のストレージ階層テーブル4140cとの差異は、プール単位のストレージ階層テーブル4140cが、プールID41402cと、空き容量41403cと、リソース種別41404cと、を有している点である。
セグメント単位のマイグレーション指示プログラム4180cは、ストレージサブシステム1000cの論理ボリューム1110を構成するセグメント単位で、マイグレーションを指示するプログラムである。
C2.データ処理手順の説明
本実施例の動作の大部分は第1実施例の動作と同じであるため、以降は差分のみを説明する。第1実施例の処理シーケンスと本実施例の処理シーケンスでは、マイグレーションの処理がセグメント単位で行われる点が異なる。
図31は本実施例におけるセグメント単位のI/O制御処理のシーケンスを示している。当該処理のステップS1000、S1010、S1020、S1030、S1060、S1090、S1100、S1110は、図9に示すI/O制御処理のステップS1000、S1010、S1020、S1030、S1060、S1090、S1100、S1110と同じであるため、説明は省略する。
当該処理では、ステップS1040cにて、I/O制御プログラム1212が、ボリューム割当てテーブル1213と、マイグレーション状態を含む物理リソース割当てテーブル1214cと、を参照し、I/Oアクセス先のボリュームLBA領域と、そのマイグレーション状態を特定する。
次にステップS1050cにて、I/O制御プログラム1212が、当該ボリュームLBA領域のマイグレーション状態が「マイグレーション中」か否かを判定する。マイグレーション状態が「マイグレーション中」の場合はステップS1060に進む。マイグレーション状態が「マイグレーション中」でない場合は、ステップS1090に進む。
ステップS1070cでは、I/O制御プログラム1212が、マイグレーション状態を含む物理リソース割当てテーブル1214cを更新し、書き込みアクセスのあったボリュームLBA領域12132に対応する物理リソースIDをメモリ1210の識別子に、LBA領域12134をメモリ1210上の記憶領域の識別子に、それぞれ設定する。
図32は、本実施例において、ストレージサブシステム1000cのセグメント情報を含む構成情報を取得する際の処理シーケンスを示している。当該処理のステップS2030は、図10に示す構成情報の取得処理ステップS2030と同じであるため説明を省略する。
当該処理では、まずステップS2000cにて、構成管理プログラム4110が、構成情報取得プログラム1211に、ストレージサブシステム1000cのセグメント情報を含む構成情報を提供するよう要求する。
次にステップS2010cにて、構成情報取得プログラム1211が、ストレージサブシステム1000cのセグメント情報を含む構成情報を取得し、構成管理プログラム4110に当該情報を返す。
次にステップS2020cにて、構成管理プログラム4110が、ストレージサブシステム1000cのセグメント情報をセグメント情報テーブル4125cに格納し、セグメント情報以外の構成情報を構成情報テーブル4120に格納する。
図33は、本実施例におけるセグメント単位のマイグレーション指示処理のシーケンスを示している。
当該処理では、まずステップS4000cにて、構成管理プログラム4110が持つスケジューラ機能が、一定時間ごとにセグメント単位のマイグレーション指示プログラム4180cを実行する。構成管理プログラム4110が持つスケジューラ機能がセグメント単位のマイグレーション指示プログラムを実行する時間の間隔は、構成管理プログラム4110にて予め決めておいても良いし、ユーザが設定するなどの他の方法で決定しても良い。
次にステップS4010cにて、セグメント単位のマイグレーション指示プログラム4180cが、構成情報テーブル4120と、セグメント情報テーブル4125cと、マイグレーションポリシテーブル4150と、ポリシ割当てテーブル4170と、を参照し、マイグレーション条件を満たすセグメントを探す。
次にステップS4020cにて、セグメント単位のマイグレーション指示プログラム4180cが、マイグレーション条件を満たすセグメントが存在するか否かを判定する。該当するセグメントが存在しない場合は、本処理を終了する。該当するセグメントが存在する場合は、ステップS4030cに進む。
ステップS4030cでは、セグメント単位のマイグレーション指示プログラム4180が、プール単位のストレージ階層テーブル4140cと、構成情報テーブル4120と、セグメント情報テーブル4125cと、マイグレーションポリシテーブル4150と、ポリシ割当てテーブル4170と、を参照し、ステップS4010cで発見したセグメントを持つ論理ボリューム1110に割り当てられたポリシの情報からマイグレーション先のストレージ階層を特定し、当該ストレージ階層の中からマイグレーション先のプール1120cを選択する。なお、マイグレーション先のプールを選択する方法には、例えば、ストレージ階層に含まれるプール1120cの内、ステップS4010で発見したセグメントより空き容量が大きいものを選択するなどの方法があるが、特に限定はしない。また、マイグレーション先のプール1120cが1つも無い場合には、ログ出力などの方法により、その旨をユーザに通知する。
次にステップS4040cにて、セグメント単位のマイグレーション指示プログラム4180cが、ステップS4010cで発見したセグメントに対するマイグレーションを行うよう、セグメント単位のマイグレーションプログラム1216cに指示する。
次にステップS4050cにて、セグメント単位のマイグレーションプログラム1216cが、マイグレーション処理を実行する。セグメント単位のマイグレーション処理の詳細は後述する。
次にステップS4060cにて、構成管理プログラム4110が、セグメント単位のマイグレーション指示プログラム4180cに、ステップS4050cにてマイグレーションされたセグメントを持つ論理ボリューム1110を通知し、当該ボリュームに関連を持つ論理ボリューム1110に対して、セグメント単位のマイグレーション処理を行うよう要求する。
次にステップS4070cにて、セグメント単位のマイグレーション指示プログラム4180cが、ステップS4050cにてマイグレーションされたセグメントを持つ論理ボリューム1110と関連を持った論理ボリューム1110に対して、セグメント単位のマイグレーション指示処理を行う。
図34は、本実施例において、関連先ボリュームに対するセグメント単位のマイグレーション指示処理を行う際のシーケンスを示している。
当該処理では、まずステップS5000cにてセグメント単位のマイグレーション指示プログラム4180cが、ポリシ割当てテーブル4170を参照し、構成管理プログラム4110から指定された論理ボリューム1110と関連のある論理ボリューム1110を探す。
次にステップS5010cにて、セグメント単位のマイグレーション指示プログラム4180が、該当するボリュームが存在するか否かを判定する。該当するボリュームが存在しない場合は本処理を終了する。該当するボリュームが存在する場合は、ステップS5020cに進む。
ステップS5020cでは、セグメント単位のマイグレーション指示プログラム4180cが、関連ポリシテーブル4160を参照し、ステップS5000cで発見した論理ボリューム1110をセグメント単位でマイグレーションするタイミングを特定する。
次にステップS5030cにて、セグメント単位のマイグレーション指示プログラム4180cが、現時点がステップS5020cで特定したタイミングに該当するか否かを判定する。該当しない場合は本処理を終了する。該当する場合はステップS5040cに進む。
ステップS5040cでは、セグメント単位のマイグレーション指示プログラム4180cが、関連ポリシテーブルを参照し、ステップS5000cで発見した論理ボリューム1110をセグメント単位でマイグレーションする条件を特定する。
次にステップS5050cにて、セグメント単位のマイグレーション指示プログラム4180が、ステップS5040cで特定した条件が満たされているか否かを判定する。条件が満たされていない場合は本処理を終了する。条件が満たされている場合は、ステップS5060cに進む。
ステップS5060cでは、セグメント単位のマイグレーション指示プログラム4180cが、関連ポリシテーブル4160を参照し、ステップS5000cで発見した論理ボリューム1110をセグメント単位でマイグレーションするポリシ(関連ポリシ)を特定する。
次にステップS5070cにて、セグメント単位のマイグレーション指示プログラム4180cが、構成情報テーブル4120と、セグメント情報テーブル4125cと、プール単位のストレージ階層テーブル4140cと、マイグレーションポリシテーブル4150と、ポリシ割当てテーブル4170と、を参照し、ステップS5000cで発見した論理ボリューム1110のセグメントをマイグレーションする先のプール1120cを選択する。さらにセグメント単位のマイグレーション指示プログラム4180cは、選択したプール1120cに含まれる物理リソース1121の中から空き領域を選択する。なお、マイグレーション先のプール1120cを選択する方法には、例えば、ストレージ階層に含まれるプール1120cの内、ステップS4010で発見したセグメントより空き容量が大きいものを選択するなどの方法があるが、特に限定はしない。また、マイグレーション先のプール1120cやプール内の空き領域が1つも無い場合には、ログ出力などの方法により、その旨をユーザに通知する。
次にステップS5080cにて、セグメント単位のマイグレーション指示プログラム4180cが、ステップS5000cで発見した論理ボリュームに対するセグメント単位のマイグレーション処理を行うよう要求する。なお、前述のように本実施例においては、関連ボリュームのセグメントの内、ステップS4020にて処理の対象となった論理ボリューム1110のセグメントに対応するセグメントをマイグレーションする。
図35は、本実施例におけるセグメント単位のマイグレーション処理のシーケンスを示している。当該処理のステップS6040、S6090は、図18に示すマイグレーション処理のステップS6040、S6090と同じであるため、説明は省略する。
当該処理では、まずステップS6000cにて、セグメント単位のマイグレーションプログラム1216cが、マイグレーション状態を含む物理リソース割当てテーブル1214cを参照し、セグメント単位のマイグレーション指示プログラム4180cに指定されたセグメントのマイグレーション状態を「マイグレーション中」に設定する。これにより、図31に示したように当該セグメントに対する書き込みI/Oは、本時点以降、当該セグメントに対してではなく、メモリに対して行うようにI/O制御プログラム1212によって制御される。
次にステップS6010cにて、セグメント単位のマイグレーションプログラム1216cが、セグメント単位のデータコピープログラム1215cに、マイグレーション元のセグメントに格納されたデータを、マイグレーション先のセグメントにコピーするように指示する。
次にステップS6020cにて、セグメント単位のデータコピープログラム1215cが、マイグレーション元のセグメントに格納されたデータを、マイグレーション先のセグメントにコピーする。
次にステップS6030cにて、セグメント単位のマイグレーションプログラム1216cが、I/O制御プログラム1212に、一時的に書き込みI/Oを停止するように要求する。
ステップS6050cにて、セグメント単位のマイグレーションプログラム1216cが、I/O制御プログラム1212に、マイグレーション元のセグメントに関して、メモリ上に書き込まれているデータをマイグレーション先のセグメントに書き込むように要求する。
次にステップS6060cにて、I/O制御プログラム1212は、物理リソース割当てテーブル1214を参照し、マイグレーション元のセグメントの内、メモリ上のLBA領域に書き込まれているデータを全て、マイグレーション先のセグメントに割り当てられた物理リソース上のLBA領域に書き込む。
次にステップS6070cにて、セグメント単位のマイグレーションプログラム1216cが、マイグレーション状態を含む物理リソース割当てテーブル1214cを参照し、マイグレーション元のセグメントの物理リソースIDおよびLBA領域と、マイグレーション先のセグメントの物理リソースIDおよびLBA領域と、を入れ替える。
次にステップS6080cにて、セグメント単位のマイグレーションプログラム1216cが、I/O制御プログラム1212に、書き込みI/Oを再開するように要求する。
以上が第3実施例におけるデータ処理の手順である。これらの処理により、セグメント単位のマイグレーション機能を有するストレージサブシステム1000cにおいても、関連のあるボリュームのペア(またはグループ)に対して、ユーザ要件に合わせてマイグレーションを制御することができる。
D.第4実施例:
D1.システムの構成
図36は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム1000dと、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000dと、スイッチ装置5000と、を有している。図中では、ストレージサブシステム1000dと、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000dと、スイッチ装置5000と、がそれぞれ1台ずつ存在しているがこの限りではなく、1台以上存在すれば良い。本構成の大部分は第3実施例の構成と同等であるため、以降は差分のみを説明する。
図26に示すデータ処理システムとの差異は、ストレージサブシステム1000dがマイグレーション設定受信プログラム1217dと、セグメント情報テーブル4125cと、プール単位のストレージ階層テーブル4140cと、マイグレーションポリシテーブル4150と、関連ポリシテーブル4160と、ポリシ割当てテーブル4170と、を有している点と、管理計算機4000dがセグメント情報テーブル4125cと、プール単位のストレージ階層テーブル4140cと、マイグレーションポリシテーブル4150と、関連ポリシテーブル4160と、ポリシ割当てテーブル4170と、を有していない点と、管理計算機4000dがマイグレーション設定送信プログラム4190dを有している点、である。
マイグレーション設定受信プログラム1217dは、マイグレーション設定送信プログラム4190dから送信されるマイグレーションに関する設定情報を受信するプログラムである。
マイグレーション設定送信プログラム4190dは、ユーザがマイグレーション設定プログラム4130のユーザインタフェースを通じて入力した、マイグレーションポリシと、関連ポリシと、ポリシの割当て情報と、をマイグレーション受信プログラム1217dに送信するプログラムである。
セグメント情報テーブル4125cと、プール単位のストレージ階層テーブル4140cと、マイグレーションポリシテーブル4150と、関連ポリシテーブル4160と、ポリシ割当てテーブル4170は、第3実施例において管理計算機4000cが有していたテーブルと同じである。第4実施例においては、これらのテーブルをストレージサブシステム1000dが保持する点が異なっている。
D2.データ処理手順の説明
本実施例の動作の大部分は第3実施例の動作と同じであるため、以降は差分のみを説明する。第3実施例の処理シーケンスと本実施例の処理シーケンスでは、論理ボリューム1110のセグメントに対するマイグレーション処理と、当該ボリュームに関連を持つ論理ボリューム1110のセグメントに対するマイグレーション処理と、をストレージサブシステム1000d内のプログラムが行う点、および当該処理に必要となるポリシの設定情報を、管理計算機4000dがストレージサブシステム1000dに送信する点である。
図37は、本実施例においてマイグレーションポリシと、関連ポリシと、ポリシの割当て情報と、を管理計算機4000dからストレージサブシステム1000dに送信する処理のシーケンスを示している。
当該処理では、まずステップS9000にて、マイグレーション設定プログラム4130が、マイグレーション設定送信プログラム4090dに、ユーザが設定したマイグレーションポリシの情報と、関連ポリシの情報と、ポリシの割当ての情報と、をマイグレーション設定受信プログラム1217dに送信するように要求する。
次にステップS9010にて、マイグレーション設定送信プログラム4090dが、マイグレーションポリシの情報と、関連ポリシの情報と、ポリシの割当ての情報と、をマイグレーション設定受信プログラム1217dに送信する。
次にステップS9020にて、マイグレーション設定受信プログラム1217dが、マイグレーションポリシの情報と、関連ポリシの情報と、ポリシの割当ての情報と、をそれぞれ、マイグレーションポリシテーブル4150と、関連ポリシテーブル4160と、ポリシ割当てテーブル4170と、に格納する。
この他のプログラムによる処理の内容は第3実施例と同じため説明は省略する。
以上が第3実施例におけるデータ処理の手順である。これらの処理により、ストレージサブシステム1000d上のプログラムによって、第3実施例と同じ効果を得ることができる。
E.第5実施例:
E1.システムの構成
図38は、本発明の一実施例としてデータ処理システムの構成を示す説明図である。このデータ処理システムは、ストレージサブシステム1000eと、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000eと、スイッチ装置5000と、を有している。図中では、ストレージサブシステム1000eと、ホスト計算機2000と、スイッチ装置3000と、管理計算機4000eと、スイッチ装置5000と、がそれぞれ1台ずつ存在しているがこの限りではなく、1台以上存在すれば良い。本構成の大部分は第3実施例の構成と同等であるため、以降は差分のみを説明する。
図26に示すデータ処理システムとの差異は、本実施例におけるデータ処理システムが第二のストレージサブシステム6000を有している点と、ストレージサブシステム1000eがリモートコピー機能を持ったセグメント単位のデータコピープログラム1215eを有している点と、管理計算機4000eが、階層間の対応関係を含むプール単位のストレージ階層テーブル4140eを有している点、である。
第二のストレージサブシステム6000はストレージサブシステム1000eと同等であるため、説明は省略する。
リモートコピー機能を持ったセグメント単位のデータコピープログラム1215eは、ストレージサブシステム1000eが持つ論理ボリューム1110から第二のストレージサブシステム6000が持つ論理ボリューム1110に、セグメント単位でデータをコピーするプログラムである。当該プログラムによるデータのコピーは、ストレージサブシステム1000のI/F(A)1230と、スイッチ装置5000の持つI/F(A)5100と、第二のストレージサブシステム6000が持つI/F(A)1230と、を通じてデータを転送することで実現される。
図30に示すプール単位のストレージ階層テーブル4140cと、図39に示す階層間の対応関係を含むプール単位のストレージ階層テーブル4140eとの差異は、階層間の対応関係を含むプール単位のストレージ階層テーブル4140eが、第二のストレージサブシステムID41405eと、第二のプールID41406eと、第二の空き容量41407eと、第二のリソース種別41408eと、を有している点である。
E2.データ処理手順の説明
本実施例の動作の大部分は第3実施例の動作と同じであるため、以降は差分のみを説明する。第3実施例の処理シーケンスと本実施例の処理シーケンスでは、関連先ボリュームに対するセグメント単位のマイグレーション指示処理が異なる。
図40は、本実施例における関連先ボリュームに対するセグメント単位のマイグレーション指示処理のシーケンスを示している。
当該処理のステップS5000c、S5010、S5020c、S5030c、S5040c、S5050c、S5060cは、図34に示す関連先ボリュームに対するセグメント単位のマイグレーション指示処理のステップS5000c、S5010、S5020c、S5030c、S5040c、S5050c、S5060cと同じため、説明は省略する。
当該処理では、ステップS5070eにて、セグメント単位のマイグレーション指示プログラム4180cが、複数ストレージ間の関連を含む構成情報テーブル4120bと、階層間の対応関係を含むプール単位のストレージ階層テーブル4140eと、セグメント情報テーブル4125cと、マイグレーションポリシテーブル4150と、ポリシ割当てテーブル4170と、を参照し、ステップS5000cで発見したボリュームのセグメントのマイグレーション先の領域を選択する。
次にステップS5080eにて、セグメント単位のマイグレーション指示プログラム4180cが、ステップS5000cで発見したボリュームに対するセグメント単位のマイグレーションを、該当するストレージサブシステムが持つセグメント単位のマイグレーションプログラム1216cに指示する。
この他のプログラムによる処理の内容は第3実施例と同じため説明は省略する。
以上が第5実施例におけるデータ処理の手順である。これらの処理により、リモートコピーの関係のように、論理ボリューム1110が複数ストレージサブシステム間に跨った関係を持つ場合においても、第3実施例と同じ効果を得ることができる。
1000、1000b、1000c、1000d、1000e ストレージサブシステム
1100 ディスク装置
1110 論理ボリューム
1120 プール
1120c リソース種別ごとのプール
1121 物理リソース
1200 ディスクコントローラ
1210 メモリ
1211 構成情報取得プログラム
1212 I/O制御プログラム
1213 ボリューム割当てテーブル
1213c ボリューム単位割当てテーブル
1214 物理リソース割当てテーブル
1214c マイグレーション状態を含む物理リソース割当てテーブル
1215 データコピープログラム
1215b リモートコピー機能を持ったデータコピープログラム
1215c セグメント単位のデータコピープログラム
1215e リモートコピー機能を持ったセグメント単位のデータコピープログラム
1216 マイグレーションプログラム
1216c セグメント単位のマイグレーションプログラム
1217d マイグレーション設定受信プログラム
1220 制御装置
1230 I/F(A)
1240 I/F(B)
1250 ディスクI/F
2000 ホスト計算機
2100 メモリ
2110 アプリケーション
2200 制御装置
2300 I/F
3000 スイッチ装置
3100 I/F(A)
3200 I/F(B)
4000 管理計算機
4100 メモリ
4110 構成管理プログラム
4120 構成情報テーブル
4120b 複数ストレージ間の関連を含む構成情報テーブル
4125c セグメント情報テーブル
4130 マイグレーション設定プログラム
4140 ストレージ階層テーブル
4140c プール単位のストレージ階層テーブル
4140b 階層間の対応関係を含むストレージ階層テーブル
4140e 階層間の対応関係を含むプール単位のストレージ階層テーブル
4150 マイグレーションポリシテーブル
4160 関連ポリシテーブル
4170 ポリシ割当てテーブル
4180 マイグレーション指示プログラム
4180c セグメント単位のマイグレーション指示プログラム
4190d マイグレーション設定送信プログラム
4200 制御装置
4300 I/F
5000 スイッチ装置
5100 I/F(A)
5200 I/F(B)
6000 第二のストレージサブシステム

Claims (11)

  1. 複数の記憶領域を有する複数の記憶装置と、
    ホスト計算機に複数の仮想論理ボリュームを提供し、データの移行を制御するコントローラと、
    を有するストレージシステムを備える計算機システムであって、
    前記複数の記憶装置は、前記複数の記憶領域により構成される、それぞれ性能の異なる複数の記憶階層を提供し、
    前記コントローラは、前記ホスト計算機から仮想論理ボリュームへの書き込みデータを受領した場合、必要に応じて、当該仮想論理ボリュームに対して前記複数の記憶領域の一又は複数を割り当て、当該割当てられた記憶領域に前記書き込みデータを書き込むものであり、
    前記コントローラは、仮想論理ボリュームへのアクセス頻度とデータが移行される記憶階層との対応関係を定めた移行ポリシを用いて、データの移行を制御し、
    前記コントローラは、第1仮想論理ボリュームに割り当てられた第1記憶階層の第1記憶領域が有する第1データを、前記移行ポリシに基づいて、前記第1記憶領域から、第2記憶階層の第2記憶領域に移行し、前記第1記憶領域に替えて前記第2記憶領域を前記第1仮想論理ボリュームに割り当て、
    前記コントローラは、前記移行ポリシに基づいて前記第1データを移行した場合、第2仮想論理ボリュームに割り当てられた、前記第1記憶領域と関連する第3記憶階層の第3記憶領域が有する、前記第1データの複製である第2データを、前記第3記憶領域から、関連元である前記第1記憶領域と関連する関連先記憶領域のデータを前記第1データの移行先と同じ記憶階層の記憶領域に移行することを定めた関連ポリシに従って選択される第4記憶階層の第4記憶領域に移行し、前記第3記憶領域に替えて前記第4記憶領域を前記第2仮想論理ボリュームに割り当てることを特徴とする計算機システム。
  2. 請求項1記載の計算機システムであって、
    前記第1記憶領域と関連する記憶領域に対して定められた関連ポリシは、前記第1記憶領域の移行先である前記第2記憶領域と同じ種類の記憶装置が有する記憶領域を選択することであり、
    前記第2記憶領域を有する記憶装置と、前記第4記憶領域を有する記憶装置と、は同じ種類であることを特徴とする計算機システム。
  3. 請求項1または請求項2に記載の計算機システムであって、
    前記計算機システムは、管理計算機を備え、
    前記管理計算機は、
    前記第1記憶領域と、前記第3記憶領域とがペア関係にあることを示す情報を有する構成情報テーブルと、
    前記コントローラに、移行処理を指示する移行処理指示部と、
    を有し、
    前記コントローラが、前記第1データを、前記第1記憶領域から前記第2記憶領域へ移行する場合、
    前記移行処理指示部が、前記構成情報テーブルを参照して、前記第1記憶領域とペア関係にある前記第3記憶領域を特定し、
    前記移行処理指示部は、前記第2記憶領域と同じ種類の記憶装置によって提供される記憶領域である前記第4記憶領域を、前記第2データの移行先として選択し、
    前記移行処理指示部が、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを前記コントローラに指示し、
    前記コントローラが、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを特徴とする計算機システム。
  4. 請求項1または請求項2に記載の計算機システムであって、
    前記計算機システムは、管理計算機を備え、
    前記管理計算機は、
    前記コントローラに、移行処理を指示する移行処理指示部と、
    前記第1記憶領域と、前記第3記憶領域とがペア関係にあることを示す情報を有する構成情報テーブルと、
    他の記憶領域とペア関係にある記憶領域が有するデータの移行先としていずれの記憶領域を選択すべきかを示す複数のポリシを有する関連ポリシテーブルと、
    前記複数の記憶領域に対して、前記複数のポリシのいずれを割当てるかを示すポリシ割当てテーブルと、
    を有し、
    前記コントローラが、前記第1データを、前記第1記憶領域から前記第2記憶領域へ移行する場合、
    前記移行処理指示部が、前記構成情報テーブルを参照して、前記第1記憶領域とペア関係にある前記第3記憶領域を特定し、
    前記移行処理指示部が、前記ポリシ割当てテーブルと、前記関連ポリシテーブルと、を参照して、前記第3記憶領域の移行先として前記第4記憶領域を選択し、
    前記移行処理指示部が、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを、前記コントローラに指示し、
    前記コントローラが、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを特徴とする計算機システム。
  5. 請求項4に記載の計算機システムであって、
    前記関連ポリシテーブルは、
    前記第2データを移行するタイミングの情報と、
    前記第2データを移行するときの、前記第1記憶領域の条件と、を有し、
    前記移行処理指示部が、前記ポリシ割当てテーブルと、前記関連ポリシテーブルと、を参照した場合、
    前記参照したタイミングが、前記関連ポリシテーブルの前記タイミングに該当し、
    前記第1記憶領域が、前記関連ポリシテーブルの前記第1記憶領域の条件に該当するとき、
    前記移行処理指示部が、前記第2データを移行することを、前記コントローラへ指示することを特徴とする計算機システム。
  6. 請求項1または請求項2に記載の計算機システムであって、
    前記コントローラは、メモリを備え、
    前記メモリは、
    データを、前記第1記憶領域から、前記第2記憶領域へ移行する移行処理プログラムと、
    前記第1記憶領域と、前記第3記憶領域との関連を示す情報を持つ構成情報テーブルと、
    前記移行処理プログラムに、移行処理を指示する移行処理指示プログラムと、
    を記憶し、
    前記移行処理プログラムが、前記第1データを、前記第1記憶領域から前記第2記憶領域へ移行した場合、
    前記移行処理指示プログラムが、前記構成情報テーブルを参照して、前記第1記憶領域と関連のある前記第3記憶領域を特定し、
    前記移行処理指示プログラムが、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを前記移行処理プログラムに指示し、
    前記移行処理プログラムが、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを特徴とする計算機システム。
  7. 請求項6に記載の計算機システムであって、
    前記メモリは、前記第3記憶領域が有するデータの移行先の記憶領域を選択するポリシを含む、関連ポリシテーブルと、
    前記記憶領域に対する前記ポリシの割当てを示すポリシ割当てテーブルと、
    を有し、
    前記移行処理プログラムが、前記第1データを、前記第1記憶領域から前記第2記憶領域へ移行した場合、
    前記移行処理指示プログラムが、前記構成情報テーブルを参照して、前記第1記憶領域と関連のある前記第3記憶領域を特定し、
    前記移行処理指示プログラムが、前記ポリシ割当てテーブルと、前記関連ポリシテーブルとを参照して、前記第3記憶領域の移行先に前記第4記憶領域を選択し、
    前記移行処理指示プログラムが、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを前記移行処理プログラムに指示し、
    前記移行処理プログラムが、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを特徴とする計算機システム。
  8. 請求項1乃至請求項7のいずれか1つに記載の計算機システムであって、
    前記第1記憶領域は、複数の第1部分記憶領域から構成され、
    前記第2記憶領域は、複数の第2部分記憶領域から構成され、
    前記第3記憶領域は、複数の第3部分記憶領域から構成され、
    前記第4記憶領域は、複数の第4部分記憶領域から構成され、
    前記コントローラが、前記第1部分記憶領域が有する第1部分データを、当該第1部分記憶領域から前記第2部分記憶領域へ移行する場合、
    前記コントローラが、当該第1部分記憶領域と関連を持つ前記複数の第3部分記憶領域が有する第2部分データを、当該第3部分記憶領域から、前記第4部分記憶領域へ移行することを特徴とする計算機システム。
  9. 請求項8に記載の計算機システムであって、
    前記計算機システムは、管理計算機を備え、
    前記管理計算機は、
    前記第1記憶領域と、前記第3記憶領域との関連を示す情報を有する構成情報テーブルと、
    前記記憶領域と、前記部分記憶領域との関連を示す情報を有する部分記憶領域情報テーブルと、
    前記コントローラに、移行処理を指示する移行処理指示部と、
    を有し、
    前記コントローラが、前記第1部分データを、前記第1部分記憶領域から前記第2部分記憶領域へ移行した場合、
    前記移行処理指示部が、前記構成情報テーブルと、前記部分記憶領域情報テーブルと、
    を参照して、前記第1部分記憶領域と関連のある前記第3部分記憶領域を特定し、
    前記移行処理指示部が、前記第2部分データを、前記第3部分記憶領域から前記第4部分記憶領域へ移行することを前記コントローラに指示し、
    前記コントローラが、前記第2部分データを、前記第3部分記憶領域から前記第4部分記憶領域へ移行することを特徴とする計算機システム。
  10. 第1ストレージシステムと、第2ストレージシステムとを含む、複数のストレージシステムを備える計算機システムであって、
    前記第1ストレージシステムは、
    第1記憶領域と、第2記憶領域と、を含む複数の記憶領域を有し、前記複数の記憶領域により構成される、それぞれ性能の異なる複数の記憶階層を提供する複数の記憶装置と、
    ホスト計算機に複数の仮想論理ボリュームを提供し、データを前記第1記憶領域から、前記第2記憶領域へと移行する、第1コントローラと、
    を備え、
    前記第2ストレージシステムは、
    第3記憶領域と、第4記憶領域と、を含む複数の記憶領域を有し、前記複数の記憶領域により構成される、それぞれ性能の異なる複数の記憶階層を提供する複数の記憶装置と、
    ホスト計算機に複数の仮想論理ボリュームを提供し、データを前記第3記憶領域から、前記第4記憶領域へと移行する、第2コントローラと、
    を備え、
    前記第1コントローラは、前記ホスト計算機から仮想論理ボリュームへの書き込みデータを受領した場合、必要に応じて、当該仮想論理ボリュームに対して前記複数の記憶領域の一又は複数を割り当て、当該割当てられた記憶領域に前記書き込みデータを書き込むものであり、
    前記第1コントローラは、仮想論理ボリュームへのアクセス頻度とデータが移行される記憶階層との対応関係を定めた移行ポリシを用いて、データの移行を制御し、
    前記第1コントローラは、第1仮想論理ボリュームに割り当てられた第1記憶階層の前記第1記憶領域が有する第1データを、前記移行ポリシに基づいて、前記第1記憶領域から、前記第2記憶階層の前記第2記憶領域へ移行し、前記第1記憶領域に替えて前記第2記憶領域を前記第1仮想論理ボリュームに割り当て、
    前記第1コントローラが前記移行ポリシに基づいて前記第1データを移行した場合、前記第2コントローラが、第2仮想論理ボリュームに割り当てられた、前記第1記憶領域と関連を持つ第3記憶階層の前記第3記憶領域が有する、前記第1データの複製である第2データを、前記第3記憶領域から、前記第1記憶領域と関連する記憶領域のデータを前記第1データの移行先と同じ記憶階層の記憶領域に移行することを定めた関連ポリシに従って選択される第4記憶階層の前記第4記憶領域へ移行し、前記第3記憶領域に替えて前記第4記憶領域を前記第2仮想論理ボリュームに割り当てることを特徴とする計算機システム。
  11. 請求項1に記載の計算機システムであって、
    前記計算機システムは、管理計算機を備え、
    前記管理計算機は、
    前記第1記憶領域と、前記第3記憶領域との関連を示す情報と、
    前記第1記憶領域を有する前記第1ストレージシステムの情報と、
    前記第3記憶領域を有する前記第2ストレージシステムの情報と、
    を有する構成情報テーブルと、
    前記第1コントローラと、前記第2コントローラとに、移行処理を指示する移行処理指示部と、を有し、
    前記第1コントローラが、前記第1データを、前記第1記憶領域から前記第2記憶領域へ移行した場合、
    前記移行処理指示部が、前記構成情報テーブルを参照して、前記第1記憶領域と関連のある前記第3記憶領域を特定し、
    前記移行処理指示部が、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを前記第2コントローラに指示し、
    前記第2コントローラが、前記第2データを、前記第3記憶領域から前記第4記憶領域へ移行することを特徴とする計算機システム。
JP2009231107A 2009-10-05 2009-10-05 記憶装置のデータ移行制御方法 Expired - Fee Related JP5241671B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009231107A JP5241671B2 (ja) 2009-10-05 2009-10-05 記憶装置のデータ移行制御方法
US12/621,121 US8447941B2 (en) 2009-10-05 2009-11-18 Policy based data migration control method for storage device
EP10182189A EP2309372A3 (en) 2009-10-05 2010-09-29 Data migration control method for storage device
US13/863,891 US8667241B2 (en) 2009-10-05 2013-04-16 System for data migration from a storage tier allocated to a virtual logical volume
US14/153,406 US8886906B2 (en) 2009-10-05 2014-01-13 System for data migration using a migration policy involving access frequency and virtual logical volumes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009231107A JP5241671B2 (ja) 2009-10-05 2009-10-05 記憶装置のデータ移行制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013075630A Division JP5501504B2 (ja) 2013-04-01 2013-04-01 記憶装置のデータ移行制御方法

Publications (3)

Publication Number Publication Date
JP2011081467A JP2011081467A (ja) 2011-04-21
JP2011081467A5 JP2011081467A5 (ja) 2012-05-10
JP5241671B2 true JP5241671B2 (ja) 2013-07-17

Family

ID=43416215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009231107A Expired - Fee Related JP5241671B2 (ja) 2009-10-05 2009-10-05 記憶装置のデータ移行制御方法

Country Status (3)

Country Link
US (3) US8447941B2 (ja)
EP (1) EP2309372A3 (ja)
JP (1) JP5241671B2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110919B2 (en) * 2009-10-30 2015-08-18 Symantec Corporation Method for quickly identifying data residing on a volume in a multivolume file system
EP2674866A4 (en) * 2011-06-23 2015-03-18 Hitachi Ltd STORAGE ADMINISTRATION SYSTEM AND STORAGE DELIVERY METHOD
US8612704B2 (en) 2011-08-01 2013-12-17 Hitachi, Ltd. Storage system with virtual areas and method for managing storage system
US8661214B2 (en) 2011-09-21 2014-02-25 Hitachi, Ltd. Storage system and data migration processing control method
WO2013042174A1 (en) * 2011-09-22 2013-03-28 Hitachi, Ltd. Computer system and storage management method
JP5938968B2 (ja) * 2012-03-19 2016-06-22 富士通株式会社 情報処理装置、情報処理プログラム及び情報処理方法
US8825724B2 (en) * 2012-03-29 2014-09-02 Lsi Corporation File system hinting
US9092141B2 (en) * 2012-04-18 2015-07-28 Hitachi, Ltd. Method and apparatus to manage data location
US9323461B2 (en) * 2012-05-01 2016-04-26 Hitachi, Ltd. Traffic reducing on data migration
US10831727B2 (en) * 2012-05-29 2020-11-10 International Business Machines Corporation Application-controlled sub-LUN level data migration
US10831728B2 (en) * 2012-05-29 2020-11-10 International Business Machines Corporation Application-controlled sub-LUN level data migration
US10817202B2 (en) * 2012-05-29 2020-10-27 International Business Machines Corporation Application-controlled sub-LUN level data migration
US8930746B1 (en) * 2012-06-30 2015-01-06 Emc Corporation System and method for LUN adjustment
US9092139B2 (en) 2012-07-05 2015-07-28 Hitachi, Ltd. Management apparatus and management method using copy pair of virtual volumes
KR102004849B1 (ko) 2012-08-02 2019-07-29 삼성전자 주식회사 동적 메모리 재할당 관리 방법과 상기 방법을 수행할 수 있는 장치
JP6118401B2 (ja) * 2012-10-12 2017-04-19 株式会社日立製作所 ストレージ装置及びデータ管理方法
US9400611B1 (en) * 2013-03-13 2016-07-26 Emc Corporation Data migration in cluster environment using host copy and changed block tracking
US9063667B2 (en) * 2013-08-13 2015-06-23 Utah State University Dynamic memory relocation
CN104516792A (zh) * 2013-10-08 2015-04-15 杰发科技(合肥)有限公司 一种数据备份方法及装置
JP6232936B2 (ja) * 2013-10-31 2017-11-22 富士通株式会社 情報処理装置、記憶装置制御回路及び記憶装置の制御方法
US9213753B2 (en) * 2013-11-18 2015-12-15 Hitachi, Ltd. Computer system
WO2015087442A1 (ja) * 2013-12-13 2015-06-18 株式会社日立製作所 ストレージシステムの移行方式および移行方法
US9916311B1 (en) * 2013-12-30 2018-03-13 Emc Corporation Storage of bursty data using multiple storage tiers with heterogeneous device storage
US9329994B2 (en) * 2014-02-20 2016-05-03 Kabushiki Kaisha Toshiba Memory system
JP6235156B2 (ja) * 2014-08-29 2017-11-22 株式会社日立製作所 計算機システムおよび負荷平準化プログラム
WO2016051593A1 (ja) * 2014-10-03 2016-04-07 株式会社日立製作所 計算機システム
US9990161B2 (en) * 2014-12-17 2018-06-05 Vmware, Inc. Consistent replication of virtual computing instance data
WO2016103314A1 (ja) 2014-12-22 2016-06-30 株式会社日立製作所 計算機システムの管理システム及び管理方法
US10757175B2 (en) * 2015-02-10 2020-08-25 Vmware, Inc. Synchronization optimization based upon allocation data
JP6443170B2 (ja) 2015-03-26 2018-12-26 富士通株式会社 階層ストレージ装置,階層ストレージ制御装置,階層ストレージ制御プログラム及び階層ストレージ制御方法
US10768848B2 (en) * 2015-06-29 2020-09-08 EMC IP Holding Company LLC Backup performance in storage tiers using data allocation optimization
US9811376B2 (en) 2015-06-29 2017-11-07 Amazon Technologies, Inc. Virtual machine instance migration using a triangle approach
JP5976980B1 (ja) * 2015-08-25 2016-08-24 株式会社東芝 階層化ストレージシステム、階層化ストレージ装置を利用するコンピュータ、及びファイルへのアクセスのカウントを補正する方法
WO2017145286A1 (ja) * 2016-02-24 2017-08-31 株式会社日立製作所 ストレージシステムの管理方法
US10437799B2 (en) * 2016-12-02 2019-10-08 International Business Machines Corporation Data migration using a migration data placement tool between storage systems based on data access
US10437800B2 (en) * 2016-12-02 2019-10-08 International Business Machines Corporation Data migration using a migration data placement tool between storage systems based on data access
US20180157697A1 (en) * 2016-12-07 2018-06-07 International Business Machines Corporation Updating change information for current copy relationships when establishing a new copy relationship having overlapping data with the current copy relationships
CN106990924A (zh) * 2017-04-07 2017-07-28 广东浪潮大数据研究有限公司 一种数据迁移方法和系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
JP3641872B2 (ja) 1996-04-08 2005-04-27 株式会社日立製作所 記憶装置システム
EP1292109A1 (en) 2001-08-27 2003-03-12 Ricoh Company, Ltd. Information processing system
JP3977039B2 (ja) 2001-08-27 2007-09-19 株式会社リコー 画像情報処理装置用通信プログラム生成方法および画像情報処理装置用通信プログラム生成装置
JP4183443B2 (ja) 2002-05-27 2008-11-19 株式会社日立製作所 データ再配置方法及び装置
JP4322031B2 (ja) * 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
JP4863605B2 (ja) 2004-04-09 2012-01-25 株式会社日立製作所 記憶制御システム及び方法
US7149859B2 (en) * 2004-03-01 2006-12-12 Hitachi, Ltd. Method and apparatus for data migration with the efficient use of old assets
US7441096B2 (en) * 2004-07-07 2008-10-21 Hitachi, Ltd. Hierarchical storage management system
US7087488B2 (en) 2004-07-16 2006-08-08 United Microelectronics Corp. Method for fabricating a mask ROM
JP4643395B2 (ja) * 2004-08-30 2011-03-02 株式会社日立製作所 ストレージシステム及びデータの移動方法
JP4568574B2 (ja) 2004-10-15 2010-10-27 株式会社日立製作所 ストレージ装置の導入方法、プログラム並びに管理計算機
JP4739786B2 (ja) * 2005-03-28 2011-08-03 株式会社日立製作所 データの再配置方法
JP4728031B2 (ja) * 2005-04-15 2011-07-20 株式会社日立製作所 リモートコピーペアの移行を行うシステム
JP2007066259A (ja) 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
JP4933861B2 (ja) * 2005-09-22 2012-05-16 株式会社日立製作所 ストレージ制御装置、データ管理システムおよびデータ管理方法
US20070239803A1 (en) * 2006-03-28 2007-10-11 Yasuyuki Mimatsu Remote mirroring method between tiered storage systems
JP2007280089A (ja) 2006-04-07 2007-10-25 Hitachi Ltd 容量拡張ボリュームの移行方法
JP5124103B2 (ja) * 2006-05-16 2013-01-23 株式会社日立製作所 計算機システム
JP4949791B2 (ja) 2006-09-29 2012-06-13 株式会社日立製作所 ボリューム選択方法及び情報処理システム
JP2008269344A (ja) * 2007-04-20 2008-11-06 Toshiba Corp 論理ディスク管理方法及び装置
JP5087309B2 (ja) * 2007-04-24 2012-12-05 株式会社日立製作所 管理装置及び管理方法
US8170990B2 (en) * 2008-05-30 2012-05-01 Hitachi, Ltd. Integrated remote replication in hierarchical storage systems
US8566549B1 (en) 2008-12-31 2013-10-22 Emc Corporation Synchronizing performance requirements across multiple storage platforms
JP5331555B2 (ja) * 2009-04-23 2013-10-30 株式会社日立製作所 データ移行システムおよびデータ移行方法
WO2011135612A1 (en) * 2010-04-27 2011-11-03 Hitachi, Ltd. Storage apparatus and method for controlling storage apparatus

Also Published As

Publication number Publication date
EP2309372A3 (en) 2011-11-23
US8447941B2 (en) 2013-05-21
US20140129769A1 (en) 2014-05-08
US20110082988A1 (en) 2011-04-07
US8886906B2 (en) 2014-11-11
US8667241B2 (en) 2014-03-04
US20130232312A1 (en) 2013-09-05
JP2011081467A (ja) 2011-04-21
EP2309372A2 (en) 2011-04-13

Similar Documents

Publication Publication Date Title
JP5241671B2 (ja) 記憶装置のデータ移行制御方法
US7395396B2 (en) Storage system and data relocation control device
US7162600B2 (en) Data copying method and apparatus in a thin provisioned system
TWI432959B (zh) 執行儲存虛擬化之儲存子系統及儲存系統架構及其方法
US9052823B2 (en) Storage system and data management method with application specific storage tiers
JP2007280089A (ja) 容量拡張ボリュームの移行方法
US9921781B2 (en) Storage system including multiple storage apparatuses and pool virtualization method
US20110246701A1 (en) Storage apparatus and its data control method
JP2007279845A (ja) ストレージシステム
JP2012531653A (ja) 記憶制御装置及び仮想ボリュームの制御方法
JP2008134712A (ja) ファイル共有システム、ファイル共有装置及びファイル共有用ボリュームの移行方法
JP2011186794A (ja) ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法
WO2013111331A1 (ja) 計算機システム
JP5501504B2 (ja) 記憶装置のデータ移行制御方法
WO2015198441A1 (ja) 計算機システム、管理計算機、および管理方法
JP5421201B2 (ja) 計算機システムを管理する管理システム及び管理方法
JP5439329B2 (ja) 計算機システム、ストレージ管理計算機及びストレージ管理方法
JP2016143166A (ja) 制御装置,ストレージシステム及び制御プログラム
JP2010204703A (ja) 計算機システム及びデータ消去方法
JP5690913B2 (ja) 計算機システム、ストレージ管理計算機及びストレージ管理方法
JP7140807B2 (ja) 仮想ストレージシステム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120314

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130402

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees