(57)【要約】【課題】各テナントのストレージ機器のリソース使用量について「最低保証型」の性能保証を容易に行うことができ、アプリケーションの入出力特性に基づいて必要とされるリソースの使用量を予測する。【解決手段】帯域制御部２２１によってネットワーク２１２の帯域使用量を制御することによって、ストレージ２１１のリソースの使用可能量を制御するためのストレージリソース制御システム１００であって、入出力処理量モデルと帯域使用量モデルからなる線形モデル１１２と、アプリケーションのＩ／Ｏ特性１２１から入出力処理量モデルに基づいて必要とするストレージ２１１のリソース使用量を予測し、さらに帯域使用量モデルに基づいて対応するネットワーク２１２の帯域使用量を予測するリソース予測部１２０と、設定ポリシー１３１に基づいて帯域の予測使用量１２２から帯域制御情報１３２を決定する帯域決定部１３０とを有する。【選択図】図１
2012133629.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してストレージが接続された１つ以上の物理サーバ上において、前記ネットワークに対する帯域制御機能を有する仮想化ソフトウェアにより、テナント毎に仮想化された複数の仮想サーバが前記物理サーバおよび前記ストレージのリソースを共有する形態で稼働するリソースプールに対して、前記帯域制御機能によって前記仮想サーバによる前記ネットワークの帯域の使用量を制御することによって、前記仮想サーバに割り当てられた前記ストレージのリソースの使用可能量を制御するためのストレージリソース制御システムであって、
前記物理サーバの前記ネットワークおよび前記ストレージについてのリソースの使用状況に係る情報から得られた、前記ストレージにおける入出力処理量と前記ストレージのリソースの使用量についての相関関係である入出力処理量モデルと、前記ネットワークの帯域使用量と前記ストレージのリソースの使用量についての相関関係である帯域使用量モデルからなる線形モデルと、
前記仮想サーバ上で稼働するアプリケーションの入出力処理量の特性から、前記入出力処理量モデルに基づいて、前記仮想サーバが必要とする前記ストレージのリソースの使用量を予測し、さらに、前記帯域使用量モデルに基づいて、予測された前記ストレージのリソースの使用量に対応する前記ネットワークの帯域の使用量を予測するリソース予測部と、
予め定義された設定ポリシーに基づいて、前記リソース予測部によって予測された前記ネットワークの帯域の使用量から、前記仮想化ソフトウェアの前記帯域制御機能に対して設定する前記仮想サーバについての帯域制御値を決定して出力する帯域決定部とを有することを特徴とするストレージリソース制御システム。
【請求項２】
請求項１に記載のストレージリソース制御システムにおいて、
さらに、新規に追加する仮想サーバについて、前記リソース予測部により前記入出力処理量モデルに基づいて予測された、前記新規に追加する仮想サーバが必要とする前記ストレージのリソースの使用量と、前記リソースプール内の各物理サーバのストレージについての現状でのリソースの使用状況の情報とに基づいて、前記新規に追加する仮想サーバをいずれの物理サーバのストレージに割り当てることができるかを判定する割当判定部を有することを特徴とするストレージリソース制御システム。
【請求項３】
請求項２に記載のストレージリソース制御システムにおいて、
前記割当判定部は、既存の仮想サーバにおけるアプリケーションの処理を拡張しようとする場合に、前記リソース予測部により前記入出力処理量モデルに基づいて予測された、アプリケーションの拡張により必要となる前記ストレージのリソースの使用量の増分と、前記リソースプール内の各物理サーバのストレージについての現状でのリソースの使用状況の情報とに基づいて、前記既存の仮想サーバにおけるアプリケーションの処理の拡張が、前記ストレージ上で可能か否かを判定することを特徴とするストレージリソース制御システム。
【請求項４】
ネットワークを介してストレージが接続された１つ以上の物理サーバ上において、前記ネットワークに対する帯域制御機能を有する仮想化ソフトウェアにより、テナント毎に仮想化された複数の仮想サーバが前記物理サーバおよび前記ストレージのリソースを共有する形態で稼働するリソースプールに対して、前記帯域制御機能によって前記仮想サーバによる前記ネットワークの帯域の使用量を制御することによって、前記仮想サーバに割り当てられた前記ストレージのリソースの使用可能量を制御するためのストレージリソース制御システムとしてコンピュータを機能させるストレージリソース制御プログラムであって、
前記物理サーバの前記ネットワークおよび前記ストレージについてのリソースの使用状況に係る情報から得られた、前記ストレージにおける入出力処理量と前記ストレージのリソースの使用量についての相関関係である入出力処理量モデルと、前記ネットワークの帯域使用量と前記ストレージのリソースの使用量についての相関関係である帯域使用量モデルからなる線形モデルについて、
前記仮想サーバ上で稼働するアプリケーションの入出力処理量の特性から、前記入出力処理量モデルに基づいて、前記仮想サーバが必要とする前記ストレージのリソースの使用量を予測し、さらに、前記帯域使用量モデルに基づいて、予測された前記ストレージのリソースの使用量に対応する前記ネットワークの帯域の使用量を予測するリソース予測処理と、
予め定義された設定ポリシーに基づいて、前記リソース予測処理によって予測された前記ネットワークの帯域の使用量から、前記仮想化ソフトウェアの前記帯域制御機能に対して設定する前記仮想サーバについての帯域制御値を決定して出力する帯域決定処理とを実行することを特徴とするストレージリソース制御プログラム。
【請求項５】
ネットワークを介してストレージが接続された１つ以上の物理サーバ上において、仮想化ソフトウェアによりテナント毎に仮想化された複数の仮想サーバが前記物理サーバおよび前記ストレージのリソースを共有する形態で稼働するリソースプールに対して、前記仮想サーバに割り当てられた前記ストレージのリソースの使用可能量を制御するストレージリソース制御方法であって、
コンピュータシステムにより、前記仮想化ソフトウェアが有する前記ネットワークに対する帯域制御機能に対して、前記仮想サーバ上で稼働するアプリケーションの入出力特性に応じた帯域制御値を設定し、前記帯域制御機能によって前記仮想サーバによる前記ネットワークの帯域の使用量を制御することによって、間接的に前記仮想サーバに割り当てられた前記ストレージのリソースの使用可能量を制御することを特徴とするストレージリソース制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチテナント形態のコンピュータシステムにおける各テナントのリソース使用量の制御技術に関し、特に、ストレージ機器のリソース使用量について最低保証型の性能保証を行うよう制御するためのストレージリソース制御システムおよびストレージリソース制御プログラムならびにストレージリソース制御方法に適用して有効な技術に関するものである。
【背景技術】
【０００２】
近年、企業等においては、ＩＴコスト削減のために、クラウドコンピューティング環境の利用などによってコンピュータリソースを他の企業や他の部門、プロジェクト等との間で共有する形態（マルチテナント形態）が注目されている。特に、エンタープライズ用途でマルチテナント形態が採用される場合、データセンター等においてコンピュータリソースを運用・管理するＩＴベンダーとしては、各テナントに対する「性能保証」が重要な課題となる。
【０００３】
一般的に、「性能保証」を行うための制御方法は、「優先制御型」と「最低保証型」の２つに大きく分類される。「優先制御型」は、いわゆるベストエフォート型の保証形態であり、各テナントに対して使用可能なリソース量の目安は設定されるものの、例えば、他のテナントでの処理も含めて、コンピュータリソースが不足する状況となった場合、優先度の低いテナントに割り当てられたリソースは優先度の高い処理を行うテナントに優先的に割り当てられ侵食される。一方、「最低保障型」では、各テナントは少なくとも使用可能として割り当てられた範囲でのリソースの使用は保証される（他のテナントでの処理によって侵食されない）。
【０００４】
物理サーバのリソース（ＣＰＵ（Central Processing Unit）やメモリ等）を、各テナントのアプリケーションが稼働する複数の仮想サーバによって共有するための手段としては、例えばＶＭｗａｒｅ（登録商標）などを始めとして様々な仮想化ソフトウェア製品が存在し、性能保証を行うための制御手段も十分揃っている。一方で、ストレージ機器（特にミッドレンジ以下）のリソースの共有に関しては、「優先制御型」の性能保証機能を有する製品は存在するものの、一般的に「最低保証型」の性能保証機能を有するものはほとんど存在せず、実現のためには何らかの仕組みを実装する必要がある。
【０００５】
これに関する技術として、例えば特開２０１０−１２２８１４号公報（特許文献１）には、アプリケーションに割り当てられる論理ボリュームを提供するディスクアレイグループを備えたストレージ装置について、ストレージ管理部は、アレイグループのスループット、レスポンスタイムと、記憶容量とを保持しており、論理ボリュームについて要求される、スループットと記憶容量との比である性能密度と、記憶容量の要件とを受け付け、前記アレイグループから前記スループットの値を上限として、受け付けた前記性能密度と容量要件に基づいて前記スループットを論理ボリュームに割り当て、割り当てたスループットと、受け付けた前記容量要件とに基づいて決定した記憶容量を、前記論理ボリュームに割り当てることで、ストレージ資源を性能面、容量面でバランスよく効率的に記憶領域として割り当てるストレージシステムが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１２２８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、ストレージ機器のリソース共有において「最低保証型」の性能保証機能を実現するためには、何らかの仕組みを実装する必要がある。しかしながら、特許文献１に記載したような技術では、要求されるリソースを論理ボリュームに割り当てて、その範囲内で制御する仕組みは提供されるものの、各テナント（仮想サーバ）において実行されるアプリケーション等の処理内容や入出力特性に応じてそもそもどの程度のストレージリソースが必要となるかを判断することまでは考慮されていない。また、リソースの使用量の制御の仕組みについても、できるだけ簡易な方法で実装および制御が可能な仕組みが望まれる。
【０００８】
そこで本発明の目的は、各テナントのストレージ機器のリソース使用量について「最低保証型」の性能保証を容易に行うことができるストレージリソース制御システムおよびストレージリソース制御プログラムならびにストレージリソース制御方法を提供することにある。また、本発明の他の目的は、各仮想サーバで実行されるアプリケーションの入出力特性に基づいて、必要とされるストレージリソースの使用量を予測するストレージリソース制御システムおよびストレージリソース制御プログラムならびにストレージリソース制御方法を提供することにある。
【０００９】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１１】
本発明の代表的な実施の形態によるストレージリソース制御システムは、ネットワークを介してストレージが接続された１つ以上の物理サーバ上において、前記ネットワークに対する帯域制御機能を有する仮想化ソフトウェアにより、テナント毎に仮想化された複数の仮想サーバが前記物理サーバおよび前記ストレージのリソースを共有する形態で稼働するリソースプールに対して、前記帯域制御機能によって前記仮想サーバによる前記ネットワークの帯域の使用量を制御することによって、前記仮想サーバに割り当てられた前記ストレージのリソースの使用可能量を制御するためのシステムであって、以下の特徴を有するものである。
【００１２】
すなわち、ストレージリソース制御システムは、前記物理サーバの前記ネットワークおよび前記ストレージについてのリソースの使用状況に係る情報から得られた、前記ストレージにおける入出力処理量と前記ストレージのリソースの使用量についての相関関係である入出力処理量モデルと、前記ネットワークの帯域使用量と前記ストレージのリソースの使用量についての相関関係である帯域使用量モデルからなる線形モデルを有する。
【００１３】
さらに、前記仮想サーバ上で稼働するアプリケーションの入出力処理量の特性から、前記入出力処理量モデルに基づいて、前記仮想サーバが必要とする前記ストレージのリソースの使用量を予測し、さらに、前記帯域使用量モデルに基づいて、予測された前記ストレージのリソースの使用量に対応する前記ネットワークの帯域の使用量を予測するリソース予測部と、予め定義された設定ポリシーに基づいて、前記リソース予測部によって予測された前記ネットワークの帯域の使用量から、前記仮想化ソフトウェアの前記帯域制御機能に対して設定する前記仮想サーバについての帯域制御値を決定して出力する帯域決定部とを有することを特徴とするものである。
【００１４】
また、本発明は、コンピュータを上記のようなストレージリソース制御システムとして機能させるプログラムにも適用することができる。また、本発明は、ネットワークを介してストレージが接続された１つ以上の物理サーバ上において、仮想化ソフトウェアによりテナント毎に仮想化された複数の仮想サーバが前記物理サーバおよび前記ストレージのリソースを共有する形態で稼働するリソースプールに対して、前記仮想サーバに割り当てられた前記ストレージのリソースの使用可能量を制御するストレージリソース制御方法にも適用することができる。
【発明の効果】
【００１５】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１６】
本発明の代表的な実施の形態によれば、各テナントのストレージ機器のリソース使用量について「最低保証型」の性能保証を容易に行うことが可能となる。また、本発明の代表的な実施の形態によれば、各仮想サーバで実行されるアプリケーションの入出力特性に基づいて、必要とされるストレージリソースの使用量を予測することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施の形態であるストレージリソース制御システムおよびこれを有する情報処理システムの構成例の概要について示した図である。
【図２】本発明の一実施の形態におけるモデル作成部によって作成される線形モデルのうちの入出力処理量モデルの例を示した図である。
【図３】本発明の一実施の形態における帯域制御情報を出力する処理の流れの例について概要を示したフローチャートである。
【図４】本発明の一実施の形態における割当情報を出力する処理の流れの例について概要を示したフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１９】
本発明の一実施の形態であるストレージリソース制御システムを有する情報処理システムでは、ストレージ機器が接続された物理サーバ上に各テナント用の複数の仮想サーバを構築してマルチテナント形態として運用されるコンピュータシステムに対して、各仮想サーバによるストレージリソースの使用可能量を、仮想化ソフトウェア製品が通常有するネットワーク帯域制御機能を用いることで容易に制御する。すなわち、各仮想サーバについて、物理サーバとストレージ機器との間のネットワークの帯域の使用量に対してネットワーク帯域制御機能によってキャップを設定することで、間接的に各仮想サーバによるストレージリソースの使用可能量を制御する。
【００２０】
各仮想サーバによるストレージリソースの使用可能量をそれぞれ所定の範囲内に制御することにより、各仮想サーバが他の仮想サーバに使用可能量として割り当てられたストレージリソースまで侵食して使用すること抑止することができ、「最低保証型」の性能保証機能を実現することができる。なお、本実施の形態において、制御の対象となるストレージリソースとはストレージ機器における単位時間当たりのリソースの使用量（例えば、ストレージ機器のＣＰＵ使用率や、ディスクビジー率など）を指し、使用するディスク容量は含まないものとする。
【００２１】
ここで、仮想化ソフトウェア製品のネットワーク帯域制御機能を用いて間接的にストレージリソースの使用可能量を所定の範囲内に制御するという場合、少なくとも、物理サーバとストレージ機器との間のネットワーク帯域の使用量と、ストレージリソースの使用量との相関関係を把握しておく必要がある。そこで、本実施の形態では、ネットワーク帯域の使用量とストレージリソースの使用量との相関関係についてモデル（帯域使用量モデル）を作成し、当該モデルに基づいてストレージリソースの使用量の上限（使用可能量）に対応するネットワーク帯域の使用量の上限を決定する。
【００２２】
本実施の形態では、各仮想サーバに対して、ストレージリソースの使用量の上限（使用可能量）を割り当てることになるが、これは、各仮想サーバ上で稼働するアプリケーションがその入出力処理のためにどれだけのストレージリソースを必要とするかによって定まる。ここで、各アプリケーションが必要とするストレージリソースの使用量を判断するためには、少なくとも、ストレージにおける入出力処理量とストレージリソースの使用量との相関関係を把握しておく必要がある。そこで、本実施の形態では、ストレージにおける入出力処理量とストレージリソースの使用量との相関関係についてもモデル（入出力処理量モデル）を作成し、当該モデルに基づいて、各仮想サーバで実行されるアプリケーションの入出力特性（入出力処理量）に応じて必要とされるストレージリソースの使用量を予測する。
【００２３】
上記の入出力処理量モデルと帯域使用量モデルを利用することで、各仮想サーバがアプリケーションでの入出力処理のために必要とするストレージリソースの使用量（最大使用量）に対応したネットワーク帯域の使用量を予測することができる。予測されたネットワーク帯域の使用量の情報を、帯域制御情報として仮想化ソフトウェアのネットワーク帯域制御機能に適用することで、各仮想サーバに割り当てられるストレージリソースの使用可能量を、アプリケーションの入出力特性から得られる最大使用量に応じて最適な値に設定することが可能となる。
【００２４】
＜システム構成＞
図１は、本実施の形態であるストレージリソース制御システムおよびこれを有する情報処理システムの構成例の概要について示した図である。図１において、情報処理システム１は、例えばＩＴベンダー等が、データセンター等の施設において、クラウドコンピューティング環境として多数のサーバ機器等からなるコンピュータリソースをリソースプール２００として運用・管理し、そのコンピュータリソースを他の企業や他の部門、プロジェクト等のユーザ（テナント）に対して、テナント間で共有する形態（マルチテナント形態）によりサービスとして提供するものである。
【００２５】
本実施の形態の情報処理システム１は、さらに、リソースプール２００によって提供されるストレージリソースについて、各テナントに対して「最低保証型」の性能保証機能を提供するため、各仮想サーバによるストレージリソースの使用量を所定の範囲内に制御するための情報を出力する機能を有するストレージリソース制御システム１００を有する。
【００２６】
情報処理システム１において、リソースプール２００は、複数の物理サーバ２１０（図１の例では、物理サーバＡ（２１０ａ）および物理サーバＢ（２１０ｂ））やストレージ２１１（図１の例ではストレージＡ（２１１ａ）およびストレージＢ（２１１ｂ））によって各テナントに対して提供される管理対象としてのコンピュータリソースの全体を総称するものである。各物理サーバ２１０は、それぞれ、仮想化ソフトウェア２２０（図１の例では仮想化ソフトウェアＡ（２２０ａ）および仮想化ソフトウェアＢ（２２０ｂ））によって仮想化され、その上でテナント毎に複数の仮想サーバ２３１（図１の例では、テナントａ１用仮想サーバ２３１ａ１、テナントａ２用仮想サーバ２３１ａ２およびテナントｂ１用仮想サーバ２３１ｂ１）が稼働している。
【００２７】
仮想化ソフトウェア２２０としては、ベンダー等から提供されている一般的なソフトウェア（例えば、ＶＭｗａｒｅやＸｅｎ（登録商標）など）を利用することができる。また、仮想サーバ２３１上で稼働するゲストＯＳ（Operating System）の種類なども特に限定されない。上記のような一般的な仮想化ソフトウェア２２０は、通常、各仮想サーバ２３１が使用するネットワークの帯域が、設定された（割り当てられた）上限値を超えないように制御するネットワーク帯域制御機能を有している。本実施の形態では、この機能は仮想化ソフトウェア２２０における帯域制御部２２１（図１の例では、帯域制御部Ａ（２２１ａ）および帯域制御部Ｂ（２２１ｂ））により提供されるものとする。
【００２８】
各物理サーバ２１０には、それぞれ、機器の内部もしくは外部のネットワーク２１２（図１の例ではネットワークＡ（２１２ａ）およびネットワークＢ（２１２ｂ））を介してストレージ２１１（図１の例ではストレージＡ（２１１ａ）およびストレージＢ（２１１ｂ））が接続されている。
【００２９】
以上のような構成により、各テナントの仮想サーバ２３１は、それぞれ、物理サーバ２１０やストレージ２１１のコンピュータリソース（本実施の形態では特に、ＣＰＵ使用率やディスクビジー率など単位時間あたりの使用率を割り当てることによって他のテナントと共有する形態となるもの）を、仮想化ソフトウェア２２０を介して共有する。
【００３０】
なお、本実施の形態では、ストレージ２１１は、特に「最低保証型」の性能保証機能を有さないミッドレンジ以下のストレージ機器を対象とする。これらのストレージ２１１は、例えば、物理サーバ２１０にローカル接続されたストレージ機器や、ｉＳＣＳＩ（Internet Small Computer System Interface）等を利用して構成されたＳＡＮ（Storage Area Network）、ＮＦＳ（Network File System）等を利用して構成されたＮＡＳ（Network Attached Storage）など、ストレージ２１１自身がＣＰＵを有してデータの読み書きを行うものであり、上記の仮想化ソフトウェア２２０の帯域制御部２２１によるネットワーク帯域制御機能により、物理サーバ２１０とストレージ２１１との間のネットワーク２１２の帯域制御が可能な構成とすることができるものであれば特に限定されない。
【００３１】
一方、ストレージリソース制御システム１００は、例えば、サーバやＰＣ（Personal Computer）などのコンピュータシステムにより構成され、ソフトウェアプログラムとして実装されるモデル作成部１１０、リソース予測部１２０、帯域決定部１３０および割当判定部１４０の各部を有する。これら各部は、それぞれが独立したプログラムとして実装されてもよいし、複数の部がまとまって１つのプログラムとして実装されてもよい。ストレージリソース制御システム１００は、リソースプール２００内の各物理サーバ２１０と図示しないネットワークを介して接続可能であってもよいし、オフラインで実装されていてもよい。また、独立したシステムとしてではなく他の運用管理システム等の一部として組み込まれて実装されてもよい。
【００３２】
本実施の形態では、上述したように、ストレージリソース制御システム１００によって、各仮想サーバ２３１がアプリケーションでの入出力処理のために必要とするストレージリソースの使用量に対応したネットワーク２１２の帯域の使用可能量を予測し、これを帯域制御情報として出力する。これを仮想化ソフトウェア２２０の帯域制御部２２１に適用することで、間接的に各仮想サーバ２３１のストレージリソースの使用可能量を制御し、「最低保証型」の性能保証機能を実現することができる。
【００３３】
ストレージリソース制御システム１００のモデル作成部１１０は、各仮想サーバ２３１によるネットワーク２１２の帯域の使用可能量を予測するために用いる、上述した入出力処理量モデルと帯域使用量モデルを作成する。詳細については後述するが、ここでは例えば、図示しない運用管理システム等を利用して測定もしくは収集し取得される、リソースプール２００内の各物理サーバ２１０のネットワーク２１２およびストレージ２１１についてのリソースの使用状況に係る情報であるリソース使用状況１１１を入力とし、ストレージ２１１における入出力処理量とストレージリソースの使用量についてのモデルである入出力処理量モデルと、ネットワーク２１２の帯域使用量とストレージリソースの使用量についてのモデルである帯域使用量モデルからなる線形モデル１１２を作成して出力する。
【００３４】
リソース予測部１２０は、上記の線形モデル１１２に基づいて、各テナントの仮想サーバ２３１がアプリケーションでの入出力処理のために必要とするストレージ２１１のリソース使用量に対応したネットワーク２１２の帯域使用量を予測する。ここでは、各仮想サーバ２３１上で稼働するアプリケーションについて予め分析されている入出力（Ｉ／Ｏ）の特性についての情報であるＩ／Ｏ特性１２１を入力として、線形モデル１１２のうちの入出力処理量モデルに基づいて、各仮想サーバ２３１（もしくはアプリケーション）が必要とするストレージ２１１のリソース使用量を予測する。さらに、線形モデル１１２のうちの帯域使用量モデルに基づいて、必要とするストレージ２１１のリソース使用量に対応するネットワーク２１２の帯域使用量を予測し、予測使用量１２２として出力する。
【００３５】
帯域決定部１３０は、予め定義された、帯域制御値の設定に係るポリシーの情報である設定ポリシー１３１に基づいて、上記の予測使用量１２２から、各仮想化ソフトウェア２２０の帯域制御部２２１に設定する、各仮想サーバ２３１についての帯域制御値を決定し、帯域制御情報１３２として出力する。この帯域制御情報１３２の内容を、ストレージリソース制御システム１００による自動もしくは管理者等による手動によって各仮想化ソフトウェア２２０の帯域制御部２２１に適用し、帯域制御部２２１により各仮想サーバ２３１によるネットワーク２１２の帯域使用量を制御する。これにより、間接的に各仮想サーバ２３１によるストレージ２１１のリソース使用量を所定の範囲内に制御することができる。
【００３６】
割当判定部１４０は、特定の新規または既存の仮想サーバ２３１について、どの物理サーバ２１０上に構築することができるか（どのストレージ２１１に対して割り当てることができるか）を判定する。例えば、新規に構築する予定の仮想サーバＣ（図示しない）についてリソース予測部１２０により得られた予測使用量１２２の情報と、各物理サーバ２１０のストレージ２１１の現状でのリソース使用状況１１１の情報とに基づいて、ストレージＡ（２１１ａ）、ストレージＢ（２１１ｂ）のいずれに割り当てることができるかを判定し、判定結果を割当情報１４２として出力する。
【００３７】
また例えば、既存の仮想サーバ（例えばテナントａ２用仮想サーバ２３１ａ２）においてアプリケーションでの処理内容や処理量を拡張したいというような場合、拡張するアプリケーションにおいて増加する入出力処理量に対応するストレージ２１１のリソース使用量をリソース予測部１２０によって予測して予測使用量１２２の情報を得る。
【００３８】
この予測使用量１２２の情報と、各物理サーバ２１０のストレージ２１１の現状でのリソース使用状況１１１の情報とに基づいて、テナントａ２用仮想サーバ２３１ａ２が現在のストレージＡ（２１１ａ）を利用したまま拡張することが可能なのか、物理サーバＢ（２１０ｂ）のストレージＢ（２１１ｂ）など他のストレージ２１１に移行して割り当てた上で拡張する必要があるのかなどを判定し、判定結果を割当情報１４２として出力する。
【００３９】
出力された割当情報１４２に基づいて、仮想サーバ２３１を対象の物理サーバ２１０（ストレージ２１１）に割り当てて構築もしくは拡張する。さらに、当該仮想サーバ２３１に対する帯域制御情報１３２を作成して、対象の仮想化ソフトウェア２２０の帯域制御部２２１に適用することで、「最低保証型」の性能保証機能を維持することができる。
【００４０】
＜線形モデル（入出力処理量モデル、帯域使用量モデル）＞
以下では、図１のストレージリソース制御システム１００のモデル作成部１１０が作成する線形モデル１１２について説明する。線形モデル１１２のうち、例えば入出力処理量モデルの作成に際しては、まずモデル作成部１１０は、図示しない運用管理システム等により測定・収集されたリソース使用状況１１１の情報から、ストレージ２１１のリソース使用量と、ストレージ２１１における入出力処理量を取得し、これらをストレージ２１１に対するアクセス種別毎に集計する。
【００４１】
ここで、ストレージ２１１のリソースとしては、上述したように、ＣＰＵ使用率やディスクビジー率など、単位時間（秒）あたりの使用率で表されるリソースが挙げられる。また、ストレージ２１１における入出力処理量としては、例えば、単位時間（秒）あたりの入出力処理数（ＩＯＰＳ（Input Output Per Second））を使用することができる。このＩＯＰＳの値は、例えば、ネットワーク２１２上のパケットを解析することにより間接的に取得することができる。ストレージ２１１に対するアクセス種別としては、例えば、同期／非同期のシーケンシャルライト、同期／非同期のランダムライト、シーケンシャルリード、ランダムリードなどが挙げられる。
【００４２】
図２は、図１においてモデル作成部１１０によって作成される線形モデル１１２のうちの入出力処理量モデルの例を示した図である。ここでは、アクセス種別のうち同期シーケンシャルライトを例として、ＣＰＵ使用率およびディスクビジー率とＩＯＰＳとの関係をそれぞれプロットしたものを示している。モデル作成部１１０は、これらのデータに基づいてＣＰＵ使用率およびディスクビジー率についてそれぞれ線形近似して入出力処理量モデルを作成する。線形近似の手法は特に限定されず、例えば最小二乗法などを用いることができる。
【００４３】
線形モデル１１２のうちの帯域使用量モデルの作成についても上記と同様であり、モデル作成部１１０は、図示しない運用管理システム等により測定・収集されたリソース使用状況１１１の情報から、ネットワーク２１２の帯域使用量とストレージ２１１のリソース使用量を取得し、これらをストレージ２１１に対するアクセス種別毎に集計する。ネットワーク２１２の帯域使用量としては、単位時間（秒）あたりの伝送データ量（ｂｐｓ）を使用することができる。これらのデータについて、図２の例と同様に、アクセス種別毎にＣＰＵ使用率およびディスクビジー率と帯域使用量との関係をそれぞれプロットし、最小二乗法等により線形近似して帯域使用量モデルを作成する。
【００４４】
上記のような線形モデル１１２を利用することで、入出力処理量モデルから、仮想サーバ２３１上で稼働するアプリケーションの入出力処理量に対して必要となるストレージ２１１のリソース使用量を予測することができ、さらに、帯域使用量モデルから、予測されたストレージ２１１のリソース使用量に対応するネットワーク２１２の帯域使用量を予測することが可能となる。
【００４５】
なお、本実施の形態では、線形モデル１１２をモデル作成部１１０により作成するものとしているが、これに限らず、例えば、他の運用管理システム等もしくは人手により作成されたものをストレージリソース制御システム１００が取り込んで使用する構成であってもよい。
【００４６】
＜処理フロー＞
以下では、ストレージリソース制御システム１００による処理の流れについて説明する。図３は、各仮想化ソフトウェア２２０の帯域制御部２２１に適用するための帯域制御情報１３２を出力する処理の流れの例について概要を示したフローチャートである。当該処理を行う前の事前準備として、各ストレージ２１１についての上述した線形モデル１１２の作成（もしくは取り込み）は行われているものとする。
【００４７】
処理を開始すると、まず、帯域制御情報１３２により制御する対象となる仮想サーバ２３１上で稼働するアプリケーションのストレージ２１１に対する入出力特性を分析し、Ｉ／Ｏ特性１２１を取得してストレージリソース制御システム１００に入力する（Ｓ０１）。ここでは、Ｉ／Ｏ特性１２１として例えば、アプリケーションの処理内容から想定もしくは実測される、ストレージ２１１に対するアクセス種別毎の入出力処理量（ＩＯＰＳ）を取得する。例えば、
・同期ランダムライト  →１，０００ＩＯＰＳ
・ランダムリード      →２，０００ＩＯＰＳ
・その他のアクセス種別→なし
などの情報を得る。当該分析は、ストレージリソース制御システム１００の外部で管理者等が行ってもよいし、分析用のソフトウェアプログラムを実装してもよい。
【００４８】
次に、リソース予測部１２０は、Ｉ／Ｏ特性１２１を入力として、モデル作成部１１０により予め作成されている線形モデル１１２のうちの入出力処理量モデルを利用して、アプリケーションの入出力特性に対して必要となるストレージ２１１のリソース使用量を予測する（Ｓ０２）。例えば、図２に示したような線形近似された入出力処理量モデルから、
・ＣＰＵ使用率
・同期ランダムライト（１，０００ＩＯＰＳ）→１０％
・ランダムリード（２，０００ＩＯＰＳ）    →１５％
・ディスクビジー率
・同期ランダムライト（１，０００ＩＯＰＳ）→５％
・ランダムリード（２，０００ＩＯＰＳ）    →１０％
というような予測値を得る。
【００４９】
次に、リソース予測部１２０は、ステップＳ０２で得たリソース使用量の予測値に対して、線形モデル１１２のうちの帯域使用量モデルを利用して、必要となるストレージ２１１のリソース使用量に対して必要となるネットワーク２１２の帯域使用量を予測する（Ｓ０３）。例えば、図２に示したものと同様に線形近似された帯域使用量モデルから、
・ＣＰＵ使用率から予測したネットワーク２１２の帯域使用量
・同期ランダムライト（１０％）→１００Ｍｂｐｓ
・ランダムリード（１５％）    →３００Ｍｂｐｓ
・ディスクビジー率から予測したネットワーク２１２の帯域使用量
・同期ランダムライト（５％）  →５０Ｍｂｐｓ
・ランダムリード（１０％）    →２００Ｍｂｐｓ
というような予測値を得る。
【００５０】
最後に、帯域決定部１３０は、ステップＳ０３で得たネットワーク２１２の帯域使用量の予測値から、設定ポリシー１３１に基づいて、帯域制御部２２１に適用する帯域上限値を決定し、帯域制御情報１３２として出力する（Ｓ０４）。例えば、設定ポリシー１３１として、「各ストレージリソース（ＣＰＵ使用率、ディスクビジー率）毎のネットワーク２１２の帯域使用量の予測値において最大値を上限値とする」というように設定されているものとすると、
・帯域上限値
・アウトバウンド（ライト）→１００Ｍｂｐｓ
・インバウンド（リード）  →３００Ｍｂｐｓ
といような値を得る。
【００５１】
これらの値を対象の仮想サーバ２３１に対する帯域制御情報１３２として出力し、仮想化ソフトウェア２２０の帯域制御部２２１に適用することで、対象の仮想サーバ２３１のストレージ２１１のリソース使用量の上限を間接的に制御し、他の仮想サーバ２３１が必要とするリソース使用量を侵食しないようにする。これにより、ストレージ２１１全体として、各テナント（仮想サーバ２３１）間で「最低保証型」の性能保証機能を実現することができる。
【００５２】
なお、例えば、事前準備での線形モデル１１２の作成も含めた上記の一連の処理を定期的に自動で実行することで、リソースプール２００の各ストレージ２１１において、負荷状況に合わせて各仮想サーバ２３１のリソース使用量を動的に最適化して割り当てることも可能となる。
【００５３】
図４は、本実施の形態の線形モデル１１２（入出力処理量モデル）を利用することで、アプリケーションの入出力処理量から仮想サーバ２３１が必要とするストレージ２１１のリソース使用量を把握することが可能となることを利用した例として、特定の仮想サーバ２３１をいずれの物理サーバ２１０（ストレージ２１１）に割り当てるかを判定して割当情報１４２を出力する処理の流れの例について概要を示したフローチャートである。
【００５４】
この処理では、例えば、新規に仮想サーバ２３１を構築する際に、複数の物理サーバ２１０（ストレージ２１１）のうちいずれに割り当てるかの判定や、既存の仮想サーバ２３１の処理内容や処理量を拡張するような場合に、現状割り当てられている物理サーバ２１０（ストレージ２１１）上で可能なのか、他のストレージ２１１に移行した上で拡張する必要があるのかなどの判定を行うための情報を得ることができる。
【００５５】
当該処理を行う前の事前準備として、図３に示した例と同様に、各ストレージ２１１についての上述した線形モデル１１２の作成（もしくは取り込み）は行われているものとする。また、各ストレージ２１１の現在のリソースの使用状況がリソース使用状況１１１として得られているものとする。例えば、
・ストレージＡ（２１１ａ）
・ＣＰＵ使用率    →８０％
・ディスクビジー率→６０％
・ストレージＢ（２１１ｂ）
・ＣＰＵ使用率    →２０％
・ディスクビジー率→２０％
というような値が現在のリソース使用状況１１１として得られているものとする。
【００５６】
処理を開始すると、まず、対象となる仮想サーバ２３１上で稼働するアプリケーションのストレージ２１１に対する入出力特性を分析し、増加分のＩ／Ｏ特性１２１を取得してストレージリソース制御システム１００に入力する（Ｓ１１）。Ｉ／Ｏ特性１２１については、図３に示した例と同様であるが、新規の仮想サーバ２３１を構築する場合は、当該仮想サーバ２３１上で稼働する新たなアプリケーションの処理内容から想定される、ストレージ２１１に対するアクセス種別毎の入出力処理量を取得する。また、既存の仮想サーバ２３１を拡張する場合は、拡張により増加する分の入出力処理量を取得する。例えば、
・同期ランダムライト  →１，０００ＩＯＰＳ増加
・ランダムリード      →２，０００ＩＯＰＳ増加
・その他のアクセス種別→なし
などの情報を得る。
【００５７】
次に、リソース予測部１２０は、図３に示した例と同様に、Ｉ／Ｏ特性１２１を入力として、モデル作成部１１０により予め作成されている線形モデル１１２のうちの入出力処理量モデルを利用して、アプリケーションの入出力特性（増加分）に対して必要となるストレージ２１１のリソース使用量を予測する（Ｓ１２）。例えば、図２に示したような線形近似された入出力処理量モデルから、
・ＣＰＵ使用率
・同期ランダムライト（１，０００ＩＯＰＳ増加）→１０％増加
・ランダムリード（２，０００ＩＯＰＳ増加）    →１５％増加
・ディスクビジー率
・同期ランダムライト（１，０００ＩＯＰＳ増加）→５％増加
・ランダムリード（２，０００ＩＯＰＳ増加）    →１０％増加
というような予測値を得る。
【００５８】
次に、割当判定部１４０は、ステップＳ１２で得られたストレージ２１１のリソース使用量の予測値と、リソース使用状況１１１から得られる現在の各物理サーバ２１０のストレージ２１１のリソースの使用状況とから、対象の仮想サーバ２３１の割当先とする物理サーバ２１０（ストレージ２１１）、もしくは現状の物理サーバ２１０（ストレージ２１１）上での拡張可否を判定し、割当情報１４２として出力する（Ｓ１３）。例えば、新規に仮想サーバ２３１を構築する場合、
・ストレージＡ（２１１ａ）に割り当てた場合のリソース使用量
・ＣＰＵ使用率    →１０５％
・ディスクビジー率→７５％
・ストレージＢ（２１１ｂ）に割り当てた場合のリソース使用量
・ＣＰＵ使用率    →４５％
・ディスクビジー率→３５％
となり、ストレージＡ（２１１ａ）に割り当てた場合にはＣＰＵ使用率が１００％を超えてしまうため、まだリソースに余裕があるストレージＢ（２１１ｂ）に割り当てるのが適していると判定する。割り当て可能なストレージ２１１が複数ある場合は、予め定めたルール（例えば、ストレージ２１１の番号順や、空きリソース量の多い順など）に基づいて割り当てるようにしてもよい。
【００５９】
既存の仮想サーバ２３１を拡張する場合も同様に、例えばストレージＡ（２１１ａ）に割り当てられた仮想サーバＡ（２３１ａ）を対象とする場合、仮想サーバＡ（２３１ａ）上でアプリケーションを拡張すると、上記と同様にストレージＡ（２１１ａ）のＣＰＵ使用率が１００％を超えてしまうため、ここでの拡張は行えない。従って、リソースに余裕があるストレージＢ（２１１ｂ）に仮想サーバＡ（２３１ａ）を移行した後で拡張を行うか、もしくは、リソースに余裕があるストレージ２１１がない場合には拡張を見送るなどの判定を行う。
【００６０】
最後に、ステップＳ１３で得られた割当情報１４２に基づいて、自動もしくは管理者等による手動により、新規の仮想サーバ２３１のストレージ２１１への割当や、既存の仮想サーバ２３１の拡張などを行う（Ｓ１４）。以上の処理により、各テナントの仮想サーバ２３１上で稼働するアプリケーションの入出力特性に応じて仮想サーバ２３１の配置を最適化することが可能となる。
【００６１】
以上に示したように、本発明の一実施の形態であるストレージリソース制御システム１００によれば、各仮想サーバ２３１によるストレージ２１１のリソースの使用可能量を、仮想化ソフトウェア２２０が通常有するネットワーク帯域制御機能（帯域制御部２２１）を用いることで容易に制御する。すなわち、各仮想サーバ２３１について、物理サーバ２１０とストレージ２１１との間のネットワーク２１２の帯域使用量に帯域制御部２２１によってキャップを設定することで、間接的に各仮想サーバ２３１によるストレージ２１１のリソースの使用可能量を所定の範囲に制御し、他の仮想サーバ２３１に使用可能量として割り当てられているストレージリソースを侵食しないようにする。これにより、「最低保証型」の性能保証機能を実現することが可能となる。
【００６２】
また、モデル作成部１１０によって作成される入出力処理量モデルと帯域使用量モデルを利用することで、各仮想サーバ２３１がアプリケーションでの入出力処理のために必要とするストレージ２１１のリソース使用量に対応したネットワーク２１２の帯域使用量を予測することができる。予測された帯域使用量の情報を、帯域制御情報１３２として仮想化ソフトウェア２２０の帯域制御部２２１に適用することで、各仮想サーバ２３１に割り当てられるストレージリソースの使用可能量を、アプリケーションの入出力特性に応じて最適な値に設定することが可能となる。
【００６３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００６４】
本発明は、ストレージ機器のリソース使用量について最低保証型の性能保証を行うよう制御するためのストレージリソース制御システムおよびストレージリソース制御プログラムならびにストレージリソース制御方法に利用可能である。
【符号の説明】
【００６５】
１…情報処理システム、
１００…ストレージリソース制御システム、
１１０…モデル作成部、１１１…リソース使用状況、１１２…線形モデル、
１２０…リソース予測部、１２１…Ｉ／Ｏ特性、１２２…予測使用量、
１３０…帯域決定部、１３１…設定ポリシー、１３２…帯域制御情報、
１４０…割当判定部、１４２…割当情報、
２００…リソースプール、
２１０（２１０ａ、２１０ｂ）…物理サーバ（物理サーバＡ、物理サーバＢ）、２１１（２１１ａ、２１１ｂ）…ストレージ（ストレージＡ、ストレージＢ）、２１２（２１２ａ、２１２ｂ）…ネットワーク（ネットワークＡ、ネットワークＢ）、２２０（２２０ａ、２２０ｂ）…仮想化ソフトウェア（仮想化ソフトウェアＡ、仮想化ソフトウェアＢ）、２２１（２２１ａ、２２１ｂ）…帯域制御部（帯域制御部Ａ、帯域制御部Ｂ）、２３１（２３１ａ１、２３１ａ２、２３１ｂ１）…仮想サーバ（テナントａ１用仮想サーバ、テナントａ２用仮想サーバ、テナントｂ１用仮想サーバ）。
【図１】
2012133629.tif 000003
【図２】
2012133629.tif 000004
【図３】
2012133629.tif 000005
【図４】
2012133629.tif 000006