JP5795496B2 - 疎結合複数ストレージ環境のための階層式ストレージプール管理及び制御 - Google Patents

疎結合複数ストレージ環境のための階層式ストレージプール管理及び制御 Download PDF

Info

Publication number
JP5795496B2
JP5795496B2 JP2011118219A JP2011118219A JP5795496B2 JP 5795496 B2 JP5795496 B2 JP 5795496B2 JP 2011118219 A JP2011118219 A JP 2011118219A JP 2011118219 A JP2011118219 A JP 2011118219A JP 5795496 B2 JP5795496 B2 JP 5795496B2
Authority
JP
Japan
Prior art keywords
volume
storage subsystem
pool
storage
end storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011118219A
Other languages
English (en)
Other versions
JP2012043407A (ja
Inventor
智大 川口
智大 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2012043407A publication Critical patent/JP2012043407A/ja
Application granted granted Critical
Publication of JP5795496B2 publication Critical patent/JP5795496B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • 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

Landscapes

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

Description

0001 本発明は、一般的にストレージシステムに関し、特に疎結合複数異種ストレージ環境のための階層式ストレージプール管理及び制御に関する。疎結合接続は、標準化されたネットワーク及び広くない(内部バスより狭い)ネットワークを使用し、ネットワークに接続された各デバイスの制御は、他のデバイスの制御から独立している。疎結合接続を使用することによって、異種(マルチベンダ、マルチタイプの製品、及び多世代の製品)の装置を一つのシステムに統合することができる。
0002 ストレージ仮想化は、広く使用されている技術である。例えば、シンプロビジョニング及びページ単位階層式ストレージ等を含む。ストレージ仮想化技術の使用は、ストレージの有用性及び効率を向上させることができる。有用性の向上は、内部構成(例えば、ディスク構成、階層構成、データ位置等)を隠すことによる。効率の向上は、ストレージリソース(例えば、ディスク作業負荷、プロセッサ作業負荷、内部バス作業負荷、容量等)の共有による。一般に、これらのストレージ仮想化技術は、一つのストレージコントローラでのみ適用することができる。一つの例外は、「外部ボリュームのマウント」機能が関わる場合であり、外部ボリュームのマウント機能は、高性能ストレージサブシステムと低コストストレージサブシステムの間の階層式管理の状況に適切である。しかし、これは、高性能ストレージサブシステムを高性能ストレージサブシステムに接続することによって、リソースの浪費及び性能の不要なオーバーヘッドを引き起こす。多くのユーザは、そのIT(情報技術)システムに複数のストレージサブシステムを有する。各ストレージサブシステムは、他のストレージサブシステムから独立している。
これによって、システム設計及びシステム操作のために、困難かつ面倒なストレージシステム管理がもたらされる。結果として、2つの高性能ストレージの間のリソース共有が困難であるため、全体的なストレージシステムのリソースが浪費される。複数のストレージサブシステムを含む環境で、総リソース量を管理し、かつ効率を向上させることは困難である。
0003 本発明の典型的な実施形態は、全体的なストレージシステムの管理可能性を向上させるための方法及び装置を提供するものであり、統合ストレージプール管理が、各階層のリソース量を示す。統合/システムストレージプールは、複数のストレージサブシステムを含む。各階層の量は、各ストレージサブシステムのプールの階層容量の合計である。ストレージシステムの制御を向上させるために、各ストレージサブシステムは、それ自身のリソースを管理する。ストレージサブシステムが他のストレージサブシステムのリソースを使用する必要がある場合は、そのストレージサブシステムは、標準的なI/Oインタフェースによって当該リソースにアクセスする。ストレージサブシステムは、外部リソースで階層管理制御を実行することができ、外部リソースの階層の優先順位は、ネットワーク及び外部ストレージ性能に左右される。ストレージリソースの効率を向上させるために、統合ストレージ管理は、複数のストレージサブシステムの間でリバランスする方法を選択することができ、ストレージサブシステムは、その選択に従ってリソース及び/又はデータの割り当てを変更する。例えば、ストレージサブシステムの間での容量貸与、ストレージサブシステム間でのオンラインボリューム移動、ストレージサブシステム間での外部ボリュームへのパス変更を含む。リソース割り当ての循環を避けるために、ストレージサブシステムは、別のストレージサブシステムのために他方のストレージサブシステムリソース上にページを割り当てることを禁止し、ストレージサブシステムは、ユーザに、他方のストレージサブシステムから貸与するリソース量を示さない。
0004 本発明の一態様に従って、システムは、ホストコンピュータから入出力(I/O)コマンドを受信するとともに、前記ホストコンピュータに第1のストレージボリュームを提供する第1のストレージコントローラを含む第1のストレージシステムと、ホストコンピュータからI/Oコマンドを受信するとともに、前記ホストコンピュータに第2のストレージボリュームを提供する第2のストレージコントローラを含む第2のストレージシステムとを備える。前記第1のストレージボリュームのうちの一つの第1のデータ記憶領域は、前記第1のストレージコントローラによって第1のプールから割り当てられる。前記第1のストレージボリュームのうちの他の一つの第2のデータ記憶領域は、前記第1のストレージコントローラによって第2のプールから割り当てられる。前記第2のストレージボリュームのうちの一つの第3のデータ記憶領域は、前記第2のストレージコントローラによって前記第1のプールから割り当てられる。前記第2のストレージボリュームのうちの他の一つの第4のデータ記憶領域は、前記第2のストレージコントローラによって前記第2のプールから割り当てられる。
0005 いくつかの実施形態では、前記第2のストレージコントローラによる、前記第1のプールからの、前記第1のストレージボリュームのうちの前記他の一つの前記第2のデータ記憶領域の割り当てが禁止される。前記第1のストレージコントローラによる、前記第2のプールからの、前記第1のストレージボリュームのうちの前記他の一つの前記第2のデータ記憶領域の割り当てに応じて、前記第2のストレージコントローラは、前記第2のプールの容量から、前記第1のボリュームに割り当てられた量を減ずる。前記第1のストレージコントローラによる、前記第2のプールからの、前記第1のストレージボリュームのうちの前記他の一つの前記第2のデータ記憶領域の割り当てに応じて、前記第2のストレージコントローラは、前記第2のプールの容量から、前記第1のボリュームに割り当てられた量を減ずる。前記第1のプールは、複数の第1の階層を使用して管理され、前記第2のプールは、複数の第2の階層を使用して管理され、及び第2のデータ記憶領域に割り当てられた前記第2のプールに割り当てられる記憶媒体は、前記複数の第1の階層から独立した階層として管理される。前記独立階層は、使用される前記記憶媒体のネットワーク特性及びアクセス速度によって決定される。前記記憶媒体が前記第1のプールのために使用される記憶媒体と同じである場合は、前記第1のプールのために使用される前記記憶媒体は、前記独立階層と比べて高い優先順位を有する。
0006 一実施形態では、管理サーバは、前記システムの負荷要件に基づいて、容量を前記第2のプールから前記第1のストレージシステムに貸与するか、又は前記第1及び第2のストレージコントローラの両方に結合された記憶媒体に対して、前記第2のストレージコントローラから前記第1のストレージコントローラに制御を変更するかを選択する。他の実施形態では、管理サーバは、前記システムの負荷要件に基づいて、容量を前記第2のプールから前記第1のストレージシステムに貸与するか、データを前記第1のストレージボリュームから前記第2のストレージボリュームに移動するか、又は前記第1及び第2のストレージコントローラの両方に結合される記憶媒体に対して、前記第2のストレージコントローラから前記第1のストレージコントローラに制御を変更するかを選択する。
0007 本発明の他の態様に従って、システムは、ホストコンピュータから入出力(I/O)コマンドを受信するとともに、前記ホストコンピュータに第1のストレージボリュームを提供する第1のストレージコントローラを含む第1のストレージシステムと、ホストコンピュータからI/Oコマンドを受信するとともに、前記ホストコンピュータに第2のストレージボリュームを提供する第2のストレージコントローラを含む第2のストレージシステムと、前記第1のプールに割り当てられる記憶媒体とを備える。前記第1のストレージボリュームのうちの一つの第1のデータ記憶領域は、前記第1のストレージコントローラによって第1のプールから割り当てられる。前記第2のストレージボリュームのうちの一つの第2のデータ記憶領域が、前記第2のストレージコントローラによって第2のプールから割り当てられる。管理サーバからのコマンドに応じて、前記第2のストレージコントローラは、前記記憶媒体を前記第2のプールに割り当て、前記第1のストレージコントローラは、前記第1のプールから前記記憶媒体を解放する。
0008 特定の実施形態では、管理サーバは、前記システムの負荷要件に基づいて、第1のストレージボリュームを第2のストレージボリュームに移動するか、又は前記第1及び第2のストレージコントローラの両方に結合される記憶媒体に対して、前記第2のストレージコントローラから前記第1のストレージコントローラに制御を変更するかを選択する。
0009 本発明の他の態様に従って、システムは、各ストレージシステムが、ホストコンピュータから入出力(I/O)コマンドを受信するとともに、個別のプールからストレージボリュームを供給するストレージコントローラを含む、複数のストレージシステムと、前記複数のストレージシステムに接続された管理サーバとを備える。前記複数のストレージシステムの各々の前記個別のプールが、複数の記憶媒体に割り当てられるとともに、複数の個別の階層を含む。前記管理サーバは、前記複数のストレージシステムに割り当てられた記憶媒体の情報を収集するとともに、前記収集された情報の前記記憶媒体の特徴に基づいて、前記複数のストレージシステムに割り当てられた記憶媒体を含むシステムプールのための複数のシステム階層を動的に決定する。
0010 いくつかの実施形態では、前記管理サーバは、前記システムプールのための前記複数のシステム階層に関する決定の結果を、前記複数のストレージシステムに通知する。記憶媒体が前記システムプールに追加された後で、前記管理サーバは、前記追加された記憶媒体の追加によって影響を受ける、前記複数のストレージシステムのうちの一つの該当する個別のプールのための前記複数の個別の階層を調整する。ユーザの要求に応じて、前記管理サーバは、前記システムプールのための前記複数のシステム階層を変更する。前記システムプールのための前記複数のシステム階層の変更に応じて、前記複数の個別の階層は自動的に調整される。前記管理サーバは、前記複数のストレージシステムのための前記ストレージコントローラの条件に基づいて、前記ストレージボリュームの構成又は位置の少なくとも一つを決定する。
0011 特定の実施形態では、前記ストレージシステムのうちの一つの前記個別のプールを解放するようにという要求に応じて、解放されるべき前記個別のプールの内部ストレージボリュームが、前記複数のストレージシステムのうちの他のストレージシステムの前記個別のプールに移動されるか、前記第1のストレージシステムの前記ストレージコントローラによって割り当てられ、かつ直接制御された記憶媒体が、前記複数のストレージシステムのうちの他のストレージシステムの前記ストレージコントローラに割り当てられるか、又は前記複数のストレージシステムのうちの他のストレージシステムの前記ストレージコントローラによって制御される外部ボリュームのデータが、前記外部ボリュームの前記データを制御する前記他のストレージシステムの前記ストレージコントローラによって制御されるストレージボリュームに移動されるかのうち、少なくとも一つが前記システム内で生じる。外部ボリュームの前記データは、前記外部ボリュームの前記データを制御する前記他のストレージシステムの前記ストレージコントローラによって制御された内部ストレージボリュームに移動されるか、又は前記外部ボリュームの前記データを制御する前記他のストレージシステムの前記個別のプール内のストレージボリュームに移動される。
0012 本発明の上記及びその他の特徴及び効果は、特定の実施形態についての以下の詳細な説明を考慮することにより、当業者にとって明らかとなるであろう。
0013 図1は、本発明の方法及び装置が適用され得る情報システムの管理図の一例を示す。 0014 図2は、図1の情報システムの論理構成の一例を示す。 0015 図3は、各フロントエンドストレージサブシステムの階層式シンプロビジョニングプールの構成、及びフロントエンドストレージサブシステム間の関係を示す。 0016 図4は、フロントエンドストレージサブシステムの典型的な構成を示す。 0017 図5は、ディスク管理テーブルの一例を示す。 0018 図6は、階層管理テーブルの一例を示す。 0019 図7は、ボリューム管理テーブルの一例を示す。 0020 図8は、階層式シンプロビジョニングプールと、RAIDグループと、階層との関係の一例を示す。 0021 図9は、ホストボリュームと、クロスマウントボリュームと、階層式シンプロビジョニングと、ページとの関係の一例を示す。 0022 図10は、統合ストレージプール管理サーバの構成の一例を示す。 0023 図11は、統合ストレージプール階層管理テーブルのテーブル構造の一例を示す。 0024 図12は、ストレージサブシステム管理テーブルのテーブル構造の一例を示す。 0025 図13は、システム情報テーブルのテーブル構造の一例を示す。 0026 図14は、統合ストレージプール拡張制御プログラムのプロセスを示す流れ図の一例である。 0027 図15は、統合ストレージプール削減制御プログラムのプロセスを示す流れ図の一例である。 0028 図16は、統合ストレージプール階層構成制御プログラムのプロセスを示す流れ図の一例である。 0029 図17は、統合ストレージプールボリューム制御プログラムのプロセスを示す流れ図の一例である。 0030 図18は、統合ストレージプールリバランシング制御プログラムのプロセスを示す流れ図の一例である。 0031 図19は、統合ストレージプールモニタプログラムのプロセスを示す流れ図の一例である。 0032 図20は、ユーザのための入出力(I/O)インタフェースとしての統合ストレージプール要素マネージャの一例を示す。 0033 図21は、ユーザのためのI/Oインタフェースとしての統合ストレージプール階層マネージャの一例を示す。 0034 図22は、ユーザのためのI/Oインタフェースとしての統合ストレージプールボリュームマネージャの一例を示す。 0035 図23は、シンプロビジョニングプールの階層と統合ストレージプールの階層との関係を示す。 0036 図24は、ストレージサブシステムのインストール及び統合ストレージプールの拡張のシーケンスの一例を示す。 0037 図25は、図24の手順S1−5の後のシステムの状態を示す。 0038 図26は、図25の状態を達成するためのデータ、情報、及び命令の流れを示す。 0039 図27は、図24の手順S1−9の後のシステムの状態を示す。 0040 図28は、図27の状態を達成するためのデータ、情報、及び命令の流れを示す。 0041 図29は、統合ストレージプールからのボリュームプロビジョニングのシーケンスの一例を示す。 0042 図30は、図29のシーケンスの後のシステムの状態を示す。 0043 図31は、図30の状態を達成するためのデータ、情報、及び命令の流れを示す。 0044 図32は、ホストからホストボリュームへのI/Oのシーケンスの一例を示す。 0045 図33は、図32の書き込みI/Oの後のシステムの状態を示す。 0046 図34は、図33の状態を達成するためのデータ、情報、及び命令の流れを示す。 0047 図35は、階層式ストレージ管理のシーケンスの一例を示す。 0048 図36は、図35のページ移動の間のシステムの状態を示す。 0049 図37は、階層交代の必要性を見つけるためのデータ、情報、及び命令の流れを示す。 0050 図38は、階層を変更するために容量ページを移動するためのデータ、情報、及び命令の流れを示す。 0051 図39は、各フロントエンドストレージサブシステムからのリソース情報収集のシーケンスの一例を示す。 0052 図40は、階層を変更するために容量ページを移動するためのデータ、情報、及び命令の流れを示す。 0053 図41は、フロントエンドストレージサブシステムの間の外部ボリュームのマウントを変更するシーケンスの一例を示す。 0054 図42は、図41のリマウントプロセスの間のシステムの状態を示す。 0055 図43は、外部ボリュームをリマウントするためのデータ、情報、及び命令の流れを示す。 0056 図44は、他のフロントエンドストレージサブシステムから容量をマウントするためのインクリメントのシーケンスの一例を示す。 0057 図45は、図44のリマウントプロセスの間のシステムの状態を示す。 0058 図46は、外部ボリュームをリマウントするためのデータ、情報、及び命令の流れを示す。 0059 図47は、2つのストレージサブシステムの間のボリューム移動のシーケンスの一例を示す。 0060 図48は、図47の移動プロセスの間のシステムの状態を示す。 0061 図49は、外部ボリュームをリマウントするためのデータ、情報、及び命令の流れを示す。 0062 図50は、ストレージサブシステムの除去による統合ストレージプールの削減のシーケンスの一例を示す。 0063 図51は、図50の統合ストレージプールの削減プロセスの間のシステムの状態を示す。
0064 以下の本発明についての詳細な説明では、開示の一部を成すとともに、それによって本発明が実施され得る例示的実施形態が実例として(但し限定ではない)示される、添付の図面を参照する。当該図面において、類似の数字は、いくつかの図面を通してほぼ同様の構成要素を示すものである。また、留意すべき点として、詳細な説明では様々な例示的実施形態を提供する(以下に説明し、かつ図面で示される通り)が、本発明は本明細書において説明されかつ示される実施形態に限定されず、当業者が知っているであろう又は知るようになり得るその他の実施形態にも及び得る。本明細書における「一実施形態」、「本実施形態」、又は「上述の実施形態」の言及は、当該実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一つの実施形態に含まれることを意味し、本明細書の様々な箇所において上記文言が使用されていても、必ずしもすべてが同一の実施形態を言及するものではない。さらに、以下の詳細な説明において、本発明を徹底して理解できるように、多くの具体的な詳細が記載されている。但し、本発明を実施するためにこれらの具体的な詳細すべてが必要なわけではないことは、当業者にとって明らかであろう。他の状況では、本発明を不必要に曖昧にしないように、周知の構造、材料、回路、プロセス及びインタフェースの詳細については説明しておらず、かつ/又はブロック図において図示している場合もある。
0065 さらに、以下の詳細な説明の一部は、コンピュータ内のオペレーションのアルゴリズム及び象徴的な態様に関して示されている。これらのアルゴリズム記述及び象徴的な態様は、データ処理分野の当業者がその新しいアイディアのエッセンスを最も効果的に他の当業者に伝えるために使用する手段である。アルゴリズムとは、望ましい最終状態又は結果へと導く一連の定義されたステップである。本発明において、実施されるステップは、具体的な結果を達成するための相当量の物理的操作を必要とする。通常は(必ずしもそうではないが)、当該数量は、格納、転送、組み合わせ、比較、その他の操作が可能な電気もしくは磁気信号又は命令の形態を取る。主に一般的な使用のために、上記の信号をビット、値、要素、記号、文字、用語、数字、命令等として言及することが時として便利であることが証明されている。但し、上記の及び類似の用語のすべてが、適切な物理数量に関連付けられるものであり、かつ当該数量に適用される単に便利なラベルであることを留意すべきである。別段の記載がない限り、以下の解説から明らかなように、当然のことながら説明全体を通して、「処理」、「演算」、「計算」、「判断」、「表示」等の用語を用いた解説は、コンピュータシステムのレジスタ及びメモリ内の物理的(電子的)数量として表わされるデータを、コンピュータシステムのメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置の中の物理的数量として同様に表わされるその他のデータに操作しかつ変換する、コンピュータシステム又はその他の情報処理装置の動作又はプロセスを含み得る。
0066 本発明は、本明細書における動作を実施する装置にも関する。この装置は、必要とされる目的のために特別に構築してもよく、又は一つ以上のコンピュータプログラムによって選択的に起動又は再構成された一つ以上の汎用コンピュータを含み得る。当該コンピュータプログラムは、光ディスク、磁気ディスク、読取専用記憶装置(ROM)、ランダムアクセスメモリ(RAM)、ソリッドステート装置及びドライブ、又は電子情報の格納に適したその他の種類の媒体等(但し、これらに限定されない)のコンピュータ読取可能記憶媒体に格納され得る。本明細書において示されるアルゴリズム及び提示は、特定のコンピュータ又はその他の装置に本質的に関係しているわけではない。様々な汎用システムを、本明細書における教示に従ってプログラム及びモジュールと共に使用してもよく、又は望ましい方法ステップを実施するためにより特化した装置を構築することが都合がよいということが判明するかもしれない。さらに、本発明は、特定のプログラミング言語を参照して説明されてはいない。当然のことながら、本明細書に記載されている通りに本発明の教示を実施するために、様々なプログラミング言語を使用してもよい。プログラミング言語の命令は、一つ以上の処理装置、例えば中央処理装置(CPU)、プロセッサ、又はコントローラによって実行され得る。
0067 以下により詳細に示す本発明の例示的実施形態は、疎結合複数ストレージ環境のための階層式ストレージプール管理又は制御のための装置、方法、及びコンピュータプログラムを提供する。
0068 本発明の多様な態様は、シンプロビジョニングについてのキャメロンの米国特許第6,823,442号、外部ボリュームのマウントについてのヤマモト等の米国特許第7,711,896号、ページ単位の階層式ストレージ管理についてのナガイ(Nagai)等による米国公報第2007/0055713号、非分断ボリューム移動についてのオタニ等による米国特許公報第2010/0070722号、及び2つのストレージモジュールの間のマッピング情報移動についてのKawaguchi による米国特許公報第2008/0184000号のストレージシステム技術を利用している。これらの開示全体が、参照することによって本明細書中に組み込まれる。
0069 A.システムの管理図
0070 図1は、本発明の方法及び装置が適用され得る情報システムの管理図の一例を示す。この図は、システムの構成及び機能性の概要を示す。この情報システムは、データを格納するための複数のフロントエンドストレージサブシステム100と、ストレージデータのための複数のバックエンドストレージサブシステム200と、複数のホスト500とを含む。各ホスト500は、一つ以上のホストボリューム131に接続し、ホストボリューム131にI/Oを送信する。いくつかのホストボリューム131は、複数のホスト500によって共有されてもよい。各ホストボリューム131は、データ記憶領域を提供し、かつ統合又はシステムストレージプール600から供給される。ホストボリューム131のデータは、フロントエンドストレージサブシステム100及び/又はバックエンドストレージサブシステム200に格納される。
0071 統合ストレージプール600は、フロントエンドストレージサブシステム100と、バックエンドストレージサブシステム200とを含む。統合ストレージプール600は、ホスト500にホストボリューム131を提供する。ホストボリューム131とデータが位置するストレージとの関係は、統合ストレージプール600によってユーザから隠されている。統合ストレージプール600は、オンデマンドで、一つ以上のフロントエンドストレージサブシステム100及び/又は一つ以上のバックエンドストレージサブシステム200を追加することができる。除去の後で統合ストレージプール600のリソースが不足にならない限り、オンデマンドで、一つ以上のフロントエンドストレージサブシステム100及び/又は一つ以上のバックエンドストレージサブシステム200を除去することもできる。統合ストレージプール600は、フロントエンドストレージサブシステム100とバックエンドストレージサブシステム200の間で自身のリソースのバランスをとることができる。バランシングプロセスは、ホスト500からは隠されている。下記でより詳細に説明するように、管理サーバ300は、前記複数のストレージサブシステムに割り当てられた記憶媒体の情報を収集し、収集された情報の記憶媒体の特徴に基づいて、前記複数のストレージサブシステムに割り当てられた記憶媒体を含むシステムプール600のための複数のシステム階層を動的に決定する。本明細書中で用いられる「動的」という表現は、管理サーバ300によるオンライン操作の間に(例えばシステム階層を決定する際に)、前記複数のストレージサブシステムがホストコンピュータからI/O要求を受信できることを意味する。
0072 B.システムの構成
0073 B1.システムの論理構成
0074 図2は、図1の情報システムの論理構成の一例を示す。情報システムは、フロントエンドストレージサブシステム100と、バックエンドストレージサブシステム200と、統合ストレージプール管理サーバ300と、ネットワーク400及び401と、ホスト500とを含む。
0075 フロントエンドストレージサブシステム100は、データを格納する。データは、個別のプールとしての階層式シンプロビジョニングプール110内に存在する。フロントエンドストレージサブシステム100は、ホスト500にホストボリューム131を提供し、他のフロントエンドストレージサブシステム100にクロスマウントボリューム132を提供する。フロントエンドストレージサブシステム100は、ホスト500及び統合ストレージプール管理サーバ300に接続される。フロントエンドストレージサブシステム100は、バックエンドストレージサブシステム200に接続し、かつネットワーク401を介してバックエンドストレージサブシステム200に/からデータを転送することができる。詳細は、下記の図4で説明する。バックエンドストレージサブシステム200は、フロントエンドストレージサブシステム100に接続され、フロントエンドストレージサブシステム200にバックエンドボリューム231を提供する。
0076 統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100、バックエンドストレージサブシステム200、及びホスト500に接続する。統合ストレージプール管理サーバ300は、ストレージリソース、及びフロントエンドストレージサブシステム100及びバックエンドストレージサブシステム200の構成、並びにホスト500とフロントエンドストレージサブシステム100の間の接続を管理する。詳細は、下記の図10で説明する。
0077 ネットワーク400は、ホスト500、フロントエンドストレージサブシステム100、及び統合ストレージプール管理サーバ300の間でデータ、情報、及び命令を転送する。ネットワーク401は、フロントエンドストレージサブシステム100、バックエンドストレージサブシステム200、及び統合ストレージプール管理サーバ300の間でデータ、情報、及び命令を転送する。ネットワーク400とネットワーク401は、統合することができる。ホスト500は、フロントエンドストレージサブシステム100に接続される。各ホスト500のパス構成は、ホスト500のパス管理モジュール501で定義される。I/Oパスは、この構成に従う。
0078 図3は、各フロントエンドストレージサブシステムの階層式シンプロビジョニングプール110の構成、及びフロントエンドストレージサブシステム100間の関係を示す。階層式シンプロビジョニングプール110は、一つ以上のRAIDグループ112を含む。RAIDグループ112は、一つ以上のタイプの階層、例えばRAIDグループ112−1、112−2、112−3、112−4、112−6等に分類することができる。RAIDグループの各タイプは、信頼性、可用性、性能、容量、費用、接続プロトコル、及び物理的性質における特定の特徴を有する。例としては、RAIDレベル、HDDのRPM、媒体のタイプ、位置(内部/外部)等を含む。フロントエンドストレージサブシステム100は、外部ストレージサブシステム上のボリュームを、外部ボリュームマウント機能によって自身のRAIDグループとして使用することができる。図3で分かるように、バックエンドボリューム231は、外部ボリュームマウント機能によってRAIDグループ112−5としてマウントされ、クロスマウントボリューム132は、外部ボリュームマウント機能によってRAIDグループ112−6としてマウントされる。階層式シンプロビジョニングプール110は、複数の階層に分割される。構成及び制御方法の詳細は、下記の図8及び図9で説明する。
0079 ホストボリューム131及びクロスマウントボリューム132は、階層構成を備える階層式シンプロビジョニングプール110から供給される。ホストボリューム131は、ホスト500によって接続され、クロスマウントボリューム132は、他のフロントエンドストレージサブシステム100によって接続される。
0080 B2.フロントエンドストレージサブシステムの物理構成
0081 図4は、フロントエンドストレージサブシステム100の典型的な構成を示す。これは、ストレージコントローラ101及びディスク106を含む。ストレージコントローラ101は、CPU102と、メモリ103と、ホストインタフェース104と、ディスクインタフェース105と、管理サーバインタフェース107と、ディスク106とを備える。CPU102は、メモリ103の制御プログラム及び制御テーブルを使用してストレージサブシステムを制御する。メモリ103は、データ、プログラム、及びテーブルを格納し、キャッシュ領域103−0、ディスク管理テーブル103−1、階層式プール管理テーブル103−2、ボリューム管理テーブル103−3、ページ管理テーブル103−4、性能モニタプログラム103−5、ボリュームI/O制御プログラム103−6、ディスクI/O制御プログラム103−7、ページ制御プログラム103−8、及びボリューム移動制御プログラム103−9を含む。
0082 メモリ103は、読み出し及び書き込みキャッシュデータを格納するためのキャッシュ領域103−0を有する。ディスク管理テーブル103−1は、RAIDグループの構成を管理する(図5を参照)。階層式プール管理テーブル103−2は、階層式シンプロビジョニングプール110の階層の構成を管理する(図6を参照)。ボリューム管理テーブル103−3は、ホストボリューム131及びクロスマウントボリューム132の設定を管理する(図7を参照)。ページ管理テーブル103−4は、シンプロビジョニング機能のページ割り当てを管理する。性能モニタプログラム103−5は、ストレージ構成及び作業負荷情報を収集し、これを統合ストレージプール管理サーバ300に送信する。ボリュームI/O制御プログラム103−6は、ホスト500及びフロントエンドストレージサブシステム100からの読み出し及び書き込みI/Oを制御する。ディスクI/O制御プログラム103−7は、ディスク106、フロントエンドストレージサブシステム100、及びバックエンドストレージサブシステム200への読み出し及び書き込みI/Oを制御する。ページ制御プログラム103−8は、シンプロビジョニングページの割り当て及び再割り当てを制御する。書き込みI/Oが発生した時に、ページ割り当てプロセスが実行される。リソースのアンバランシングが発生した時に、ページ再割り当てプロセスが実行されて、リバランシングが行われる。RAIDグループの除去が発生した時に、ページ再割り当てプロセスも実行されて、除去されたRAIDグループからページが無くなる。ボリューム移動制御プログラム103−9は、ボリュームを移動するために、フロントエンドストレージサブシステム100からの/へのボリュームデータ、ボリューム構成、及びボリューム属性の移動を制御する。
0083 ホストインタフェース104は、ホスト500に接続するためのインタフェースであり、ホスト500からホストI/Oを受信し、これをCPU102に転送する。ディスクインタフェース105は、ディスク106に接続するためのインタフェースであり、CPU102から受信されたディスクI/Oをディスク106に送信する。管理サーバインタフェース107は、統合ストレージプール管理サーバ300に接続するためのインタフェースである。管理サーバインタフェース107は、CPU102から受信されたストレージ情報を統合ストレージプール管理サーバ300に送信し、かつ統合ストレージプール管理サーバ300から命令を受信し、これをCPU102に転送する。
0084 ディスクは、ストレージデータを格納する。図4で分かるように、ディスク106−1、ディスク106−2、ディスク106−3、及びディスク106−4を含む複数のタイプのディスク106が存在する。複数のディスク106がRAIDグループを構成する。RAIDグループは、図3のRAIDグループ112である。
0085 B3.フロントエンドストレージサブシステムのテーブル構造
0086 図5は、フロントエンドストレージサブシステム100のRAIDグループ112の構成を管理する、ディスク管理テーブル103−1の一例を示す。このテーブルは、RAIDグループID103−1−1、容量情報103−1−2、属性情報103−1−3、内部/外部位置情報103−1−4、RAIDレベル情報103−1−5、及びディスクID103−1−6の欄を有する。RAIDグループID103−1−1は、フロントエンドストレージサブシステム100の固有の番号である。容量情報103−1−2は、RAIDグループの使用可能容量を含む。属性情報103−1−3は、RAIDグループのタイプを提供し、RAIDグループの媒体タイプ及び接続タイプを格納する。これは、RAIDグループが外部ボリュームであるか否かを示す。ストレージサブシステムのタイプ及びマウントされたボリュームの階層構成等の構成が、統合ストレージプール管理サーバ300から伝えられる。位置情報103−1−4は、接続タイプについての情報(内部又は外部)を示す。RAIDレベル情報103−1−5は、RAIDレベルに関する情報を提供する。ディスクIDは、RAIDグループの各ディスクのIDを含む。ディスクが内部ディスクである場合は、ディスクIDは、フロントエンドストレージサブシステム100のディスクIDを格納する。ディスクが外部ボリュームである場合は、ディスクIDは、例えばWWN(ワールドワイドネーム)又はLUN(論理ユニット番号)を含む、システムで識別できるボリューム情報を格納する。
0087 図6は、シンプロビジョニングプール110の階層の構成を管理する階層管理テーブル103−2の一例を示す。テーブルは、階層ID103−2−1、総容量情報103−2−2、使用容量情報103−2−3、階層構成設定103−2−4、RAIDグループID103−2−5、及び階層優先順位設定103−2−6の欄を有する。階層ID103−2−1は、階層式シンプロビジョニングプール110の固有の番号である。総容量情報103−2−2は、この階層に属するRAIDグループの総容量を提供する。使用容量情報103−2−3は、割り当てられたページ容量を、階層からホストボリューム131及びクロスマウントボリューム132に提供する。階層構成設定103−2−4は階層の定義であり、階層に属するRAIDグループのタイプに関する情報を含む。RAIDグループID103−2−5は、階層に属するRAIDグループのIDを含む。選択は、階層構成設定103−2−4の情報に基づいている。階層優先順位設定103−2−6は、階層優先順位の構成を含む。ページ制御プログラム103−8は、この情報及びボリューム管理テーブル103−3に基づいてページの割り当て及び再割り当てを行う。
0088 図7は、ホストボリューム131及びクロスマウントボリューム132の設定を管理するボリューム管理テーブル103−3の一例を示す。このテーブルは、ボリュームID103−3−1、ボリューム容量103−3−2、割り当てられた容量103−3−3、使用可能階層設定103−3−4、及びボリュームタイプ情報103−3−5の欄を有する。ボリュームID103−3−1は、ボリュームのIDである。ボリューム容量103−3−2は、ボリュームの容量を提供する。割り当てられた容量103−3−3は、ボリュームに割り当てられたページの総容量である。階層設定103−3−4は、ボリュームがそこからページを割り当てることができる階層である。ボリュームがクロスマウントボリューム132である場合は、それは、クロスマウントボリューム132が、他のフロントエンドストレージサブシステムが提供する外部ボリュームを有する階層を使用することを防ぐことによって、複数のフロントエンドストレージサブシステム100の間の循環ページ割り当てを防ぐことができる。ボリュームタイプ情報103−3−5は、ボリュームにアクセスする装置情報を含む。
0089 B4.階層式シンプロビジョニング機能の論理構成
0090 図8は、階層式シンプロビジョニングプール110と、RAIDグループ112と、階層111との関係の一例を示す。階層式シンプロビジョニングプール110は、複数の階層111を含む。各階層111は、RAIDグループID103−2−5にリストされるRAIDグループのグループである。RAIDグループの選択は、階層構成設定103−3−4の情報に基づいている。図8は、階層111−1、階層111−2、階層111−3、階層111−4、階層111−5、階層111−6等の異なるタイプの媒体を備える複数の階層を示す。各階層は、優先順位設定を有する。この情報は、階層優先順位設定103−2−5に格納される。
0091 図9は、ホストボリューム131と、クロスマウントボリューム132と、階層式シンプロビジョニング110と、ページとの関係の一例を示す。ボリュームがシンプロビジョニング機能を使用する場合、ボリュームは、容量ページ131−2を、階層式シンプロビジョニングプール110から、書き込みI/Oが発生したアドレスをカバーするボリュームページ131−1に割り当てる。ボリュームページ131−1と容量ページ131−2の関係は、ページ管理テーブル103−4に格納される。他の容量ページに割り当てられた容量ページ131−2との間のデータコピー、及びボリュームページ131−1と容量ページ131−2の間のマッピング情報の変更によって、割り当てを変更することができる。フロントエンドストレージサブシステム100は、性能情報、作業負荷情報、ストレージ構成、残りの階層容量、階層優先順位設定103−2−5の階層優先順位設定、及びボリュームタイプ情報103−3−5のボリュームQoS設定に依存する割り当てを自動的に変更する。
0092 B5.統合ストレージプール管理サーバの物理構成
0093 図10は、統合ストレージプール管理サーバ300の構成の一例を示す。これは、CPU301、システム管理インタフェース302、メモリ303、入力装置304、及びディスプレイ305を含む。CPU310は、メモリ303の制御プログラム及び制御テーブルを使用することによってサーバ300を制御する。システム管理インタフェース302は、フロントエンドストレージサブシステム100、バックエンドストレージサブシステム200、及びホスト500に接続するためのインタフェースである。システム管理インタフェース302は、その構成を変更するために、フロントエンドストレージサブシステム100、バックエンドストレージサブシステム200、及びホスト500にコマンドを送信する。それは、フロントエンドストレージサブシステム100及びバックエンドストレージサブシステム200からストレージ性能及び作業負荷及び構成情報を受信する。
0094 メモリ303は、データ、プログラム、及びテーブルを格納する。統合ストレージプール階層管理テーブル303−1は、統合ストレージプール600の階層構成及び状態情報を格納する。構造の詳細は、図11に示される。ストレージサブシステム管理テーブル303−2は、各フロントエンドストレージサブシステム100及びバックエンドストレージサブシステム200の構成及び状態情報を格納する。この構造の詳細は、図12に示される。システム情報テーブル303−3は、記憶装置以外のシステムのIT装置の構成、性能、及び作業負荷情報を格納する。この構造の詳細は、図13に示される。統合ストレージプール拡張制御プログラム303−4は、新しいフロントエンドストレージサブシステム100及びバックエンドストレージサブシステム200を統合ストレージプール600にインストールする。このプログラムは、統合ストレージプール階層管理テーブル303−1の情報に基づいて、階層構成をフロントエンドストレージサブシステム100に設定し、外部ボリュームマウント及びクロスマウント構成を設定する。このプロセスの詳細は、図14に示される。統合ストレージプール削減制御プログラム303−5は、統合ストレージプール600から古いフロントエンドストレージサブシステム100及びバックエンドストレージサブシステム200を除去する。このプログラムは、除去されたフロントエンドストレージサブシステム100に対して、ストレージリソースを解放するように命令し、除去されないフロントエンドストレージサブシステム100に対して、除去されたフロントエンドストレージサブシステム100のデータ及びリソースを引き継ぐように命令する。このプロセスの詳細は、図15に示される。統合ストレージプール階層構成制御プログラム303−6は、統合ストレージプール階層管理テーブル303−1の情報に基づいて、各フロントエンドストレージサブシステム100の階層構成を設定かつ/又は変更する。このプロセスの詳細は図16に示される。統合ストレージプールボリューム制御プログラム303−7は、フロントエンドストレージサブシステム100を選択し、フロントエンドストレージサブシステム100に対して、QoS設定及びホストパス設定を備えるボリュームを供給するように命令する。このプロセスの詳細は、図17に示される。統合ストレージプールリソース制御プログラム303−8は、許容できないリソースのアンバランスを見つけるためにリソースをチェックする。プログラムがアンバランスを見つけた場合は、フロントエンドストレージサブシステム100に対して、統合ストレージプール600のリソースをリバランスするように命令する。このプロセスの詳細は、図18に示される。統合ストレージプールモニタプログラム303−9は、構成、性能、及び作業負荷情報を収集し、各フロントエンドストレージサブシステム100及びバックエンドストレージサブシステム200に警告する。
0095 入力装置304によって、ユーザは、ストレージ構成設定を入力することができる。ディスプレイ305は、ユーザのための出力装置であり、ポインタ305−0は、ユーザに対して現在の入力領域を示す。ディスプレイ305は、いくつかのマネージャを示す。統合ストレージプール要素マネージャ305−1は、統合ストレージプール600への新しいフロントエンドストレージサブシステム100及びバックエンドストレージサブシステム200のインストールを命令するために、ユーザインタフェースとしてウィンドウを提示する。このウィンドウの詳細なイメージは、図20に示される。統合ストレージプール階層マネージャ305−2は、統合ストレージプール600の階層の構成を設定するために、ユーザインタフェースとしてウィンドウを提示する。このウィンドウの詳細なイメージは、図21に示される。統合ストレージプールボリュームマネージャ305−3は、新しいホストボリューム131を供給し、かつ統合ストレージプール600の既存のホストボリューム131の構成を変更するために、ユーザインタフェースとしてウィンドウを提示する。
0096 B6.統合ストレージプール管理サーバのテーブル構造
0097 図11は、統合ストレージプール階層管理テーブル303−1のテーブル構造の一例を示す。このテーブルは、統合ストレージプール600の各階層の構成を管理する。統合ストレージプール拡張制御303−4は、登録時にこのテーブルから、新しいフロントエンドストレージサブシステム100の階層式シンプロビジョニングプール110の階層の構成を生成する。統合ストレージプールボリューム制御303−7は、ボリュームプロビジョニングで、ボリュームの構成及び位置を生成する。
0098 統合ストレージプール階層管理テーブル303−1は、以下の欄を有する。階層ID303−1−1は、統合ストレージプール600における固有の番号である階層のIDである。階層構成設定303−1−2は、フロントエンドストレージサブシステム100のシンプロビジョニングプール110に属する階層のタイプを含む、階層の定義を提供する。ユーザは、統合ストレージプール階層マネージャ305−2からこれらの設定を入力する。フロントエンドストレージサブシステム100がバックエンドストレージサブシステム200の内部RAIDグループ又は外部ボリュームを使用する時に、内部階層優先順位設定303−1−3は、階層使用の優先順位情報を提供する。ユーザは、統合ストレージプール階層マネージャ305−2からこれらの設定を入力する。統合ストレージプール管理サーバ300が階層式シンプロビジョニングプール110の内部RAIDグループ階層に階層設定を変更又は適用する場合、階層の優先順位設定は、この情報及び外部階層優先順位設定303−1−4に基づいている。フロントエンドストレージサブシステム100が他のフロントエンドストレージサブシステム100の外部ボリュームを使用する場合、外部階層の優先順位設定303−1−4は、階層使用の優先順位情報を提供する。統合ストレージプール管理サーバ300は、内部階層優先順位設定303−1−3の優先順位情報、及びシステム情報テーブル303−3のレイテンシ及び作業負荷情報でこの値を計算する。統合ストレージプール管理サーバ300がフロントエンドストレージサブシステム100からの外部ボリューム階層で構成される階層式シンプロビジョニングプール110の階層に階層設定を変更又は適用する場合、階層の優先順位設定は、この情報及び外部階層優先順位設定303−1−4に基づいている。
0099 ストレージサブシステムID303−1−5は、統合ストレージプール600に属するフロントエンドストレージサブシステム100のIDを提供する。この情報は、統合ストレージプール拡張制御303−4によって登録される。シンプロビジョニングプール階層ID303−1−6は、統合ストレージプール600の階層に関連するシンプロビジョニングプール110の階層のIDを提供する。この情報は、統合ストレージプール拡張制御303−4によって登録される。ストレージサブシステム階層総容量303−1−7は、フロントエンドストレージサブシステム100の外部ボリューム階層を除く、階層式シンプロビジョニングプール110の階層の総容量を提供する。この情報は、統合ストレージプールモニタプログラム303−9によって収集され、かつ格納される。ストレージサブシステム階層の使用容量303−1−8は、フロントエンドストレージサブシステム100の外部ボリューム階層を除く、階層式シンプロビジョニングプール110の階層の使用容量を提供する。この情報は、統合ストレージプールモニタプログラム303−9によって収集され、かつ格納される。ストレージサブシステム階層限界作業負荷303−1−9は、階層式シンプロビジョニングプール110の階層の性能情報を提供する。この情報は、例えば、ディスクの数、媒体のタイプ、RAIDレベル等の階層の構成から計算される。構成情報は、統合ストレージプールモニタプログラム303−9によって収集され、かつ格納される。ストレージサブシステム階層現在作業負荷303−1−10は、階層式シンプロビジョニングプール110の階層の作業負荷情報を提供する。この情報は、統合ストレージプールモニタプログラム303−9によって収集され、かつ格納される。
0100 図12は、ストレージサブシステム管理テーブル303−2のテーブル構造の一例を示す。このテーブルは、フロントエンドストレージサブシステム100、フロントエンドストレージサブシステム100のボリューム133、当該ボリュームに接続するホスト500、及びホストとボリュームをリンクするネットワーク400の構成及び状態を管理する。ボリューム容量情報303−2−6、ボリューム使用容量情報303−2−7、ボリューム作業負荷情報303−2−8、及びキャッシュヒット率情報303−2−9は、フロントエンドストレージサブシステム100間のリソースリバランシングのためのボリュームを選択するために重要である。
0101 ストレージサブシステム管理テーブル303−2は、以下の欄を有する。ストレージID303−2−1は、システムの固有の番号としてフロントエンドストレージサブシステム100のIDを提供する。ボリュームID303−2−2は、フロントエンドストレージサブシステム100における固有の番号としてホストボリューム131のIDを提供する。ホストID303−2−3は、システムにおける固有の番号として、ボリュームに接続するホスト500のIDを提供する。ネットワークゾーンID303−2−4は、ホスト及びボリュームが使用する、システムにおける固有の番号としてのネットワークゾーンのIDを提供する。階層ID303−2−5は、ボリュームがそこからページの割り当て/再割り当てを行うことができる階層式シンプロビジョニングプール110における固有の番号としての、階層式シンプロビジョニングプール110における階層のIDを提供する。ボリューム容量情報303−2−6は、ボリュームの容量情報を提供し、統合ストレージプールモニタプログラム303−9によって収集され、かつ格納される。ボリューム使用容量情報303−2−7は、ボリュームの使用容量情報を提供し、統合ストレージプールモニタプログラム303−9によって収集され、かつ格納される。ボリューム作業負荷情報303−2−8は、ボリュームの作業負荷情報を提供し、統合ストレージプールモニタプログラム303−9によって収集され、かつ格納される。キャッシュヒット率情報303−2−9は、ボリュームのキャッシュヒット/ミス情報を提供し、統合ストレージプールモニタプログラム303−9によって収集され、かつ格納される。
0102 図13は、システム情報テーブル303−3のテーブル構造の一例を示す。このテーブルは、ストレージ以外のシステムの実性能及び現在作業負荷に関する情報を格納する。この情報は、フロントエンドストレージサブシステム100及びバックエンドストレージサブシステム200の間のストレージリソースをリバランスするための方法を選択するのに有用である。
0103 システム情報テーブル303−3は、以下の欄を有する。インデックス303−3−1は、システムの性能のインデックスを提供する。性能情報303−3−2は、実性能に関する情報を提供する。この値は、ユーザが通知することができる。作業負荷情報303−3−3は、構成要素の現在作業負荷を提供する。この値は、統合ストレージプールモニタプログラム303−9によって収集され、ホスト500及びネットワーク400によって入力され、又は計算される。
0104 B7.統合ストレージプール管理サーバのプログラムのプロセス
0105 図14は、統合ストレージプール拡張制御プログラム303−4のプロセスを示す流れ図の一例である。ユーザが統合ストレージプール600に新しいストレージサブシステムを追加する時に、このプログラムは実行される。操作命令は、統合ストレージプール要素マネージャ305−1から発せられる。
0106 このプログラムは、ステップ303−4−1で開始する。ステップ303−4−2において、ユーザは、ストレージプール要素マネージャ305−1に、新しいストレージサブシステム情報のためのプール追加入力を提供する。ステップ303−4−3において、プログラムは、新しいストレージサブシステムの構成情報(例えばRAIDグループ構成)を収集する。プログラムは、統合ストレージ階層管理テーブル303−1を参照し、新しいストレージサブシステムのRAIDグループを複数の階層に分類する。ステップ303−4−4では、プログラムは、収集された情報から、新しいストレージサブシステムの構成を生成する。ストレージサブシステムがバックエンドストレージサブシステム200に適切である場合は、プログラムは、接続するためのフロントエンドストレージサブシステム100を選択する。ステップ303−4−5では、プログラムは、新しいストレージサブシステムに外部ボリューム設定を適用する。新しいストレージサブシステムがバックエンドストレージサブシステム200である場合は、プログラムは、フロントエンドストレージサブシステム100に対して、ボリュームを外部ボリュームとしてマウントし、かつ階層式シンプロビジョニングプール110にインストールするように命令する。ステップ303−4−6では、プログラムは、新しいストレージサブシステムに、生成された階層構成を適用する。新しいストレージサブシステムがフロントエンドストレージサブシステム100である場合は、プログラムは、新しいストレージサブシステムに対して、そのシンプロビジョニングプール110のために生成された階層を設定するように命令する。ステップ303−4−7では、プログラムは、統合ストレージプールの全ストレージサブシステムにクロスマウントボリューム設定を適用する。新しいストレージサブシステムがフロントエンドストレージサブシステム100である場合は、プログラムは、QoS設定を備えるクロスマウントボリューム132を確立するように命令し、かつ他のフロントエンドストレージサブシステム100に対して、新しいフロントエンドストレージサブシステム100のクロスマウントボリューム132を外部ボリュームとしてマウントするように命令する。プログラムは、ステップ303−4−8で終了する。
0107 図15は、統合ストレージプール削減制御プログラム303−5のプロセスを示す流れ図の一例である。ユーザが既存のストレージサブシステムを統合ストレージプール600から除去する時に、このプログラムは実行される。操作命令は、統合ストレージプール要素マネージャ305−1から発せられる。
0108 プログラムは、ステップ303−5−1で開始する。ステップ303−5−2では、ユーザは、除去されたストレージサブシステムの情報のプール削減入力を、ストレージプール要素マネージャ305−1に提供する。ステップ303−5−3では、プログラムは、新しいストレージサブシステムの構成情報(例えばRAIDグループ構成及びボリューム構成)を収集する。プログラムは、統合ストレージプール600の現在の構成を知るために、統合ストレージ階層管理テーブル303−1を参照する。ステップ303−5−4では、プログラムは、収集された情報から、各残りのストレージサブシステムの構成を生成する。ステップ303−5−5では、プログラムは、除去されたストレージサブシステム及び残りのストレージサブシステムに対して、それらの間でデータを移動するように命令する。より具体的には、データは、削減されたストレージサブシステムから他のストレージサブシステムに移動される。ボリューム移動制御プログラム103−9及び/又はページ制御プログラム103−8は、この操作によって、フロントエンドストレージサブシステム100で実行される。ステップ303−5−6では、除去されたストレージサブシステムがフロントエンドストレージ100であり、かつバックエンドストレージサブシステム200のボリュームをマウントした場合は、プログラムは、除去されたストレージサブシステムに対して、外部ボリュームをアンマウントするように命令する。ステップ303−5−7では、除去されたストレージサブシステムがフロントエンドストレージサブシステムである場合、プログラムは、残りのストレージサブシステムに対して、除去されたストレージサブシステムがマウントしたバックエンドストレージサブシステム200のボリュームをマウントするように命令する。ステップ303−5−8では、除去されたストレージサブシステムがフロントエンドストレージサブシステムである場合、プログラムは、残りのストレージサブシステムに対して、除去されたストレージサブシステムによって提供されるクロスマウントボリュームをアンマウントするように命令する。ページ制御プログラム103−8は、この操作によって、残りのストレージサブシステムで実行される。ステップ303−5−9では、ユーザは、除去されたストレージサブシステムをネットワークから切断し、これを除去する。プログラムは、ステップ303−5−10で終了する。
0109 図16は、統合ストレージプール階層構成制御プログラム303−6のプロセスを示す流れ図の一例である。ユーザが統合ストレージプール600の階層構成を変更する時に、このプログラムは実行される。操作命令は、統合ストレージプール階層マネージャ305−2から発せられる。
0110 プログラムは、ステップ303−6−1で開始する。ステップ303−6−2では、プログラムは、各ストレージサブシステムの構成情報を収集する。プログラムは、統合ストレージプール600の現在の構成を取得するために、統合ストレージ階層管理テーブル303−1を参照する。プログラムは、ユーザに対して統合ストレージプール600の全情報を示す。統合ストレージプール600の階層リソースの量(例えば容量)は、各フロントエンドストレージサブシステム100の階層式シンプロビジョニングプール110内の関連する階層の量の合計である。このようにして、ユーザは、システムの各階層のための全リソース及び残りのリソースの量を知ることができる。ステップ303−6−3では、ユーザは、ストレージプール階層マネージャ305−2から、統合ストレージプール600の新しい階層構成を入力する。ステップ303−6−4では、プログラムは、階層優先順位及び分類等の新しい設定のために構成を生成する。ステップ303−6−5では、プログラムは、各フロントエンドストレージサブシステム100に対して、階層式シンプロビジョニングプール110の階層構成を変更するように命令する。ページ制御プログラム103−8は、この操作によって、フロントエンドストレージサブシステム100で実行される。プログラムは、ステップ303−6−6で終了する。
0111 図17は、統合ストレージプールボリューム制御プログラム303−7のプロセスを示す流れ図の一例である。ユーザが統合ストレージプール600の既存のボリュームの変更構成の新しいボリュームを供給する時に、このプログラムは実行される。操作命令は、統合ストレージプールボリュームマネージャ305−3から発せられる。
0112 このプログラムは、ステップ303−7−1で開始する。プログラムは、統合ストレージプール600の現在の構成を取得するために統合ストレージ階層管理テーブル303−1を参照する。ステップ303−7−2では、プログラムは、ユーザに対して統合ストレージプール600の全情報を示す。統合ストレージプール600の階層リソースの量(例えば容量)は、各フロントエンドストレージサブシステム100の階層式シンプロビジョニングプール110内の関連する階層の量の合計である。このようにして、ユーザは、システムの各階層のための全リソース及び残りのリソースの量を知ることができる。ステップ303−7−3では、ユーザは、ストレージプールボリュームマネージャ305−3から統合ストレージプール600の新しいボリューム構成(例えば、ボリュームの容量、ボリュームに接続するホスト、及びQoS設定を含む)を入力する。ステップ303−7−4では、プログラムは、どの操作が発生するかをチェックする。それがボリュームプロビジョニングである場合は、プログラムはステップ303−7−5に進む。これがボリューム再構成である場合は、プログラムはステップ303−7−7に進む。ステップ303−7−5では、プログラムは、ホストボリューム131を供給するために適切なフロントエンドストレージサブシステム100を選択する。この選択は、残りのリソース、ネットワークの変換可能性、及びボリュームの要件から生成される。このプログラムは、ストレージプールボリュームマネージャ305−3からの入力、及び選択されたフロントエンドストレージサブシステム100の現在の構成に基づいてQoS設定を生成する(階層設定を使用して)。ステップ303−7−6では、プログラムは、フロントエンドストレージサブシステム100に対して、容量及びQoS設定を備えるホストボリューム131を供給するように命令する。プログラムは、ホスト500に対して、供給されたホストボリューム131に接続するように命令する。ステップ303−7−7では、プログラムは、ストレージプールボリュームマネージャ305−3からの入力、及び選択されたフロントエンドストレージサブシステム100の現在の構成に基づいてQoS設定を生成する(階層設定を使用して)。ステップ303−7−8では、プログラムは、フロントエンドストレージサブシステム100に対して、ホストボリューム131の容量及びQoS設定を変更するように命令する。接続するホスト500が変更される場合、プログラムは、現在のホスト500に対して、ボリュームから切断するように命令し、選択されたホストに対して、ボリュームに接続するように命令する。プログラムは、ステップ303−7−9で終了する。
0113 図18は、統合ストレージプールリバランシング制御プログラム303−8のプロセスを示す流れ図の一例である。このプログラムは定期的に実行される。プログラムは、ステップ303−8−1で開始する。ステップ303−8−2では、プログラムは、統合ストレージプール600の現在の構成及び使用を取得するために統合ストレージ階層管理テーブル303−1及びストレージサブシステム管理テーブル303−2を参照する。ステップ303−8−3では、プログラムは、統合ストレージプール600における階層の許容できないアンバランスな使用をチェックする。バランスがとれている場合は、プログラムは、ステップ303−8−11で終了する。バランスがとれていない場合は、ステップ303−8−4で、プログラムは、アンバランスを解決するための以下のリバランシング方法を生成する。
0114 一つのアプローチは、2つのフロントエンドストレージサブシステムの間にバックエンド外部ボリュームを割り当てることである(図39を参照)。もう一つのアプローチは、2つのフロントエンドストレージサブシステムの間のボリューム移動である(図46を参照)。さらにもう一つのアプローチは、2つのフロントエンドストレージサブシステムの間のクロスマウントボリュームによる容量貸与を含む(図43を参照)。ステップ303−8−5では、プログラムは、ステップ303−8−4の方法から最適な方法を選択する。この選択は、効果、システム作業負荷、及び変更時間に基づいて決定される。パラメータは、システム情報テーブル303−3、統合ストレージ階層管理テーブル303−1、及びストレージサブシステム管理テーブル303−2から生成される。ステップ303−8−6では(第1の選択)、プログラムは、リソースが十分なフロントエンドストレージサブシステム100に対して、バックエンドストレージサブシステム200の外部ボリュームをアンマウントするように命令する。このアンマウント操作によって、ページ制御プログラム103−8は、割り当てられた容量ページ131−2を他のRAIDグループに退避させるために、リソースがないフロントエンドストレージサブシステム100において実行される。ステップ303−8−7では、プログラムは、リソースがないフロントエンドストレージサブシステム100に対して、アンマウントされたボリュームを外部ボリュームとしてマウントし、かつマウントされたボリュームを適切な階層にインストールするように命令する。ステップ303−8−8では(第2の選択)、プログラムは、リソースがないフロントエンドストレージサブシステム100に対して、ホストボリューム131をリソースが十分なフロントエンドストレージサブシステム100に移動するように命令する。この移動操作によって、ボリューム移動制御プログラム103−9は、リソースがないフロントエンドストレージサブシステム100及びリソースが十分なフロントエンドストレージサブシステム100において実行される。ステップ303−8−9では(第3の選択)、プログラムは、リソースがないフロントエンドストレージサブシステム100に容量を供給するために、リソースが十分なフロントエンドストレージサブシステム100に対して、クロスマウントボリューム132を供給するように命令する。ステップ303−8−10では、プログラムは、リソースが十分なフロントエンドストレージサブシステム100に対して、リソースが十分なフロントエンドストレージサブシステム100が供給したクロスマウントボリューム132をマウントするように命令する。プログラムは、ステップ303−8−11で終了する。
0115 図19は、統合ストレージプールモニタプログラム303−8のプロセスを示す流れ図の一例である。このプログラムは定期的に実行される。プログラムは、ステップ303−9−1で開始する。ステップ303−9−2では、プログラムは、フロントエンドストレージサブシステム100及びバックエンドストレージサブシステム200から構成及び作業負荷情報を受信する。ステップ303−9−3では、プログラムは、受信された情報を、システム情報テーブル303−3、統合ストレージ階層管理テーブル303−1、及びストレージサブシステム管理テーブル303−2に格納する。プログラムは、ステップ303−9−4で終了する。
0116 B8.統合ストレージプール管理サーバのディスプレイイメージ
0117 図20は、ユーザのための入出力(I/O)インタフェースとしての統合ストレージプール要素マネージャ305−1の一例を示す。このI/Oインタフェースを使用して、ユーザは、統合ストレージプール600に追加されるべき新しいストレージサブシステムを入力し、統合ストレージプール600から除去されるべき既存のストレージサブシステムを入力し、かつ現在のリソース情報及び統合ストレージプール600の修正後のリソース情報をチェックすることができる。I/Oインタフェースは、以下の特徴を含む。プール階層リソース情報パネル305−1−1は、ユーザに各階層の現在のリソース量を示す。ユーザが統合ストレージプール600への/からのストレージサブシステムの追加及び/又は除去を設定する時に、パネルは、修正後のリソース情報を示す。プール状態情報パネル305−1−2は、統合ストレージプール600の現在の状態を示す。プール構成情報パネル305−1−3は、ユーザに対して統合ストレージプール600のストレージサブシステムのリストを示す。ユーザは、統合ストレージプール600から除去するストレージサブシステムを、このリストから選択することができる。ストレージサブシステム情報パネル305−1−4は、ユーザに対して、統合ストレージプール600には存在しないが追加できるストレージサブシステムのリストを示す。ユーザは、統合ストレージプール600に追加するストレージサブシステムを、このリストから選択することができる。追加ボタン305−1−4を使用して、ユーザは、ストレージサブシステム情報パネル305−1−4からストレージサブシステムを選択した後でこのボタンを押すことによって、統合ストレージプール600へのストレージサブシステムの追加を設定することができる。除去ボタン305−1−5を使用して、ユーザは、プール構成情報パネル305−1−3からストレージサブシステムを選択した後でこのボタンを押すことによって、統合ストレージプール600からのストレージサブシステムの除去を設定することができる。適用ボタン305−1−7を使用して、ユーザは、このボタンを押すことによって、ストレージサブシステムを統合ストレージプール600に追加するようにという、統合ストレージプール拡張制御プログラム303−4の命令を送信することができる。さらに又はあるいは、ユーザは、このボタンを押すことによって、ストレージサブシステムを統合ストレージプール600に追加するようにという、統合ストレージプール削減制御プログラム303−5の命令を送信することができる。ユーザは、取消ボタン305−1−8を押すことによって、構成を現在の状態に戻す。
0118 図21は、ユーザのためのI/Oインタフェースとしての統合ストレージプール階層マネージャ305−2の一例を示す。ユーザは、統合ストレージプール600の階層構成を入力することができ、かつこのインタフェースで現在のリソース情報及び統合ストレージプール600の修正後のリソース情報をチェックすることができる。インタフェースは、以下の特徴を含む。プール階層リソース情報パネル305−2−1は、ユーザに各階層の現在のリソース量を示す。ユーザが階層構成の変更を統合ストレージプール600に設定する時に、このパネルは、修正後のリソース情報を示す。プール状態情報パネル305−1−2は、統合ストレージプール600の現在の状態を示す。階層構成情報パネル305−2−3は、ユーザに対して、統合ストレージプール600の階層のリストを示す。ユーザは、統合ストレージプール600の階層構成を変更することができる。ユーザは、適用ボタン305−2−7を押すことによって、統合ストレージプール600の階層構成を変更するようにという統合ストレージプール階層構成制御プログラム303−6の命令を送信することができる。ユーザは、取消ボタン305−2−8を押すことによって、構成を現在の状態に戻すことができる。
0119 図22は、ユーザのためのI/Oインタフェースとしての統合ストレージプールボリュームマネージャ305−3の一例を示す。ユーザは、統合ストレージプール600のボリューム構成を入力することができ、かつこのインタフェースで、統合ストレージプール600の現在のリソース情報をチェックすることができる。インタフェースは、以下の特徴を含む。プール階層リソース情報パネル305−3−1は、ユーザに各階層の現在のリソース量を示す。プール状態情報パネル305−3−2は、統合ストレージプール600の現在の状態を示す。ボリューム構成情報パネル305−3−3は、ユーザに統合ストレージプール600のボリュームのリストを示す。ユーザは、統合ストレージプール600のボリューム構成を変更することができる。ユーザは、適用ボタン305−3−7nを押すことによって、統合ストレージプール600のボリューム構成を変更するようにという、統合ストレージプールボリューム制御プログラム303−6の命令を送信することができる。ユーザは、取消ボタン305−3−8を押すことによって、構成を現在の状態に戻すことができる。
0120 B9.シンプロビジョニングプール階層と統合ストレージプール階層の関係
0121 図23は、シンプロビジョニングプール110の階層と統合ストレージプール600の階層との間の関係を示す。統合ストレージプール600は階層611を有し、これらは、媒体タイプ、RAIDレベル、コスト等によって分類される。それらは、階層611−1、階層611−2、階層611−3、階層611−4、階層611−5等に分類される。この分類は、統合ストレージプールの階層管理テーブル303−1の設定に基づいている。統合ストレージプール600の各階層611は、フロントエンドストレージサブシステム100の各シンプロビジョニングプール110の階層111を有する。各階層611は、統合ストレージプール階層管理テーブル303−1からの優先順位設定を有する。
0122 C.システムの操作手順
0123 C1.統合ストレージプール拡張
0124 図24は、ストレージサブシステムのインストール及び統合ストレージプール600の拡張のシーケンスの一例を示す。このシーケンスは以下の手順を含む。手順S1−1では、ユーザは、新しいフロントエンドストレージサブシステム100a及び100bを導入し、フロントエンドストレージサブシステム100a及び100bのRAIDグループ構成及びネットワーク構成を設定する。この手順によって、フロントエンドストレージサブシステム100a及び100bは、S1−2の構成を変更する。ユーザは、統合ストレージプール600に対して、フロントエンドストレージサブシステム100a及び100bで拡張するように命令する。この手順によって、統合ストレージプール600は、S1−3の構成を変更する。手順S1−2では、フロントエンドストレージサブシステム100は、RAIDグループ112を確立し、ネットワーク情報及びネットワークへのログインを取得する。手順S1−3では、最初に、統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100a及び100bに対して、S1−4に進んで、バックエンドストレージサブシステム100の外部ボリュームをマウントし、階層式シンプロビジョニングプール110を確立し、そして階層式シンプロビジョニングプール110の階層を確立してS−14に進むように命令する。次に、統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステムに対して(S1−6に進む)に、QoS設定を備える階層式シンプロビジョニングプール110からクロスマウントボリューム132を供給するように命令する。次に、統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステムに対して(S1−6に進む)、他のフロントエンドストレージサブシステム100の供給されたクロスマウントボリューム132をマウントし、S1−8に進むように命令する。
0125 手順S1−4では、フロントエンドストレージサブシステム100は、階層式シンプロビジョニングプール110を確立する。フロントエンドストレージサブシステム100は、バックエンドストレージサブシステム200の指定された外部ボリュームをマウントし、かつ外部ボリュームを階層式シンプロビジョニングプール110にインストールする。フロントエンドストレージサブシステム100は、階層111の指定された構成を設定する。手順S1−5では、階層式シンプロビジョニングプール110のRAIDグループ112は、階層111に分類される。手順S1−6では、フロントエンドストレージサブシステム100は、指定されたQoS設定を備えるクロスマウントボリューム132を作成する。手順S1−7では、クロスマウントボリューム132が供給される。手順S1−8では、フロントエンドストレージサブシステム100は、いくつかの他のフロントエンドストレージサブシステム100の指定されたクロスマウントボリューム132をマウントする。手順S1−9では、クロスマウントボリューム132の外部ボリュームは、RAIDグループとしてマウントされる。
0126 図25は、手順S1−5の後のシステムの状態を示す。バックエンドストレージサブシステム200の外部ボリューム231は、フロントエンドストレージサブシステム100によってマウントされる。各フロントエンドストレージサブシステム100は、内部RAIDグループ112及びマウントされた外部ボリューム231を備える階層式シンプロビジョニングプール110を有する。
0127 図26は、図25の状態を達成するためのデータ、情報、及び命令の流れを示す。統合ストレージプール拡張制御プログラム303−4は、ストレージサブシステム管理テーブル303−2及び統合ストレージプール階層管理テーブル303−1から統合ストレージプール600の現在の構成を取得する。統合ストレージプール拡張制御プログラム303−4は、統合ストレージプール600の新しい構成を生成し、新しい構成を各テーブルに格納する。統合ストレージプール拡張制御プログラム303−4は、階層式プール管理テーブル103−2に対して、階層式シンプロビジョニングプール110の情報を、生成された新しい設定として設定するように命令する。統合ストレージプール拡張制御プログラム303−4は、ディスク管理テーブル103−1に対して、マウントされた外部ボリュームを、生成された新しい設定として設定するように命令する。統合ストレージプール拡張制御プログラム303−4は、バックエンドストレージサブシステム200のボリューム231に対して、マウントするフロントエンドストレージサブシステム100からのI/Oを許可するように命令する。
0128 図27は、手順S1−9の後のシステムの状態を示す。フロントエンドストレージサブシステム100のクロスマウントボリューム132は、階層式シンプロビジョニングプール110から供給される。フロントエンドストレージサブシステム100のクロスマウントボリューム132は、他のフロントエンドストレージサブシステム100によってマウントされる。
0129 図28は、図27の状態を達成するためのデータ、情報、及び命令の流れを示す。統合ストレージプール拡張制御プログラム303−4は、ストレージサブシステム管理テーブル303−2及び統合ストレージプール階層管理テーブル303−1から、統合ストレージプール600の現在の構成を取得する。統合ストレージプール拡張制御プログラム303−4は、統合ストレージプール600の新しい構成を生成し、かつ新しい構成を統合ストレージプール階層管理テーブル303−1に格納する。統合ストレージプール拡張制御プログラム303−4は、ボリューム管理テーブル103−3に対して、供給されたクロスマウントボリューム132を設定するように命令する。統合ストレージプール拡張制御プログラム303−4は、ディスク管理テーブル103−1に対して、他のフロントエンドストレージサブシステム100のマウントされたクロスマウントボリューム132を設定するように命令する。統合ストレージプール拡張制御プログラム303−4は、階層式プール管理テーブル103−2に対して、マウントされたクロスマウントボリューム132の階層を設定するように命令する。
0130 C2.統合ストレージプールボリュームプロビジョニング
0131 図29は、統合ストレージプール600からのボリュームプロビジョニングのシーケンスの一例を示す。このシーケンスは以下の手順を含む。手順S2−1では、ユーザは、統合ストレージプール管理サーバ300にボリューム構成(例えば、容量、QoS(階層611の選択)、及び接続されたホスト構成を含む)を入力する。手順S2−2では、統合ストレージプール管理サーバ300は、各フロントエンドストレージサブシステム100の現在のリソース状態から、ネットワークゾーンの設定、適切なストレージサブシステム、及び適切な階層(階層111)を選択する。統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100a及び100bに対して、前記生成された構成の構成を備えたホストボリューム131を供給するように命令する。統合ストレージプール管理サーバ300は、ホスト500に対して、供給されたホストボリューム131をマウントするように命令する。手順S2−3では、フロントエンドストレージサブシステム100は、階層式シンプロビジョニングプール110の構成情報を転送する。手順S2−4では、フロントエンドストレージサブシステム100は、指定された構成を備えるホストボリューム131を確立する。手順S2−5では、ホストボリューム131が供給される。手順S2−6では、ホスト500は、指定されたホストボリューム131とのボリューム接続を確立する。
0132 図30は、図29のシーケンス後のシステムの状態を示す。フロントエンドストレージサブシステム100のホストボリューム131は、階層式シンプロビジョニングプール110から供給される。フロントエンドストレージサブシステム100のホストボリューム131は、ホスト500から接続される。
0133 図31は、図30の状態を達成するためのデータ、情報、及び命令の流れを示す。統合ストレージプールボリューム制御プログラム303−7は、ストレージサブシステム管理テーブル303−2及び統合ストレージプール階層管理303−1からリソース構成を取得する。統合ストレージプールボリューム制御プログラム303−7は、供給されたホストボリューム131の情報をストレージサブシステム管理テーブル303−2に格納する。統合ストレージプールボリューム制御プログラム303−7は、ボリューム管理テーブル103−3に対して、供給されたホストボリューム131を設定するように命令する。統合ストレージプール拡張制御プログラム303−4は、パス管理モジュール501に対して、ホストボリューム131への接続を設定するように命令する。
0134 C3.ホストI/O
0135 図32は、ホスト500からホストボリューム131へのI/Oのシーケンスの一例を示す。このシーケンスは以下の手順を含む。手順S3−1では、ホスト500は、フロントエンドストレージサブシステム100のホストボリューム131に書き込みI/Oを送信する。手順S3−2では、フロントエンドストレージサブシステム100は、データを受信する。手順S3−3では、ホストボリューム131は、受信されたデータをキャッシュ領域に格納する。手順S3−4では、フロントエンドストレージサブシステム100はキャッシュ状態を定期的にチェックし、デステージされていないデータを見つけた場合は、フロントエンドストレージサブシステム100は、データをディスクに格納する。フロントエンドストレージサブシステム100が、まだデータに対して容量ページを割り当てていない場合は、新しい容量ページを割り当てる。手順S3−5では、ホストボリューム131は、必要な場合は、容量ページの割り当てによってデータをデステージする。手順S3−6では、RAIDグループ112は、書き込みデータをディスクに格納する。手順S3−7では、ホスト500は、フロントエンドストレージサブシステム100のホストボリューム131に読み出しI/Oを送信する。手順S3−8では、フロントエンドストレージサブシステム100は、データを送信する。手順S3−9では、ホストボリューム131は、読み出しデータをディスクからキャッシュ領域にステージする。手順S3−10では、RAIDグループ112は、データをディスクからキャッシュ領域に転送する。
0136 図33は、図32の書き込みI/Oの後のシステムの状態を示す。ホストボリューム131上のボリュームページ131−1は、容量ページ131−2に割り当てられる。容量ページ131−2の実体は、他のフロントエンドストレージサブシステム100の内部RAIDグループ112−4、外部ボリューム231、又は内部RAIDグループ112−4に存在する。
0137 図34は、図33の状態を達成するためのデータ、情報、及び命令の流れを示す。ホスト500は、I/O要求及びデータをボリュームI/O制御プログラム103−6に送信する。ボリュームI/O制御プログラム103−6は、ボリューム構成を取得するためにボリューム管理テーブル103−3を参照する。ボリュームI/O制御プログラム103−6は、データをキャッシュ領域103−0に格納する。ディスク制御プログラム103−7は、ダーティデータを見つけるために、キャッシュ領域103−0の状態をチェックする。ディスク制御プログラム103−7は、領域が容量ページを割り当てる必要があるか否かを判定するために、ページ管理テーブル103−4を参照する。容量ページの割当が必要な場合、ディスク制御プログラム103−7は、容量ページがそこから割り当てられるべき階層を見つけるために、階層式プール管理テーブル103−2を参照する。ディスク制御プログラム103−7はさらに、ボリュームページと容量ページの関係情報をページ管理テーブル103−4に格納する。ディスク制御プログラム103−7は、ページ管理テーブル103−4及びディスク管理テーブル103−1からダーティデータのディスク及びアドレス情報を見つけ、このデータをディスク106又は外部ボリューム231に転送する。
0138 C4.フロントエンドストレージサブシステムの自動階層式ストレージ管理
0139 図35は、階層式ストレージ管理のシーケンスの一例を示す。手順S4−1では、フロントエンドストレージサブシステム100は、各割り当てられたボリュームページの階層構成を定期的にチェックする。フロントエンドストレージサブシステム100は、I/O作業負荷交代及び/又はユーザ要件(すなわち、階層構成の変更)の後で、割り当てられた階層を変更する。再割り当ての方法は、新しい容量ページを選択すること、容量ページ上のデータを既存の容量ページから新しく割り当てられた容量ページにコピーすること、及びページ管理テーブル103−4上のマッピング情報を新しく割り当てられた容量ページに変更することを含む。手順S4−2では、RAIDグループ112は、データをコピーする。手順S4−3では、ホストボリューム132は、ボリュームページのマッピング情報を変更する。
0140 図36は、ページ移動中のシステムの状態を示す。容量ページ131−2a上のデータは、他の容量ページ131−2bにコピーされる。ボリュームページ131−1は、マッピングを容量ページ131−2a上のデータから容量ページ131−2b上のデータに変更する。
0141 図37は、階層交代の必要性を見つけるためのデータ、情報、及び命令の流れを示す。性能モニタプログラム103−5は、ボリュームI/O制御プログラム103−6、キャッシュ領域103−0、ディスク制御プログラム103−7、及び階層式プール管理テーブル103−2から作業負荷及び性能情報をチェックする。ボリュームI/O制御プログラム103−6は、I/O作業負荷及びI/Oレイテンシ情報及び読み出し/書き込み率を提供する。キャッシュ領域103−0は、キャッシュヒット率情報を提供する。ディスク制御プログラム103−7は、ディスク作業負荷及びディスクレイテンシ情報を提供する。階層式プール管理テーブル103−2は、階層状態及び使用情報を提供する。
0142 図38は、階層を変更するために容量ページを移動するためのデータ、情報、及び命令の流れを示す。性能モニタプログラム103−5は、ページ制御プログラム103−8に移動を開始するように通知又は指示する。ページ制御プログラム103−8は、階層式プール管理テーブル103−2をチェックすることによって、適切な階層から新しい容量ページを割り当てる。ページ制御プログラム103−8は、ディスク制御プログラム103−7に対して、データを2つの容量ページの間でコピーするように命令して、ページ管理テーブル103−4上のマッピング情報を変更する。ディスク制御プログラム103−7は、データをコピーする。ディスク制御プログラム103−7は、RAIDグループの構成を取得するために、ディスク管理テーブル103−1を参照する。コピープロセスには、データを転送するために、キャッシュ領域103−0を使用する。ディスク制御プログラム103−7は、データをディスク106又は外部ボリューム231に格納する。
0143 C5.リソース情報収集
0144 図39は、各フロントエンドストレージサブシステム100からのリソース情報収集のシーケンスの一例を示す。手順S5−1では、統合ストレージプール管理サーバ300は、定期的に、各フロントエンドストレージサブシステム100からリソース情報を要求する。手順S5−2では、フロントエンドストレージサブシステム100は、リソース情報を統合ストレージプール管理サーバ300に報告する。この情報は、I/O作業負荷(トランザクション等)、階層使用(容量、I/O局所性等)、及びI/O性能(I/O率、キャッシュヒット率等)を含む。
0145 図40は、階層を変更するために容量ページを移動するためのデータ、情報、及び命令の流れを示す。性能モニタプログラム103−5は、作業負荷及び実性能情報を統合ストレージプールモニタプログラム303−1に報告する。この情報は、I/O作業負荷、I/Oレイテンシ、読み出し/書き込み率、ヒット率、及びディスクレイテンシを含む。階層式プール管理テーブル103−2は、各階層のリソース使用情報を統合ストレージプールモニタプログラム303−1に報告する。この情報は、階層状態及び階層使用を含む。ボリューム管理テーブル103−3は、各ボリュームのリソース使用情報を統合ストレージプールモニタプログラム303−1に報告する。この情報は、ボリューム状態、ボリューム使用、及びボリューム作業負荷を含む。
0146 C6.他のストレージサブシステムによる外部ボリュームのリマウント
0147 図41は、フロントエンドストレージサブシステム100間で外部ボリュームのマウントを変更するシーケンスの一例を示す。このシーケンスは、ステップ303−8−6及びステップ303−8−7で実行される。手順S6−1では、統合ストレージプール管理サーバ300は、マウントするフロントエンドストレージサブシステム100bを変更するために外部ボリューム231を選択し、かつリマウントするフロントエンドストレージサブシステム100aを選択する。統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100bに対して、外部ボリューム231を除去するように命令する。除去操作の後で、統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100aに対して、アンマウントされた外部ボリューム231をマウントし、かつその階層式シンプロビジョニングプール110をインストールするように命令する。手順S6−2では、フロントエンドストレージサブシステム100bは、指定された外部ボリューム231上の既に割り当てられた容量ページを他のRAIDグループに移動する。手順S6−3では、外部ボリュームを含むRAIDグループ132は、データを、指定された外部ボリューム231から他のRAIDグループにコピーする。手順S6−4では、ホストボリューム131及びクロスマウントボリューム132は、コピーされた容量ページのマッピング情報を変更する。手順S6−5では、フロントエンドストレージサブシステム100bは、指定された外部ボリューム231をアンマウントする。手順S6−6では、アンマウントされた外部ボリューム231は、階層式シンプロビジョニングプール110から離れる。手順S6−7では、フロントエンドストレージサブシステム100aは、アンマウントされた外部ボリューム231をマウントする。手順S6−8では、マウントされた外部ボリューム231は、階層式シンプロビジョニングプール110に加わる。
0148 図42は、リマウントプロセスの間のシステムの状態を示す。フロントエンドストレージサブシステム100bは、外部ボリューム231をマウントするRAIDグループ112−5上に存在する容量ページ131−1を他のRAIDグループ112に移動し、外部ボリューム231をアンマウントする。フロントエンドストレージサブシステム100aは、外部ボリューム231をマウントし、これを階層式シンプロビジョニングプール110に設定する。
0149 図43は、外部ボリューム231をリマウントするためのデータ、情報、及び命令の流れを示す。統合ストレージリソース制御プログラム303−8は、ストレージサブシステム管理テーブル303−2をチェックすることによって、リソースのアンバランスを見つける。統合ストレージリソース制御プログラム303−8は、ストレージサブシステム管理テーブル303−2、統合ストレージ階層管理テーブル303−1、及びシステム情報テーブル303−3を参照することによって、リバランスする最善の方法を考慮する。その結果、統合ストレージリソース制御プログラム303−8は、外部ボリュームのマウントを、フロントエンドストレージサブシステム100bからフロントエンドストレージサブシステム100aに変更する方法を選択する。統合ストレージリソース制御プログラム303−8は、フロントエンドストレージサブシステム100b上の階層式プール管理テーブル103−2に対して、階層式シンプロビジョニングプール110から、外部ボリューム231をマウントするRAIDグループ112を除去するように命令する。統合ストレージリソース制御プログラム303−8は、フロントエンドストレージサブシステム100b上のディスク管理テーブル103−1に対して、外部ボリューム231をアンマウントするように命令する。フロントエンドストレージサブシステム100b上のページ制御プログラム103−8は、階層式プール管理テーブル103−2をチェックすることによって、適切な階層から新しい容量ページを割り当てる。ページ制御プログラム103−8は、ディスク制御プログラム103−7に対して、データを2つの容量ページの間でコピーするように命令し、ページ管理テーブル103−4上のマッピング情報を変更する。
0150 フロントエンドストレージサブシステム100b上のディスク制御プログラム103−7は、RAIDグループの構成を取得するためにディスク管理テーブル103−1を参照し、データを転送するためにキャッシュ領域103−0を使用し、かつデータをディスク106又は外部ボリューム231に格納することによって、データをコピーする。統合ストレージリソース制御プログラム303−8は、外部ボリューム231に対して、パスを、フロントエンドストレージサブシステム100bからフロントエンドストレージサブシステム100aに変更するように命令する。統合ストレージリソース制御プログラム303−8は、フロントエンドストレージサブシステム100a及びディスク管理テーブル103−1に対して、外部ボリューム231をRAIDグループ112としてマウントするように命令する。統合ストレージリソース制御プログラム303−8は、フロントエンドストレージサブシステム100a及び階層式プール管理テーブル103−2に対して、外部ボリューム231をマウントするRAIDグループ112を階層式シンプロビジョニングプール110に加えるように命令する。
0151 C7.他のストレージからの貸与容量の追加
0152 図44は、他のフロントエンドストレージサブシステム100から容量をマウントするためのインクリメントのシーケンスの一例を示す。このシーケンスは、ステップ303−8−9及びステップ303−8−10で実行される。このシーケンスは以下の手順を含む。手順S7−1では、統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100aに容量を貸与するために、フロントエンドストレージサブシステム100bを選択する。統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100bに対して、クロスマウントボリューム132を供給するように命令する。プロビジョニング操作の後で、統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100aに対して、クロスマウントボリューム132をマウントし、その階層式シンプロビジョニングプール110をインストールするように命令する。手順S7−2では、フロントエンドストレージサブシステム100bは、クロスマウントボリューム132の用のQoS設定を備えた自己の階層式シンプロビジョニングプール110からクロスマウントボリューム132を供給する。手順S7−3では、クロスマウントボリューム132が確立される。手順S7−4では、フロントエンドストレージサブシステム100aは、フロントエンドストレージサブシステム100bの供給されたクロスマウントボリューム132をRAIDグループ112−6としてマウントし、RAIDグループ112−6を階層式シンプロビジョニングプール110にインストールする。手順S7−5では、クロスマウントボリューム132をマウントするRAIDグループ112−6は、階層式シンプロビジョニングプール110に結合される。
0153 図45は、追加プロセス後のシステムの状態を示す。フロントエンドストレージサブシステム100aは、フロントエンドストレージサブシステム100bのクロスマウントボリューム132をマウントする。フロントエンドストレージサブシステム100aは、階層式シンプロビジョニングプール110のリソースのために、マウントされたクロスマウントボリューム132を使用する。
0154 図46は、外部ボリューム231をリマウントするためのデータ、情報、及び命令の流れを示す。統合ストレージリソース制御プログラム303−8は、ストレージサブシステム管理テーブル303−2をチェックすることによって、リソースのアンバランスを見つける。統合ストレージリソース制御プログラム303−8は、ストレージサブシステム管理テーブル303−2、統合ストレージ階層管理テーブル303−1、及びシステム情報テーブル303−3を参照することによってリバランスする最善の方法を考慮する。その結果、統合ストレージリソース制御プログラム303−8は、容量をフロントエンドストレージサブシステム100bからフロントエンドストレージサブシステム100aに貸与する方法を選択する。統合ストレージリソース制御プログラム303−8は、フロントエンドストレージサブシステム100b上のボリューム管理テーブル103−3に対して、クロスマウントボリューム231を供給するように命令する。統合ストレージリソース制御プログラム303−8は、フロントエンドストレージサブシステム100a上のディスク管理テーブル103−1に対して、クロスマウントボリュームをフロントエンドストレージサブシステム100bにマウントし、かつマウントされたクロスマウントボリューム132を階層式シンプロビジョニングプール110に結合するように命令する。
0155 C8.他のストレージへのボリューム移動
0156 図47は、2つのストレージサブシステムの間のボリューム移動のシーケンスの一例を示す。このシーケンスは、ステップ303−8−8で実行される。手順S8−1では、統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100aからフロントエンドストレージサブシステム100bに移動するために、ホストボリューム131を選択する。統合ストレージプール管理サーバ300は、フロントエンドストレージサブシステム100aからフロントエンドストレージサブシステム100bに移動するように命令する。手順S8−2では、フロントエンドストレージサブシステム100bは、フロントエンドストレージサブシステム100a上の指定されたホストボリューム131の構成及びデータをコピーする。手順S8−3では、フロントエンドストレージサブシステム100aは、ホストボリューム131のデータ及び構成を転送する。手順S8−4では、フロントエンドストレージサブシステム100a上のホストボリューム131は、データを転送する。手順S8−5では、フロントエンドストレージサブシステム100b上のホストボリューム131が供給され、データを格納する。手順S8−6では、ホスト500は、パスを、フロントエンドストレージサブシステム100a上のホストボリューム131からフロントエンドストレージサブシステム100b上のホストボリューム131に変更する。手順S8−7では、フロントエンドストレージサブシステム100aは、ホストパスを切断する。手順S8−8では、フロントエンドストレージサブシステム100bは、ホストパスを接続する。手順S8−9では、フロントエンドストレージサブシステム100aは、移動されたホストボリューム131を削除する。手順S8−10では、移動されたホストボリューム131は、割り当てられた容量ページを解放する。
0157 図48は、移動プロセス中のシステムの状態を示す。フロントエンドストレージサブシステム100aは、ホストボリューム131をフロントエンドストレージサブシステム100bに移動する。ホスト500は、パスを、フロントエンドストレージサブシステム100aからフロントエンドストレージサブシステム100bに変更する。
0158 図49は、外部ボリューム231をリマウントするためのデータ、情報、及び命令の流れを示す。統合ストレージリソース制御プログラム303−8は、ストレージサブシステム管理テーブル303−2をチェックすることによって、リソースのアンバランスを見つける。統合ストレージリソース制御プログラム303−8は、ストレージサブシステム管理テーブル303−2、統合ストレージ階層管理テーブル303−1、及びシステム情報テーブル303−3を参照することによって、リバランスする最善の方法を考慮する。その結果、統合ストレージリソース制御プログラム303−8は、オンラインボリュームをフロントエンドストレージサブシステム100aからフロントエンドストレージサブシステム100bに移動する方法を選択する。
0159 統合ストレージリソース制御プログラム303−8は、ボリューム移動制御プログラム103−9に対して、ホストボリューム131をフロントエンドストレージサブシステム100bに移動するように命令する。フロントエンドストレージサブシステム100a上のボリューム移動制御プログラム103−9は、ボリューム管理テーブル103−3、階層式プール管理テーブル103−2、及びページ管理テーブル103−4からホストボリューム131の構成を収集する。ページ管理テーブル103−4から割り当て情報を知ることが特に重要である。この情報が、ページ未割り当て領域のためのコピーを除外又は排除することによって、移動のための帯域幅を減らすのに有用であるためである。フロントエンドストレージサブシステム100a上のボリューム移動制御プログラム103−9は、ディスク制御プログラム103−7に対して、外部ボリューム231及び/又はディスク106からキャッシュ領域103−3にデータを転送するように命令する。フロントエンドストレージサブシステム100a上のボリューム移動制御プログラム103−9は、キャッシュ領域103−0からデータを読み出し、データ及び構成を、フロントエンドストレージサブシステム100b上のボリューム移動制御プログラム103−9に転送する。フロントエンドストレージサブシステム100b上のボリューム移動制御プログラム103−9は、ボリューム管理テーブル103−9に前記構成を備えるホストボリューム131を適用することによって、前記構成を備えるホストボリューム131を供給し、かつデータをキャッシュ領域103−0に格納する。ディスク制御プログラム103−7は、ページ管理テーブル103−4を変更することによって容量ページを割り当てる。ディスク制御プログラム103−7は、ディスク管理テーブル103−1でマッピングを解決することによって、キャッシュ領域103−0上のデータを外部ボリューム231又はディスク106に格納する。
0160 C9.統合ストレージプール削減
0161 図50は、ストレージサブシステムの除去による、統合ストレージプール600の削減のシーケンスの一例を示す。手順S9−1では、ユーザは、統合ストレージプールから除去されるべきストレージサブシステムを指定する。プール削減プロセスが完了した後で、ユーザは、システムからストレージを除去する。手順S9−2では、統合ストレージプール管理サーバ300は、指定されたストレージサブシステムの構成をチェックする。
0162 ストレージサブシステムがバックエンドストレージサブシステム200である場合は、以下が生じる。除去されたバックエンドストレージサブシステム200をマウントするフロントエンドストレージサブシステム100は、容量ページを外部ボリューム216から他のRAIDグループ112に再割り当てする。フロントエンドストレージサブシステム100は、外部ボリューム216をアンマウントする。
0163 ストレージサブシステムがフロントエンドストレージサブシステム100である場合は、以下が生じる。フロントエンドストレージサブシステム100aは、ホストボリューム131のデータ及び構成を他のフロントエンドストレージサブシステム100にコピーする。コピーされたホストボリューム131に接続するホスト500は、ターゲットホストボリューム131をコピーするためのパスを変更する。フロントエンドストレージサブシステム100aは、コピー元ホストボリューム131を削除する。除去されたフロントエンドストレージサブシステム100aを含まないフロントエンドストレージサブシステム100bは、除去されたフロントエンドストレージサブシステム100上にクロスマウントボリューム132をマウントするRAIDグループから容量ページを再割り当てする。除去されたフロントエンドストレージサブシステム100aを含まないフロントエンドストレージサブシステム100bは、除去されたフロントエンドストレージサブシステム100aのクロスマウントボリューム132をアンマウントする。除去されたフロントエンドストレージサブシステム100は、外部ボリューム231をアンマウントする。除去されたフロントエンドストレージサブシステム100aを含まないフロントエンドストレージサブシステム100bは、アンマウントされた外部ボリューム231をマウントする。
0164 手順S9−3では、フロントエンドストレージサブシステム100は、すべてのホストボリューム131の構成及びデータを読み出す。手順S9−4では、ホストボリューム131は、データを転送する。手順S9−5では、フロントエンドストレージサブシステム100aは、ホストボリューム131のデータ及び構成をフロントエンドストレージサブシステム100aに転送する。手順S9−6では、フロントエンドストレージサブシステム100b上のホストボリューム131は供給され、データを格納する。手順S9−7では、ホスト500は、パスを、フロントエンドストレージサブシステム100aからフロントエンドストレージサブシステム100bに変更する。手順S9−8では、フロントエンドストレージサブシステム100a上のホストボリューム131は、ホストパスを切断する。手順S9−9では、フロントエンドストレージサブシステム100b上のホストボリューム131は、ホストパスを接続する。手順S9−10では、フロントエンドストレージサブシステム100aは、すべてのホストボリューム131を削除する。手順S9−11では、ホストボリューム131が削除される。手順S9−12では、フロントエンドストレージサブシステム100bは、外部ボリューム231をマウントするRAIDグループ上の容量ページを他のRAIDグループに再割り当てする。手順S9−13では、RAIDグループは、データを他のRAIDグループ112にコピーする。手順S9−14では、クロスマウントボリューム132は、容量ページのためのマッピングを変更する。手順S9−15では、フロントエンドストレージサブシステム100bは、階層式シンプロビジョニングプール110から、クロスマウントボリューム132をマウントするRAIDグループ112を除去する。フロントエンドストレージサブシステム100bは、マウントされたクロスマウントボリューム132をアンマウントする。手順S9−16では、フロントエンドストレージサブシステム100a上のクロスマウントボリューム132がアンマウントされる。手順S9−17では、フロントエンドストレージサブシステム100aは、外部ボリューム216をアンマウントする。手順S9−18では、RAIDグループ112は、外部ボリューム216をアンマウントする。手順S9−19では、フロントエンドストレージサブシステム100bは、フロントエンドストレージサブシステム100aにマウントされた外部ボリューム216をマウントする。手順S9−20では、RAIDグループ112は、外部ボリューム216をマウントする。手順S9−21では、フロントエンドストレージサブシステム100aがシステムから除去される。
0165 図51は、統合ストレージプール600の削減プロセスの間のシステムの状態を示す。フロントエンドストレージサブシステム100aは、ホストボリューム131をフロントエンドストレージサブシステム100bに移動する。フロントエンドストレージサブシステム100bは、フロントエンドストレージサブシステム100aがマウントした外部ボリューム213をマウントする。フロントエンドストレージサブシステム100bによってマウントされたフロントエンドストレージサブシステム100aのクロスマウントボリューム132への接続が切断される。ホスト500からフロントエンドストレージサブシステム100aのホストボリューム131への接続は、フロントエンドストレージサブシステム100bに引き継がれ又は切り替えられる。
0166 当然のことながら、図1、図4、図10、図13及び図21に示すシステム構成は、本発明が実施され得る情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実施するコンピュータ及びストレージシステムは、上述の発明を実施するために用いられるモジュール、プログラム及びデータ構造を格納しかつ読み出すことができる公知のI/O装置(例えば、CD及びDVDドライブ、フロッピーディスクドライブ、ハードドライブ等)も有し得る。これらのモジュール、プログラム及びデータ構造は、当該コンピュータ読取可能媒体上で符号化することができる。例えば、本発明のデータ構造は、本発明で使用されるプログラムが存在する一つ以上のコンピュータ読取可能媒体から独立したコンピュータ読取可能媒体に格納することができる。システムの構成要素は、あらゆる形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク、ワイドエリアネットワーク(例えば、インターネット)、無線ネットワーク、ストレージエリアネットワーク等を含む。
0167 説明では、本発明を徹底的に理解できるようにするために説明する目的で多くの詳細が記載されている。しかし、当業者にとっては、本発明を実施するためにはこれら具体的な詳細のすべてが必要なわけではないことは明らかであるだろう。また、留意すべき点として、本発明は、通常はフローチャート、流れ図、構成図又はブロック図として記載されるプロセスとして説明されてもよい。フローチャートでは動作を逐次プロセスとして説明し得るが、動作の多くは並行して又は同時に実行することができる。さらに、動作の順番は並び替えてもよい。
0168 当技術分野では周知であるように、上述の動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実行することができる。本発明の実施形態の様々な態様は、回路や論理装置(ハードウェア)を用いて実施してよく、その一方で、その他の態様は、機械読み取り可能媒体(ソフトウェア)上に記憶された命令を用いて実施してもよく、これがプロセッサによって実行された場合には、本発明の実施形態を実行する方法をプロセッサに実施させるものである。さらに、本発明のいくつかの実施形態は、ハードウェアのみにおいて実施されてよく、その他の実施形態は、ソフトウェアのみで実施されてよい。さらに、説明された様々な機能は、一つのユニットで実施することができ、又はあらゆる方法によって多くの構成要素に分散することができる。ソフトウェアによって実施された場合、上記の方法は、コンピュータ読取可能媒体に記憶された命令に基づいて、汎用コンピュータ等のプロセッサによって実行され得る。望ましい場合には、圧縮及び/又は暗号化形式で命令を媒体に記憶することができる。
0169 上記により、本発明が、疎結合複数ストレージ環境のための階層式ストレージプール管理及び制御の方法、装置及びコンピュータ読取可能媒体に記憶されたプログラムを提供するものであることが明らかであろう。さらに、本明細書において特定の実施形態が示され説明されているが、当業者にとって当然のことながら、開示された特定の実施形態の代わりに、同じ目的を達成するために創出されたいかなる構成を用いてもよい。本開示は、本発明のあらゆる適応又はバリエーションを対象とすることを意図したものであり、また以下の請求項で用いられる用語は、本発明を本明細書で開示されている特定の実施形態に限定するものとは解釈されるべきではないことが理解される。むしろ本発明の範囲は、以下の請求項によって全面的に判断されるものであり、以下の請求項は、当該請求項が権利を有する同等物の範囲全体と共に、請求項の解釈について確立された原則に従って解釈されるものである。

Claims (13)

  1. フロントエンドストレージサブシステムと、他のフロントエンドストレージサブシステムと、を備えるシステムであって、
    前記フロントエンドストレージサブシステムは、前記フロントエンドストレージサブシステムに対して外部のストレージサブシステム上のボリュームを外部ボリュームとして使用し、前記フロントエンドストレージサブシステム内である内部ディスクを有するプールと、
    ホストコンピュータから入出力(I/O)コマンドを受信し、前記ホストコンピュータに前記プールからホストボリュームを提供し、前記他のフロントエンドストレージサブシステムに前記プールからクロスマウントボリュームを提供するストレージコントローラと、を備え、
    前記他のフロントエンドストレージサブシステムは、前記他のフロントエンドストレージサブシステムに対して外部のストレージサブシステム上の前記クロスマウントボリュームを含むボリュームを他の外部ボリュームとして使用し、前記他のフロントエンドストレージサブシステム内である他の内部ディスクを有する他のプールと、
    ホストコンピュータからI/Oコマンドを受信し、前記ホストコンピュータに前記他のプールから他のホストボリュームを提供する他のストレージコントローラと、を備え、
    前記ホストボリュームは、前記ストレージコントローラによって、前記プールの前記内部ディスクと前記外部ボリュームとの少なくともいずれか一方から1以上のページを割り当てられ、
    前記クロスマウントボリュームは、前記ストレージコントローラによって、前記外部ボリュームではなく前記プールの前記内部ディスクから1以上のページを割り当てられ、
    前記他のホストボリュームは、前記他のストレージコントローラによって、前記他のプールの前記他の内部ディスクと前記他の外部ボリュームとの少なくともいずれか一方から1以上のページを割り当てられる、システム。
  2. 前記他のフロントエンドストレージサブシステムの前記他のストレージコントローラは、前記フロントエンドストレージサブシステムに前記他のプールから他のクロスマウントボリュームを提供し、
    前記フロントエンドストレージサブシステムは、前記他のクロスマウントボリュームを含む外部のストレージサブシステム上のボリュームを前記外部ボリュームとして使用し、
    前記他のクロスマウントボリュームは、前記他のストレージコントローラによって、前記他の外部ボリュームではなく前記他のプールの前記他の内部ディスクから1以上のページを割り当てられる、請求項1に記載のシステム。
  3. 前記クロスマウントボリュームは、前記ストレージコントローラによって、前記外部ボリュームから1以上のページを割り当てることが禁止される、請求項1または請求項2に記載のシステム。
  4. 前記他のクロスマウントボリュームは、前記他のストレージコントローラによって、前記他の外部ボリュームから1以上のページを割り当てることが禁止される、請求項2または請求項3に記載のシステム。
  5. 前記外部のストレージサブシステムは、1以上のバックエンドストレージサブシステムを有する、請求項1乃至4のいずれか一項に記載のシステム。
  6. 前記ストレージコントローラは、前記プールのリソースの状態に基づき、前記外部ボリュームとして使用した前記外部のストレージサブシステム上のボリュームを解放する、請求項5に記載のシステム。
  7. 前記他のストレージコントローラによる、前記他のプールのリソースの状態に基づき、前記他の外部ボリュームとして使用した前記外部のストレージサブシステム上のボリュームを解放する、請求項5に記載のシステム。
  8. 前記ストレージコントローラは、前記プールの前記内部ディスクと前記外部ボリュームとを、複数のRAID(Redundant Array of Independent Disks)グループとして管理し、
    前記他のストレージコントローラは、前記他のプールの前記他の内部ディスクと前記他の外部ボリュームとを、他の複数のRAIDグループとして管理する、請求項5に記載のシステム。
  9. 管理サーバをさらに備えるシステムであって、
    前記管理サーバは、前記プールのリソースの状態に基づき、前記フロントエンドストレージサブシステムに、前記外部ボリュームとして使用した前記バックエンドストレージサブシステムのボリュームを解放させる命令を送信する、請求項5に記載のシステム。
  10. 管理サーバをさらに備えるシステムであって、
    前記管理サーバは、前記プールのリソースの状態に基づき、前記フロントエンドストレージサブシステムに、前記バックエンドストレージサブシステム上のボリュームを前記外部ボリュームとして使用させる命令を送信する、請求項5に記載のシステム。
  11. 前記管理サーバの命令により、前記フロントエンドストレージサブシステムが使用する前記外部ボリュームは、前記他のフロントエンドストレージサブシステムが解放した前記バックエンドストレージサブシステム上のボリュームである、請求項10に記載のシステム。
  12. 管理サーバをさらに備えるシステムであって、
    前記管理サーバは、前記プールと前記他のプールの各リソースの状態に基づき、前記フロントエンドストレージサブシステムに、前記他のフロントエンドストレージサブシステムへ前記クロスマウントボリュームを提供させる命令を送信する、請求項5に記載のシステム。
  13. 前記管理サーバは、前記他のフロントエンドストレージサブシステムに、前記フロントエンドストレージサブシステムから提供された前記クロスマウントボリュームを使用する命令を送信する、請求項12記載のシステム。
JP2011118219A 2010-08-20 2011-05-26 疎結合複数ストレージ環境のための階層式ストレージプール管理及び制御 Active JP5795496B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/860,086 2010-08-20
US12/860,086 US8356147B2 (en) 2010-08-20 2010-08-20 Tiered storage pool management and control for loosely coupled multiple storage environment

Publications (2)

Publication Number Publication Date
JP2012043407A JP2012043407A (ja) 2012-03-01
JP5795496B2 true JP5795496B2 (ja) 2015-10-14

Family

ID=44993983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011118219A Active JP5795496B2 (ja) 2010-08-20 2011-05-26 疎結合複数ストレージ環境のための階層式ストレージプール管理及び制御

Country Status (4)

Country Link
US (3) US8356147B2 (ja)
EP (1) EP2420926A3 (ja)
JP (1) JP5795496B2 (ja)
CN (1) CN102375701B (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2184681A1 (en) * 2008-10-31 2010-05-12 HSBC Holdings plc Capacity control
US11061597B2 (en) * 2010-11-09 2021-07-13 Pure Storage, Inc. Supporting live migrations and re-balancing with a virtual storage unit
JP5699691B2 (ja) * 2011-03-03 2015-04-15 日本電気株式会社 データ転送装置、ftサーバ、データ転送方法、及びプログラム
US8756310B2 (en) * 2011-03-09 2014-06-17 International Business Machines Corporation Comprehensive bottleneck detection in a multi-tier enterprise storage system
US9009438B2 (en) * 2011-06-01 2015-04-14 International Business Machines Corporation Space reclamation in multi-layered and thin provisioned storage systems
JP5821392B2 (ja) * 2011-08-12 2015-11-24 富士通株式会社 ストレージ装置、およびストレージ管理方法
US9811288B1 (en) * 2011-12-30 2017-11-07 EMC IP Holding Company LLC Managing data placement based on flash drive wear level
US11379354B1 (en) * 2012-05-07 2022-07-05 Amazon Technologies, Inc. Data volume placement techniques
US20130318196A1 (en) * 2012-05-23 2013-11-28 Hitachi, Ltd. Storage system and storage control method for using storage area based on secondary storage as cache area
US9363154B2 (en) * 2012-09-26 2016-06-07 International Business Machines Corporaion Prediction-based provisioning planning for cloud environments
US8949562B2 (en) 2012-10-15 2015-02-03 Hitachi, Ltd. Storage system and method of controlling storage system
JP5756240B2 (ja) * 2012-11-19 2015-07-29 株式会社日立製作所 管理システム及び管理方法
US10409527B1 (en) * 2012-12-28 2019-09-10 EMC IP Holding Company LLC Method and apparatus for raid virtual pooling
US9274817B1 (en) * 2012-12-31 2016-03-01 Emc Corporation Storage quality-of-service control in distributed virtual infrastructure
US20140244813A1 (en) * 2013-02-28 2014-08-28 Joseph McDonald Server cluster initiation
US9262313B2 (en) 2013-03-14 2016-02-16 Microsoft Technology Licensing, Llc Provisioning in heterogenic volume of multiple tiers
US9524300B2 (en) * 2013-03-14 2016-12-20 Microsoft Technology Licensing, Llc Heterogenic volume generation and use system
US9116904B2 (en) * 2013-03-14 2015-08-25 Microsoft Technology Licensing, Llc File system operation on multi-tiered volume
US9141626B2 (en) * 2013-03-14 2015-09-22 Microsoft Technology Licensing, Llc Volume having tiers of different storage traits
WO2015025363A1 (ja) * 2013-08-20 2015-02-26 株式会社日立製作所 ストレージ装置及びデータ入出力方法
US20150095568A1 (en) * 2013-09-30 2015-04-02 International Business Machines Corporation Storage system and storage device configuration reporting
CN103634379B (zh) * 2013-11-13 2017-02-01 华为技术有限公司 一种分布式存储空间的管理方法和分布式存储系统
JP2015114808A (ja) * 2013-12-11 2015-06-22 富士通株式会社 ストレージ制御装置、制御方法、及びプログラム
US9667496B2 (en) * 2013-12-24 2017-05-30 International Business Machines Corporation Configuration updates across peer storage systems
WO2015145671A1 (ja) * 2014-03-27 2015-10-01 株式会社日立製作所 ストレージ管理システム
TW201627882A (zh) * 2015-01-21 2016-08-01 國立清華大學 先決式資料庫系統及其資料搬移方法
US9916090B1 (en) * 2015-09-22 2018-03-13 EMC IP Holding Company LLC Techniques for dynamically adjusting slice size
US10353634B1 (en) * 2016-03-28 2019-07-16 Amazon Technologies, Inc. Storage tier-based volume placement
US10082983B2 (en) 2016-04-05 2018-09-25 International Business Machines Corporation Monitoring storage systems
CN107346209B (zh) * 2016-05-08 2022-05-20 上海霄云信息科技有限公司 一种多磁盘聚合式数据存储系统及其实现方法与应用方法
JPWO2018037510A1 (ja) * 2016-08-24 2018-12-06 株式会社日立製作所 計算機システム、通信デバイス、及び、記憶制御方法
US10440113B2 (en) 2017-05-02 2019-10-08 International Business Machines Corporation Storage network tiering
US10795583B2 (en) * 2017-07-19 2020-10-06 Samsung Electronics Co., Ltd. Automatic data placement manager in multi-tier all-flash datacenter
JP6668309B2 (ja) 2017-11-30 2020-03-18 株式会社日立製作所 記憶システム及びその制御方法
JP6751111B2 (ja) * 2018-04-26 2020-09-02 株式会社日立製作所 ストレージシステム、ストレージシステムの制御方法及び管理ノード
US10564881B2 (en) 2018-05-31 2020-02-18 International Business Machines Corporation Data management in a multitier storage system
US10628074B2 (en) 2018-08-03 2020-04-21 Western Digital Technologies, Inc. Tiered storage system with data routing by peer storage devices
US10956058B2 (en) * 2018-08-03 2021-03-23 Western Digital Technologies, Inc. Tiered storage system with tier configuration by peer storage devices
CN109358997A (zh) * 2018-10-10 2019-02-19 郑州云海信息技术有限公司 一种mcs存储系统卷迁移的自动化测试系统及方法
JP7050034B2 (ja) * 2019-07-29 2022-04-07 株式会社日立製作所 ストレージシステム及びノード管理方法
CN115244518A (zh) * 2020-03-09 2022-10-25 日立数据管理有限公司 非均匀存储的容量和性能优化

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680573A (en) * 1994-07-12 1997-10-21 Sybase, Inc. Method of buffering data objects in a database
US5964859A (en) * 1997-10-30 1999-10-12 Advanced Micro Devices, Inc. Allocatable post and prefetch buffers for bus bridges
US6240498B1 (en) * 1999-01-06 2001-05-29 International Business Machines Corporation Object oriented storage pool apparatus and method
JP2002222061A (ja) * 2001-01-25 2002-08-09 Hitachi Ltd 記憶領域を設定する方法、記憶装置およびプログラム記憶媒体
US6842829B1 (en) * 2001-12-06 2005-01-11 Lsi Logic Corporation Method and apparatus to manage independent memory systems as a shared volume
US6836832B1 (en) * 2001-12-21 2004-12-28 Network Appliance, Inc. System and method for pre-selecting candidate disks based on validity for volume
US6954831B2 (en) * 2002-08-29 2005-10-11 International Business Machines Corporation Method, system, and article of manufacture for borrowing physical volumes
JP4322031B2 (ja) * 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
US6823442B1 (en) 2003-05-12 2004-11-23 3Pardata, Inc. Method of managing virtual volumes in a utility storage server system
US7231662B2 (en) * 2003-05-28 2007-06-12 International Business Machines Corporation Automated security tool for storage system
JP4462852B2 (ja) 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
JP2005242757A (ja) 2004-02-27 2005-09-08 Hitachi Ltd ストレージシステム
US7363454B2 (en) * 2004-12-10 2008-04-22 International Business Machines Corporation Storage pool space allocation across multiple locations
US7404061B2 (en) * 2005-02-14 2008-07-22 Jordan David A Permanent pool memory management method and system
JP2007066259A (ja) 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
US7469329B2 (en) * 2006-03-30 2008-12-23 International Business Machines Corporation Methods for dynamically resizing memory pools
US7783847B2 (en) * 2006-10-31 2010-08-24 Oracle America Inc. Method and system for reallocating blocks in a storage pool
JP5069011B2 (ja) 2007-01-29 2012-11-07 株式会社日立製作所 ストレージモジュール及び容量プール空き容量調整方法
US7769971B2 (en) * 2007-03-29 2010-08-03 Data Center Technologies Replication and restoration of single-instance storage pools
JP2009129134A (ja) 2007-11-22 2009-06-11 Hitachi Ltd ストレージ管理システム、性能監視方法及び管理サーバ
JP5111204B2 (ja) 2008-03-31 2013-01-09 株式会社日立製作所 ストレージシステム及びストレージシステムの管理方法
US8051243B2 (en) * 2008-04-30 2011-11-01 Hitachi, Ltd. Free space utilization in tiered storage systems
US20100070722A1 (en) 2008-09-16 2010-03-18 Toshio Otani Method and apparatus for storage migration
US20100077128A1 (en) * 2008-09-22 2010-03-25 International Business Machines Corporation Memory management in a virtual machine based on page fault performance workload criteria
US8224782B2 (en) * 2008-09-29 2012-07-17 Hitachi, Ltd. System and method for chunk based tiered storage volume migration
US20100082546A1 (en) * 2008-09-30 2010-04-01 Microsoft Corporation Storage Tiers for Database Server System
JP4727705B2 (ja) 2008-10-31 2011-07-20 株式会社日立製作所 階層型ストレージシステム
JP2010113509A (ja) * 2008-11-06 2010-05-20 Hitachi Ltd 記憶領域の割当方法および管理サーバ
US8285961B2 (en) * 2008-11-13 2012-10-09 Grid Iron Systems, Inc. Dynamic performance virtualization for disk access
WO2012007999A1 (en) 2010-07-16 2012-01-19 Hitachi, Ltd. Storage control apparatus and storage system comprising multiple storage control apparatuses

Also Published As

Publication number Publication date
US20140108763A1 (en) 2014-04-17
US9286200B2 (en) 2016-03-15
CN102375701A (zh) 2012-03-14
JP2012043407A (ja) 2012-03-01
US20130151806A1 (en) 2013-06-13
US8621164B2 (en) 2013-12-31
US20120047346A1 (en) 2012-02-23
US8356147B2 (en) 2013-01-15
EP2420926A2 (en) 2012-02-22
EP2420926A3 (en) 2012-11-21
CN102375701B (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
JP5795496B2 (ja) 疎結合複数ストレージ環境のための階層式ストレージプール管理及び制御
US9124613B2 (en) Information storage system including a plurality of storage systems that is managed using system and volume identification information and storage system management method for same
US8463995B2 (en) Storage control apparatus and storage system comprising multiple storage control apparatuses
US7953574B2 (en) Methods and apparatuses for heat management in information systems
US8433848B1 (en) Analysis tool for a multi-tier storage environment
US8443163B1 (en) Methods, systems, and computer readable medium for tier-based data storage resource allocation and data relocation in a data storage array
JP6121527B2 (ja) 計算機システム及びリソース管理方法
WO2013057751A1 (en) Method for data tiering and computer system using the same
JP5668151B2 (ja) 計算機システムの管理装置及び管理方法
WO2011092738A1 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
WO2012004837A1 (en) Storage apparatus and storage management method
US9619169B1 (en) Managing data activity information for data migration in data storage systems
US8972656B1 (en) Managing accesses to active-active mapped logical volumes
WO2010140264A1 (en) Storage subsystem and its data processing method, and computer system
US7836145B2 (en) Computer system, management method, and management computer for managing data archiving storage extents based on server performance management information and storage utilization information
JP2005038071A (ja) ストレージの容量を最適化する管理方法
US10082968B2 (en) Preferred zone scheduling
JP2014241117A (ja) ストレージシステム、運用管理方法及び運用管理プログラム
US20160026984A1 (en) Storage apparatus and control method of storage apparatus
US20160364400A1 (en) Management server which outputs file relocation policy, and storage system
WO2016132524A1 (ja) ストレージ管理システム、ストレージ管理方法及びストレージ装置
JP2014209364A (ja) 記憶制御装置、又は複数の当該記憶制御装置を有する記憶システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150813

R150 Certificate of patent or registration of utility model

Ref document number: 5795496

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150