説明

ストレージシステム及びストレージシステムの運用方法

【課題】ストレージ資源を性能面、容量面でバランスよく効率的に記憶領域として割り当てること。
【解決手段】アプリケーションに割り当てられる論理ボリューム22Aを提供するディスクアレイグループ21Aを備えたストレージ装置20について、ストレージ管理部11は、アレイグループ21Aのスループット、レスポンスタイムと、記憶容量とを保持しており、論理ボリューム22Aについて要求される、スループットと記憶容量との比である性能密度と、記憶容量の要件とを受け付け、前記アレイグループ21Aから前記スループットの値を上限として、受け付けた前記性能密度と容量要件に基づいて前記スループットを論理ボリューム22Aに割当て、割り当てたスループットと、受け付けた前記容量要件とに基づいて決定した記憶容量を、前記論理ボリューム22Aに割り当てる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステム及びストレージシステムの運用方法に係わり、特に、ストレージ資源を性能面と容量面とでバランスよく効率的に記憶領域として割り当てることを可能とするストレージシステム及びストレージシステムの運用方法に関する。
【背景技術】
【0002】
近年、主としてシステム運用コスト削減を目的に、ストレージ階層化によるストレージ資源利用の最適化が進んでいる。ストレージ階層化では、顧客のストレージ環境に存在するストレージ装置を特性に応じて分類し、要件に応じて使い分けることで資源の有効活用を図っている。
【0003】
この目的のため、従来例えば特許文献1には、アレイグループの性能密度が平準化するようにボリュームを移動する技術が提案されている。また、特許文献2には、ストレージプールを構築する際に、ボリュームの通信路が重複して性能ネックにならないように、プールを構成するボリュームを決定する技術が提案されている。さらにまた、特許文献3には、スループットとレスポンス、シーケンシャルとランダムアクセスの異なる性能要件を混在させた場合に、最低性能保証を行うための技術が提案されている。
【特許文献1】特開2007−58637号公報
【特許文献2】特開2008−165620号公報
【特許文献3】特開2001−147886号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、これらの従来提案されている技術によっては、ストレージ装置における例えばデータI/O性能で表される性能資源と、記憶容量で表される容量資源とを、当該ストレージ装置に要求される性能要件との関係で、最適に配分し、ストレージ装置が有するストレージ資源が十分に有効利用されているとは言えなかった。
【0005】
本発明は、このような問題点に鑑みてなされたもので、ストレージ資源を性能面と容量面とでバランスよく効率的に記憶領域として割り当てることを可能とするストレージシステム及びストレージシステムの運用方法を提供することを一つの目的としている。
【課題を解決するための手段】
【0006】
前記の、及び他の目的を達成するために、本発明の一つの態様は、記憶領域を提供する記憶デバイスを管理するストレージシステムであって、前記記憶デバイスのI/O性能を表す情報である性能情報と、前記記憶デバイスの記憶容量を表す情報である容量情報とをそれぞれ保持し、前記性能情報は前記記憶デバイスの最大スループット値を含み、前記記憶領域に要求されるI/O性能を表す情報である性能要件情報と、当該記憶領域に要求される記憶容量の要件を表す情報である容量要件情報とをそれぞれ受け付け、前記性能要件情報は要求スループット値を含み、前記性能要件情報と前記容量要件情報を充足する前記記憶デバイスを選択し、前記記憶デバイスから、前記記憶デバイスについて保持されている前記性能情報の最大スループット値を上限として、受け付けた前記性能要件情報の要求スループット値を前記記憶領域に割当て、前記記憶デバイスの全記憶容量を上限として容量要件情報に基づいて決定した記憶容量を前記記憶領域に割り当てる、ストレージ管理部を備えているストレージシステムである。
【0007】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【0008】
本発明によれば、ストレージ資源を性能面と容量面とでバランスよく効率的に記憶領域として割り当てることができる。
【発明を実施するための最良の形態】
【0009】
以下、添付図面を参照しながら、本発明の実施形態について説明する。
【0010】
==第1実施形態==
==システム構成==
図1Aに本発明の一実施形態として説明するストレージシステム1のハードウェア構成を示している。同図に示すように、このストレージシステム1は、管理サーバ装置10、ストレージ装置20、業務サーバ装置30、及び外部ストレージシステム40を含む。
【0011】
各業務サーバ装置30とストレージ装置20との間、及びストレージ装置20と外部ストレージ装置40との間は、それぞれ通信ネットワーク50A、50Bで接続されており、本実施形態ではファイバチャネル(Fibre Channel、以下「FC」)プロトコルによるSAN(Storage Area Network)である。また、管理サーバ装置10とストレージ装置20との間も通信ネットワーク50Cによって接続されており、本実施形態ではLAN(Local Area Network)である。
【0012】
業務サーバ装置30は、例えばパーソナルコンピュータやワークステーション等のコンピュータ(情報処理装置)であり、各種業務アプリケーションによってデータ処理を行う。各業務サーバ装置30には、それぞれが処理したデータを格納する領域として、後述するストレージ装置20にある記憶領域であるボリュームが割り当てられている。業務サーバ装置30は、1台の物理サーバ上で仮想化機構(例えばVMWare(登録商標)など)によって生成される複数の仮想サーバが動作している形態であってもよい。すなわち、図1Aに図示されている3台の業務サーバ装置30が、それぞれ仮想サーバであってもよい。
【0013】
ストレージ装置20は、業務サーバ装置30で稼働するアプリケーションが利用する上記記憶領域であるボリュームを提供する。ストレージ装置20は、物理ディスクであるディスク装置21を備え、ディスク装置21に含まれる複数のハードディスク21BをRAID(Redundant Array of Inexpensive Disks)方式で編成することにより、複数のアレイグループ21Aを構成している。
【0014】
これらのアレイグループ21Aが提供する物理的な記憶領域は、例えばLVM(Logical Volume Manager、論理ボリュームマネージャ)によって、それぞれ複数の論理ボリューム(Logical Volume)22Aを含む論理ボリュームのグループ22として管理される。この論理ボリューム22Aのグループ22は「ティア(Tier)」と呼ばれることもある。本明細書中では、単に「グループ」というときは、この論理ボリューム22Aのグループ22(Tier)を意味するものとするが、記憶領域としては、論理ボリューム22Aに限定されるものではない。
【0015】
すなわち、本実施形態では、論理ボリューム22Aのグループ22は、さらに図示しないストレージ仮想化機構が提供する、いわゆるシンプロビジョニング(Thin Provisioning、以下「TP」)によって、複数の仮想ボリューム23に割り当てられて、それぞれ業務サーバ装置30で稼働しているアプリケーションにより記憶領域として使用される。なお、このストレージ仮想化機構による仮想化ボリューム23は本発明に必須ではなく、後述するように、論理ボリューム22Aがそれぞれ業務サーバ装置30のアプリケーションに直接割当てられる構成も可能である。
【0016】
なお、シンプロビジョニングによる仮想ボリュームの提供については、例えば米国特許第6823442号明細書(“METHOD OF MANAGING VIRTUAL VOLUMES IN A UTILITY STORAGE SERVER SYSTEM”)に記載されている。
【0017】
ストレージ装置20はまた、キャッシュメモリ(図示省略)、管理サーバ装置10との通信ポートを形成するLANポート(図示省略)、業務サーバ装置30との間で通信を行うための通信ポートを提供するFCインターフェイス(FC−IF)、及びキャッシュメモリへのデータの書き込み又は読み出しを行うとともにディスク装置21へのデータの書き込み又は読み出しを行うディスク制御部(図示省略)を有する。
【0018】
ストレージ装置20は、構成設定部24と性能制限部25とを備える。構成設定部24は、後述する管理サーバ装置10の構成管理部13からの指示に従い、ストレージ装置20の論理ボリューム22Aからグループ22を構成する。
【0019】
性能制限部25は、管理サーバ装置10の性能管理部14からの指示に従い、ストレージ装置22の各グループ22を構成している論理ボリューム22Aの性能を監視し、必要に応じてFC−IF26の性能を制限する。構成設定部24と性能制限部25の機能は、いずれも例えば前記ディスク制御部に実装された対応するプログラムが実行されることにより提供される。
【0020】
外部ストレージシステム40は、複数のディスク装置41をSAN(Storage Area Network)で接続してなり、ストレージ装置20と同じく通信ネットワーク50BであるSANで外部接続されて、ストレージ装置20の記憶領域として使用可能なボリュームを提供する。
【0021】
管理サーバ装置10は、本実施形態の主要な機能が実装されている管理コンピュータである。管理サーバ装置10には、ストレージ装置20のグループ22の構成を管理するストレージ管理部11が設けられ、グループ作成計画部12、構成管理部13、及び性能管理部14を有する。
【0022】
グループ作成計画部12は、ストレージ装置20から所定のプロトコルに従って取得されるストレージ情報に含まれる、各アレイグループ21Aの最大性能及び最大容量と、ユーザが入力した各グループ22が具備すべき要件(性能・容量)を元にアレイグループ21Aから論理ボリューム22Aの割当てを計画する。
【0023】
構成管理部13は、SAN環境にあるストレージ情報を収集する機能を有し、図1Aの例では、ストレージ装置20に含まれるディスク装置21A、及び外部ストレージシステム40内のディスク装置41から所定のプロトコルによって取得したストレージ情報を、前記のように、グループ作成計画部12に提供する。また構成管理部13は、グループ作成計画部12が作成した論理ボリューム22Aの割当て計画に従って、ストレージ装置20に対して各論理ボリューム22Aの作成を指示する。
【0024】
性能管理部14は、グループ作成計画部12が計画した論理ボリューム22Aの性能割当てに基づいて、ストレージ装置20の性能制限部25に対して、各論理ボリューム22Aについての性能を監視し、必要に応じて制限するように指示する。この論理ボリューム22Aの性能制限を実現する方法としては、例えば、ストレージ装置20において、ストレージポートでの性能指標に基づいた性能制限を実施する(具体的には、論理ボリューム22AにアクセスするFC−IF26の単位でI/O量を制限する)、ストレージ装置20において、キャッシュメモリからハードディスク21Bにライトバックするとき(またはその逆)に着目した性能制限を行う、あるいは、当該論理ボリューム22Aを利用するホスト装置(業務サーバ装置30)において性能制限を行う、といった方法が挙げられる。
【0025】
管理サーバ装置10にはまた、管理データベース15が設けられている。管理データベース15には、ディスクドライブデータテーブル300、アレイグループデータテーブル400、グループ要件データテーブル500、及びボリュームデータテーブル600が格納されている。これらのテーブルの役割については後述する。なお、これらのテーブル300〜600は、データベースではなく、単に管理サーバ装置10の適宜の記憶装置にテーブル形式のデータを格納しておくことで用意してもよい。
【0026】
図1Bに、管理サーバ装置10又はクライアント装置30として利用可能なコンピュータの一例を示している。このコンピュータ100は、中央処理装置101(例えばCPU(Central Processing Unit)やMPU(Micro Processing Unit))、主記憶装置102(例えばRAM(Random Access Memory)やROM(Read Only Memory))、補助記憶装置103(例えばハードディスク)、ユーザの操作入力を受け付ける入力装置104(例えばキーボードやマウス)、出力装置105(例えば液晶モニタ)、他の装置との間の通信を実現する通信インターフェイス106(例えばNIC(Network Interface Card)やHBA(Host Bus Adapter))を備えている。
【0027】
管理サーバ装置10のグループ作成計画部12、構成管理部13、及び性能管理部14の機能は、それぞれ補助記憶装置103に格納されている該当機能のためのプログラムを、中央処理装置101が主記憶装置102に読み出して実行することにより実現される。
【0028】
==データテーブルの説明==
まず、本実施形態において、アプリケーションの動作に必要な性能を論理ボリューム22Aが備えているかを判定する指標として用いる性能密度について説明する。図2は、性能密度を模式的に説明する図である。性能密度は、論理ボリューム22Aを構成するディスク装置21のデータI/O性能を表すスループット(単位:MB/s)を、当該ディスク装置21の記憶容量(単位:GB)で除して得られる数値と定義している。
【0029】
図2に示すように、60GBの記憶容量に対して120MB/sのスループットでアクセスできる場合と、90GBの記憶容量に対して180MB/sのスループットでアクセスできる場合とは、いずれも性能密度は2.0MB/s/GBで等しいと評価される。当該ディスク装置21で構成される論理ボリューム22Aを使用するアプリケーションが要求する性能密度に対して実際の性能密度が高い場合には、スループットに対して記憶容量が不足している傾向を示し、逆に実際の性能密度が低い場合には、記憶容量に対してスループットが不足していることを示す。
【0030】
データI/O性能をこの性能密度で評価することに適した典型的なアプリケーションは、データI/Oが並列かつ使用する記憶領域当りに均等にでるような処理を行う一般的なサーバアプリケーション、例えば電子メールサーバアプリケーションがある。
【0031】
次に、本実施形態において参照されるテーブルについて説明する。
【0032】
===ディスクドライブデータテーブル300===
ディスクドライブデータテーブル300は、ハードディスク21Bの識別符号(例えばディスクドライブの型番)と適用されているRAID種別とを含むドライブ種別301について、そのハードディスク21Bの最大スループット302、レスポンスタイム303、及び提供される記憶容量304を記録している。図3に、ディスクドライブデータテーブル300の一例を示す。
【0033】
これらのデータは、本実施形態において利用可能なすべてのディスク装置21について、あらかじめ管理者が入力しておくものである。なお、外部ストレージシステム40の利用可能なディスク装置41についてのデータも、このテーブル300に記録される。
【0034】
===アレイグループデータテーブル400===
アレイグループデータテーブル400は、ストレージ装置20が有する各アレイグループ21Aの性能及び容量を保持するテーブルであり、各アレイグループ21Aを識別するための識別符号であるアレイグループ名401に対して、当該アレイグループ21Aを構成するハードディスク21Bのドライブ種別402、最大スループット403、レスポンスタイム404、最大容量405、割当て可能スループット406、及び割当て可能容量407が記録される。図4に、アレイグループデータテーブル400の一例を示す。
【0035】
ドライブ種別402、最大スループット403、及びレスポンスタイム404は、ディスクドライブデータテーブル300に記録されているものと同様である。最大容量405、割当て可能スループット406、及び割当て可能容量407については、後述する図9のフローチャートにおいて説明する。
【0036】
===グループ要件データテーブル500===
グループ要件データテーブル500は、ストレージ装置20が備えている各グループ(Tier)22の要件を保持するテーブルである。図5に、グループ要件データテーブル500の一例を示す。
【0037】
グループ要件データテーブル500には、各グループ22を識別するための識別符号であるグループ名501と、それぞれのグループ22に要求される性能密度502、レスポンスタイム503、及び記憶容量504が、管理者の入力に従って記録される。なお、本実施形態においては、ストレージ仮想化機構の機能を利用するかどうかを設定するための識別符号である仮想化要否505も記録される。
【0038】
===ボリュームデータテーブル600===
ボリュームデータテーブル600は、本実施形態によって各グループ22に割り当てられた論理ボリューム22Aに関して、それぞれのボリューム名601、当該ボリューム22Aが属するアレイグループ21Aの識別符号である所属アレイグループ602、各論理ボリューム22Aが割り当てられたグループ22のグループ名603、各論理ボリューム22Aの性能密度604、割当て容量605、及び割当てスループット606が記録される。ボリュームデータテーブル600の一例を図6に示す。このボリュームデータテーブル600は、後述のように、図9のフローにおいて生成される。
【0039】
次に、ストレージ装置20において保持されるテーブルについて説明する。
【0040】
===構成設定データテーブル700===
構成設定データテーブル700は、ストレージ装置20の構成設定部24に格納されており、各論理ボリューム22Aのボリューム名701について、所属アレイグループ702と、割当先グループ703が記録されている。図7に、構成設定データテーブル700の一例を示す。このテーブル700は、構成設定部24が利用する。
【0041】
===性能制限データテーブル800===
性能制限データテーブル800は、各論理ボリューム22Aのボリューム名に対して、当該ボリューム22Aについて設定しうる上限スループット802を記録している。図8に、性能制限データテーブル800の一例を示す。このテーブル800は、ストレージ装置20の性能制限部25に格納され、性能制限部25によって利用される。
【0042】
次に、本第1実施形態のストレージシステム1の動作について、図面を参照しながら説明する。
【0043】
===全体フロー===
図9に、本実施形態において実行される処理の全体フローを示す。この全体フローについて概略の処理内容を説明すると、まず管理サーバ装置10の構成管理部13が、SAN環境で接続されているストレージ装置20から所定のプロトコルによってドライブ種別等のストレージ情報を取得し、各アレイグループ21Aの最大スループット、レスポンスタイム、最大容量を抽出して管理データベース15のアレイグループデータテーブル400に格納する(S901)。
次いで、管理サーバ装置10のグループ作成計画部12が、管理者から入力された性能・容量要件に応じて割当て計画を作成し、その結果を管理データベース15のボリュームデータテーブル600に格納する(S902)。
次に、管理サーバ装置10の構成管理部13が、ボリュームデータテーブル600に記録されているデータを参照して、ストレージ装置20の構成設定部24に作成した設定を送信し、構成設定部24は指定のボリューム22Aを作成する(S903)。
そして、管理サーバ装置10の性能管理部14が、ボリュームデータテーブル600に基づいて、ストレージ装置20の性能制限部25に設定を送信し、性能制限部25は設定された内容に従って、性能監視・性能制限を行う(S904)。
【0044】
次に、図9の全体フローを構成する各ステップについて、詳細フローにより説明する。
【0045】
===アレイグループデータの入力(図9のS901)===
図10に、アレイグループデータテーブル400へのデータ入力を行うフローの一例を示す。まず、管理サーバ装置10の構成管理部13は、SAN環境で接続されているストレージ装置20を検知し、所定のプロトコルでストレージ情報を収集する。本実施形態では、ストレージ装置20からアレイグループ名401とドライブ種別402とを取得する(S1001)。アレイグループ21Aは、仮想化されたディスクであってもよく、例えば図4のアレイグループデータテーブル400に記録されているアレイグループ名「AG-2」は、外部接続された外部ストレージシステム40が備えるディスクから生成されている。ここで取得した情報は、アレイグループデータテーブル400に記録される。
【0046】
次いで、S1002では、S1001において検出されたすべてのアレイグループ21Aについて、S1003〜S1006のステップに規定されている処理を行う。
まず、構成管理部13は、アレイグループデータテーブル400に記録したドライブ種別402がディスクドライブデータテーブル300に存在するかを調べる(S1003)。存在する場合は(S1003、Yes)、そのドライブ種別402に対応する最大スループット302、レスポンスタイム303、及び最大容量304を取得して、アレイグループデータテーブル400の対応個所に格納する。
【0047】
ドライブ種別402がディスクドライブデータテーブル300に存在しない場合には(S1003、No)、構成管理部13は、管理者に当該アレイグループ22Aの性能値を入力するための入力画面を提示し、性能値として最大スループット302、レスポンスタイム303、及び最大容量304を入力させる。管理者が入力した値は、アレイグループデータテーブル400に記録される。
次いで、構成管理部13は、アレイグループデータテーブル400に記録されている最大スループット403と最大容量405を、それぞれ割当て可能スループット406及び割当て可能容量407の初期値として記録する。
【0048】
以上によって生成されたアレイグループデータテーブル400の一例を図11に示す。アレイグループデータテーブル400に記録される各項目と、それらが記録された処理ステップとを対応して示している。
【0049】
===ボリューム作成計画(図9のS902)===
次に、管理サーバ装置10のグループ作成計画部12が、業務サーバ装置30の各アプリケーションに割り当てる各グループ22を構成すべきボリューム22Aの作成計画を実行する。図12に、このボリューム作成計画のフローの一例を示す。
【0050】
グループ作成計画部12は、すべてのグループ22について、S1202〜S1207のステップを実行する。まず、グループ計画作成部12は、グループ要件設定画面1300を管理者に表示し、各グループ22が具備すべき要件を管理者に入力させる。グループ要件設定画面1300の一例を、図13Aに示す。この画面1300を通じて管理者が入力した値は、グループ要件データテーブル500に記録される(S1202)。
【0051】
図13Aに例示するグループ要件設定画面1300では、管理者による入力値として、必要な性能密度(スループット/容量)1301、レスポンスタイム1302、及び容量1303が設定されている。管理者が容量1303を指定しなかった場合には、最大容量を割当てる。
割り当てスループットが0になるようなグループ22は、通常、予備の記憶領域であるアーカイブ領域として利用する。割当て可能容量の合計値から指定した容量1303を減じた値は、残容量1304として表示される。
【0052】
次に、グループ作成計画部12は、当該グループ22に必要な合計スループットを、管理者が入力した要件から計算する(S1203)。図13Aに示す例(性能密度=1.5、レスポンスタイム=15、容量=100)の場合、1.5×100=150(MB/sec)が合計スループットである。
次に、グループ作成計画部12は、S1204において、アレイグループデータテーブル400に記録されている各アレイグループ401について、S1205〜1206の処理を繰り返す。
【0053】
S1205では、着目したアレイグループ401のレスポンスタイム404が、当該グループ22の性能要件を満たすかどうかを判定する。図4の例では、図13Aで管理者が指定した15msの要件を、アレイグループ名「AG-1」、「AG-2」のいずれもが満たしている。
要件を満たしていると判定されれば(S1205、Yes)、前記要件を満たすと判定されたアレイグループ21Aを、割当て可能アレイグループ21Aとして選択する(S1206)。要件を満たしていないと判定された場合には(S1205、No)、そのアレイグループ21Aは選択対象としない。
【0054】
次に、グループ作成計画部12は、各グループ22について、性能・容量の割当て計算を行い、各アレイグループ21Aに割当てる性能・容量を求める(S1207)。この処理については、詳細フローにより後述する。
最後に、グループ作成計画部12は、全てのグループ22へのアレイグループ21Aの割当てを計画した後に、その計画結果を示す割当て結果画面1300Bを表示する。図13Bに、割当て結果画面1300Bの一例を示す。余り、もしくは予備ボリューム群22に割当てられた容量、性能が少なければ、上位のグループ22に効率的にアレイグループ21Aを割当てることが出来たと考えられる。
【0055】
なお、性能を使いきり、容量のみ残存しているディスクは、予備ボリューム群22に割当てて、常時は利用しないデータのアーカイビング(保管)に利用することができる。一方、容量を使い切り性能のみとなったディスクはリソースを無駄にすることになる。この場合、上位グループ22の性能要件を引き上げることであまりの性能を減らすことが出来る。
【0056】
図14に、本ステップにより作成されたグループ要件データテーブル500の一例を示す。
【0057】
===性能・容量の割当て計算(図12のS1207)===
次に、図12のS1207で実行される性能・容量割当て計算について、図15に示す当該処理のフローの一例を参照して説明する。本実施形態では、同一グループ22内における各アレイグループ21Aへの性能・容量割当てを、「性能比率で分割して割当て」する方式で実行する場合を例示する。
【0058】
この割当て方式では、(i)各アレイグループ21Aに割当てる性能の合計値が、図12のS1203で求めた合計スループットと等しい、(ii)割当てスループットと最大スループットの比率がアレイグループ21A間で等しい、及び(iii)各アレイグループ21Aに割当てる論理ボリューム22Aの性能密度は、管理者がグループ要件設定画面1300を通じて入力した値に等しい、という3つの条件を満足するように決定する。
【0059】
まず、管理サーバ装置10のグループ計画作成部12は、処理しようとしているグループ22の要件として、管理者から容量1303が指定されているかを判断する(S1501)。
容量1303が指定されていると判定した場合は(S1501、Yes)、選択した各アレイグループ21Aへの性能割当てをX_i、各アレイグループ21Aの最大性能をMax_i(ただし、iは各アレイグループ21Aに付された序数)として、下記の連立方程式を解き、割当てスループットを計算する(S1502)。
(i)ΣX_i=(当該グループ22に必要な合計スループット)
(ii)X_i/Max_iが一定 (X_1/Max_1=X_2/Max_2=…)
スループットの合計値が各グループ22の要求する性能値を満たす必要があるため、(i)の条件が必要となる。また、本実施形態では、各アレイグループ21Aの最大性能に対する割当て性能を等しくするように割り当てる方式を採用したことから、(ii)の条件が必要となる。
図11の例の場合、(i) X_1 + X_2 = 150、(ii) X_1 / 120 = X_2 / 80の条件を満たす割当てスループットの組み合わせとして、X_1=90、X_2=60が得られる。
【0060】
次に、グループ作成計画部12は、管理者が指定した性能密度と、上記で求めた割当てスループットとから、割当て容量を計算する。図13Aに示した例の場合、アレイグループ「AG-1」への割当て容量は(割当てスループット90)÷(性能密度1.5)=60GB、同様にアレイグループ「AG-2」への割当て容量は60÷1.5=40GBとなる(S1503)。
【0061】
次いで、グループ作成計画部12は、アレイグループデータテーブル400に記録されている割当て可能スループット606、割当て可能容量605から、上記で算出された割り当てスループット、割当て容量を減算する。本例の場合、減算後はアレイグループ「AG-1」がそれぞれ30(MB/sec)、60GB、アレイグループ「AG-2」がそれぞれ20(MB/sec)、200GBとなる。この値が、次のグループ22について使用できる残りのストレージ資源となる。
【0062】
管理者による容量が未指定の場合(S1501、No)、管理者から指定された性能密度での最大容量を割当て可能スループット/容量から計算する。また、予備ボリューム群22のように、要求性能密度が0(割当てスループットが0)の場合は、残りの割当て可能容量をそのまま全て割当てる。なお、容量を使い切り性能のみとなったディスクはリソースを無駄にすることになる。この場合、上位Tierの性能要件を引き上げることであまりの性能を減らすことが出来る。
【0063】
図16の例では、「グループ2」の容量が未指定である。この場合、「グループ2」に対するボリューム「1-2」はアレイグループ「AG-1」の割当て可能スループット30(MB/sec)を使い切って50GB、ボリューム「2-2」はアレイグループ「AG-2」の割当て可能スループット20(MB/sec)を使い切って33GBとなる。また、予備ボリューム群22に対するボリューム「1-3」、「2-3」は残りの容量全てとなるので、図4のアレイグループデータテーブル400を参照して、それぞれ10GB、167GBとなる。
【0064】
以上の性能・容量割当て処理によって、図12のボリューム作成計画のフローは終了する。図16,図17に、ボリューム作成計画処理フローによって作成あるいは更新されたボリュームデータテーブル600、及びアレイグループデータテーブル400の一例を示す。
【0065】
===ボリューム作成(図9のS903)===
次に、ボリューム作成計画処理で決定されたボリュームを作成するボリューム作成処理の内容について説明する。図18に、ボリューム作成処理の詳細フローを示す。
【0066】
まず、S1801において、管理サーバ装置10の構成管理部13は、ボリュームデータテーブル600に記録された各ボリュームについて、S1801〜S1804の処理を繰り返す。
構成管理部12は、ボリュームデータテーブル600に記録された各ボリューム22Aの所属アレイグループ602と割当て容量605とを指定して、ストレージ装置20の構成設定部24に対してボリューム22Aの作成を指示する(S1802)。
次に、管理サーバ装置10の構成管理部12は、ボリューム22Aの割当先グループ603が仮想ボリューム23を利用するシンプロビジョニング方式の指定かどうかを判定する(S1803)。
仮想ボリューム23を使用する指定がある場合(S1803、Yes)、管理サーバ装置10の構成管理部13は、ストレージ装置20の構成設定部24に対し、グループ22ごとに仮想化ボリューム23を作成する基となる、TPプールを生成し、当該作成するボリューム22Aを、そのプールに追加するように指示する。さらに、必要に応じて仮想化ボリューム23をTPプールから作成するように指示する。
このように、シンプロビジョニングにより提供される論理ボリュームから仮想ボリュームを作成して割り当てる場合、プール内のボリュームの容量使用率が均等になるように割当てることが出来る。これにより、割当てたディスク容量の一部を使っている状態においても、性能負荷を分散して割当てることが出来るという効果が得られる。
仮想ボリューム23を使用する指定がない場合(S1803、No)、そのまま処理を終了する。
【0067】
===性能監視(図9のS904)===
次に、管理サーバ装置10の性能管理部14による性能監視処理の内容について説明する。図19に、性能監視処理のフローの一例を示す。
【0068】
S1901において、性能管理部14は、ボリュームデータテーブル600に記録されているすべてのボリューム22Aについて、S1902の処理を行う。
すなわち、管理サーバ装置10の性能管理部14は、ボリュームデータテーブル600に記録された各ボリューム22Aの割当てスループット606を指定して、ストレージ装置20の性能制限部25に対してボリューム22Aごとの性能監視を指示する(S1902)。性能制限部25は、この指示に基づいて、各ボリューム22Aのスループットを監視し、割当てスループット606を超えたと判定すれば、例えばFC−IF26においてポートの制限をかけてデータI/O量を減らすといった処理を実行することになる。
また、そのような性能制限処理を実行する前に、性能制限部25から管理サーバ装置10の性能管理部14へ特定ボリューム22Aのスループットが割当て値を超えた旨の通知を行い、性能管理部14から管理者へ通知させるようにしてもよい。
【0069】
以上説明した第1実施形態によれば、アプリケーションが使用するストレージ資源を、性能面、容量面でバランスよく効率的に管理することができる。
【0070】
==第2実施形態==
次に、本発明の第2実施形態について説明する。第1実施形態では、アレイグループ21Aから新規の論理ボリューム22Aを作成してアプリケーションが利用する各グループ22(ティア(Tier))に割り当てる構成について説明したが、本実施形態では、すでに論理ボリューム22Aが作成されており、その一部が使用されている場合に本発明を適用している。
システム構成、及びデータテーブルの構成は第1実施形態の場合と同じであるから、処理フローの変更点について以下に説明する。
本実施形態では、図9の全体フローにおいて、S901のSAN環境におけるストレージ装置20の認識時に、既存のボリューム22Aの情報を取得するステップが追加される。また、S902(詳細フローは図12参照)のボリューム作成計画処理において、S1207の性能・容量の割当て計算が変更されている。
【0071】
===アレイグループデータの入力処理における変更===
図10の詳細フローにおけるS1006が、以下に説明する既存ボリューム22Aの情報を取得する処理を含むフローに置き換えられる。この変更フローを、図20に例示する。
【0072】
まず、管理サーバ装置10の構成管理部13は、ストレージ装置20の構成設定部24から、既に存在するボリューム22Aについて、当該既存ボリューム22Aが所属するアレイグループ602、及び容量603を取得して、ボリュームデータテーブル600に格納する(S2001)。
S2002では、S2001で取得した各既存ボリューム22Aについて、S2003〜S2005の処理を繰り返す。
まず、管理サーバ装置10の構成管理部13は、ストレージ装置20の構成設定部24に問い合わせ、当該既存ボリューム22Aが使用中のボリュームであるかを判定する(S2003)。
使用中であると判定した場合(S2003、Yes)、そのボリューム22Aに対する最大スループットを取得し、ボリュームデータテーブル600の割当てスループット605に格納する。また、容量603とスループット605とからその既存ボリューム22Aについて性能密度604を計算し、同様にボリュームデータテーブル600に格納する(S2004)。
【0073】
図21に、本処理により生成されたボリュームデータテーブル600の一例を示す。図21の例では、既存ボリューム「1-1」、及び「2-1」が使用中であり、スループット605がそれぞれ60(MB/sec)、20(MB/sec)として、計算した性能密度1.5、0.25をボリュームデータテーブル600に格納する。
【0074】
次いで、使用中と判定された既存ボリューム22Aについて、前記で取得したスループット605、容量603の値を、アレイグループデータテーブル400の割当て可能スループット406、容量407から減算する(S2005)。本処理によって更新されたアレイグループデータテーブル400の一例を、図22に示す。
【0075】
===性能・容量割当て===
第2実施形態において実行される性能・容量割当て計算の処理フローを、図23に示す。
【0076】
S2301において、管理サーバ装置10の構成管理部13は、ボリュームデータテーブル600に記録されている未使用の(使用中であると判定されなかった)各ボリューム22Aについて、S2302〜S2306の処理を繰り返す。
まず、構成管理部13は、各未使用ボリューム22Aの容量603と割当て対象となっているグループ22への要求性能密度から、必要スループットを計算する(S2302)。この例では、ボリューム「1-2」、「1-3」に対して、「グループ1」では40×1.5=60(MB/sec)、「グループ2」では40×0.6=24(MB/sec)となる。同様に、ボリューム「2-2」、「2-3」に対しては、「グループ1」では120(MB/sec)、「グループ2」では48(MB/sec)となる。
次に、構成管理部13は、S2302で計算した必要スループットが、当該ボリューム22Aが所属するアレイグループの割当て可能スループットよりも小さいかを判定する(S2303)。
割当て可能スループットよりも小であると判定した場合(S2303、Yes)、ボリュームデータテーブル600の割当てグループを、当該グループに、割当てスループットを前記必要スループットにそれぞれ更新する(S2304)。
この例の場合、グループ1に対しては、ボリューム「1-1」のみが割当て可能となる。
【0077】
次いで、構成管理部13は、割当てたボリューム22Aの所属アレイグループ21Aの割当て可能スループット406から、割当てた分のスループットを減算する(S2305)。
S2306では、すべての未使用ボリューム22Aについて処理を行ったか判定する。当該グループに割当てたボリューム22Aの容量の合計が、管理者が設定したグループ要件の容量を上回っていると判定すれば、本フローの処理を終了する。
【0078】
図14に例示したグループ要件データテーブル500の必要容量は、上記の例では満たせられないことがわかる。
上記の処理フローを、各グループ22について反復することで、既存ボリューム22Aの各グループ(Tier)22への分類が完了する。
図24、図25に、第2実施形態による既存ボリューム22Aの割当て処理により作成ないし更新されたボリュームデータテーブル600、アレイグループデータテーブル400を例示する。
【0079】
本実施形態によれば、ストレージ装置20に既存ボリューム22Aが存在する場合にも、それらによって提供される性能及び容量を、各アプリケーションにバランスよく割り当てて、ストレージ資源を効率的に利用することが可能となる。
【0080】
==第3実施形態==
第1実施形態、及び第2実施形態では、論理ボリューム22Aをグループ22にグループ化して、あるいは、必要であればそのグループを仮想ボリューム23のプールで構成して利用する形態であった。本実施形態では、このようなグループ化を行わずに、個々の論理ボリューム22A毎に性能、容量を設定する場合である。
【0081】
第3実施形態のシステム構成を、図26に示す。図から明らかなように、グループ22が構成されていない点を除いて、第1、及び第2実施形態におけるシステム構成と同様である。すなわち、業務サーバ装置30の各アプリケーションには、それぞれ一つの論理ボリューム22Aが割り当てられている。なお、データテーブルの構成は、第1、第2実施形態と同じである。
【0082】
本実施形態において変更となる処理フローについて、図27に例示している。本実施形態では、第1実施形態における、管理者からの各グループ22の要件設定(図12におけるS1202)が、各ボリューム22Aについての要件となる。また、第1実施形態の性能・容量割当て計算(図12のS1207)の方式は、「最大性能が高いアレイグループ21Aから順に割当てていく」方式となる。
【0083】
まず、管理サーバ装置10の構成管理部13は、図12のS1206で選択した割当て可能アレイグループを、割当て可能スループット406の大きい順にソートする(S2701)。
S2702において、構成管理部13は、割当て可能スループット406の大きい順に、割当て可能とされた各アレイグループ21Aについて、S2703〜S2706の処理を繰り返す。
まず、構成管理部13は、図12のS1202で管理者が入力した必要スループットが、当該アレイグループ21Aの割当て可能スループット406より小さいかを判定する(S2703)。
割当て可能スループット406より小さいと判定した場合(S2703、Yes)、さらに、管理者が入力した必要容量1303が、当該アレイグループ21Aの割当て可能容量407よりも小さいかを判定する(S2704)。
割当て可能容量407よりも小さいと判定した場合(S2704、Yes)、当該アレイグループ21Aを割当て先として決定し、アレイグループデータテーブル400の割当て可能スループット406、割当て可能容量407を減算する(S2705)。
S2705までで割当先アレイグループ21Aが決定したため、ループ1を終了して図12の処理フローへ戻る。
【0084】
なお、当該アレイグループ21Aについて、必要スループットが割当て可能スループット406より小でないと判定した場合(S2703、No)、あるいは、必要容量1303が、当該アレイグループ21Aの割当て可能容量407よりも小でないと判定した場合(S2704、No)、次の割当て可能アレイグループ21Aについての処理へ移る。
【0085】
本実施形態によれば、各アプリケーションについて、割当て可能となっているアレイグループ21Aのうち、性能の高いものを優先して割り当てていくことができる。
【図面の簡単な説明】
【0086】
【図1A】本発明の第1実施形態に係るストレージシステム1の構成図である。
【図1B】管理サーバ装置10、業務サーバ装置30に用いられるコンピュータ100のハードウェア構成の一例である。
【図2】性能密度の模式的説明図である
【図3】ディスクドライブデータテーブル300の一例である。
【図4】アレイグループデータテーブル400の一例である。
【図5】グループ要件データテーブル500の一例である。
【図6】ボリュームデータテーブル600の一例である。
【図7】構成設定データテーブル700の一例である。
【図8】性能制限データテーブル800の一例である。
【図9】第1実施形態の全体フローの一例である。
【図10】第1実施形態のアレイグループデータ入力フローの一例である。
【図11】作成されたアレイグループデータテーブル400の一例である。
【図12】第1実施形態のボリューム作成計画フローの一例である。
【図13A】グループ要件設定画面1300Aの一例である。
【図13B】計画結果画面1300Bの一例である。
【図14】入力されたグループ要件データテーブル500の一例である。
【図15】第1実施形態における性能・容量割当て計算フローの一例である。
【図16】生成されたボリュームデータテーブル600の一例である。
【図17】更新されたアレイグループデータテーブル400の一例である。
【図18】第1実施形態におけるボリューム作成フローの一例である。
【図19】第1実施形態における性能監視フローの一例である。
【図20】第2実施形態における既存ボリューム分類フローの一例その1である。
【図21】既存ボリュームについて更新されたボリュームデータテーブル600の一例である。
【図22】既存ボリュームについて更新されたアレイグループデータテーブル400の一例である。
【図23】第2実施形態における既存ボリューム分類フローの一例その2である。
【図24】既存ボリュームについて更新されたボリュームデータテーブル600の一例である。
【図25】既存ボリュームについて更新されたアレイグループデータテーブル400の一例である。
【図26】本発明の第3実施形態に係るストレージシステム1の構成図である。
【図27】第3実施形態におけるボリュームの性能・容量割当てフローの一例である。
【符号の説明】
【0087】
1 ストレージシステム
10 管理サーバ装置
11 ストレージ管理部
12 グループ作成計画部
13 構成管理部
14 性能管理部
15 管理データベース
20 ストレージ装置
21 ディスク装置
21A アレイグループ
21B ハードディスク
22 グループ(論理ボリューム22Aの)
23 仮想ボリューム
24 構成設定部
25 性能制限部
30 業務サーバ装置
40 外部ストレージシステム
41 ディスク装置
50A、50B、50C 通信ネットワーク
300 ディスクドライブデータテーブル
400 アレイグループデータテーブル
500 グループ要件データテーブル
600 ボリュームデータテーブル

【特許請求の範囲】
【請求項1】
記憶領域を提供する記憶デバイスを管理するストレージシステムであって、
前記記憶デバイスのI/O性能を表す情報である性能情報と、前記記憶デバイスの記憶容量を表す情報である容量情報とをそれぞれ保持し、前記性能情報は前記記憶デバイスの最大スループット値を含み、
前記記憶領域に要求されるI/O性能を表す情報である性能要件情報と、当該記憶領域に要求される記憶容量の要件を表す情報である容量要件情報とをそれぞれ受け付け、前記性能要件情報は要求スループット値を含み、
前記性能要件情報と前記容量要件情報を充足する前記記憶デバイスを選択し、
前記記憶デバイスから、前記記憶デバイスについて保持されている前記性能情報の最大スループット値を上限として、受け付けた前記性能要件情報の要求スループット値を前記記憶領域に割当て、前記記憶デバイスの全記憶容量を上限として容量要件情報に基づいて決定した記憶容量を前記記憶領域に割り当てる、ストレージ管理部を備えている
ストレージシステム。
【請求項2】
請求項1に記載のストレージシステムであって、
前記ストレージ管理部は、前記記憶領域に割り当てられた前記I/O性能に基づいて、当該記憶領域へのデータ入出力状況を監視する、
ストレージシステム。
【請求項3】
請求項1に記載のストレージシステムであって、前記性能要件情報が、割り当てられる前記記憶領域に要求されるI/O性能であるスループットと当該記憶領域に要求される記憶容量との比で表される性能密度を含み、
前記ストレージ管理部は、前記記憶領域に割り当てられる前記要求スループット値を、前記性能密度と受け付けた前記容量条件情報とに基づいて決定する、ストレージシステム。
【請求項4】
請求項1に記載のストレージシステムであって、
前記性能要件情報が、割り当てられる前記記憶領域に要求されるI/O性能であるスループットと当該グループに要求される記憶容量との比で表される性能密度を含み、
前記ストレージ管理部は、前記記憶領域に割り当てられる前記記憶容量を、前記性能密度と前記記憶領域を提供する前記記憶デバイスの前記性能情報に記録されている最大スループット値とに基づいて決定する、ストレージシステム。
【請求項5】
請求項4に記載のストレージシステムであって、
前記ストレージ管理部は、前記記憶デバイスから1つもしくは複数の前記記憶領域に割当て済みの前記上限スループット値を保持し、前記記憶デバイスの前記性能情報に記録されている最大スループット値と前記割り当て済みの上限スループット値とから前記記憶デバイスの残スループット値を算出し、新たな前記記憶領域に割り当てられる前記記憶容量を、前記性能密度と残スループット値とに基づいて決定する、ストレージシステム
【請求項6】
請求項1に記載のストレージシステムであって、
1つもしくは複数の前記記憶領域から構成されるグループを保持し、
前記ストレージ管理部は、前記性能要件情報と前記容量要件情報とを受け付け、前記性能要件情報は前記性能密度を含み、
前記グループへの前記記憶領域の割り当て時に各前記記憶領域が前記性能密度を満たし且つ前記グループを構成する全前記記憶領域の記憶容量の総和が前記容量要件を満たすように、前記グループを構成する各前記記憶領域を1つもしくは複数の前記記憶デバイスから割り当てるストレージシステム。
【請求項7】
請求項6に記載のストレージシステムであって、前記ストレージ管理部は、前記性能要件情報を満たすと判定された複数の前記記憶デバイスについて、それぞれが備えている前記最大スループット値の比率に対応して前記各記憶デバイスに前記容量要件情報に規定されている記憶容量を割り当てる、ストレージシステム。
【請求項8】
請求項1に記載のストレージシステムであって、
前記グループは、ストレージ仮想化機構によって、1つもしくは複数の前記記憶デバイスから割り当てられた1つもしくは複数の前記記憶領域から構成されているストレージ容量プールである、ストレージシステム。
【請求項9】
請求項1に記載のストレージシステムであって、
前記グループは、特定のアプリケーションによるデータ入出力が行われる記憶領域である、ストレージシステム。
【請求項10】
請求項1に記載のストレージシステムであって、
前記記憶デバイスが提供する前記記憶領域が論理ボリュームである、ストレージシステム。
【請求項11】
請求項10に記載のストレージシステムであって、
前記ストレージ管理部は、前記グループへの前記記憶領域の割り当て時に、前記記憶領域を前記記憶デバイスが提供する論理ボリュームとして生成する、ストレージシステム。
【請求項12】
請求項10に記載のストレージシステムであって、
前記ストレージ管理部は、前記記憶デバイス内に作成済みの前記論理ボリュームの前記容量情報を保持し、
あらたに生成する前記グループについて前記性能要件情報及び前記容量要件情報を受け付け、
前記性能要件情報に含まれる前記性能密度値と前記論理ボリュームの前記容量情報とから前記論理ボリュームに割り当てる要求スループット値を決定し、前記論理ボリュームを含む前記記憶デバイスの残スループット値が前記要求スループット値を上回る場合に前記論理ボリュームに要求スループット値を上限スループット値として割り当て、前記上限スループット値を割り当てた1つまたは複数の前記論理ボリュームの容量の総和が前記容量要件を満たすようにグループを構成する、ストレージシステム。
【請求項13】
請求項12に記載のストレージシステムであって、
前記作成済みの論理ボリュームは、他の前記グループに未割り当てである、
ストレージシステム。
【請求項14】
請求項1に記載のストレージシステムであって、
前記グループに割り当て済み且つ前記上限スループット値が未割り当ての前記論理ボリュームがある場合に、前記論理ボリュームの最大の実スループット値を測定する事で前記論理ボリュームへの上限スループット値の割り当てを決定するストレージシステム。
【請求項15】
記憶領域を提供する記憶デバイスを管理するストレージ管理部を備えたストレージシステムの運用方法であって、
前記ストレージ管理部が、
前記記憶デバイスのI/O性能を表す情報である性能情報と、前記記憶デバイスの記憶容量を表す情報である容量情報とをそれぞれ保持し、前記性能情報は前記記憶デバイスの最大スループット値を含み、
前記記憶領域に要求されるI/O性能を表す情報である性能要件情報と、当該記憶領域に要求される記憶容量の要件を表す情報である容量要件情報とをそれぞれ受け付け、前記性能要件情報は要求スループット値を含み、
前記性能要件情報と前記容量要件情報を充足する前記記憶デバイスを選択し、
前記記憶デバイスから、前記記憶デバイスについて保持されている前記性能情報の最大スループット値を上限として、受け付けた前記性能要件情報の要求スループット値を前記記憶領域に割当て、前記記憶デバイスの全記憶容量を上限として容量要件情報に基づいて決定した記憶容量を前記記憶領域に割り当てる、
ストレージシステムの運用方法。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図13A】
image rotate

【図13B】
image rotate