[go: up one dir, main page]

JP2011186794A - ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法 - Google Patents

ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法 Download PDF

Info

Publication number
JP2011186794A
JP2011186794A JP2010051577A JP2010051577A JP2011186794A JP 2011186794 A JP2011186794 A JP 2011186794A JP 2010051577 A JP2010051577 A JP 2010051577A JP 2010051577 A JP2010051577 A JP 2010051577A JP 2011186794 A JP2011186794 A JP 2011186794A
Authority
JP
Japan
Prior art keywords
volume
migration
virtual
data
real
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.)
Pending
Application number
JP2010051577A
Other languages
English (en)
Inventor
Yuki Nakanishi
勇貴 中西
Yasutaka Kono
泰隆 河野
Yukinori Sakashita
幸徳 坂下
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 JP2010051577A priority Critical patent/JP2011186794A/ja
Priority to US12/780,578 priority patent/US20110225117A1/en
Publication of JP2011186794A publication Critical patent/JP2011186794A/ja
Pending legal-status Critical Current

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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • 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/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ストレージシステム全体としてデータの配置が適切となるよう制御する。
【解決手段】ストレージシステムが、複数種類のメディア及びコントローラを含み、複数の論理ボリュームを提供し、再配置ポリシに従って特定したデータをそのデータが記憶されているメディアからそのメディアとは別の種類のメディアにマイグレーションする再配置処理を行う。管理システムが、再配置処理の効果が無いとみなされる条件であるマイグレーションポリシに適合する論理ボリュームを、再配置処理の対象となる一以上の論理ボリュームのグループである再配置グループから探し、見つけた論理ボリューム内のデータを再配置グループ外に出すことストレージシステムに実行させる。
【選択図】図1

Description

本発明は、ストレージシステム内のデータの配置の制御に関する。
近年、1以上のストレージサブシステムで構成されたストレージシステムの運用コストの低減が重要な課題となっている。これを解決する1つの方法として、データ再配置がある。データ再配置によれば、データの新しさや利用頻度などに応じて、ストレージサブシステム内の記憶領域から同一又は別のストレージサブシステム内の別の記憶領域にデータがマイグレーションされる。
一般に、データマイグレーションによれば、マイグレーション元の論理ボリュームからマイグレーション先の論理ボリュームへデータがマイグレーションされる。マイグレーション先の論理ボリュームは、マイグレーション元の論理ボリュームを有するストレージサブシステム内の論理ボリュームでも良いし(特許文献1参照)、そのストレージサブシステムとは異なるストレージサブシステム内の論理ボリュームでも良い(特許文献2及び3参照)。
また、データマイグレーションは、論理ボリュームの性能情報やI/O(Input/Output)頻度に基づいて自動的に行われても良い(特許文献4参照)。また、データマイグレーションは、論理ボリュームを構成するセグメント単位で行われても良い(例えば特許文献5参照)。ここで、「セグメント」とは、論理的な記憶領域である。
特開2000−293317号公報 米国特許第6108748号明細書 特開2003−345522号公報 特開2003−067187号公報 特開2007−066259号公報
論理ボリュームは、一般に、ユーザが予め見積もった容量、性能及びコスト(例えばいわゆるビットコスト)などの属性値を基に作成される。通常、見積られた属性値は、実際に必要とされる属性値よりも高いため、論理ボリュームの属性値が無駄に過剰になることが多い。
それを解決する方法として、動的にデータの再配置(以下、動的再配置)を行うことが考えられる。動的再配置の一例によれば、データのI/O頻度に応じて、そのデータが再配置される。
しかし、動的再配置だけでは、ストレージシステム全体としてデータの配置が適切とならないケースが生じ得る。例えば、動的再配置の効果が無いと見做されるケースが生じ得る。そのケースの例として、或る論理ボリューム内の大半のデータがほとんど再配置されないケース(例えば、ホスト装置からのI/O頻度が一定であるケース)がある。このようなケースでは、データがいつまでも再配置されないまま同じ記憶領域に残ってしまい、その記憶領域にデータが配置されれば性能向上が見込める別の論理ボリュームがあったとしても、そのような別の論理ボリュームの性能を見込み通りに向上させることはできない。また、動的再配置の対象とする論理ボリュームの数及び/又は容量は限られていることがある。そのような場合には、動的再配置の効果が無いと見做される論理ボリュームが動的再配置の対象とされ続けるので、別の論理ボリュームを動的再配置の対象にできなくなる可能性がある。
そこで、本発明の目的は、ストレージシステム全体としてデータの配置が適切となるよう制御することにある。
ストレージシステムが、複数種類のメディア及びコントローラを含み、複数の論理ボリュームを提供し、再配置ポリシに従って特定したデータをそのデータが記憶されているメディアからそのメディアとは別の種類のメディアにマイグレーションする再配置処理を行う。管理システムが、
(A)再配置処理の効果が無いとみなされる条件であるマイグレーションポリシに適合する論理ボリュームを、再配置処理の対象となる一以上の論理ボリュームのグループである再配置グループから探し、
(B)前記(A)で見つけた論理ボリューム内のデータを再配置グループ外に出すことをストレージシステムに実行させる。
管理システムは、ストレージシステムの外部に存在しても内部に存在しても良い。後者の場合、管理システムは、例えば、ストレージシステムが有するコントローラとすることができる。
(B)の処理は、例えば、下記(b1)乃至(b3)のうちのいずれでも良い。
(b1)前記(A)で見つけた論理ボリューム(VOL)01内のデータを、元々用意されているVOL(再配置グループ3001外のVOL10)にデータをマイグレーションすること(図13A参照)、
(b2)再配置グループ3001に含まれているVOL00及び01に関わらない物理リソース3000を複数の物理リソース(ストレージシステムが有する複数の物理リソース)から特定し、特定された物理リソース3000に基づくVOL11を新たに作成し、上記(A)によって見つけたVOL01内のデータを上記新たに作成したVOL11にマイグレーションすること(図30B参照)、
(b3)前記(A)で見つけたVOL01を再配置グループ3001から外すこと(図30C参照)。
例えば、Thin Provisioningにおいて、仮想領域と実領域との対応関係を表すマッピングテーブルのサイズを小さくする観点では、上記(b3)に比べて上記(b1)又は(b2)が有効であると考えられる。
管理システムは、例えば、(1)ストレージシステムが提供する複数の論理ボリュームに関する情報である構成管理情報、(2)再配置処理の対象となる一以上の論理ボリュームのグループである再配置グループを表す情報である再配置グループ情報、(3)再配置処理の効果が無いとみなされる条件であるマイグレーションポリシを表す情報であるマイグレーションポリシ情報、を有する。管理システムは、構成管理情報及び再配置グループ情報を基に、再配置グループ外の、元々用意されている論理ボリュームを特定することができる。また、管理システムは、再配置グループ情報を基に、再配置グループに関わらない物理リソースを特定することができる。また、管理システムは、上記(A)で見つけた論理ボリュームに関する情報を再配置グループ情報から除去することで、上記(A)で見つけた論理ボリュームを再配置グループから外すことができる。
ストレージシステムは、1以上のストレージサブシステムで構成されていて良い。この場合、マイグレーション先の論理ボリュームは、マイグレーション元の論理ボリュームを有するストレージサブシステムとは別のストレージサブシステムに存在して良い。また、この場合、マイグレーション元の論理ボリュームを有するストレージサブシステムは、前述の再配置処理を行う機能を有するサブシステムであるが、マイグレーション先の論理ボリュームを有するストレージサブシステムは、前述の再配置処理を行う機能を有していてもいなくても良い。
再配置グループは、後述のプール(及びそのプールから実領域が割り当てられる仮想ボリューム)とすることができる。
また、再配置グループは、単一のストレージサブシステムとすることができる。再配置グループを構成する一以上の論理ボリュームの全てが、1つのストレージサブシステム内に存在する場合、再配置グループに含まれない論理ボリュームとは、そのストレージサブシステムとは別のストレージサブシステム内の論理ボリュームである。
また、再配置処理は、ボリューム単位で行われても良いし実領域単位で行われても良い。ボリューム単位の再配置処理では、第1の論理ボリュームから第2の論理ボリュームへのデータのマイグレーションが行われる。実領域単位の再配置処理では、第1の仮想ボリューム内の第1の仮想領域に割り当てられている第1の実領域内のデータが、第1の仮想ボリュームに関連付けられているプール内の第2の実領域にマイグレーションされ、且つ、第1の仮想領域に1の実領域に代えて第2の実領域が割り当てられる。第1の仮想ボリュームは、例えば、Thin Provisioningに従う仮想的な論理ボリュームである。また、仮想領域は、仮想的な記憶領域であり、実領域は、実体的な記憶領域である。プールは、複数の実領域の集合である。
ストレージシステム全体としてデータの配置が適切となるようにすることができる。
本発明の実施例1に係るデータ処理システムの構成を示す。 ボリュームテーブル12101の構成を示す。 プールテーブル12102の構成を示す。 物理リソーステーブル12103の構成を示す。 物理リソース割当てテーブル12104の構成を示す。 ボリューム割当てテーブル12105の構成を示す。 構成情報テーブル41001の構成を示す。 ポリシテーブル41002の構成を示す。 マイグレーションポリシ設定処理のシーケンスを示す。 図9のステップS1000で表示される第1のUI1000を示す。 第2のUI2000を示す。 構成情報取得処理のシーケンスを示す。 マイグレーション対象決定処理のシーケンスを示す。 マイグレーション指示処理のシーケンスを示す。 ステップS4040で表示されるUI3000を示す。 マイグレーション先決定処理のシーケンスを示す。 ボリュームマイグレーション処理のシーケンスを示す。 I/O制御処理のシーケンスを示す。 セグメントマイグレーション指示処理のシーケンスを示す。 セグメントマイグレーション処理のシーケンスを示す。 セグメント単位のI/O制御処理のシーケンスを示す。 本発明の実施例2に係るデータ処理システムの構成を示す。 実施例2に係るマイグレーション先決定処理のシーケンスを示す。 本発明の実施例3に係るデータ処理システムの構成を示す。 実施例3に係るボリュームテーブル12101cの構成を示す。 実施例3に係る構成情報テーブル41001cの構成を示す。 実施例3に係る構成情報取得処理のシーケンスを示す。 ボリューム性能監視処理のシーケンスを示す。 実施例3に係るマイグレーション先決定処理のシーケンスを示す。 図30Aは、再配置グループの外にデータを出すことの弟1の例を示す。図30Bは、再配置グループの外にデータを出すことの弟2の例を示す。図30Cは、再配置グループの外にデータを出すことの弟3の例を示す。
以下、本発明の幾つかの実施例を説明する。
なお、以下の説明では、「xxxテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「xxxテーブル」を「xxx情報」と呼ぶことができる。
また、以下の説明では、何らかの対象を識別するための情報として、ID(識別子)、番号などが用いられるが、それに限らず、他種の識別情報が用いられても良い。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インタフェースプロセッサ(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、管理システムが行う処理としても良い。また、プロセッサは、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
管理システムは、一以上の計算機で構成されて良い。具体的には、例えば、管理計算機が情報を表示する場合、或いは、管理計算機が表示用情報を遠隔の計算機に送信する場合、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機を含んで良い)が、管理システムである。
<実施例1の概要>。
動的再配置の対象の論理ボリュームは、Thin Provisioningに従う仮想的な論理ボリューム(以下、仮想ボリューム)である。動的再配置の効果が無いと見做される仮想ボリュームに関する条件が、マイグレーションポリシとして設定される。マイグレーションポリシは、例えば、ホスト計算機から仮想ボリュームに対するI/Oの頻度(単位は、例えば、IOPS(Input Output Per Second))やデータが配置されるメディアの種類などの条件が含められる。そのマイグレーションポリシに基づいて、マイグレーション元の仮想ボリュームが選択される。マイグレーション先の論理ボリュームは、動的再配置の対象ではない論理ボリューム、すなわち、物理リソース(例えば複数の物理記憶デバイスで構成されたRAIDグループ)に基づく論理ボリュームとされる。
<実施例1に係るデータ処理システムの構成>。
図1は、本発明の実施例1に係るデータ処理システムの構成を示す。なお、以下の説明では、通信インタフェース装置を「I/F」と略記する。
データ処理システムは、ストレージサブシステム10000と、ホスト計算機20000と、スイッチ装置30000と、管理計算機40000と、スイッチ装置50000とを有する。図には、ストレージサブシステム10000と、ホスト計算機20000と、スイッチ装置30000と、管理計算機40000と、スイッチ装置50000とが、それぞれ1台ずつ示されているが、それぞれについて、数は、1に限らず、2以上であっても良い。
ストレージサブシステム10000とホスト計算機20000は、スイッチ装置30000を介してネットワーク接続されている。また、ストレージサブシステム10000と管理計算機40000は、スイッチ装置50000を介してネットワーク接続されている。なお、スイッチ装置30000とスイッチ装置50000は、同種の装置であっても良いし異種のスイッチ装置であっても良い。例えば、スイッチ装置30000は、SAN(Storage Area Network)の構成要素としてのFC(Fibre
Channel)スイッチ装置であって良く、スイッチ装置50000は、LAN(Local Area
Network)の構成要素としてのルータであって良い。
ストレージサブシステム10000は、物理リソース群11000と、コントローラ12000とを有する。
物理リソース群11000は、複数の物理リソース11201を有する。ここで、物理リソース11201とは、物理記憶デバイス単体であっても良いし、複数の同種の物理記憶デバイスで構成されたRAID(Redundant Array of Independent (or Inexpensive) Disks)グループであっても良い。物理記憶デバイスの種類としては、SSD(Solid State Drive)、SAS(Serial Attached SCSI)−HDD(Hard Disk Drive)、SATA(Serial ATA)−HDDなどがある。
1以上の物理リソース11201を基にプール11200が構成されている。プール11200は、複数のセグメントで構成された記憶領域である。セグメントは、1以上の物理リソース11201に基づく実領域(実体的な記憶領域)である。プール11200からセグメントが仮想ボリューム11100(2)に割り当てられる。
プール11200は、性能の異なる複数のセグメント群を有する。各セグメント群は、1以上のセグメントで構成されており、性能が同じ1以上の物理リソース11201に基づいている。性能は、メディア種類、RAIDレベル及びRAIDグループの構成(コンビネーション)のうちの少なくとも1つに依存する。本実施例では、性能は、メディア種類のみに依存するとする。例えば、SSDに基づくセグメントは、SAS−HDD及びSATA−HDDに基づくセグメントよりも高性能である。
図には、プール11200が1つ、物理リソース11201が5つ示されているが、それぞれ、数は、その限りではない。
コントローラ12000は、メモリ12100と、プロセッサ12200と、I/F(A)12300と、I/F(B)12400と、物理I/F12500とを有する。これらは、例えばバスを通じて接続されている。メモリ12100に代えて又は加えて他種の物理記憶資源が採用されて良い。
I/F(A)12300は、第1の通信プロトコル(例えばFC(Fibre Channel)プロトコル)で通信するためのI/Fであり、スイッチ装置30000を介してホスト計算機20000のI/F23000に接続される。
I/F(B)12400は、第2の通信プロトコル(例えばTCP/IP(Transmission Control Protocol/Internet
Protocol))で通信するためのI/Fであり、スイッチ装置50000を介して管理計算機40000のI/F43000に接続される。
物理I/F12500は、第3の通信プロトコル(例えばFC(Fibre Channel)プロトコル)で通信するためのI/Fであり、各物理リソース11201に接続される。
コントローラ12000は、論理ボリューム11100を管理する。論理ボリューム11100は、ホスト計算機20000に提供される論理的な記憶デバイスである。論理ボリューム11100として、実ボリューム11100(1)と、仮想ボリューム11100(2)がある。
実ボリューム11100(1)は、物理リソース11201に基づいている論理ボリュームである。従って、実ボリューム11100(1)の容量と、1以上の物理リソース11201のうちの実ボリューム11100(1)で使用されている記憶空間部分の容量は、等しい。
仮想ボリューム11100(2)は、物理リソース11201に基づかない論理ボリュームであり、具体的には、Thin Provisioningに従う仮想的な論理ボリュームである。仮想ボリューム11100(2)は、複数の仮想領域(仮想的な記憶領域)で構成されている。コントローラ12000がホスト計算機20000から仮想ボリューム11100(2)を指定したライト要求を受信し、そのライト要求から特定されるライト先の仮想領域にセグメントが割り当てられていない場合、プール11200から未使用のセグメント(いずれの仮想領域に割り当てられていないセグメント)がライト先の仮想領域に割り当てられ、そのセグメントに、ライト要求に従うライト対象のデータが書き込まれる。仮想ボリューム11100(2)の記憶容量は、実際に割り当てられている1以上のセグメントの合計容量(使用容量)よりも大きくて良い。本実施例では、メモリ12100内に保持されたプログラム(後述)がプロセッサ12200で実行されることによって、セグメント単位で動的再配置が行われる。動的再配置は、各仮想領域のI/O頻度を基に行われるが、それに代えて又は加えて、各仮想領域についての他の属性値(例えば、データの重要度、最終I/O時刻)を基に行われて良い。動的再配置により、例えば、IOPSが高い仮想領域内のデータを性能の高いセグメント(性能の物理リソースに基づくセグメント)に配置し、IOPSが低い仮想領域内のデータを性能の低いセグメント(性能の低い物理リソースに基づくセグメント)に配置することが可能になる。これにより、ユーザ(ストレージ管理者)が論理ボリュームに関する属性値(例えば、容量、性能、コスト)を見積ることなく、適切なデータ配置を行うことが可能となる。
図1では、実ボリューム11100(1)の数も仮想ボリューム11100(2)の数も1であるが、いずれも、2以上であっても良い。以下の説明では、実ボリューム11100(1)及び仮想ボリューム11100(2)を特に区別しない場合には、「論理ボリューム11100」と総称することにする。
メモリ12100は、プロセッサ12200が用いるプログラムとデータを記憶する。例えば、メモリ12100は、ボリュームテーブル12101と、プールテーブル12102と、物理リソーステーブル12103と、物理リソース割当てテーブルと、ボリューム割当てテーブル12105と、構成情報取得プログラム12106と、ボリュームコピープログラム12107と、ボリュームマイグレーションプログラム12108と、I/O制御プログラム12109と、セグメントコピープログラム12110と、セグメントマイグレーションプログラム12111と、セグメントマイグレーション指示プログラム12112とを有する。
ボリュームテーブル12101は、ストレージサブシステム10000の全ての論理ボリューム11100に関する情報を格納するテーブルである。具体例を図2に示す。ボリュームテーブル12101は、論理ボリューム11100毎に、下記の情報を有する。
(*)論理ボリュームを識別するための識別子であるLUN(Logical Unit Number)121011、
(*)仮想ボリューム11100(2)が属するプールを識別するための識別子であるプールID112012、
(*)実ボリューム11100(1)の基になっている物理リソース11201を識別するための識別子である物理リソースID121013、
(*)論理ボリューム11100の容量を示す情報である容量121014、
(*)論理ボリューム11100の使用容量を示す情報である使用容量121015。
「使用容量」は、論理ボリューム11100にどのぐらいデータが格納されているかである。使用容量121015は、GB(ギガバイト)単位で表されるが、ハイフン(−)は、0GBを意味する。また、使用容量121015の単位は、GB等の容量の単位に代えて、割合の単位(例えば%(パーセント))でも良い。例えば、使用容量は、論理ボリューム11100内のデータの総量でも良いし、又は、論理ボリューム11100の容量に対するデータ総量の割合である。
プールテーブル12102は、ストレージサブシステム10000の全てのプール11200に関する情報を格納するテーブルである。具体例を図3に示す。プールテーブル12102は、プール11200毎に、下記の情報を有する。
(*)プール11200を識別するための識別子であるプールID121021、
(*)プール11200を構成する物理リソース11201の識別子である物理リソースID121022、
(*)物理リソース11201を構成する物理記憶デバイスの種類(メディア種類)を示す情報であるメディア種類121023、
(*)物理リソース11201の容量を示す情報である容量121024、
(*)動的再配置の条件を示す情報であるIOPS範囲121025、
(*)動的再配置が行なわれるプール11200か否かを示す動的再配置フラグ121026。
フラグ121026について、ON(1)は、プール11200が、動的再配置の対象であることを意味し、OFF(0)は、プール11200が、動的再配置の対象でないことを意味する。
本実施例では、メディア種類として、SSD、SAS−HDD及びSATA−HDDがあるが、それらのうちの少なくとも1つに代えて又は加えて、別のメディア種類が採用されても良い。
動的再配置の条件として、I/O頻度(単位はIOPS)の範囲が定義されているが、条件は、I/O頻度の範囲に限らない。
物理リソーステーブル12103は、ストレージサブシステム10000の全ての物理リソース11201に関する情報を格納するテーブルである。具体例を図4に示す。物理リソーステーブル12103は、物理リソース11201毎に、下記の情報を有する。
(*)物理リソース11201の識別子である物理リソースID121031、
(*)物理リソース11201のメディアの種類を示す情報であるメディア種類121032、
(*)物理リソース11201の容量を示す情報である容量121033、
(*)物理リソース11201の空き容量を示す情報である空き容量121034。
物理リソース11201の「空き容量」とは、物理リソース11201の記憶空間のうち、実ボリューム11100(1)としてもセグメントとしても使用されていない記憶空間の容量である。
物理リソース割当てテーブル12104は、ストレージサブシステム10000の全ての論理ボリューム11100に対する物理リソースの割当てに関する情報を格納するテーブルである。具体例を図5に示す。物理リソース割当てテーブル12104は、論理ボリューム11100を構成する記憶領域(以下、ボリューム領域)毎に、下記の情報を有する。なお、ボリューム領域は、論理ボリューム11100が実ボリューム11100(1)であれば、実ボリューム11100(1)の全部又は一部であり、論理ボリューム11100が仮想ボリューム11100(2)であれば、仮想ボリューム11100(2)における1つの仮想領域である。
(*)ボリューム領域を有する論理ボリューム11100を識別するための識別子であるLUN121041、
(*)ボリューム領域を識別するための識別子である領域ID121042、
(*)論理ボリューム11100におけるボリューム領域の位置を表すLBA(Logical Block Address)であるボリュームLBA121043、
(*)ボリューム領域に割り当てられている物理的な記憶領域を有する物理リソース11201を識別するための識別子である物理リソースID121044、
(*)ボリューム領域に割り当てられている物理的な記憶領域のプール11200又は物理リソース11201における位置を表すLBAである物理LBA121045、
(*)データマイグレーションに関する状態を示す情報であるマイグレーション状態121046、
(*)データマイグレーションが行われた最終時刻を示す情報である最終マイグレーション日時121047、
(*)ボリューム領域に割り当てられている物理的な記憶領域の容量を示す情報である容量121048、
(*)仮想領域のI/O頻度を示す情報であるIOPS121049。
ボリューム領域及び物理的な記憶領域のうちの少なくとも一方の位置情報としては、LBA以外が採用されても良い。
物理的な記憶領域は、割当先のボリューム領域が実ボリューム11100(1)の全部又は一部であれば、プール11200を構成しない物理リソース11201の記憶領域であり、割当先のボリューム領域が仮想領域であれば、セグメントである。このテーブル12104における物理リソースID121044及び物理LBA121045の組合せから、どの物理リソース11201のどのセグメントが使用中(割当て済み)でどのセグメントが未使用(未割当て)かを特定することができる。なお、テーブル12104とは別に、例えば、セグメント毎に使用中か未使用かを管理するためのセグメント管理情報が用意されていても良い。
マイグレーション状態121046の値としては、例えば、ハイフン(−)と、「マイグレーション中」の2種類がある。ここで、ハイフンは、マイグレーションされていない状態を意味し、「マイグレーション中」は、ボリューム領域内のデータがマイグレーションされている最中であることを意味する。ただし、マイグレーション状態121046の値は、これら2種類に限らない。
最終マイグレーション日時121047の値としては、例えば、ハイフン(−)と、時刻の2種類がある。ハイフンは、データのマイグレーションが起きていないことを意味し、時刻は、データのマイグレーションが起きた最近の時刻である。ただし、最終マイグレーション日時121047は、動的再配置の効果が無いと見做される仮想ボリューム11100(2)を特定するために使用される情報であり、動的再配置の効果が無いと見做される仮想ボリューム11100(2)を特定可能な情報であれば、最終マイグレーション日時121047とは別種の情報が採用されても良い。
動的再配置条件としてはI/O頻度範囲(IOPS範囲)が採用されていることがあり、各仮想領域についてI/O頻度(IOPS)が監視されているが、各仮想領域について監視する対象は、I/O頻度に代えて、データ転送速度など別種のI/O負荷であっても良いし、最終I/O日時などの別種の属性値であっても良い。
図5によれば、サイズが同じ複数の仮想領域で構成されている仮想ボリューム11100(2)もあれば、サイズが異なる仮想領域が混在している仮想ボリューム11100(2)もある。また、サイズが同じ複数のセグメントで構成されているプール11200もあれば、サイズが異なるセグメントが混在しているプール11200もある。また、1つの仮想領域に1つのセグメントが割り当てられるが、複数の仮想領域に1つのセグメントが割り当てられても良いし、1つの仮想領域に複数のセグメントが割り当てられても良い。
再び図1を参照する。ボリューム割当てテーブル12105は、ホスト計算機20000に割り当てられた論理ボリューム11100に関する情報を格納するテーブルである。具体例を図6に示す。ボリューム割当てテーブル12105は、ホスト計算機200000に提供された論理ボリューム11100毎に、下記の情報を有する。
(*)ホスト計算機20000が有するI/F23000を識別するための識別子であるInitiator ID121050、
(*)ストレージサブシステム10000が有するI/F(A)12300を識別するための識別子であるTarget ID121051、
(*)論理ボリューム11100を識別するための識別子であるLUN121052、
(*)論理ボリューム11100についてのデータマイグレーションに関する状態を示す情報であるマイグレーション状態121053。
Initiator ID121050の値、および、Target ID121051の一例として、WWN(World Wide Name)があるが、それに限らず、他種の識別情報が採用されて良い。
構成情報取得プログラム12106は、ストレージサブシステム10000の構成情報を収集し、当該情報を他プログラムに送信するプログラムである。構成情報としては、例えば、論理ボリューム11100の情報(LUNや空き容量など)、パスが論理ボリューム11100に対して張られているか否かを示す情報などが挙げられるが、管理計算機40000が必要となる情報があればこの限りではなく、その他の情報が採用されても良い。
ボリュームコピープログラム12107は、論理ボリューム11100内のデータを別の論理ボリューム11100にコピーするプログラムである。本実施例の説明では、或る論理ボリューム11100から別の論理ボリューム11100へのデータのコピーを「ボリュームコピー」と言う。
ボリュームマイグレーションプログラム12108は、論理ボリューム11100内のデータを別の論理ボリューム11100にマイグレーションするプログラムである。本実施例の説明では、或る論理ボリューム11100から別の論理ボリューム11100へのデータのマイグレーションを「ボリュームマイグレーション」と言う。ボリュームマイグレーションでは、マイグレーション元の論理ボリューム11100からマイグレーション先の論理ボリューム11100へデータがコピーされ、マイグレーション元の論理ボリューム11100のLUN(以下、対象LUN)が、マイグレーション元の論理ボリューム11100に代えてマイグレーション先の論理ボリューム11100に関連付けられる。その後、ホスト計算機20000から対象LUNを指定したI/O要求を受信した場合、コントローラ12000は、そのI/O要求で指定されている対象LUNを基に同定されるマイグレーション先の論理ボリューム11100に対してI/Oを行う。なお、マイグレーション元の論理ボリューム11100内のデータは削除されても良い。また、ボリュームマイグレーション中(対象LUNをマイグレーション先の論理ボリュームに関連付ける前)にホスト計算機20000から対象LUNを指定したI/O要求を受信した場合、コントローラ12000は以下の処理を行って良い。すなわち、コントローラ12000は、そのI/O要求がリード要求であれば、マイグレーション元の論理ボリュームからリード対象のデータをリードして良い。そのI/O要求がライト要求であれば、コントローラ12000は、キャッシュメモリ領域(例えばメモリ12100内の領域)にライト対象のデータを記憶し、後で、マイグレーション先の論理ボリューム11100にそのライト対象のデータを書き込んで良い。
I/O制御プログラム12109は、ホスト計算機20000から論理ボリューム11100へのI/Oを制御するプログラムである。
セグメントコピープログラム12110は、或るセグメントから別のセグメントへデータをコピーするプログラムである。本実施例の説明では、或るセグメントから別のセグメントへのデータのコピーを「セグメントコピー」と言う。
セグメントマイグレーションプログラム12111は、或るセグメント内のデータを別のセグメントへマイグレーションするプログラムである。本実施例の説明では、或るセグメントから別のセグメントへのデータのマイグレーションを「セグメントマイグレーション」と言う。
セグメントマイグレーション指示プログラム12112は、動的再配置条件を満たすセグメント(マイグレーション元のセグメント)が検出された場合にセグメントマイグレーションをセグメントマイグレーションプログラム12111に指示するプログラムである。
プロセッサ12200は、メモリ12100内のプログラムの実行やデータの入出力、コントローラ12000が有する各I/F12300、12400を通じたデータや制御命令の入出力を制御する。
ストレージサブシステム10000は、他に、プール11200を作成する機能、論理ボリューム11100を作成する機能、論理ボリューム11100をI/F(A)12300を通じてホスト計算機20000に提供する機能、管理計算機40000からストレージサブシステム10000の構成変更要求を受け付ける機能など、一般的な機能を有している。
また、ストレージサブシステム10000は、他に、ストレージサブシステム10000のユーザがデータを入力するための入力装置や、ストレージサブシステム10000のユーザに情報を提示するための出力装置を有していても良い。
ホスト計算機20000は、メモリ21000と、プロセッサ22000と、I/F23000とを有する。これらの構成要素は例えばバスを通じて接続されている。I/F23000は、第1のプロトコル(例えばFC(Fibre Channel)プロトコル)で通信するためのI/Fであり、スイッチ装置30000を介してストレージサブシステム10000のI/F(A)12300に接続される。メモリ21000は、プロセッサ22000が用いるプログラムとデータを記憶する。特に、メモリ21000は、アプリケーション21001を有する。メモリ21000に代えて又は加えて他種の物理記憶資源が採用されて良い。アプリケーション21001はどのようなプログラムであっても構わない。プロセッサ22000は、メモリ21000内のプログラムの実行やデータの入出力、I/F23000を通じたデータや制御命令の入出力を制御する。
ホスト計算機20000は、他に、ホスト計算機20000のユーザがデータを入力するための入力装置や、ホスト計算機20000のユーザに情報を提示するための出力装置を有していても良い。
スイッチ装置30000は、ストレージサブシステム10000に接続されるI/F(A)31000と、ホスト計算機20000に接続されるI/F(A)32000とを有する。ストレージサブシステム10000とホスト計算機20000および両者を接続するスイッチ装置30000との間で利用されるネットワークプロトコル(前述の第1の通信プロトコル)には、FC(Fibre Channel)やiSCSI(Internet Small Computer System Interface)などがあるが、それに代えて他種のプロトコルが採用されて良い。また、I/F(A)の数は、2に限らず、3以上であっても良い。
スイッチ装置50000は、ストレージサブシステム10000に接続されるI/F(B)51000と、管理計算機40000に接続されるI/F(B)52000とを有する。I/F(B)の数は、2に限らず、3以上であっても良い。
管理計算機40000は、メモリ41000と、I/F43000と、それらに接続されたプロセッサ42000とを有する。メモリ41000は、プロセッサ42000が用いるプログラムとデータを記憶する。特に、メモリ41000は、構成情報テーブル41001と、ポリシテーブル41002と、構成管理プログラム41003と、ポリシ判定プログラム41004と、マイグレーション指示プログラム41005と、マイグレーション先決定プログラム41006とを有する。メモリ41000に代えて又は加えて他種の物理記憶資源が採用されて良い。
構成情報テーブル41001は、ストレージサブシステム10000の構成情報を持つテーブルである。具体例を図7に示す。構成情報テーブル41001は、論理ボリューム11100毎に、下記の情報を有する。
(*)論理ボリューム11100を有するストレージサブシステム10000を識別するための識別子であるストレージサブシステムID410011、
(*)論理ボリューム11100を識別するための識別子であるLUN410012、
(*)論理ボリューム11100の容量を示す情報である容量410013、
(*)論理ボリューム11100の使用容量を示す情報である使用容量410014、
(*)論理ボリューム11100がホスト計算機20000に割当てられているか否かを示すパスフラグ410015、
(*)論理ボリューム11100に割り当てられている全ての物理的な記憶領域のうちどのメディア種類に基づく物理的な記憶領域がどのぐらい存在するかを示す情報である配置先メディア割合410016、
(*)論理ボリューム11100がマイグレーション対象か否か(マイグレーション元とされるか否か)を示すマイグレーションフラグ410017。
パスフラグ410015がON(1)であれば、論理ボリューム11000に対してホスト計算機20000からI/Oが行われ得る状態である。具体的には、例えば、論理ボリューム11100とホスト計算機20000とが論理的なパスで繋がっている状態、或いは、その論理的なパスが有効とされている状態である。一方、パスフラグ410015がOFF(0)であれば、論理ボリューム11000に対してホスト計算機20000からI/Oが行われ得ない状態である。具体的には、例えば、論理ボリューム11100とホスト計算機20000とが論理的なパスで繋がっていない状態、或いは、その論理的なパスが無効とされている状態である。後に説明するとおり、マイグレーション先の実ボリューム11100(1)の条件として、パスフラグ410015がOFF(0)であることがある。パスフラグ410015がOFF(0)の実ボリューム11100(1)がマイグレーション先として決定され、後述のボリュームマイグレーションが行われた後は、管理計算機40000のプロセッサ42000によって、そのマイグレーション先の実ボリューム11100(1)についてのパスフラグ410015がON(1)にされる。また、マイグレーション先の実ボリューム11100(1)とホスト計算機20000との間に論理的なパスが張られる(或いは既に存在する論理的なパスが無効から有効に切り替えられる)。
マイグレーションフラグ410017がON(1)であれば、論理ボリューム11100がマイグレーション対象であり、マイグレーションフラグ410017がOFF(0)であれば、論理ボリューム11100はマイグレーション対象ではない。
ポリシテーブル41002は、動的再配置の効果が無いと見做される仮想ボリューム11100の条件(つまりマイグレーションポリシ)に関する情報を有するテーブルである。マイグレーションポリシは、言い換えれば、仮想ボリューム11100(2)から実ボリューム11100(1)へのボリュームマイグレーションを開始する契機の定義である。具体例を図8に示す。図8によれば、ポリシテーブル41002は、マイグレーションポリシ毎に、下記の情報を有する。なお、以下の説明では、SSDに基づくセグメントを「SSDセグメント」と言い、SAS−HDDに基づくセグメントを「SASセグメント」と言い、SATA−HDDに基づくセグメントを「SATAセグメント」と言うことがある。
(*)マイグレーションポリシを識別するための識別子であるポリシID410021、
(*)ストレージサブシステム10000を識別するための識別子であるストレージサブシステムID410022、
(*)仮想ボリューム11100(2)を識別するための識別子であるLUN410023、
(*)論理条件を表す情報である論理条件410024、
(*)メディア配置率の条件を示す情報であるメディア配置率410025、
(*)メディア配置場所の条件を示す情報であるメディア配置場所410026、
(*)メディア配置率の条件とメディア配置場所の条件との両方が満たされ続けている期間(開始時刻410028が表す時刻からの経過時間)の条件を示す情報である期間410027、
(*)メディア配置率の条件とメディア配置場所の条件との両方が満たされたことが検出された時刻を示す情報である開始時刻410028。
「論理条件」とは、1つの仮想ボリューム11100(2)についての複数の条件セットの組合せに関する条件である。マイグレーションポリシは、条件セットと論理条件410024との組合せで定義される。マイグレーションポリシを構成する条件は、上記の例に限らなくて良い。
論理条件410024の値としては、AND、ORなどがある。例えば、2つの条件セットが定義されている場合、論理条件がANDであれば、2つの条件セットの両方が満たされていれば、マイグレーションポリシが満たされていることであり、論理条件がORであれば、2つの条件セットの一方が満たされていれば、マイグレーションポリシが満たされていることである。
「条件セット」とは、メディア配置率410025が表す条件と、メディア配置場所410026が表す条件と、期間410027が表す条件との組合せである。
「メディア配置率」とは、仮想ボリューム11100(2)に割り当てられている全てのセグメント(つまり使用容量)のうち、或るメディア種類のセグメントがどの程度存在するかを表す。
「メディア配置場所」とは、仮想ボリューム11100(2)に割り当てられているセグメントの基になっている物理記憶デバイスのメディア種類である。
以下、このテーブル41002を基に、マイグレーションポリシが満たされているか否かの判定を説明する。なお、以下の説明では、ポリシID「3」に着目する。また、LUN「2」の仮想ボリューム11100(2)を「VVOL#2」と表記する。
(*)例えば、VVOL#2に割り当てられている10個のセグメントのうちの5個のセグメントがSATAセグメントであるとする。この場合、SATAのメディア配置率は50%である。従って、この段階では、メディア配置率410025が示す「100%」という条件は満たされていない(つまりマイグレーションポリシが満たされていない)。
(*)その後、動的再配置等により、VVOL#2に割り当てられている全てのセグメントがSATAセグメントであるとする。この状況が検出された時刻(以下、検出時刻)を表す値が、ポリシID「3」に対応した開始時刻410028としてテーブル41002に登録される。
(*)その後、動的再配置等により、開始時刻410028が表す時刻から150日(ポリシID「3」に対応した期間)が経過しないうちに、VVOL#2について、SATAのメディア配置率が100%未満になったとする。この場合、ポリシID「3」に対応した開始時刻410028が表す時刻(値)はリセットされる。
(*)一方、SATAのメディア配置率が100%未満になることなく、開始時刻410028が表す時刻から150日(ポリシID「3」に対応した期間)が経過したことが検出された場合(すなわち、メディア配置率の条件とメディア配置場所の条件との両方が満たされたまま、所定の期間が経過した場合)、ポリシID「3」に対応したマイグレーションポリシが満たされたということになる。この場合、VVOL#2から実ボリューム11100(1)へのボリュームマイグレーションが行われる。
構成管理プログラム41003は、ストレージサブシステム10000の構成を管理するためのプログラムである。構成管理プログラム41003は、ストレージサブシステム10000が持つ構成情報取得プログラム12106と通信することによって、ストレージサブシステム10000の構成情報を取得する。構成管理プログラム41003は、プール11200を作成する機能、論理ボリューム11100を作成する機能、論理ボリューム11100をホスト計算機20000に割り当てる機能、及び、特定の時刻に特定の処理を行うスケジューラ機能のうちの少なくとも1つを有していても良い。また、本実施例では、構成管理プログラム41003が、マイグレーション設定のUI(User Interface)を提供する。ユーザ(ストレージ管理者)が、当該UIを用いてマイグレーションポリシを設定することができる。ただし、マイグレーションポリシに関する設定を行う方法は、UIを使用する方法に限らず他の方法でも良い。
ポリシ判定プログラム41004は、マイグレーションポリシを満たす仮想ボリューム11100(2)を発見するプログラムである。ポリシ判定プログラム41004は、マイグレーションポリシを満たす仮想ボリューム11100(2)を発見した場合、その仮想ボリューム11100(2)に対応したマイグレーションフラグ(構成情報テーブル41001におけるフラグ)410018をON(1)にする。マイグレーションフラグ410018がON(1)になっているレコード(行)に対応した仮想ボリューム11100(2)が、マイグレーション対象の仮想ボリューム11100(2)である。
マイグレーション指示プログラム41005は、マイグレーション対象の仮想ボリューム11100(2)が存在するか否かを判定し、存在した場合にマイグレーション先決定プログラム41006を実施して、ボリュームマイグレーションプログラム12108にボリュームマイグレーションを指示するプログラムである。
マイグレーション先決定プログラム41006は、マイグレーション先の論理ボリューム11100を決定するプログラムである。
以下、本実施例で行われる処理を説明する。
<仮想ボリューム11100(2)に対するライトの処理の概要>
以下の通りである。
(a1)I/O制御プログラム12109は、ライト要求をホスト計算機20000から受信する。
(a2)プログラム12109は、ライト要求が有するI/O先情報を基に、ライト先仮想ボリューム11100(2)とライト先仮想領域を特定する。I/O先情報は、I/O先を表す情報であり、例えば、仮想ボリューム11100(2)のLUNと、仮想領域のLBAとを有する。
(a3)プログラム12109は、ライト要求に従うライト対象のデータをキャッシュメモリ領域に格納する。プログラム12109は、この段階で、ホスト計算機20000にライト完了を応答して良い。
(a4)プログラム12109は、物理リソース割当てテーブル12104を基に、上記(a2)で特定されたライト先仮想領域にセグメントが割り当てられているかを判定する。
(a5)上記(a4)の判定の結果が肯定的であれば、プログラム12109は、ライト先仮想領域に割り当てられているセグメントに、キャッシュメモリ領域内のライト対象のデータを書き込む。
(a6)上記(a4)の判定の結果が否定的であれば、プログラム12109は、物理リソース割当てテーブル12104を基に未使用セグメント(どの仮想領域にも割り当てられていないセグメント)を特定する。ここで、プログラム12109は、なるべく性能の高いセグメント群の未使用セグメントを特定しても良い。
(a7)プログラム12109は、上記(a6)で特定したセグメントをライト先仮想領域に対応付ける。具体的には、例えば、プログラム12109は、物理リソース割当てテーブル12104に、ライト先仮想領域に対応した情報121044及び121045として、割り当てたセグメントの基になっている物理リソース12101のIDとそのセグメントのLBAとを登録する。
(a8)プログラム12109は、上記(a6)で特定したセグメントに、キャッシュメモリ領域のライト対象のデータを書き込む(プログラム12109は、この段階で、ホスト計算機20000にライト完了を応答して良い)。
(a9)プログラム12109は、上記(a2)乃至(a8)のうちのいずれかにおいて、ライト先仮想領域に対応したIOPS121049を更新する。
<仮想ボリューム11100(2)に対するリードの処理の概要>
以下の通りである。
(b1)I/O制御プログラム12109は、リード要求をホスト計算機20000から受信する。
(b2)プログラム12109は、リード要求が有するI/O先情報を基に、リード元仮想ボリューム11100(2)とリード元仮想領域を特定する。
(b3)プログラム12109が、リード対象のデータがキャッシュメモリ領域に残っているか否かを判定する。
(b4)上記(b3)の判定の結果が肯定的の場合、プログラム12109は、キャッシュメモリ領域内のリード対象データを、ホスト計算機20000に送信する。この場合、リード元仮想領域に対応したIOPS121049は、更新されてもされなくても良い。
(b5)上記(b3)の判定の結果が否定的の場合、プログラム12109は、物理リソース割当てテーブル12104を基に、上記(b2)で特定されたリード元仮想領域にセグメントが割り当てられているかを判定する。
(b6)上記(b5)の判定の結果が否定的であれば、プログラム12109は、所定のデータ(例えばエラー)をホスト計算機20000に送信する。
(b7)上記(b5)の判定の結果が肯定的であれば、プログラム12109は、リード元仮想領域に割り当てられているセグメントからデータを読み出し、そのデータをキャッシュメモリ領域に書き込む。そして、プログラム12109は、キャッシュメモリ領域内のそのデータをホスト計算機20000に送信する。
(b8)プログラム12109は、上記(b2)乃至(b7)のうちのいずれかにおいて、リード元仮想領域に対応したIOPS121049を更新する。
<動的再配置の概要>
以下の通りである。動的再配置は、例えば定期的に又は不定期的に行われる。
(c1)セグメントマイグレーション指示プログラム12112が、マイグレーション元のセグメントが存在するか否かを判定する。「マイグレーション元のセグメント」とは、該当する動的再配置条件121025が表すI/O頻度範囲にI/O頻度(IOPS)が属していないセグメントである。
(c2)上記(c1)の判定の結果が肯定的であれば、プログラム12112が、セグメントマイグレーションプログラム12111にセグメントマイグレーションを指示する。
(c3)セグメントマイグレーションプログラム12111が、マイグレーション元のセグメントが割り当てられている仮想領域に対応したマイグレーション状態121046(テーブル12104における情報121046)を、「マイグレーション中」に更新する。
(c4)プログラム12111が、マイグレーション元のセグメントに対応したI/O頻度が属するI/O頻度範囲に対応したセグメント群(物理リソース11201)内のセグメントをマイグレーション先として決定する。
(c5)プログラム12111は、マイグレーション元となるセグメントからマイグレーション先のセグメントにデータをマイグレーションする。
(c6)プログラム12111は、マイグレーション元のセグメントが割り当てられていた仮想領域に、マイグレーション元のセグメントに代えてマイグレーション先のセグメントを割り当てる。
(c7)プログラム12111が、マイグレーション先のセグメントが割り当てられた仮想領域に対応したマイグレーション状態121046を、ハイフン(−)に更新する。
<マイグレーションポリシ設定処理>。
図9は、マイグレーションポリシ設定処理のシーケンスを示す。
当該処理では、まず、ステップS1000において、ユーザ(ストレージ管理者)が、構成管理プログラム41003が提供するUIを通じて、動的再配置機能を有する論理ボリューム11100のマイグレーションポリシを設定する。
次に、ステップS1010において、構成管理プログラム41003は、ステップS1000で受け付けた情報を、ポリシテーブル41002に書き込む。
図10は、図9のステップS1000で表示される第1のUI1000を示す。
第1のUI1000は、マイグレーションポリシが関連付けられる仮想ボリューム11100(2)を選択するためのUIである。第1のUI1000は、構成管理プログラム41003によって提供される。第1のUI1000は、動的再配置が行われている仮想ボリューム11100(2)の一覧を表示するテーブル1100と、仮想ボリューム11100(2)のマイグレーション設定を編集するためのボタン1200とを有する。なお、論理ボリュームの一覧テーブル1100は、チェックボックスを有しており、ユーザは各行を選択できるものとする。
ユーザは、テーブル1100から、ポリシの編集を行う論理ボリューム11100を選択し、ボタン1200を押す。ユーザがボタン1200を押した後、第2のUIが表示される。
図11は、第2のUI2000を示す。
第2のUI2000は、図10の第1のUI1000から選択された仮想ボリューム(以下、図11の説明において「選択ボリューム」と言う)11100(2)のポリシの詳細設定に用いるUIである。第2のUI2000は、構成管理プログラム41003によって提供される。第2のUI2000は、選択ボリューム11100(2)について設定されているマイグレーションポリシを表示する領域2100と、論理ボリューム11100のマイグレーションポリシの編集で利用されるツール(テキストボックス、ドロップダウンボックス等)が表示される領域2200とを有する。
領域2100は、選択ボリューム11100(2)について設定済みのマイグレーションポリシを表示するテーブル2101と、選択ボリューム11100(2)に設定済みのマイグレーションポリシを編集することを指定するためのボタン2102と、設定済みのマイグレーションポリシを削除することを指定するためのボタン2103とを有する。テーブル2101は、チェックボックスを有しており、ユーザは所望のマイグレーションポリシが表示されている行を選択することで、所望のマイグレーションポリシを選択できる。
領域2200は、メディア配置率の値が入力されるテキストボックス2201と、比較演算子が指定されるドロップダウンボックス2202と、メディア配置場所410026の値が入力されるドロップダウンボックス2203と、期間410027の値が入力されるテキストボックス2204と、論理条件410024の値を指定するためのラジオボタン2205及び2206と、編集中のマイグレーションポリシが表示されるテーブル2207と、編集中のマイグレーションポリシをリセットすることを指定するためのボタン2208と、編集中のマイグレーションポリシに条件セット又は論理条件を追加することを指定するためのボタン2209と、編集が終了したマイグレーションポリシをポリシテーブル41002に追加することを指定するためのボタン2210とを有する。
ユーザは、領域2100を通じて、選択ボリューム11100(2)に設定済みのマイグレーションポリシの新規設定、編集または削除を指定する。
マイグレーションポリシを新規追加する場合、ユーザは、領域2200を通じて、マイグレーションポリシの設定を行う。
設定済みのマイグレーションポリシを編集する場合、ユーザは、チェックボックスを通じて、選択ボリューム11100(2)について設定済みのマイグレーションポリシを選択する。当該ポリシを編集する場合、ユーザは、ボタン2102を押す。ボタン2102が押された場合、構成管理プログラム41003は、当該設定済みポリシをテーブル2207に表示する。
設定済みマイグレーションポリシを削除する場合、ユーザは、ボタン2103を押す。ボタン2203が押された場合、構成管理プログラム41003は、設定済みマイグレーションポリシをテーブル2101から削除する。
ユーザは、領域2200を通じて、新規にマイグレーションポリシを設定、または既存のマイグレーションポリシを編集することができる。ユーザは、ツール2201及び2202を用いて、メディア配置率410025の値を指定することができる。ユーザは、マイグレーションポリシに条件セットを追加する場合、ラジオボタン2205及び2206のいずれかを選択し、ボタン2209を押す。ボタン2209が押された場合、構成管理プログラム41003は、編集中の条件セットをテーブル2207に表示する。ユーザが、条件設定を終了し、選択ボリューム11100(2)にマイグレーションポリシを追加する場合は、ボタン2210を押す。ボタン2210が押された場合、構成管理プログラム41003は、入力されたマイグレーションポリシをポリシテーブル41002に追加し、テーブル2101におけるマイグレーションポリシの一覧を更新する。
編集中のマイグレーションポリシをリセットする場合、ユーザは、ボタン2208を押す。ボタン2208が押された場合、構成管理プログラム41003は、テーブル2207に表示されている情報を削除する。
以上の設定方法により、ユーザは、選択ボリューム11100(2)について設定するマイグレーションポリシの詳細を決定することができる。なお、マイグレーションポリシの記入は必ずしも図中の表現でなくてもよく、ユーザ(ストレージ管理者)が、動的再配置の効果がない論理ボリューム11100を特定するための条件を記述できるUIがあればよい。また、本実施例では、動的再配置の効果がない論理ボリューム11100を特定するためにユーザがUI2000とUI2100と、を用いてポリシを決定するが、必ずしもこの方法でなくてもよい。例えば、管理計算機41000に予め動的再配置の効果がない論理ボリューム11100を特定するための条件を記述しておいてもよい。
<構成情報取得処理>。
図12は、構成情報取得処理のシーケンスを示す。なお、本実施例にて、構成情報取得プログラム12106は、管理計算機40000が持つプログラムの他の処理と並列に実行されて良い。
当該処理では、まずステップS2000にて、構成管理プログラム41003が、構成情報取得プログラム12106に対し、ストレージサブシステム10000の構成情報の提供を要求する。
ステップS2010では、構成情報取得プログラム12106は、ボリュームテーブル12101、プールテーブル12102、物理リソーステーブル12103から、ストレージサブシステム10000の構成情報を収集する。
ステップS2020では、構成情報取得プログラム12106は、物理リソーステーブル12103と、物理リソース割当てテーブル12104とを基に、仮想ボリューム11100(2)についてメディア種類毎のメディア配置率を算出する。具体的には、例えば、下記が行われる。
(*)プログラム12106は、物理リソーステーブル12103と、物理リソース割当てテーブル12104とを参照する。
(*)プログラム12106は、仮想ボリューム11100(2)の仮想領域(仮想領域に割り当てられているセグメント)に対応した物理リソースID121044に対応したメディア種類121032を特定する。
(*)プログラム12106は、仮想ボリューム11100(2)に対応した容量121014と、その仮想ボリューム11100(2)にセグメントが割り当てられている仮想領域についての容量121048及び上記特定されたメディア種類121032とを基に、その仮想ボリューム11100(2)について、メディア種類毎のメディア配置率を算出する。
ステップS2030では、プログラム12106は、ステップS2010で収集された情報と、ステップ2020で算出された、メディア種類毎のメディア配置率(配置先メディア割合410016に相当する情報)とを含んだ構成情報を、構成管理プログラム41003に返す。
ステップS2040では、構成管理プログラム41003が、ストレージサブシステム10000からの構成情報を構成情報テーブル41001に格納する。
ステップS2050では、構成管理プログラム41003が、一定時間経過するのを待つ。その後、ステップS2000が再度行われる。構成管理プログラム41003が本ステップで待つ時間の長さは、予め定められていても良いし、ユーザ等によって適時に変更されても良い。
<マイグレーション対象決定特定>。
マイグレーション対象決定処理では、動的再配置の効果が無いと見做される仮想ボリューム11100(2)、つまり、マイグレーション対象の仮想ボリューム11100(2)が決定される。
図13は、マイグレーション対象決定処理のシーケンスを示す。本実施例において、ポリシ判定プログラム41004は、管理計算機40000が持つプログラムの他の処理とは並列に実行されて良い。
当該処理では、まずステップS3000で、ポリシ判定プログラム41004が、構成情報テーブル41001と、ポリシテーブル41002とを参照し、テーブル41002からマイグレーションポリシを抽出する。
ステップS3010にて、プログラム41004は、構成情報テーブル41001から特定される1つの仮想ボリューム(図13の説明において「対象ボリューム」と言う)11100(2)について、ステップS3000で抽出されたいずれかのマイグレーションポリシが設定されているか否かを判定する。この判定の結果が否定的の場合、ステップS3100が行われ、この判定の結果が肯定的の場合、ステップS3020が行われる。なお、図13の説明において、ステップS3010での判定の結果が肯定的となったマイグレーションポリシを、「対象ポリシ」と言う。
ステップS3020にて、プログラム41004は、構成情報テーブル41001と、ポリシテーブル41002とを参照し、対象ボリューム11100(2)に対応した配置先メディア割合410016が表す一以上のメディア配置率と、対象ポリシに対応した論理条件410024、メディア配置率410025及びメディア配置場所410026がそれぞれ表す条件とを抽出する。
ステップS3030にて、プログラム41004は、配置先メディア割合410016が表す一以上のメディア配置率が、対象ポリシに対応した情報410024〜410026が表す条件に適合するか否かを判定する。この判定の結果が否定的の場合に、ステップS3040が行われ、この判定の結果が肯定的の場合に、ステップS3050が行われる。
ステップS3040にて、プログラム41004は、対象ボリューム11100(2)に対応したマイグレーションフラグ410017をOFF(0)にする。
ステップS3050にて、プログラム41004は、対象ポリシに対応した開始時刻410028として有効な値(時刻)が既に設定されているかを判定する。この判定の結果が否定的の場合に、ステップS3060が行われ、この判定の結果が肯定的の場合に、ステップS3070が行われる。
ステップS3060では、プログラム41004は、現在時刻を表す情報を、対象ポリシに対応した開始時刻410028として登録する。
ステップS3070にて、プログラム41004は、対象ポリシに対応した開始時刻410028から現在時刻までの期間を算出する。
ステップS3080では、プログラム41004は、算出した期間が、対象ポリシに対応した期間410027が表す期間を超えているか否かを判定する。この判定の結果が否定的の場合、ステップS3100が行われ、この判定の結果が肯定的の場合、ステップS3090が行われる。
ステップS3090にて、プログラム41004は、対象ボリューム11100(2)に対応したマイグレーションフラグ410017をON(1)にする。
ステップS3100にて、プログラム41004は、全ての論理ボリューム11100がチェックされているか否かを判定する。この判定の結果が否定的の場合、ステップS3010が再度行われ、この判定の結果が肯定的の場合、ステップS3110が行われる。
ステップS3110にて、プログラム41004は、一定時間経過するのを待つ。その後、S3000が再度行われる。なお、ポリシ判定プログラム41004が本ステップで待つ期間は、予め決められていても良いし、ユーザ等によって適時に変更されても良い。
<マイグレーション指示処理>。
図14は、マイグレーション指示処理のシーケンスを示す。
当該処理では、まずステップS4000にて、マイグレーション指示プログラム41005が、構成情報テーブル41001を参照する。
ステップS4010にて、プログラム41005が、マイグレーションフラグ410017がON(1)である仮想ボリューム11100(2)(つまりマイグレーション対象の仮想ボリューム11100(2))が存在するか否かを判定する。この判定の結果が否定的の場合に、ステップS4070が行われ、この判定の結果が肯定的の場合に、ステップS4020が行われる。
ステップS4020にて、プログラム41005は、マイグレーション先決定プログラム41006を実行し、マイグレーション先の実ボリューム11100(1)の情報を得る。ここで言う実ボリューム11100(1)の情報とは、例えば、ストレージサブシステムIDとLUNを含んだ情報である。もし、マイグレーション先の実ボリューム11100(1)が存在しない場合、マイグレーション指示プログラム41005は、マイグレーション先の実ボリューム11100(1)が存在しない事を示す情報(以下、「ヌル」と言う)を得る。ただし、マイグレーション指示プログラム41005が本ステップで得る情報は、この限りではなく、マイグレーション先の実ボリューム11100(1)が存在するかどうかを区別できる情報であれば良い。なお、マイグレーション先決定プログラム41006が行う処理のシーケンスについては後述する。
ステップS4030にて、プログラム41005が、マイグレーション先の実ボリューム11100(1)が存在するか否かを判定する。この判定の結果が否定的の場合に、ステップS4040が行われ、この判定の結果が肯定的の場合に、ステップS4050が行われる。本実施例では、ステップS4020で得た情報が、ヌルならば、ステップS4040が行われ、ステップS4020で得た情報が、ヌル以外ならば、ステップS4050が行われる。
ステップS4040にて、プログラム41005は、構成管理プログラム41003が提供するUIを通じて、警告メッセージをユーザに通知する。
ステップS4050にて、プログラム41005は、ボリュームマイグレーションプログラム12108に対し、ステップS4010で特定されたマイグレーション対象の仮想ボリューム11100(2)(マイグレーションフラグ410017がON(1)である仮想ボリューム11100(2))から、ステップS4020で特定されたマイグレーション先の実ボリューム11100(1)へのボリュームマイグレーションを指示する。その指示の際に、マイグレーション対象の仮想ボリューム11100(2)の情報(例えば、ストレージサブシステムID及びLUN)と、マイグレーション先の実ボリューム11100(1)の情報(例えば、ストレージサブシステムID及びLUN)とが、ボリュームマイグレーションプログラム12108に送信される。これにより、ボリュームマイグレーションプログラム12108が、マイグレーション対象の仮想ボリューム11100(2)及びマイグレーション先の実ボリューム11100(1)を特定することができる。
ステップS4060にて、プログラム41005が、全ての仮想ボリューム11100(2)がチェックされているか否かを判定する。この判定の結果が否定的の場合に、ステップS4020が行われ、この判定の結果が肯定的の場合に、ステップS4070が行われる。
ステップS4070にて、プログラム41005は、一定時間経過するのを待つ。その後、S4010が行われる。なお、マイグレーション指示プログラム41005が本ステップで待つ期間は、予め設定されていても良いし、ユーザ等によって適時に変更されても良い。
図15は、ステップS4040で表示されるUI3000を示す。
UI3000は、警告内容の一覧を表示する警告一覧テーブル3100を有する。本実施例において、ユーザはテーブル3100を通じ、マイグレーション対象の仮想ボリューム11100(2)についてボリュームマイグレーションが完了しなかったことを確認できる。
<マイグレーション先決定処理>。
図16は、マイグレーション先決定処理のシーケンスを示す。
当該処理では、ステップS5000にて、マイグレーション先決定プログラム41006が、マイグレーション指示プログラム41005から、マイグレーション対象の仮想ボリューム11100(2)(以下、図16の説明で「対象VVOL」と言う)の情報を受け取る。ここで、その情報は、例えば、ストレージサブシステムIDとLUNとを含んだ情報である。
ステップS5010にて、プログラム41006は、ステップS5000で得た情報を用いて構成情報テーブル41001を参照することにより、対象VVOLについて最もメディア配置率の高いメディア種類と、対象VVOLの容量とを特定する。
ステップS5020にて、プログラム41006は、適切なマイグレーション先の実ボリューム11100(1)を探す。本実施例において、適切なマイグレーション先の実ボリューム11100(1)とは、ステップS5010にて特定されたメディア種類の物理リソース11201に基づいており、ステップS5010で特定された容量(対象VVOLの容量)以上の容量を有し、且つ、パスフラグ410015がOFF(0)となっている実ボリューム11100(1)である。
ステップS5030にて、マイグレーション先決定プログラム41006は、適切な論理ボリュームが見つかったか否かを判定する。この判定の結果が肯定的の場合に、ステップS5040が行われる。本実施例では、この判定の結果が否定的の場合に、プログラム41006は、マイグレーション指示プログラム41005にヌルを通知する。
ステップS5040にて、プログラム41006は、見つかった適切なマイグレーション先の実ボリューム11100(1)の情報をマイグレーション指示プログラム41005に通知する。
<ボリュームマイグレーション処理>。
図17は、ボリュームマイグレーション処理のシーケンスを示す。
当該処理では、まずステップS6000にて、ボリュームマイグレーションプログラム12108が、ボリューム割当てテーブル12105を参照し、マイグレーション指示プログラム41005から指定されたマイグレーション対象の仮想ボリューム11100(2)に対応したマイグレーション状態121053を「マイグレーション中」に設定する。これにより、図18に示すように、当該仮想ボリューム11100(2)に対するライトは、本時点以降、当該仮想ボリューム11100(2)に対してではなく、メモリ12100(キャッシュメモリ領域)に対して行うように、I/O制御プログラム12109によって制御される。
次に、ステップS6010にて、プログラム12108が、ボリュームコピープログラム12107に、マイグレーション対象の仮想ボリューム11100(2)からマイグレーション先の実ボリューム11100(1)へのボリュームコピーを指示する。
次に、ステップS6020にて、ボリュームコピープログラム12107が、マイグレーション元の仮想ボリューム11100(2)からマイグレーション先の実ボリューム11100(1)にデータをコピーする。具体的には、マイグレーション元の仮想ボリューム11100(2)に割り当てられている全てのセグメント内のデータが、マイグレーション先の実ボリューム11100(1)にコピーされる。
次に、ステップS6030にて、ボリュームマイグレーションプログラム12108が、I/O制御プログラム12109に、マイグレーション元の仮想ボリューム11100(2)に対する一時的にライトを停止するように要求する。
次に、ステップS6040にて、I/O制御プログラム12109が、現在行っている最中のライト処理が終了した後で、一時的にライトを停止する。なお、本実施例においては、ライト停止中もストレージサブシステム10000はホスト計算機20000からのI/O要求(リード要求及びライト要求)を受け付け、そのI/O要求をメモリ12100などに保持しておくことができる。
次に、ステップS6050にて、ボリュームマイグレーションプログラム12108が、I/O制御プログラム12109に、マイグレーション元の仮想ボリューム11100(2)に関して、キャッシュメモリ領域に書き込まれているデータをマイグレーション先の実ボリューム11100(1)の該当領域に書き込むように要求する。ここで言う「該当領域」とは、キャッシュメモリ領域内のデータについてのライト先のLBAから特定される領域である。
次に、ステップS6060にて、I/O制御プログラム12109は、ステップS6050での要求に応答して、キャッシュメモリ領域に書き込まれているデータをマイグレーション先の実ボリューム11100(1)の該当領域に書き込む。
次に、ステップS6070にて、ボリュームマイグレーションプログラム12108が、物理リソース割当てテーブル12104を参照し、マイグレーション元の仮想ボリューム11100(2)のLUNと、マイグレーション先の実ボリューム11100(1)のLUNとを入れ替える。
次に、ステップS6080にて、ボリュームマイグレーションプログラム12108が、I/O制御プログラム12109に、ライトを再開するように要求する。
次に、ステップS6090にて、I/O制御プログラム12109が、ステップS6080での要求に応答して、ライトを再開する。
<I/O制御処理>。
I/O制御処理では、ホスト計算機20000から論理ボリューム11100へのI/Oが制御される。
図18は、I/O制御処理のシーケンスを示す。
当該処理では、まず、ステップS7000にて、I/O制御プログラム12109が、アプリケーション21001からI/O要求を受信する。
次に、ステップS7010にて、I/O制御プログラム12109が、I/O要求の種類を特定する。ここでは、I/O要求の種類は、「リード」又は「ライト」であるとする。
I/O要求の種類が「リード」の場合、ステップS7020にて、I/O制御プログラム12109が、ボリューム割当てテーブル12105と、物理リソース割当てテーブル12104とを参照し、リード元のボリューム領域を特定する。
そして、ステップS7030にて、I/O制御プログラム12109が、特定されたリード元のボリューム領域からデータをリードする。
I/O要求の種類が「ライト」の場合、ステップS7040にて、I/O制御プログラム12109が、ボリューム割当てテーブル12105を参照し、ライト先の論理ボリューム11100に対応したマイグレーション状態121053を特定する。
次に、I/O制御プログラム12109が、ステップS7050にて、特定されたマイグレーション状態121053が「マイグレーション中」であるか否かを判定する。
マイグレーション状態121053が「マイグレーション中」である場合、ステップS7060にて、I/O制御プログラム12109が、アプリケーション21001からのライト要求に従うライト対象のデータを、キャッシュメモリ領域に書き込む。なお、ここでのライト先は、キャッシュメモリ領域以外の記憶領域であっても良い。
さらに、ステップS7070にて、I/O制御プログラム12109が、ライト先のボリューム領域に対応する物理リソースID121044として、キャッシュメモリ領域の識別子を書込み、ライト先のボリューム領域に対応する物理LBA121045として、キャッシュメモリ領域における書込み先のアドレスを書込む。
マイグレーション状態121053が「マイグレーション中」でない場合、ステップS7080にて、I/O制御プログラム12109が、ボリューム割当てテーブル12105と物理リソース割当てテーブル12104とを参照し、ライト先のLBAに適合するボリュームLBA121042を特定する。
次に、ステップS7090にて、I/O制御プログラム12109が、ステップS7080で特定されたボリュームLBA121042に対応する物理LBA121045として、既に有効な値が格納されているか否かを判定する。
ステップS7090の判定の結果が肯定的の場合、ステップS7110にて、I/O制御プログラム12109が、アプリケーション21001からのライト対象のデータを、ステップS7080で特定されたボリュームLBA121042に対応する物理LBA121045が表す物理的な記憶領域に書き込む。
ステップS7090の判定の結果が否定的の場合、ステップS7100にて、I/O制御プログラム12109が、ステップS7080で特定されたボリュームLBA121042が表すボリューム領域(仮想領域)に、新たに物理リソースに基づく物理的な記憶領域(セグメント)を割り当てる。なお、新規に割り当てる物理的な記憶領域を決定する方法には、物理リソースのLBAを先頭から検索し、必要な容量を満たす最初の領域を選択するなどの方法があるが、特に限定はしない。ステップS7100の後、ステップS7110が行われる。
図18、図19及び図20に示される処理は、ストレージサブシステム10000内での、動的再配置の対象の仮想ボリューム11100(2)について行われる。
<セグメントマイグレーション指示処理>。
図19は、セグメントマイグレーション指示処理のシーケンスを示す。
当該処理では、まず、ステップS8000にて、セグメントマイグレーション指示プログラム12112は、ボリュームテーブル12101と、プールテーブル12102とを基に、動的再配置の対象のプールに関連付けられている仮想ボリューム11100(2)を1つ選ぶ。以下、その仮想ボリューム11100(2)を、図19の説明において「対象VVOL」と言う。
次に、ステップS8010にて、プログラム12112は、物理リソーステーブル12103と、物理リソース割当てテーブル12104とを基に、対象VVOLの各仮想領域について、アクセス頻度(IOPS)と、割り当てられているセグメントのメディア種類とを特定する。
次に、ステップS8020にて、プログラム12112は、ステップS8010で特定されたアクセス頻度と、プールテーブル12102とを基に、対象VVOLの各仮想領域について、アクセス頻度が動的再配置条件を満たすメディア種類を特定する。
次に、ステップS8030にて、プログラム12112は、対象VVOLの各仮想領域について、ステップS8010で特定されたメディア種類と、ステップS8020で特定されたメディア種類とを比較する。
次に、ステップS8040にて、プログラム12112は、互いに不一致のメディア種類に対応した仮想領域に割り当てられているセグメントがあるか否かを判定する。この判定の結果が否定的の場合に、ステップS8070が行われ、この判定の結果が肯定的の場合に、ステップS8050が行われる。
ステップS8050にて、プログラム12112は、物理リソース割り当てテーブル12104とプールテーブル12102とを基に、マイグレーション先のセグメントを選択する。マイグレーション先のセグメントは、互いに不一致のメディア種類に対応した仮想領域のアクセス頻度が適合する動的再配置条件に対応した物理リソースに基づくセグメントである。
ステップS8060にて、プログラム12112が、マイグレーション元のセグメント(互いに不一致のメディア種類に対応した仮想領域に割り当てられているセグメント)からマイグレーション先のセグメント(ステップS8040で選択したセグメント)へのセグメントマイグレーションを、セグメントマイグレーションプログラム12111に指示する。その指示の際に、マイグレーション元のセグメントの情報(例えば、プールID、物理リソースID、物理LBA)と、マイグレーション先のセグメントの情報(例えば、プールID、物理リソースID、物理LBA)とが、セグメントマイグレーションプログラム12111に送られて良い。これにより、セグメントマイグレーションプログラム12111が、マイグレーション元のセグメントと、マイグレーション先のセグメントとを特定することができる。
次に、ステップS8070にて、セグメントマイグレーション指示プログラム12112は、一定時間経過するのを待つ。その後、S8000が再度行われる。なお、本ステップでのセグメントマイグレーション指示プログラム12112が待つ時間は、予め設定されていても良いし、ユーザ等により適時に変更されても良い。また、本実施例では、アクセス頻度を基に動的再配置条件に適合するか否かの判定が行われるが、アクセス頻度に代えて又は加えて、論理ボリュームのレスポンスタイム(例えば、論理ボリュームを指定したI/O要求を受けてからホスト計算機20000に応答が返されるまでの時間長)など、他の属性値が採用されても良い。
<セグメントマイグレーション処理>。
図20は、セグメントマイグレーション処理のシーケンスを示す。なお、当該処理のステップS6040、S6090は、図17に示したボリュームマイグレーションのステップS6040、S6090と同じであるため、説明は省略する。
当該処理では、まず、ステップS6000aにて、セグメントマイグレーションプログラム12112が、ボリューム割当てテーブル12105と物理リソース割当てテーブル12104とを参照し、下記の(1)及び(2):
(1)セグメントマイグレーション指示プログラム12112から指示されたマイグレーション元のセグメントに対応したマイグレーション状態121046を「マイグレーション中」に設定する、
(2)マイグレーション元のセグメントを有する仮想ボリューム11100(2)に対応したマイグレーション状態121053を「マイグレーション中」に設定する、
を行う。これにより、図21に示すように、当該セグメント(及びそのセグメントを含んだ仮想ボリューム11100(2))に対するライトは、本時点以降、当該セグメントに対してではなく、キャッシュメモリ領域に対して行うようにI/O制御プログラム12109によって制御される。なお、上記(2)は行われなくても良い。
次に、ステップS6010aにて、セグメントマイグレーションプログラム12112が、セグメントコピープログラム12110に、マイグレーション元のセグメントからマイグレーション先のセグメントにデータをコピーするよう指示する。
次に、ステップS6020aにて、セグメントコピープログラム12110が、ステップS6010aでの指示に応答して、マイグレーション元のセグメントからマイグレーション先のセグメントにデータをコピーする。
次に、ステップS6030aにて、セグメントマイグレーションプログラム12112が、I/O制御プログラム12109に、マイグレーション元のセグメントが割り当てられている仮想領域に対するライトを一時的に停止するように要求する。
ステップS6050aにて、セグメントマイグレーションプログラム12111が、I/O制御プログラム12109に、マイグレーション元セグメントが割り当てられている仮想領域について、キャッシュメモリ領域に書き込まれているデータを、マイグレーション先のセグメントに書き込むように要求する。
次に、ステップS6060aにて、I/O制御プログラム12109は、ステップS6050aの要求に応答して、マイグレーション元セグメントが割り当てられている仮想領域をライト先とするデータを、キャッシュメモリ領域からマイグレーション先のセグメントに書き込む。
次に、ステップS6070aにて、セグメントマイグレーションプログラム12111が、物理リソース割当てテーブル12104を参照し、マイグレーション元セグメントに割り当てられている仮想領域に対応した物理リソースID121044および物理LBA121045を、マイグレーション先セグメントの物理リソースIDおよび物理LBAに更新する。
次に、ステップS6080aにて、セグメントマイグレーションプログラム12112が、I/O制御プログラム12109に、ライトを再開するように要求する。
<セグメント単位のI/O制御処理>。
図21は、セグメント単位のI/O制御処理のシーケンスを示す。
当該処理のステップS7000、S7010、S7020、S7030、S7040、S7060、S7090、S7100、S7110は、図18に示したI/O制御のステップS7000、S7010、S7020、S7030、S7060、S7090、S7100、S7110と同じであるため、説明は省略する。
当該処理では、ステップS7050aにて、I/O制御プログラム12109が、I/O先の仮想領域に対応したマイグレーション状態121046が「マイグレーション中」か否かを判定する。この判定の結果が肯定的である場合に、ステップS7060が行われ、この判定の結果が否定的である場合に、ステップS7090が行われる。
ステップS7070aにて、I/O制御プログラム12109が、ライト先の仮想領域に対応する物理リソースID121044として、キャッシュメモリ領域の識別子を書込み、ライト先の仮想領域に対応する物理LBA121045として、キャッシュメモリ領域における書込み先のアドレスを書込む。
以上、実施例1で行われる処理の説明である。以上の説明によれば、動的再配置の効果が無いと見做される仮想ボリューム11100(2)が特定され、そのマイグレーション対象の仮想ボリューム11100(2)内のデータが、実ボリューム11100(1)にマイグレーションされる。マイグレーション先の実ボリューム11100(1)は、マイグレーション対象の仮想ボリューム11100(2)について最もメディア配置率の高いメディア種類と同じメディア種類の物理リソース11201に基づく実ボリューム11100(1)である。例えば、マイグレーション対象の仮想ボリューム11100(2)について、SSDに対応するメディア配置率は90%であり、SATAに対応するメディア配置率が10%である場合、マイグレーション先の実ボリューム11100(1)は、SSDに基づく実ボリューム11100(1)とされる。このため、仮想ボリューム11100(2)内のデータを、その仮想ボリューム11100(2)についてのメディア種類毎のメディア配置率に応じた適切な実ボリューム11100(1)に配置できる。また、その仮想ボリューム11100(2)に割り当てられていたセグメントは全て他の仮想ボリューム11100(2)に割り当て可能となるので、プール11200を有効に使用することが可能となる。
なお、動的再配置の効果が無いと見做される仮想ボリューム11100(2)は、マイグレーションポリシ次第であるが、そのポリシは、次の観点に従って定義されることが望ましい。
例えば、仮想ボリューム11100(2)について或るメディア種類(例えばSSD)に対応したメディア配置率が高いまま長時間経過している場合、仮想ボリューム11100(2)内のデータは、仮想ボリューム11100(2)よりも実ボリューム11100(1)に格納されることが好ましいと考えられる。なぜなら、その場合には、仮想ボリューム11100(2)内の多くのデータが、動的再配置において配置が変わることがなく、それ故、動的再配置の効果が無いからである。また、一般に、Thin Provisoningに従う仮想ボリュームへのI/Oは、I/O先の仮想領域に対応するセグメントを検索するための処理が必要である等の理由から、実ボリュームへのI/Oに比べて負荷が高く、それにも関らず、動的再配置の効果が得られないデータをプール11200に配置させ続けておくことは、I/O性能を無駄に低下させ、且つ、プール11200を無駄に消費することになるからである。
従って、マイグレーションポリシとしては、メディア配置率が偏っているということを意味する条件と、その偏りが続いている期間の条件とが含まれていることが望ましい。
以下、本発明の実施例2を説明する。なお、以下、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略或いは簡略する。
<実施例2の概要>。
実施例2では、マイグレーション先の実ボリューム11100(1)は、マイグレーション対象の仮想ボリューム11100(2)についてのメディア種類毎のメディア配置率に基づいて決定される。
<実施例2に係るデータ処理システムの構成>。
図22は、本発明の実施例2に係るデータ処理システムの構成を示す。
このデータ処理システムでは、管理計算機40000bが、実施例1での管理計算機40000と異なる。具体的には、マイグレーション先決定プログラム41006bが、実施例1でのマイグレーション先決定プログラム41006と異なる。マイグレーション先決定プログラム41006bは、マイグレーション対象の仮想ボリューム11100(2)についてのメディア種類毎のメディア配置率を基に、マイグレーション先の実ボリューム11100(1)を決定する。
<実施例2に係るマイグレーション先決定処理>。
図23は、実施例2に係るマイグレーション先決定処理のシーケンスを示す。
図23のステップS5000、S5030、S5040については、図16のマイグレーション先決定処理のS5000,S5030、S5040と処理が同じであるため、説明は省略する。
本実施例に係るマイグレーション先決定処理では、ステップS5010bにて、マイグレーション先決定プログラム41006bが、ステップS5000で得た情報を用いて構成情報テーブル41001を参照することにより、対象VVOL(マイグレーション対象の仮想ボリューム11100(2))に対応した配置先メディア割合410016及び容量410013を特定する。
ステップS5020bにて、プログラム41006bは、構成情報テーブル41001を参照し、S5000で特定した容量410013及び配置先メディア割合410016を基に、対象VVOLについて、メディア種類毎の容量を算出する。次に、プログラム41006bは、マイグレーション先の実ボリューム11100(1)として、各メディア種類の物理的な記憶領域の容量が、算出されたメディア種類毎の容量以上であり、かつ、パスフラグ410015がOFF(0)になっている実ボリューム11100(1)を選ぶ。このステップS5020bによれば、具体的には、下記の処理が行われる。
(*)S5000で特定した容量410013が、1000GBを表しており、配置先メディア割合410016が、SSD:20%、SAS:30%、SATA:50%を表しているとする。この場合、メディア種類毎の容量として、SSD:200GB、SAS:300GB、SATA:500GBが算出される。
(*)マイグレーション先の実ボリューム11100(1)として、SSD:200GB以上、SAS:300GB以上、SATA:500GB以上の物理的な記憶領域を基に構成されている実ボリューム11100(1)が決定される。
以上が、実施例2の説明である。実施例2によれば、動的再配置の効果が無いと見做される仮想ボリューム11100(2)からのデータのマイグレーション先は、その仮想ボリューム11100(2)の構成(メディア種類毎のメディア配置率)により近い構成の実ボリューム11100(1)となる。このため、より適切なデータ配置が期待できる。
以下、本発明の実施例3を説明する。なお、以下、実施例2との相違点を主に説明し、実施例2との共通点については説明を省略或いは簡略する。
<実施例3の概要>。
実施例3では、マイグレーション先の実ボリューム11100(1)は、マイグレーション対象の仮想ボリューム11100(2)のメディア配置率や容量だけでなく、その仮想ボリューム11100(2)の性能にも基づいて、決定される。ここで言う「性能」は、例えば、I/O速度(単位時間当たりに入出力されるデータの量)である。
<実施例3に係るデータ処理システムの構成>。
図24は、本発明の実施例3に係るデータ処理システムの構成を示す。
このデータ処理システムでは、ストレージサブシステム10000cが、実施例2でのストレージサブシステム10000と異なる。具体的には、下記が異なる。
(*)ボリュームテーブル12101cが、実施例2でのボリュームテーブル12101と異なる。ボリュームテーブル12101cの構成を図25に示す。図25によれば、テーブル12101cは、論理ボリューム11100毎に、性能情報121016を更に有する。性能情報121016は、論理ボリューム11100の性能(I/O速度)を表す情報である。なお、図25の例では、性能は「MB/s」(メガバイト/秒)で表されているが、表現はこの限りではなく、論理ボリューム11100の性能の情報を示す別の単位や指標が用いられても良い。
(*)性能監視プログラム12113が新たに設けられる。性能監視プログラム12113は、各論理ボリューム11100の性能を定期的に特定し、特定された性能を表す情報を、図2に示したテーブル12101cの性能情報121016として登録する。
構成情報取得プログラム12106cが、実施例2での構成情報取得プログラム12106と異なる。構成情報取得プログラム12106cは、性能情報121016が表す情報を含んだ構成情報を取得し、その構成情報を管理計算機40000cに送信する。
また、このデータ処理システムでは、管理計算機40000cが、実施例2での管理計算機40000bと異なる。具体的には、下記が異なる。
(*)構成情報テーブル41001cが、実施例2での構成情報テーブル41001と異なる。構成情報テーブル41001cの構成を図26に示す。図26によれば、テーブル41001cは、論理ボリューム11100毎に、性能情報410018を更に有する。性能情報410018は、論理ボリューム11100の性能(I/O速度)を表す情報である。この情報410018は、構成情報から特定された情報を表す。
(*)マイグレーション先決定プログラム41006cが、実施例2でのマイグレーション先決定プログラム41006bと異なる。マイグレーション先決定プログラム41006cは、マイグレーション対象の仮想ボリューム11100(2)のメディア配置率や容量だけでなく、その仮想ボリューム11100(2)の性能(性能情報410018が表す性能)にも基づいて、マイグレーション先の実ボリューム11100(1)を決定する。
<実施例3に係る構成情報取得処理>。
図27は、実施例3に係る構成情報取得処理のシーケンスを示す。
当該処理のステップS2000と、S2020と、S2050は、図12に示したステップS2000と、S2020と、S2050と同じであるため、説明は省略する。
当該処理では、ステップS2010cにて、構成情報取得プログラム12106cが、ボリュームテーブル12101c、プールテーブル12102及び物理リソーステーブル12103cが表す情報(論理ボリューム11100の性能情報121016が表す情報を含む)を収集する。
ステップS2030cにて、プログラム12106cが、ステップS2010cで収集された情報と、ステップS2020で取得された情報とを含んだ構成情報を、構成管理プログラム41003に返す。
ステップS2040cにて、構成管理プログラム41003が、ストレージサブシステム10000cの構成情報(性能情報を含む)を、構成情報テーブル41001cに格納する。
<ボリューム性能監視処理>。
図28は、ボリューム性能監視処理のシーケンスを示す。
当該処理では、ステップS9000にて、性能監視プログラム12113は、ボリュームテーブル12101cを参照する。
ステップS9010にて、性能監視プログラム12113は、ボリュームテーブル12101cから、ステップS9010からステップS9050のループにおいて未チェックの論理ボリューム11100を1つ選択し、選択した論理ボリューム(以下、図28の説明において、「選択ボリューム」)11100に対応した性能情報121016を特定する。
ステップS9020にて、プログラム12113は、特定された性能情報121016が、0MB/sを表すか否かを判定する。この判定の結果が否定的である場合に、ステップS9030が行われ、この判定の結果が肯定的である場合に、ステップS9040が行われる。
ステップS9030にて、プログラム12113は、選択ボリューム11100に対応した性能情報121016を、選択ボリューム11100の現在の性能を表す情報(例えば実際に測定された値)に更新する。
ステップS9040では、プログラム12113は、選択ボリューム11100に対応した性能情報121016を、選択ボリューム11100に従う固定値に更新する。選択ボリューム11100に従う固定値としては、例えば、選択ボリューム11100に基づくメディア種類に対応したスペックを基に算出された見込み性能であっても良いし、ユーザ(ストレージ管理者)が予測した値であっても良い。
ステップS9050にて、プログラム12113は、全ての論理ボリューム11100のチェックが終了しているかを判定する。この判定の結果が否定的である場合に、ステップS9010が行われ、この判定の結果が肯定的である場合に、ステップS9060が行われる。
ステップS9060にて、プログラム12113は、一定時間経過するのを待つ。その後、S9000が行われる。本ステップで性能監視プログラム12113が待つ期間は、予め定められていても良いし、ユーザ(ストレージ管理者)等により適時に変更されても良い。
<実施例3に係るマイグレーション先決定処理>。
図29は、実施例3に係るマイグレーション先決定処理のシーケンスを示す。
当該処理のステップS5000、S5010b、S5030及びS5040は、図25のS5000,S5010b、S5030及びS5040と同じであるため、説明は省略する。
当該処理では、ステップS5020cにて、マイグレーション先決定プログラム41006cは、構成情報テーブル41001cを参照し、S5000で特定した容量410013及び配置先メディア割合410016を基に、対象VVOL(マイグレーション対象の仮想ボリューム11100(2))について、メディア種類毎の容量を算出する。次に、プログラム41006cは、マイグレーション先の実ボリューム11100(1)として、各メディア種類の物理的な記憶領域の容量が、算出されたメディア種類毎の容量以上であり、パスフラグ410015がOFF(0)になっており、且つ、対象VVOL以上の性能を有する実ボリューム11100(1)を選ぶ。
以上が、実施例3の説明である。実施例3によれば、動的再配置の効果が無いと見做される仮想ボリューム11100(2)からのデータのマイグレーション先は、その仮想ボリューム11100(2)の構成(メディア種類毎のメディア配置率)より近い構成を有し、且つ、その仮想ボリューム11100(2)の性能以上の性能を有する実ボリューム11100(1)となる。このため、より適切なデータ配置が期待できる。
以上、本発明の幾つかの実施例を説明したが、本発明は、これらの実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、実施例2及び3で決定されるマイグレーション先の実ボリューム11100(1)の条件として、マイグレーション対象の仮想ボリューム11100(2)の容量以上の容量を有することが採用されて良い。また、実施例3で決定されるマイグレーション先の実ボリューム11100(1)の条件は、メディア種類毎の容量以上の容量を各メディア種類について有することに代えて、マイグレーション対象の仮想ボリューム11100(2)に関して最もメディア配置率の高いメディア種類と同じメディア種類の物理リソース11201に基づいていることが採用されて良い。
また、メディア配置率は、仮想ボリューム11100(2)の容量(全域)のうち、或るメディア種類のセグメントがどの程度存在するかであっても良い。
また、マイグレーション先として、実ボリューム11100(1)に限らず、仮想ボリューム11100(2)が決定されても良い。ただし、その際、マイグレーション先の仮想ボリューム11100(2)に関連付けられているプール(以下、マイグレーション先のプール)11200についての動的再配置条件は、マイグレーション対象の仮想ボリューム11100(2)に関連付けられているプール(以下、マイグレーション元のプール)11200についての動的再配置条件と異なっていることが望ましい。なぜなら、それらが互いに異なっていれば、仮想ボリューム11100(2)間のボリュームマイグレーション後に、マイグレーション先の仮想ボリューム11100(2)についての動的再配置で、マイグレーション先の仮想ボリューム11100(2)内のデータが、マイグレーション先のプール11200内においてマイグレーションされる可能性があるためである。つまり、動的再配置の効果が得られることが期待されるからである。
また、マイグレーション対象の論理ボリューム11100は、仮想ボリューム11100(2)に限らず、実ボリューム11100(1)であっても良い。例えば、或る実ボリューム11100(1)をマイグレーション先としたボリュームマイグレーションが行われた後に、その或る実ボリューム11100(1)を構成する複数のボリューム領域において、アクセス頻度が偏る可能性がある。このため、I/O制御プログラム12109が、実ボリュームの各ボリューム領域についても、アクセス頻度を監視して良い。そして、ボリュームマイグレーションでは、実ボリューム11100(1)内のボリューム領域から、仮想ボリューム11100(2)内の仮想領域(マイグレーション元のボリューム領域のアドレスに対応したアドレスに属する仮想領域)にデータがマイグレーションされて良い。その際、マイグレーション先の仮想領域には、マイグレーション元のボリューム領域のアクセス頻度が属するアクセス頻度範囲の物理リソース11201に基づくセグメントが割り当てられて良い。
また、マイグレーション元の論理ボリューム11100とマイグレーション先の論理ボリューム11100は、別々のストレージサブシステムに存在しても良い。この場合、管理計算機からのマイグレーション指示は、マイグレーション元の論理ボリュームを有するストレージサブシステム(以下、マイグレーション元サブシステム)に送られても良いし、マイグレーション先の論理ボリュームを有するストレージサブシステム(以下、マイグレーション先サブシステム)に送られても良い。この場合、複数のストレージサブシステムでストレージシステムが構成されていることになる。ストレージシステムにおいて、ストレージサブシステム間のマイグレーションは、マイグレーション元サブシステムがマイグレーション先サブシステムへ要求(例えばライト要求)を送信することにより行われても良いし、マイグレーション先サブシステムがマイグレーション元サブシステムへ要求(例えばリード要求)を送信することにより行われても良い。
また、動的再配置は、セグメント単位ではなく論理ボリューム単位で行われても良い。例えば、第1の論理ボリュームのI/O状況(例えば、アクセス頻度、レスポンスタイム、或いは、最終I/O時刻からの経過時間など)が、第1の論理ボリュームの基になっている第1の物理リソースのメディア種類に対応した動的再配置条件(I/O状況に関する条件)に適合しない場合、第1の論理ボリュームのI/O状況に適した動的差配置条件が対応付けられている第2の物理リソースが基になって言う第2の論理ボリュームに、第1の論理ボリューム内のデータがマイグレーションされても良い。
また、管理計算機40000が有するテーブルやプログラムは、管理計算機40000に代えて、ストレージサブシステム又はホスト計算機で実行されても良い。
10000、10000b、10000c ストレージサブシステム
11000 ディスク装置
11100 論理ボリューム
11200 プール
11201 物理リソース
12000 コントローラ
12100 メモリ

Claims (15)

  1. 複数種類のメディア及びコントローラを含み複数の論理ボリュームを提供し再配置処理を行うストレージシステムストレージシステム、に接続された管理システムであって、
    下記の(1)乃至(3)の情報を記憶する記憶資源と、
    (1)前記ストレージシステムが提供する複数の論理ボリュームに関する情報である構成管理情報、
    (2)前記再配置処理の対象となる一以上の論理ボリュームのグループである再配置グループを表す情報である再配置グループ情報、
    (3)前記再配置処理の効果が無いとみなされる条件であるマイグレーションポリシを表す情報であるマイグレーションポリシ情報、
    前記記憶資源に接続されたプロセッサと
    を有し、
    前記再配置処理は、再配置ポリシに従って特定したデータを、そのデータが記憶されているメディアから、そのメディアとは別の種類のメディアにマイグレーションする処理であり、
    前記プロセッサは、
    (A)前記マイグレーションポリシ情報が表すマイグレーションポリシに適合する論理ボリュームを前記再配置グループから探し、
    (B)前記(A)によって見つけた論理ボリューム内のデータを前記再配置グループ外に出すことを前記ストレージシステムに実行させる、
    管理システム。
  2. 請求項1記載の管理システムであって、
    前記複数の論理ボリュームには、複数の仮想領域で構成された仮想ボリュームがあり、
    前記ストレージシステムは、前記複数種類のメディアで構成された記憶領域であるプールと、複数種類の物理リソースとを有し、
    各種メディアは、同種の物理リソースに基づいており、
    前記メディアの種類は、前記メディアの基になっている物理リソースの種類に依存し、
    前記ストレージシステムは、前記仮想ボリュームの仮想領域が指定されたI/O(Input/Output)要求をホスト装置から受信した場合、前記仮想ボリュームにおけるI/O先の仮想領域に実領域が割り当てられていなければ、前記プールにおけるいずれかのメディアから前記I/O先の仮想領域に実領域を割り当て、割り当てた実領域に対してI/Oを行い、前記I/O先の仮想領域に実領域が割り当てられていれば、その実領域に対してI/Oを行い、
    前記ストレージシステムは、前記仮想ボリュームの仮想領域が指定されたI/O要求をホスト装置から受信した場合、又は、その仮想領域に割り当てられた実領域に対するI/Oを行った場合、その仮想領域についてのI/O状況を更新し、
    前記ストレージシステムは、下記の(a)及び(b)の処理を含んだ前記再配置処理を行い、
    (a)前記仮想ボリュームにおける第1の仮想領域についてのI/O状況が、前記第1の仮想領域に割り当てられている第1の実領域を有するメディアについてのI/O状況条件を満たしていない場合、前記第1の実領域内のデータを、前記第1の仮想領域のI/O状況が適合するI/O状況条件に対応するメディア内の第2の実領域にマイグレーションする、
    (b)前記第1の仮想領域に、前記第1の実領域に代えて前記第2の実領域を割り当てる、
    前記マイグレーションポリシは、前記データ配置に関する条件である配置条件と、その配置条件に適合し続けた期間に関する条件である期間条件とを含み、
    前記(A)において、前記プロセッサが、データ配置が前記配置条件に適合し続けた期間が前記期間条件を満たす仮想ボリュームを探す、
    管理システム。
  3. 請求項2記載の管理システムであって、
    前記複数の論理ボリュームには、種類の異なる複数の実ボリュームがあり、
    各実ボリュームは、1種類以上の物理リソースに基づいており、
    実ボリュームの種類は、その実ボリュームの基になっている物理リソースの種類に依存し、
    前記(B)において、前記プロセッサは、前記(A)で見つかった仮想ボリュームのデータ配置と、各実ボリュームの基になっている物理リソースの種類とに基づいて、マイグレーション先の実ボリュームを決定する、
    管理システム。
  4. 請求項3記載の管理システムであって、
    前記マイグレーション先の実ボリュームは、前記(A)で見つかった仮想ボリュームに割り当てられている1以上の実領域のうち最も多くの実領域を有するメディアの種類と同じ種類の物理リソースに基づく実ボリュームである、
    管理システム。
  5. 請求項3記載の管理システムであって、
    前記マイグレーション先の実ボリュームは、物理リソースの種類毎の容量が前記(A)で見つかった仮想ボリュームについてのメディア種類毎の実容量以上となっている実ボリュームであり、
    メディア種類の実容量とは、そのメディア種類のメディアから割り当てられている1以上の実領域の総記憶容量である、
    管理システム。
  6. 請求項3記載の管理システムであって、
    前記マイグレーション先の実ボリュームは、前記(A)で見つかった仮想ボリュームのI/O性能以上のI/O性能を有する実ボリュームである、
    管理システム。
  7. 請求項2記載の管理システムであって、
    前記構成管理情報は、前記仮想ボリューム内のデータのうち、どのぐらいのデータがどの種類のメディアに配置されているかのデータ配置に関する情報を含み、
    前記(A)の処理は、定期的に又は不定期的に行われ、
    前記(A)において、前記プロセッサは、
    (a1)前記構成管理情報を基に、前記仮想ボリュームのデータ配置が前記配置条件を満たすか否かを判定し、
    (a2)前記(a1)の判定の結果が肯定的の場合、前記仮想ボリュームのデータ配置が前記配置条件を満たすと判定された時刻である開始時刻が管理されているか否かを判定し、
    (a3)前記(a2)の判定の結果が否定的の場合、前記仮想ボリュームについて、前記配置条件が満たされたときの時刻を前記開始時刻として管理し、この(A)の処理を終了し、
    (a4)前記(a2)の判定の結果が肯定的の場合、前記開始時刻からの経過時間が前記期間条件に適合するか否かを判定し、
    (a5)前記(a4)の判定の結果が否定的の場合、この(A)の処理を終了し、
    前記(A)で見つかった仮想ボリュームは、前記(a4)の判定の結果が肯定的となった仮想ボリュームである、
    管理システム。
  8. 請求項2記載の管理システムであって、
    前記マイグレーションポリシは、ユーザによって、仮想ボリューム毎に設定される、
    管理システム。
  9. 請求項2記載の管理システムであって、
    前記マイグレーションポリシは、複数の条件セットと、前記複数の条件セットのうちのどの1以上の条件セットが満たされる必要があるかの条件である論理条件とで構成され、
    各条件セットは、配置条件と期間条件とを含んだセットである、
    管理システム。
  10. 請求項1記載の管理システムであって、
    前記マイグレーション先の論理ボリュームは、前記(A)で見つかった論理ボリュームのI/O性能以上のI/O性能を有する論理ボリュームである、
    管理システム。
  11. 請求項3記載の管理システムであって、
    前記マイグレーション先の論理ボリュームは、前記ホスト装置からI/Oが行われ得ない状態の論理ボリュームであり、
    マイグレーションの後、前記マイグレーション先の論理ボリュームは、前記ホスト装置からI/Oが行われ得る状態となる、
    管理システム。
  12. 請求項1記載の管理システムであって、
    前記ストレージシステムが、前記複数種類のメディアに基づく二以上の物理リソースを含んだ複数の物理リソースを有し、
    前記(B)において、前記プロセッサが、前記再配置グループに含まれている論理ボリュームに関わらない物理リソースを前記複数の物理リソースから特定し、特定された物理リソースに基づく論理ボリュームを新たに作成し、前記(A)によって見つけた論理ボリューム内のデータを前記新たに作成した論理ボリュームに格納することを前記ストレージシステムに実行させ、
    前記再配置グループに含まれない論理ボリュームとは、前記新たに作成した論理ボリュームである、
    管理システム。
  13. 請求項1記載の管理システムであって、
    前記(B)において、前記プロセッサが、前記(A)によって見つけた論理ボリュームを前記再配置グループから外し、
    前記再配置グループに含まれない論理ボリュームとは、前記再配置グループから外された、前記(A)によって見つけた論理ボリュームである、
    管理システム。
  14. 複数種類のメディア及びコントローラを含み複数の論理ボリュームを提供し再配置処理を行うストレージシステムと、
    前記ストレージシステムに接続された管理システムと
    を有し、
    前記再配置処理は、再配置ポリシに従って特定したデータを、そのデータが記憶されているメディアから、そのメディアとは別の種類のメディアにマイグレーションする処理であり、
    前記管理システムが、
    (A)前記再配置処理の効果が無いとみなされる条件であるマイグレーションポリシに適合する論理ボリュームを、前記再配置処理の対象となる一以上の論理ボリュームのグループである再配置グループから探し、
    (B)前記(A)によって見つけた論理ボリューム内のデータを前記再配置グループ外に出すことを前記ストレージシステムに実行させる、
    管理システム。
  15. 複数種類のメディア及びコントローラを含み、複数の論理ボリュームを提供し、再配置ポリシに従って特定したデータをそのデータが記憶されているメディアからそのメディアとは別の種類のメディアにマイグレーションする再配置処理を行うストレージシステムでのデータの配置を制御する方法であって、
    (A)前記再配置処理の効果が無いとみなされる条件であるマイグレーションポリシに適合する論理ボリュームを、前記再配置処理の対象となる一以上の論理ボリュームのグループである再配置グループから探し、
    (B)前記(A)によって見つけた論理ボリューム内のデータを前記再配置グループに含まれない論理ボリュームに出すことを前記ストレージシステムに実行させる、
    データ配置制御方法。
JP2010051577A 2010-03-09 2010-03-09 ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法 Pending JP2011186794A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010051577A JP2011186794A (ja) 2010-03-09 2010-03-09 ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法
US12/780,578 US20110225117A1 (en) 2010-03-09 2010-05-14 Management system and data allocation control method for controlling allocation of data in storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010051577A JP2011186794A (ja) 2010-03-09 2010-03-09 ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法

Publications (1)

Publication Number Publication Date
JP2011186794A true JP2011186794A (ja) 2011-09-22

Family

ID=44560879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010051577A Pending JP2011186794A (ja) 2010-03-09 2010-03-09 ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法

Country Status (2)

Country Link
US (1) US20110225117A1 (ja)
JP (1) JP2011186794A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013103003A1 (ja) * 2012-01-05 2013-07-11 株式会社日立製作所 計算機システムの管理装置及び管理方法
WO2014045441A1 (ja) * 2012-09-24 2014-03-27 株式会社日立製作所 ストレージ装置が有する階層型プール内のデータの配置を制御する計算機及び方法
JP2014167700A (ja) * 2013-02-28 2014-09-11 Toshiba Corp 計算機、メモリ管理方法およびプログラム
JP2017107300A (ja) * 2015-12-07 2017-06-15 富士通株式会社 データ管理プログラム及びデータ管理方法
US9946488B2 (en) 2014-09-30 2018-04-17 International Business Machines Corporation Automated migration of file recalled by specific application
US9977616B2 (en) 2014-09-24 2018-05-22 Fujitsu Limited Storage device and storage control method

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863605B2 (ja) * 2004-04-09 2012-01-25 株式会社日立製作所 記憶制御システム及び方法
JP5821392B2 (ja) * 2011-08-12 2015-11-24 富士通株式会社 ストレージ装置、およびストレージ管理方法
WO2014016872A1 (en) * 2012-07-26 2014-01-30 Hitachi, Ltd. Computer system, data management apparatus, and data management method
US20150242134A1 (en) * 2012-10-22 2015-08-27 Hitachi, Ltd. Method and computer system to allocate actual memory area from storage pool to virtual volume
US9032153B2 (en) 2013-01-22 2015-05-12 International Business Machines Corporation Use of flash cache to improve tiered migration performance
US9325791B1 (en) * 2013-03-12 2016-04-26 Western Digital Technologies, Inc. Cloud storage brokering service
US9792150B1 (en) * 2013-06-28 2017-10-17 Veritas Technologies Llc Detecting site change for migrated virtual machines
US9882984B2 (en) * 2013-08-02 2018-01-30 International Business Machines Corporation Cache migration management in a virtualized distributed computing system
US9509769B2 (en) * 2014-02-28 2016-11-29 Sap Se Reflecting data modification requests in an offline environment
JP6500505B2 (ja) * 2015-03-05 2019-04-17 富士通株式会社 制御装置、制御方法、および制御プログラム
JP7197783B2 (ja) * 2019-01-11 2022-12-28 富士通株式会社 情報処理システム、管理装置および管理プログラム
US11269525B2 (en) * 2020-01-06 2022-03-08 International Business Machines Corporation Co-processing a plurality of dependent systems with a finite number of processing threads
US11971791B2 (en) * 2022-08-12 2024-04-30 Capital One Services, Llc Automated regional failover

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395396B2 (en) * 2004-08-30 2008-07-01 Hitachi, Ltd. Storage system and data relocation control device
JP5228988B2 (ja) * 2009-02-23 2013-07-03 富士通株式会社 割当制御プログラム及び割当制御装置
US8291429B2 (en) * 2009-03-25 2012-10-16 International Business Machines Corporation Organization of heterogeneous entities into system resource groups for defining policy management framework in managed systems environment
US8732217B2 (en) * 2009-10-30 2014-05-20 Symantec Corporation Using a per file activity ratio to optimally relocate data between volumes

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013103003A1 (ja) * 2012-01-05 2013-07-11 株式会社日立製作所 計算機システムの管理装置及び管理方法
WO2014045441A1 (ja) * 2012-09-24 2014-03-27 株式会社日立製作所 ストレージ装置が有する階層型プール内のデータの配置を制御する計算機及び方法
JP5893745B2 (ja) * 2012-09-24 2016-03-23 株式会社日立製作所 ストレージ装置が有する階層型プール内のデータの配置を制御する計算機及び方法
JP2014167700A (ja) * 2013-02-28 2014-09-11 Toshiba Corp 計算機、メモリ管理方法およびプログラム
US9977616B2 (en) 2014-09-24 2018-05-22 Fujitsu Limited Storage device and storage control method
US9946488B2 (en) 2014-09-30 2018-04-17 International Business Machines Corporation Automated migration of file recalled by specific application
US10013206B2 (en) 2014-09-30 2018-07-03 International Business Machines Corporation Automated migration of file recalled by specific application
US10055165B2 (en) 2014-09-30 2018-08-21 International Business Machines Corporation Automated migration of file recalled by specific application
JP2017107300A (ja) * 2015-12-07 2017-06-15 富士通株式会社 データ管理プログラム及びデータ管理方法

Also Published As

Publication number Publication date
US20110225117A1 (en) 2011-09-15

Similar Documents

Publication Publication Date Title
JP2011186794A (ja) ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法
US8984221B2 (en) Method for assigning storage area and computer system using the same
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
JP5502232B2 (ja) ストレージシステム、及びその制御方法
CN104636080B (zh) 存储系统及用于其的方法
US8694727B2 (en) First storage control apparatus and storage system management method
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5706531B2 (ja) 計算機システム、及び情報管理方法
JP5946521B2 (ja) データのデフラグに対する要求に応答するための方法、データ・ストレージ・システム及びプログラム
JP5793196B2 (ja) 仮想ボリュームに割り当てられた要求性能に基づく制御を行うストレージシステムの管理システム及び管理方法
US20100082900A1 (en) Management device for storage device
JP5309259B2 (ja) ストレージ装置及びその制御方法
EP1953636A2 (en) Storage module and capacity pool free capacity adjustment method
EP1837751A2 (en) Storage system, storage extent release method and storage apparatus
JP2012505441A (ja) ストレージ装置およびそのデータ制御方法
EP3662359A1 (en) Extending ssd longevity
JP2011070345A (ja) 計算機システム、計算機システムの管理装置、計算機システムの管理方法
WO2015198441A1 (ja) 計算機システム、管理計算機、および管理方法
JP5421201B2 (ja) 計算機システムを管理する管理システム及び管理方法
US8732428B2 (en) Computer system and its control method
CN105164629B (zh) 计算机系统及其层级存储的控制方法
US20160364400A1 (en) Management server which outputs file relocation policy, and storage system
JP5501504B2 (ja) 記憶装置のデータ移行制御方法
JP6035363B2 (ja) 管理計算機、計算機システム、及び管理方法
WO2010038258A1 (en) Storage system having function of performing formatting or shredding