(57)【特許請求の範囲】
【請求項１】
複数の記憶領域を含む記憶領域群の負荷情報を取得する負荷情報取得部と、
前記負荷情報取得部により取得された前記記憶領域群の負荷情報を基に、前記記憶領域群の全体帯域幅を算出する算出部と、
前記記憶領域を使用するアプリケーションが起動時に使用する帯域幅を計測し、計測した帯域幅を基に最低保証帯域幅を算出する最低保証帯域幅算出部と、
前記最低保証帯域幅算出部により算出された前記記憶領域毎の前記最低保証帯域幅を基に、各前記記憶領域に割り当てた個別帯域幅の合計が前記算出部により算出された前記全体帯域幅となるように各前記個別帯域幅を算出し各前記記憶領域に割り当てる割当部と
を備えたことを特徴とするストレージ管理装置。
【請求項２】
前記割当部は、前記全体帯域幅及び前記最低保証帯域幅を基に、各前記記憶領域を用いる処理により実際に使用される帯域幅に基づく使用帯域幅に応じた割り当てのための係数を算出し、前記最低保証帯域幅及び前記係数を基に各前記個別帯域幅を算出することを特徴とする請求項１に記載のストレージ管理装置。
【請求項３】
前記割当部は、前記記憶領域毎に指定された性能レベルに応じた重みづけを加えて前記個別帯域幅を算出することを特徴とする請求項１又は２に記載のストレージ管理装置。
【請求項４】
前記割当部は、帯域幅の使用状態に応じて前記重みづけを変化させることを特徴とする請求項３に記載のストレージ管理装置。
【請求項５】
前記割当部は、前記最低保証帯域幅における未使用の帯域幅を、前記全体帯域幅に加算して拡大全体帯域幅を算出し、前記個別帯域幅の合計が前記拡大全体帯域幅となるように各前記個別帯域幅を算出することを特徴とする請求項１〜４のいずれか一つに記載のストレージ管理装置。
【請求項６】
複数の記憶領域を含む記憶領域群の負荷情報を取得し、
取得した前記記憶領域群の負荷情報を基に、前記記憶領域群の全体帯域幅を算出し、
前記記憶領域を使用するアプリケーションが起動時に使用する帯域幅を計測し、計測した帯域幅を基に最低保証帯域幅を算出し、
前記記憶領域毎の前記最低保証帯域幅を基に、各前記記憶領域に割り当てた個別帯域幅の合計が前記全体帯域幅となるように各前記個別帯域幅を算出し各前記記憶領域に割り当てる
ことを特徴とするストレージ管理方法。
【請求項７】
複数の記憶領域を含む記憶領域群の負荷情報を取得し、
取得した前記記憶領域群の負荷情報を基に、前記記憶領域群の全体帯域幅を算出し、
前記記憶領域を使用するアプリケーションが起動時に使用する帯域幅を計測し、計測した帯域幅を基に最低保証帯域幅を算出し、 
前記記憶領域毎の前記最低保証帯域幅を基に、各前記記憶領域に割り当てた個別帯域幅の合計が前記全体帯域幅となるように各前記個別帯域幅を算出し各前記記憶領域に割り当てる
処理をコンピュータに実行させることを特徴とするストレージ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ管理装置、ストレージ管理方法及びストレージ管理プログラムに関する。
【背景技術】
【０００２】
近年、オープンシステムやサーバの仮想化が普及してきており、システムの管理が複雑化してきている。そこで、システムの管理の容易化や急速に増大するデータ容量への柔軟な対応などの観点から、ストレージシステムの導入が一般的になってきている。
【０００３】
ストレージシステムでは、例えば、ボリュームとアプリケーションを実行するサーバとの間のデータ転送路の帯域制限幅を調整することでストレージシステムの性能調整が行われている。従来は、この帯域制限幅の調整は、管理者の指示を受けたストレージシステムにより行われていた。
【０００４】
また、ストレージシステムにおける性能調整の技術として、ディスクのプールに対する割り当て及び負荷を表すプール状況情報の過去の情報と、負荷閾値とを用いて、軸領域群ごとの使用容量を予測する従来技術がある。また、記憶領域の最小帯域を有し、選択したインタフェースに既に記憶領域が割り当て済みの場合、アクセス比率から取得した記憶領域の合計を算出し、作成する記憶領域の帯域を加算しても１００％を超えなければ割り当てを行う従来技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１１／０９２７３９号
【特許文献２】特開２００７−３２３２８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、個々のボリュームに割り当てる帯域を指定する方法では、帯域を制限するためにボリューム毎に手動で目標性能を設定した場合、帯域制限のための設定が煩雑であり、帯域幅の効率的な利用が困難である。また、一つのボリュームの帯域幅を調整した場合、他のボリュームとデータ転送上の競合が発生し、他のボリュームの負荷が上昇し、性能低下を招くおそれがある。
【０００７】
そこで、直近のデータを使って自動的に帯域を調整することが考えられるが、直近のデータを用いて帯域制限を行っていくため、帯域幅は徐々に狭まっていってしまうので、帯域幅の効率的な利用が困難である。
【０００８】
また、プール状況情報の過去の情報及び負荷閾値を用いて、軸領域群毎の使用容量を予測する従来技術を用いた場合、性能調整を性能が異なる記憶領域の割り当てにより実現しており、帯域幅の効率的な利用が困難である。また、作成する記憶領域の帯域を加算しても１００％を超えなければ割り当てを行う従来技術の場合、利用者がリソースの能力の値を設定しているが、この方法では制限を行うための設定が煩雑であり、帯域幅の効率的な利用が困難である。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、帯域幅を効率的に利用するストレージ管理装置、ストレージ管理方法及びストレージ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示するストレージ管理装置、ストレージ管理方法及びストレージ管理プログラムは、一つの態様において、負荷情報取得部は、複数の記憶領域を含む記憶領域群の負荷情報を取得する。算出部は、前記負荷情報取得部により取得された前記記憶領域群の負荷情報を基に、前記記憶領域群の全体帯域幅を算出する。最低保証帯域幅算出部は、前記記憶領域を使用するアプリケーションが起動時に使用する帯域幅を計測し、計測した帯域幅を基に前記最低保証帯域幅を算出する。割当部は、前記最低保証帯域幅算出部により算出された前記記憶領域毎の前記最低保証帯域幅を基に、各前記記憶領域に割り当てた個別帯域幅の合計が前記算出部により算出された前記全体帯域幅となるように各前記個別帯域幅を算出し各前記記憶領域に割り当てる。
【発明の効果】
【００１１】
本願の開示するストレージ管理装置、ストレージ管理方法及びストレージ管理プログラムの一つの態様によれば、帯域幅を効率的に利用することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係るストレージシステムの概略構成図である。
【図２】図２は、ストレージシステムのハードウェア構成図である。
【図３】図３は、実施例１に係る運用管理サーバ及びストレージ装置のブロック図である。
【図４】図４は、ＱｏＳ設定テーブルの一例の図である。
【図５】図５は、ボリューム性能情報ファイルの一例の図である。
【図６】図６は、Ｔｉｅｒ性能情報ファイルの一例の図である。
【図７】図７は、実施例１に係るストレージシステムにおける帯域幅制御のフローチャートである。
【図８】図８は、実施例２に係る運用管理サーバ及びストレージ装置のブロック図である。
【図９】図９は、実施例４に係るストレージシステムにおける帯域幅制御のフローチャートである。
【図１０】図１０は、数式１６及び１７を説明するための図である。
【図１１】図１１は、変形例３に係る運用管理サーバによる帯域比対の決定処理のフローチャートである。
【図１２】図１２は、実施例５に係る運用管理サーバによる未使用帯域幅の上乗せについて説明するための図である。
【図１３】図１３は、１時間ごとにボリュームを追加した場合の帯域幅の割当状態の遷移を表す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示するストレージ管理装置、ストレージ管理方法及びストレージ管理プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するストレージ管理装置、ストレージ管理方法及びストレージ管理プログラムが限定されるものではない。
【実施例１】
【００１４】
図１は、実施例１に係るストレージシステムの概略構成図である。図１に示すように、本実施例に係るストレージシステムは、運用管理サーバ１、ストレージ装置２、操作端末３及び業務サーバ４を有している。ここで、図１では、１台のストレージ装置２を記載しているが、ストレージ装置２の数に制限は無い。また、業務サーバ４も１台のみ記載しているが、業務サーバ４の数にも制限は無い。
【００１５】
操作端末３は、ネットワークを介して運用管理サーバ１と接続している。操作端末３は、ストレージ装置２に対する処理の指示などを運用管理サーバ１へ送信する。また、操作端末３は、運用管理サーバ１から送信されたメッセージなどをモニタに表示して操作者への通知を行う。
【００１６】
運用管理サーバ１は、ストレージ装置２の運用及び管理を行う。運用管理サーバ１は、Quality  of  Service（ＱｏＳ）制御プログラムやストレージ管理プログラムを実行する。この運用管理サーバ１が、「ストレージ管理装置」の一例にあたる。
【００１７】
具体的には、運用管理サーバ１は、ストレージ装置２におけるＱｏＳの制御等を行う。ＱｏＳは、ストレージ装置２が安定した性能を維持するための性能設定機能であり、後述するボリュームの帯域幅の調整等を行う。また、運用管理サーバ１は、操作端末３から入力された命令に従いストレージ装置２を制御する。例えば、運用管理サーバ１は、操作端末３から入力されたＲＡＩＤを構成するようにストレージ装置２に指示する。
【００１８】
ストレージ装置２は、業務サーバ４上で動作するアプリケーションからの指示を受けて、ＱｏＳを適用してデータの読み出しや書き込みを行う。また、ストレージ装置２は、ボリュームの帯域幅の調整などの指示を運用管理サーバ１から受けて、ＱｏＳの制御を行う。
【００１９】
業務サーバ４は、業務用のアプリケーションを実行する。アプリケーションを実行するにあたり、業務サーバ４は、ストレージ装置２に対してデータの読み出しや書き込みを行う。業務サーバ４が実行するアプリケーションは、ストレージ装置２とデータの送受信を行うアプリケーションであれば特に制限はない。
【００２０】
図２は、ストレージシステムのハードウェア構成図である。図２では、ストレージ装置２として、ストレージ装置２１及び２２が配置されている状態を示している。また、業務サーバ４として、業務サーバ４１及び４２が配置されている状態を示している。
【００２１】
業務サーバ４は、Fiber  Channel-Host  Bus  Adapter（ＦＣ−ＨＢＡ）４１１及び４１２、並びに、Internet  Small  Computer  System  Interface（ｉＳＣＳＩ）４１３及び４１４を有している。ここで、本実施例では、ＦＣ−ＨＢＡ４１１及び４１２の２つを記載しているが、ＦＣ−ＨＢＡは、業務サーバ４にいくつ搭載されてもよい。また、ｉＳＣＳＩ４１３及び４１４の２つを記載しているが、ｉＳＣＳＩは、業務サーバ４にいくつ搭載されてもよい。
【００２２】
ＦＣ−ＨＢＡ４１１及び４１２は、ファイバチャネルを用いたデータ通信の通信インタフェースである。ＦＣ−ＨＢＡ４１１及び４１２は、ＦＣスイッチ５１及び５２にそれぞれ接続されている。
【００２３】
ｉＳＣＳＩ４１３及び４１４は、ｉＳＣＳＩの規格に準拠したデータ通信の通信インタフェースである。ｉＳＣＳＩ４１３及び４１４は、ネットワークスイッチ６１及び６２にそれぞれ接続されている。
【００２４】
ＦＣスイッチ５１及び５２は、ストレージ装置２と業務サーバ４との間のファイバチャネルを用いた通信の中継を行う。ＦＣスイッチ５１及び５２は、ＦＣ−ＨＢＡ４１１及び４１２とＦＣ−ＣＡ（Channel  Adapter）２１１とを接続する。
【００２５】
ネットワークスイッチ６１及び６２は、ストレージ装置２と業務サーバ４との間のｉＳＣＳＩを用いた通信の中継を行う。ネットワークスイッチ６１及び６２は、ｉＳＣＳＩ４１３及び４１４とｉＳＣＳＩ−ＣＡ２１２とを接続する。
【００２６】
ストレージ装置２は、Controller  Module（ＣＭ）２０１及び２０２、並びに、ディスク（Disk）２０３を有している。
【００２７】
ＣＭ２０１及び２０２は、同様の機構を有している。そこで、ここでは、ＣＭ２０１を例に説明する。
【００２８】
ＣＭ２０１は、ＦＣ−ＣＡ２１１、ｉＳＣＳＩ−ＣＡ２１２、Central  Processing  Unit（ＣＰＵ）２１３、メモリ（memory）２１４、Network  Interface  Card（ＮＩＣ）２１５及びSerial  Attached  SCSI（ＳＡＳ）２１６を有している。
【００２９】
ＦＡ−ＣＡ２１１、ｉＳＣＳＩ−ＣＡ２１２、メモリ２１４、ＮＩＣ２１５及びＳＡＳ２１６は、ＣＰＵ２１３に接続されている。
【００３０】
ＣＰＵ２１３は、ＦＣ−ＣＡ２１１及びｉＳＣＳＩ−ＣＡ２１２を介して業務サーバ４との間でデータの送受信を行う。
【００３１】
また、ＣＰＵ２１３は、ＳＡＳ２１６を介してディスク２０３に対するデータの読み出し及び書き込みを行う。
【００３２】
また、ＣＰＵ２１３は、ＮＩＣ２１５を介して、操作端末３及び運用管理サーバ１との間で通信を行う。例えば、ＣＰＵ２１３は、後述する帯域幅の調整の指示を運用管理サーバ１から受信すると、指示に従いディスク２０３の帯域幅を調整する。
【００３３】
運用管理サーバ１は、ＮＩＣ１１、メモリ１２、ＣＰＵ１３及びＨＤＤ１４を有する。ＨＤＤ１４は、ＱｏＳ制御プログラムやストレージ管理プログラムを含む各種プログラムを格納する。ＮＩＣ１１は、ストレージ装置２及び操作端末３との間の通信のためのインタフェースである。
【００３４】
ＣＰＵ１３は、ＨＤＤ１４から各種プログラムを読み出し、メモリ１２上に展開してＱｏＳ制御プログラムやストレージ管理プログラムなどを実行する。
【００３５】
ストレージ装置２には、ディスク２０３が複数台搭載されている。図２では、複数台のディスク２０３によりＲＡＩＤグループが形成されボリューム２３１として構築されている。ボリューム２３１は、論理ボリュームである。このボリューム２３１が、「記憶領域」の一例にあたる。ただし、本実施例に限定されず、ディスク２０３は、ＲＡＩＤグループが構築されていなくてもよい。また、図２では、１つのＲＡＩＤグループを１つのボリューム２３１としたが、１つのＲＡＩＤグループの中に複数のボリューム２３１が形成されてもよい。さらに、複数のボリューム２３１を含むＴｉｅｒプール２３２が形成される。Ｔｉｅｒプール２３２は、階層化されたストレージ装置２における階層を表す。Ｔｉｅｒプール２３２は、高速の階層、中速の階層、低速の階層などに区別される。このＴｉｅｒプール２３２が、「記憶領域群」の一例にあたる。
【００３６】
ここで、ＣＰＵ２１３によるデータの書き込み及び読み出しについて説明する。ＣＰＵ２１３は、業務サーバ４上で動作する業務用アプリケーションからデータの読み出しの命令であるリードコマンドや書き込みの命令であるライトコマンドを受信する。このとき、リードコマンドやライトコマンドは、例えば、ＦＣスイッチ５１のポート及びＦＣ−ＣＡ２１１のポートを経由してＣＰＵ２１３へ送信される。そして、ＣＰＵ２１３は、受信したコマンドに従って、ディスク２０３のボリューム２３１に対するデータの読み出しや書き込みを行う。このとき、データは、ＲＡＩＤグループの構成にしたがって、ボリューム２３１に対して書き込みや読み出しが行われる。また、ここでは、ＣＭ２０１のＣＰＵ２１３がデータの読み書きの処理を行う場合で説明したが、ＣＭ２０２のＣＰＵ２１３においても、同様の処理が行われる。
【００３７】
すなわち、データの書き込みや読み出しといったデータ転送の場合に、ＦＣスイッチ５１のポート、ＦＣ−ＣＡ２１１やｉＳＣＳＩ−ＣＡ２１２のポート、データの処理を行う処理プロセッサとなるＣＰＵ２１３、及び、ボリューム２３１において競合が発生する。
【００３８】
データ転送において各リソースで競合が発生してしまうと、データ転送の性能が落ちる。そこで、競合が発生しているリソースを使用する伝送路において、その伝送路を使用するボリューム２３１の帯域幅を調整することで、リソースにおける競合を解消することができ、データ転送の性能を高い状態で維持することができる。そこで、次に、ボリューム２３１の帯域幅の調整について説明する。以下では、業務サーバ４とストレージ装置２とは、ＦＣスイッチ５１を介して接続されている場合で説明する。また、以下では、Ｔｉｅｒプール２３２をボリューム２３１の帯域調整の単位として説明するが、帯域調整の単位はこれに限らず、例えば、ＲＡＩＤグループやストレージ装置２の全体であってもよい。
【００３９】
図３は、実施例１に係る運用管理サーバ及びストレージ装置のブロック図である。運用管理サーバ１は、最大性能算出部１０１、帯域幅管理部１０２、監視部１０３及び記憶部１０４を有している。また、ストレージ装置２は、性能情報取得部２５１及び帯域幅制御部２５２を有している。また、ストレージ装置２は、ディスク２０３から生成されたボリューム２３１を複数含むＴｉｅｒプール２３２を有している。
【００４０】
記憶部１０４は、ＱｏＳ設定テーブル１４１、ボリューム性能情報ファイル１４２及びＴｉｅｒ性能情報ファイル１４３をそれぞれ記憶する所定の情報記憶領域を有している。なお、情報記憶領域は、各テーブルそのものを記憶している必要はなく、制御時にテーブル化するための情報を記憶しておいてもよい。記憶部１０４の機能は、例えば、図２のＨＤＤ１４で実現される。
【００４１】
図４は、ＱｏＳ設定テーブルの一例の図である。本実施例では、ＱｏＳ設定テーブル１４１には、ボリューム識別情報、Ｔｉｅｒプール番号及び帯域幅が対応付けられて登録されている。
【００４２】
ボリューム識別情報は、ボリューム２３１を一意に特定する情報である。本実施例では、ボリューム識別情報は、ストレージ装置２の番号及びボリューム２３１の番号により表されている。例えば、図２のストレージ装置２１を１番、ストレージ装置２２を２番とすると、「Ｓｔｏｒａｇｅ＝１，ＶｏｌＮｏ＝１」は、ストレージ装置２１のボリューム番号が１番のボリューム２３１を表している。
【００４３】
また、Ｔｉｅｒプール番号は、対応するボリューム識別情報を有するボリューム２３１の属するＴｉｅｒプール２３２の識別情報である。
【００４４】
また、帯域幅は、対応するボリューム識別情報を有するボリューム２３１に設定されている帯域幅である。図４では、帯域幅は、スループットを表す毎秒のデータ量（ＭＢ  Per  Second）、及び読み込み／書き込み回数（ＩＯＰＳ：Input  Output  Per  Second）の２種類で表される。
【００４５】
図５は、ボリューム性能情報ファイルの一例の図である。ボリューム性能情報ファイル１４２は、各ボリューム２３１の実測の性能を表す情報が登録される。本実施例では、ボリューム性能情報ファイル１４２には、測定を行った性能測定日時と共に、ボリューム識別情報、実測レスポンスタイム、実測スループット、実測ＩＯＰＳ、実測キャッシュヒット率及び実測ディレイタイムが対応付けられて登録されている。以下では、ボリューム識別情報、実測レスポンスタイム、実測スループット、実測ＩＯＰＳ、実測キャッシュヒット率及び実測ディレイタイムをまとめて、「ボリュームの性能情報」という場合がある。
【００４６】
実測レスポンスタイムは、対応するボリューム識別情報を有するボリューム２３１にデータの読み書きを行った際に計測したレスポンスタイムである。実測スループットは、対応するボリューム識別情報を有するボリューム２３１にデータの読み書きを行った際に計測したスループットである。実測ＩＯＰＳは、対応するボリューム識別情報を有するボリューム２３１にデータの読み書きを行った際に計測したＩＯＰＳである。実測キャッシュヒット率は、対応するボリューム識別情報を有するボリューム２３１にデータの読み書きを行った際に計測したキャッシュヒット率である。実測ディレイタイムは、対応するボリューム識別情報を有するボリューム２３１にデータの読み書きを行った際に計測したディレイタイムである。
【００４７】
図６は、Ｔｉｅｒ性能情報ファイルの一例の図である。Ｔｉｅｒ性能情報ファイル１４３は、各Ｔｉｅｒプール２３２の実測の性能を表す情報が登録される。本実施例では、Ｔｉｅｒ性能情報ファイル１４３には、測定を行った性能測定日時と共に、Ｔｉｅｒプール２３２であることを表すリソース種別、Ｔｉｅｒプール２３２の識別情報、実測スループット、実測ＩＯＰＳ及びＢｕｓｙ率が対応付けられて登録される。以下では、Ｔｉｅｒ識別情報、実測スループット及び実測ＩＯＰＳをまとめて、「Ｔｉｅｒプールの性能情報」という場合がある。
【００４８】
Ｔｉｅｒプール２３２の識別情報は、どのＴｉｅｒプール２３２であるかを一意に特定する情報である。実測スループットは、対応する識別情報を有するＴｉｅｒプール２３２にデータの読み書きを行った際に計測したスループットである。実測ＩＯＰＳは、対応する識別情報を有するＴｉｅｒプール２３２にデータの読み書きを行った際に計測したＩＯＰＳである。Ｂｕｓｙ率は、対応する識別情報を有するＴｉｅｒプール２３２にデータの読み書きを行った際のＢｕｓｙ率である。
【００４９】
図３に戻って説明を続ける。監視部１０３は、操作者からの性能収集開始の指示を操作端末３から受ける。その後、監視部１０３は、ボリューム２３１及びＴｉｅｒプール２３２の性能情報の性能情報取得部２５１からの定期的な受信を開始する。ここで、監視部１０３は、Ｔｉｅｒプール２３２のＢｕｓｙ率ではなく、Ｔｉｅｒプール２３２に含まれるディスク２０３のＢｕｓｙ率を取得する。そして、監視部１０３は、Ｔｉｅｒプール２３２に含まれる各ディスク２０３のＢｕｓｙ率を用いてＴｉｅｒプール２３２のＢｕｓｙ率を算出する。
【００５０】
本実施例では、監視部１０３は、あるＴｉｅｒプール２３２に含まれる全てのディスク２０３のＢｕｓｙ率の単純平均を求め、その算出結果をそのＴｉｅｒプール２３２のＢｕｓｙ率とする。ただし、Ｔｉｅｒプール２３２のＢｕｓｙ率の算出方法はこれに限らない。
【００５１】
例えば、監視部１０３は、Ｂｕｓｙ率を次のような方法で求めてもよい。まず、監視部１０３は、Ｔｉｅｒプール２３２に含まれるＲＡＩＤグループ毎に、そのＲＡＩＤグループに含まれる全てのディスク２０３のＢｕｓｙ率の単純平均を求める。そして、監視部１０３は、ＲＡＩＤグループ毎に求めたＢｕｓｙ率に予め決められた係数を乗算した加重平均をＴｉｅｒプール２３２のＢｕｓｙ率とすることもできる。
【００５２】
そして、監視部１０３は、受信した各ボリューム２３１の性能情報をボリューム性能情報ファイル１４２に書き込む。また、監視部１０３は、受信したＴｉｅｒプール２３２の性能情報及び算出したＢｕｓｙ率をＴｉｅｒ性能情報ファイル１４３に書き込む。この監視部１０３が、「負荷情報取得部」の一例にあたる。
【００５３】
ここで、本実施例では、図５及び図６に示すボリューム性能情報ファイル１４２及びＴｉｅｒ性能情報ファイル１４３を用いて説明したが、これらのテーブルは他の形式を有していてもよい。例えば、Ｔｉｅｒプール２３２の識別情報を表すテーブル、ＲＡＩＤグループとＴｉｅｒプール２３２との関係を表すテーブル、ディスク２０３とＲＡＩＤグループとの関係を表すテーブルを記憶部１０４に記憶させる。さらに、各ディスク２０３のＢｕｓｙ率を格納するテーブルを記憶部１０４に記憶させる。そして、監視部１０３は、各ディスク２０３のＢｕｓｙ率を書き込み、最大性能算出部１０１がＴｉｅｒプール２３２のＢｕｓｙ率を算出してもよい。
【００５４】
最大性能算出部１０１は、操作端末３を用いた操作者からの入力や設定ファイルなどにより、ＩＯＰＳ又はスループットのいずれかを帯域調整の指標とするかの指示を取得する。以下では、帯域調整の指標として、スループットが指定された場合で説明する。また、最大性能算出部１０１は、操作者からの入力などにより、帯域幅の調整を行うＴｉｅｒプール２３２を特定する。以下では、ボリューム２３１の帯域幅の調整の対象として指定されたＴｉｅｒプール２３２を、「調整対象のＴｉｅｒプール２３２」と呼ぶ。ここで、本実施例は、指定されたＴｉｅｒプール２３２に含まれるボリューム２３１の帯域幅の調整を行う場合で説明するが、例えば、１つずつＴｉｅｒプール２３２を選択していき、全てのＴｉｅｒプール２３２についてボリューム２３１の帯域幅の調整を行ってもよい。
【００５５】
最大性能算出部１０１は、調整対象のＴｉｅｒプール２３２の実測スループットの情報をＴｉｅｒ性能情報ファイル１４３から取得する。また、最大性能算出部１０１は、調整対象のＴｉｅｒプール２３２のＢｕｓｙ率をＴｉｅｒ性能情報ファイル１４３から取得する。
【００５６】
そして、最大性能算出部１０１は、次の数式１を用いて調整対象のＴｉｅｒプール２３２の最大転送能力、すなわち最大帯域幅を算出する。この最大転送能力が、「全体帯域幅」の一例にあたる。
【００５７】
【数１】
0006558090.tif 000002
【００５８】
ここで、ＢＭＡＸは、Ｔｉｅｒプール２３２の最大転送能力である。また、Ｂは、Ｔｉｅｒプール２３２の実測性能であり、本実施例では実測スループットである。また、Ｕは、Ｔｉｅｒプール２３２のＢｕｓｙ率である。さらに、γは、０より大きく１以下の定数である。
【００５９】
ここで、係数γがなければ、数式１において実測性能とＢｕｓｙ率とは比例し、Ｂｕｓｙ率が１００％になった場合に最大転送能力となる。しかし、実際にはＢｕｓｙ率が高くなると性能（スループット）は頭打ちとなる。そこで、Ｂｕｓｙ率は、Ｔｉｅｒプール２３２に係る負荷の負荷パターンによって異なるが、概ね８０％で転送能力が最大となると考えられる。そこで、γ＝０．８とされることが好ましい。
【００６０】
そして、最大性能算出部１０１は、算出した調整対象のＴｉｅｒプール２３２の最大転送能力の情報を、調整対象のＴｉｅｒプール２３２の識別情報とともに帯域幅管理部１０２に通知する。この最大性能算出部１０１が、「算出部」の一例にあたる。
【００６１】
帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２の最大転送能力の情報の通知を、調整対象のＴｉｅｒプール２３２の識別情報とともに最大性能算出部１０１から受信する。そして、帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２に含まれるボリューム２３１をＱｏＳ設定テーブル１４１から特定する。次に、帯域幅管理部１０２は、ボリューム性能情報ファイル１４２から、調整対象のＴｉｅｒプール２３２に含まれる各ボリューム２３１が使用帯域を取得する。ここでは、帯域幅管理部１０２は、実測性能のスループットを使用帯域として取得する。
【００６２】
そして、帯域幅管理部１０２は、次の数式（２）を用いて各ボリューム２３１に対する帯域幅の割り当てを決定する。
【００６３】
個別帯域幅＝α×使用帯域幅＋β  ・・・（２）
【００６４】
ここで、個別帯域幅とは、各ボリューム２３１それぞれに対して割り当てる帯域幅である。具体的には、帯域幅管理部１０２は、各ボリューム２３１の個別帯域幅の合計が調整対象のＴｉｅｒプール２３２の処理能力に等しくなるように各ボリューム２３１に対する個別帯域幅を決定する。すなわち、帯域幅管理部１０２は、次の数式３を満たすように個別帯域幅を決定する。
【００６５】
調整対象のＴｉｅｒプール処理能力＝個別帯域幅の合計＝α×使用帯域幅の合計＋β×ボリューム数  ・・・（３）
【００６６】
ここで、βは、直近の使用帯域幅が０の場合に予め割り当てておく帯域といえる。すなわち、このβがあることで、調整対象のＴｉｅｒプール２３２を使用するアプリケーションなどが起動しておらず使用帯域幅が０であっても、調整対象のＴｉｅｒプール２３２への割当帯域がβとして確保される。
【００６７】
ここで、αを予め設定ファイルなどに定義しておき、各ボリューム２３１の個別帯域幅の合計が調整対象のＴｉｅｒプール２３２の処理能力になるようにβを調整して個別帯域幅を決定する方法も考えられる。この場合、αは固定値であるので、ボリューム数が増えるとβが減少する。このように、ボリューム数が増えβが減ると、アプリケーションが起動できなくなるおそれがある。また、逆にβの値を大きくするためにαの値を小さくすると、個別帯域幅において使用帯域幅の差が表れにくくなり、使用帯域幅に応じた割り当てが困難となる。このような理由から、αを事前に決定することは困難である。
【００６８】
そこで、本実施例に係る帯域幅管理部１０２は、予め設定ファイルなどに定義されたβを用いて、各ボリューム２３１の割当帯域の合計がＴｉｅｒプール２３２の処理能力に等しくなるようにαを調整する。このαが、「係数」の一例にあたる。
【００６９】
ここで、本実施例では、帯域幅管理部１０２は、βとして業務アプリケーションの起動に用いる最低の帯域幅（以下では、「最低保証帯域幅」という。）を用いる。これにより、ストレージ装置２は、業務アプリケーション起動処理の初期化処理などで多くのデータ転送が発生する場合に備えることができる。
【００７０】
すなわち、帯域幅管理部１０２は、最大性能算出部１０１から受信した調整対象のＴｉｅｒプール２３２の最大転送能力及び予め決められたβの値を用いて、数式３からαを算出する。そして、帯域幅管理部１０２は、求めたα及び予め決められたβを用いて各ボリューム２３１に割り当てる個別帯域幅を求める。
【００７１】
その後、帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２に含まれる各ボリューム２３１に、算出したそれぞれの個別帯域幅の設定を指示する設定コマンドを作成する。そして、帯域幅管理部１０２は、生成した設定コマンドを帯域幅制御部２５２へ送信する。
【００７２】
このように、帯域幅管理部１０２は、ボリューム数が少ない場合は、αの値を大きくし、使用帯域幅に応じた帯域幅の割り当てをより適切に実現する。逆にボリューム数が多い場合、割り当てる帯域に余裕が無くなるので、帯域幅制御部１０２は、αの値が小さくなるように調整する。この帯域幅管理部１０２が、「割当部」の一例にあたる。
【００７３】
最大性能算出部１０１、帯域幅管理部１０２及び監視部１０３の機能は、例えば、図２のＣＰＵ１３及びメモリ１２で実現される。例えば、ＨＤＤ１４に、最大性能算出部１０１、帯域幅管理部１０２及び監視部１０３の機能を実現するための各種プログラムが格納される。そして、ＣＰＵ１３は、ＨＤＤ１４から各種プログラムを読み出し、最大性能算出部１０１、帯域幅管理部１０２及び監視部１０３の機能を実現するプロセスをメモリ１２上に展開して実行する。
【００７４】
性能情報取得部２５１は、性能収集開始の指示を監視部１０３から受ける。そして、性能情報取得部２５１は、各ボリューム２３１の性能情報、各Ｔｉｅｒプール２３２の性能情報及び各ディスク２０３のＢｕｓｙ率を定期的に取得し、監視部１０３へ送信する。
【００７５】
帯域幅制御部２５２は、調整対象のＴｉｅｒプール２３２に含まれる各ボリューム２３１に対する帯域幅の設定を指示する設定コマンドを帯域幅管理部１０２から受信する。そして、帯域幅制御部２５２は、各設定コマンドで指定されたボリューム２３１の帯域幅を、設定コマンドの指定に合わせて設定する。
【００７６】
次に、図７を参照して、本実施例に係るストレージシステムにおける帯域幅制御の流れについて説明する。図７は、実施例１に係るストレージシステムにおける帯域幅制御のフローチャートである。図７の左端のフローは、操作端末３の処理を表している。また、中央のフローは、運用管理サーバ１の処理を表している。また、右端のフローは、ストレージ装置２の処理を表している。さらに、各フローを結ぶ矢印は、矢印の方向に命令やデータが送られることを示している。
【００７７】
操作端末３は、操作者からの指示を受けて、性能収集を運用管理サーバ１の監視部１０３へ指示する（ステップＳ１１）。これにより、運用管理サーバ１及びストレージ装置２において、ストレージ装置２の性能収集が開始され、帯域幅の調整が実行される。
【００７８】
次に、運用管理サーバ１の処理について説明する。監視部１０３は、性能測定開始の指示を操作端末３から受信する。そして、監視部１０３は、性能測定開始をストレージ装置２の性能情報取得部２５１に指示する（ステップＳ２１）。
【００７９】
監視部１０３は、ボリューム２３１及びＴｉｅｒプール２３２の性能情報、並びに、ディスク２０３のＢｕｓｙ率を取得する。次に、監視部１０３は、ディスク２０３のＢｕｓｙ率からＴｉｅｒプール２３２のＢｕｓｙ率を算出する。そして、監視部１０３は、ボリューム２３１の性能情報をボリューム性能情報ファイル１４２に登録し、Ｔｉｅｒプール２３２の性能情報及びＢｕｓｙ率をＴｉｅｒ性能情報ファイル１４３に登録する（ステップＳ２２）。
【００８０】
最大性能算出部１０１は、調整対象のＴｉｅｒプール２３２の実測スループット及びＢｕｓｙ率をＴｉｅｒ性能情報ファイル１４３から取得する（ステップＳ２３）。
【００８１】
次に、最大性能算出部１０１は、取得した実測スループット及びＢｕｓｙ率を用いて、調整対象のＴｉｅｒプール２３２の最大転送能力を算出する（ステップＳ２４）。その後、最大性能算出部１０１は、調整対象のＴｉｅｒプール２３２の最大転送能力の情報を帯域幅管理部１０２へ送信する。
【００８２】
帯域幅管理部１０２は、自己が有する設定ファイルから割り当ての指標をＩＯＰＳにするかスループットにするかを取得する。帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２の最大転送能力の情報を最大性能算出部１０１から受信する。また、帯域幅管理部１０２は、ボリューム２３１の最低保証帯域幅であるβの値を取得する（ステップＳ２５）。さらに、帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２に含まれるボリューム２３１の使用帯域幅を取得する。
【００８３】
次に、帯域幅管理部１０２は、使用帯域幅、調整対象のＴｉｅｒプール２３２の最大転送能力及び最低保証帯域幅であるβを用いて、数式３からαを算出する（ステップＳ２６）。
【００８４】
次に、帯域幅管理部１０２は、使用帯域幅、算出したα及び取得したβを用いて、数式２から各ボリューム２３１の個別帯域幅を算出する（ステップＳ２７）。
【００８５】
次に、帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２に含まれる各ボリューム２３１に対する各個別帯域幅の設定を指示する設定コマンドを生成する。その後、帯域幅管理部１０２は、生成した設定コマンドを帯域幅制御部２５２へ送信する（ステップＳ２８）。
【００８６】
次に、ストレージ装置２の処理について説明する。性能情報取得部２５１は、性能測定開始の指示を運用管理サーバ１の監視部１０３から受信する。そして、性能情報取得部２５１は、各ボリューム２３１及び各Ｔｉｅｒプール２３２の性能情報、並びに、ディスク２０３のＢｕｓｙ率の測定を開始する（ステップＳ３１）。
【００８７】
その後、性能情報取得部２５１は、取得した各ボリューム２３１及び各Ｔｉｅｒプール２３２の性能情報、並びに、ディスク２０３のＢｕｓｙ率を運用管理サーバ１の帯域幅管理部１０２に送信する（ステップＳ３２）。
【００８８】
その後、帯域幅制御部２５２は、運用管理サーバ１の帯域幅管理部１０２から設定コマンドを受けて、各ボリューム２３１に対して指定された帯域幅の設定を行う（ステップＳ３３）。
【００８９】
以上に説明したように、本実施例に係る運用管理サーバは、予め決められた最低保証帯域を用いて、調整対象のＴｉｅｒプールの最大転送能力から、調整対象のＴｉｅｒプールに含まれる全てのボリュームに割り当てる帯域幅を決定する。これにより、Ｔｉｅｒプールに含まれるボリューム同士での性能干渉を抑えて帯域幅の割り当てを行うことができる。また、アプリケーションなどの起動に用いる帯域を確保しているので、起動をスムースに行うことができる。また、各ボリュームに対する帯域幅の指定を行わずに済むため、管理者の手間を省くことができる。加えて、予めαの値を決定しておかなくてもよいので、管理者の手間を省くことができる。
【００９０】
また、以上の説明では、スループットを例に説明したが、上述したように実測性能としてＩＯＰＳを用いても個別帯域幅を算出することができる。ただし、ＩＯＰＳの場合、基準となるデータ量を用いてスループットに変換して最大転送能力との比較を行うことが好ましい。
【実施例２】
【００９１】
図８は、実施例２に係る運用管理サーバ及びストレージ装置のブロック図である。本実施例に係る運用管理サーバは、実施例１の各部に、最低保証帯域幅算出部１０５が追加されている。本実施例に係る運用管理サーバは、各ボリュームの最低保証帯域幅を自動的に算出し設定することが実施例１と異なる。そこで、最低保証帯域幅の算出について主に説明する。以下では、実施例１と同じ符号を有する各部については特に説明の無い限り同じ機能を有するものとする。
【００９２】
最低保証帯域幅算出部１０５は、各ボリューム２３１の最低保証帯域幅の初期値を予め有する。そして、最低保証帯域幅算出部１０５は、各ボリューム２３１の性能計測開始以前の場合、各ボリューム２３１の最低保証帯域幅の初期値を起動時の使用帯域幅として帯域幅管理部１０２へ出力する。
【００９３】
そして、最低保証帯域幅算出部１０５は、ボリューム性能情報ファイル１４２における実測性能のＩＯＰＳを監視する。そして、最低保証帯域算出部１０５は、ＩＯＰＳが０の状態が第１の時間継続した後、ＩＯＰＳが０より大きい状態が第２の時間以上継続した場合にそのボリューム２３１でアプリケーションが起動したと判定する。ここで、第１の時間及び第２の時間は、設定ファイルで定義される。そして、第１の時間と第２の時間とは同じ値であっても異なる値であってもよく、運用環境などによって決定されることが好ましい。これにより、瞬間的にＩＯＰＳが０になった場合や、アプリケーションが起動していない状態で他の理由で瞬間的にＩＯＰＳが発生した場合など、起動時以外の状態を排除することができる。
【００９４】
アプリケーションが起動したと判定した場合、最低保証帯域幅算出部１０５は、その時点でのアプリケーションが起動したボリューム２３１の使用帯域幅を取得する。本実施例では、最低保証帯域幅算出部１０５は、実測性能のスループットをボリューム設定情報ファイル１４２から取得する。そして、最低保証帯域幅算出部１０５は、取得した使用帯域幅を起動時の使用帯域幅として、対応するボリューム２３１の識別情報とともに帯域幅管理部１０２へ出力する。
【００９５】
ただし、本実施例では、最低保証帯域幅算出部１０５は、直近の起動時に計測した使用帯域幅を起動時の使用帯域幅としたがこれに限らない。例えば、最低保証帯域幅算出部１０５は、直近の数回分や数日分の平均や最大値を起動時の使用帯域幅としてもよい。この場合、最低保証帯域幅算出部１０５は、過去の起動時の使用帯域幅を記憶しておくことが好ましい。回数や日数、平均を用いるか最大値を用いるかの情報は、例えば、最低保証帯域幅算出部１０５が有する設定ファイルで定義しておくことが好ましい。
【００９６】
さらに、最低保証帯域幅算出部１０５は、実測から取得した使用帯域幅に係数γ（０＜γ＜１）を乗算した値を起動時の使用帯域幅としてもよい。これにより、起動時間はある程度長くなるが、より多くのボリューム２３１に帯域が割り当てられるようになる。
【００９７】
帯域幅管理部１０２は、各ボリューム２３１の起動時の最低保証帯域幅の入力を最低保証帯域幅算出部１０５から受ける。帯域幅管理部１０２は、あるボリューム２３１の起動時の最低保証帯域幅を取得している状態で、さらに、そのボリューム２３１の起動時の最低保証帯域幅の入力を受けた場合、そのボリューム２３１の起動時の最低保証帯域幅を後に取得したデータに更新する。この各ボリューム２３１の起動時の最低保証帯域幅が、各ボリューム２３１における最低保証帯域幅にあたる。
【００９８】
ここで、帯域幅管理部１０２によるαの算出の詳細について説明する。各ボリューム２３１の起動時の最低保証帯域幅及びαは、βｋをｋ番目のボリューム２３１の最低保証帯域幅とした場合、次の数式４を満たす。
【００９９】
【数２】
0006558090.tif 000003
【０１００】
ここで、Ｎはボリューム数を表す。また、Ｂｋは、ｋ番目のボリュームの使用帯域幅を表す。また、Ｂ’ｋは、ｋ番目のボリュームに割り当てる個別帯域幅を表す。
【０１０１】
数式４をαについて解くと、αは次の数式５で表される。
【０１０２】
【数３】
0006558090.tif 000004
【０１０３】
ただし、数式５では、最低保証帯域の合計がＴｉｅｒプールの最大能力に近づくと、αの値は０に近づく。ここで、数式２では、算出される使用帯域幅が０より大きく、最低保証帯域の合計以下の場合、すなわち０≦使用帯域＜βでは、個別帯域幅には、βを超える帯域が割り当てられてしまう。そこで、使用帯域が最低保証帯域と一致するまで個別帯域幅が増えないように調整した場合、αは次の数式６で表される。
【０１０４】
【数４】
0006558090.tif 000005
【０１０５】
ここで、Ｂｋ−βｋ＜０の時、Ｂｋ−βｋ＝０である。さらに、分母の合計が０の場合、すなわち、全てのボリューム２３１で使用帯域が最低保証帯域より小さい場合、α＝０である。
【０１０６】
さらに、数式６において、αが１を超える場合がある。αが１を超えるということは、実際の使用帯域幅よりも大きな帯域幅をボリューム２３１に割り当てていると考えられる。この場合、各ボリューム２３１の実際の使用帯域幅が小さく、Ｔｉｅｒプール２３２の処理能力に余裕がある状態である。しかし、実際の使用帯域よりも大きな帯域幅を割り当てることは無駄と考えることもできる。そこで、本実施例では、αが１を超える場合、αを１とするように、数式６を調整する。すなわち、αは次の数式７と表される。
【０１０７】
【数５】
0006558090.tif 000006
【０１０８】
ここで、Ｂｋ−βｋ＜０の時、Ｂｋ−βｋ＝０である。また、分母の合計が０の場合、すなわち、全てのボリューム２３１で使用帯域が最低保証帯域より小さい場合、α＝０である。
【０１０９】
以上に説明したように、本実施例に係る運用管理サーバは、実際の使用帯域幅に応じて最低保証帯域を決定する。これにより、各ボリュームの使用方法に応じて使用帯域幅が決定されることになり、ボリューム２３１を使用するアプリケーションが行う業務に応じて使用帯域幅が決定できる。すなわち、業務に応じて個別帯域幅を自動的に決定することができ、より適切な帯域幅の割り当てを実現することができる。
【０１１０】
（変形例１）
帯域幅管理部１０２は、処理性能が不足しているボリューム２３１及び処理性能に余裕があるボリューム２３１を特定する。例えば、帯域幅管理部１０２は、ボリューム性能情報ファイル１４２のディレイタイムなどから所定期間に亘り処理性能が連続して不足しているボリューム２３１を処理性能が不足しているボリューム２３１として特定する。また、帯域幅管理部１０２は、ボリューム性能情報ファイル１４２のディレイタイムなどから所定期間に亘り連続して処理性能に余裕があるボリューム２３１を処理性能に余裕があるボリューム２３１として特定する。
【０１１１】
そして、帯域幅管理部１０２は、処理性能に余裕があるボリューム２３１の処理性能を、処理性能が不足しているボリューム２３１に融通する。すなわち、帯域幅管理部１０２は、各ボリューム２３１に追加で帯域幅を割り当てる。例えば、帯域幅管理部１０２は、予め決められた各ボリューム２３１に対する優先度に応じて、各ボリューム２３１に追加で割り当てる追加帯域幅を算出する。また、他の方法としては、帯域幅管理部１０２は、処理性能に余裕があるボリューム２３１の処理性能をボリューム数で分割して、各ボリューム２３１に追加で割り当てる追加帯域幅を算出する。
【０１１２】
そして、帯域幅管理部１０２は、処理性能に余裕があるボリューム２３１から、処理性能が不足しているボリューム２３１への帯域幅の融通を帯域幅制御部２５２に通知する。
【０１１３】
帯域幅制御部２５２は、処理性能に余裕があるボリューム２３１から、処理性能が不足しているボリューム２３１への帯域幅の融通の通知を帯域幅管理部１０２から受ける。そして、帯域幅管理部２５２は、処理性能に余裕があるボリューム２３１の帯域幅を縮小し、処理性能が不足しているボリューム２３１の帯域幅を拡張する。以下では、帯域幅の融通を行う機能を、「拡張融通機能」という。この拡張融通機能は、例えば、ストレージ装置２のＱｏＳによって実現される。
【０１１４】
このように、帯域幅の割り当てを行った上で、拡張融通機能を用いることで、帯域幅の利用効率をより向上させることができる。
【０１１５】
（変形例２）
以上では、急速に負荷が増加する局面の内、アプリケーションの起動という局面に対応するために帯域幅の割り当てを維持できるように最低保証帯域幅を決定した。しかし、これ以外にも、負荷が増加する局面は存在する。そこで、他の局面に対応するため、最低保証帯域幅としてボリューム２３１の平均使用帯域幅又は全ボリューム２３１の平均使用帯域幅を用いることもできる。そして、負荷が増加する局面に応じて、いずれを最低保証帯域幅として用いるかを決定しておき、帯域幅管理部１０２は、該当する局面になった場合に、決められた最低保証帯域幅を用いて各ボリューム２３１の個別帯域幅を算出するとしてもよい。また、安全性を考えて、帯域幅管理部１０２は、複数の最低保証帯域幅の候補の中から最大の値を有するものを最低保証帯域幅として用いる構成にすることも可能である。
【０１１６】
このように、負荷増加の局面に応じて最低保証帯域幅を変更することで、各ボリュームの使用状態に合わせた帯域幅の割り当てを行うことができ、帯域幅の利用効率をより向上させることができる。
【実施例３】
【０１１７】
次に実施例３について説明する。本実施例に係る運用管理サーバは、操作者から指定された性能レベルに応じて割り当てる個別帯域幅を異ならせる。ここでは、実施例２に新たに機能を追加する場合で説明する。本実施例に係る運用管理サーバも図８のブロック図で表される。以下では、実施例２と同じ機能を有する各部については特に説明の無い限り同じ機能を有するものとする。ただし、本実施例の機能は実施例１の構成に追加することも可能である。
【０１１８】
操作者は、操作端末３を用いて、個々のボリューム２３１に設定する性能レベルを入力する。ここで、性能レベルとは、ボリューム２３１の性能を向上させるか低下させるかを調整するための指標である。例えば、本実施例では、性能レベルは、高性能、中性能及び低性能の３段階で表されるものとする。
【０１１９】
帯域幅管理部１０２は、数式７におけるαの帯域比（以下、「運用時帯域比」という。）及びβの帯域比（以下、「起動時帯域比」という。）を記憶している。ここで、各帯域比の設定について説明する。
【０１２０】
起動時の使用帯域幅はあまり変化することはないと考えられる。この点、アップデートやフラグメンテーションなどで徐々に使用帯域幅が変化することは考えられるが、これらについても大きな変化はもたらさないと考えられる。つまり、実測で得られた起動時の使用帯域幅はあまり変わらない。このことから、β＝１であれば、ボリューム２３１の最大性能を発揮することができる値といえる。したがって、起動時帯域比は、起動時を基準に考えた場合、性能レベルが高の場合、１であり、性能レベルが中の場合、１より小さい値となり、性能レベルが低の場合、性能レベルが中より小さい値を取ることができる。例えば、帯域幅管理部１０２は、高性能：中性能：低性能＝１：０．７５：０．５として起動時帯域比を記憶する。
【０１２１】
これに対して、起動時以外は、使用帯域幅の変動が大きく次の時点でどれだけの帯域幅を使用するか想定することは困難である。そこで、運用時帯域比は、性能レベルが高の場合、直近の使用帯域幅より広い帯域幅を割り当てることから１を超える性能比を設定することが好ましい。運用時帯域比は、性能レベルが高の場合、１より大きい値を取り、性能レベルが中の場合、１であり、性能レベルが低の場合、１より小さい値を取ることができる。例えば、帯域幅管理部１０２は、高性能：中性能：低性能＝２：１：０．５として運用時帯域比を記憶する。
【０１２２】
そして、運用時帯域比及び起動時帯域比を用いると、各ボリュームに割り当てられる個別帯域比は次の数式８で表される。
【０１２３】
割り当て帯域＝α×運用時帯域比×（使用帯域幅−起動時帯域比×β）＋起動時帯域比×β  ・・・（８）
【０１２４】
ここで、使用帯域幅−起動時帯域比×β＜０の場合、使用帯域幅−起動時帯域比×βで表される項を０とする。
【０１２５】
そして、各ボリューム２３１の使用帯域幅は、その合計がＴｉｅｒプール２３２の最大処理能力に等しくなるように決定されるので、次の数式９を満たす。
【０１２６】
【数６】
0006558090.tif 000007
【０１２７】
ここで、Ｗｋは、ｋ番目のボリュームの運用時帯域比であり、Ｘｋは、ｋ番目のボリュームの起動時帯域比である。この数式９をαについて解くことで、αは次の数式１０のように表される。
【０１２８】
【数７】
0006558090.tif 000008
【０１２９】
したがって、本実施例に係る帯域幅管理部１０２は、次の数式１１を各ボリューム２３１の個別帯域幅の算出に用いる。数式１１は、ｉ（１≦ｉ≦ボリューム数）番目のボリューム２３１の個別帯域幅を表す。
【０１３０】
【数８】
0006558090.tif 000009
【０１３１】
ここで、Ｂｉは、ｉ番目のボリュームの使用帯域幅を表す。また、Ｂ’ｉは、ｉ番目のボリュームに割り当てる個別帯域幅を表す。ここで、Ｂｋ−Ｘｋβｋ＜０の場合、Ｂｋ−Ｘｋβｋで表される項を０とする。また、分母が０となる場合、分数部分を０とする。
【０１３２】
さらに、数式１１においても、αが１を超える場合がある。上述したように、αが１を超えるということは、実際の使用帯域幅よりも大きな帯域幅をボリューム２３１に割り当てていると考えられる。そこで、本実施例では、αが１を超える場合、αを１とするように、数式１１を調整する。この場合、αは次の数式１２と表される。
【０１３３】
【数９】
0006558090.tif 000010
【０１３４】
ここで、数式１２においても、Ｂｋ−Ｘｋβｋ＜０の場合、Ｂｋ−Ｘｋβｋで表される項は０である。帯域幅管理部１０２は、数式１２であらわされるαを、数式１１に用いて、個別帯域幅を算出する。このように、運用時帯域比及び起動時帯域比を用いて、性能レベルに合わせた帯域幅を算出することが、「重みづけ」の一例にあたる。
【０１３５】
このように、「高中低」の性能レベルに合わせて個別帯域幅を設定することで、各性能レベルを有するボリューム２３１において以下のような利点がある。
【０１３６】
性能レベルが高のボリューム２３１には、直前の使用帯域幅を超える帯域幅が割り当てられる。これにより、直前の使用帯域幅を超える負荷が発生する状況である負荷増加局面であっても、ボリューム２３１に十分な帯域が割り当てられるので、そのボリューム２３１で動作する業務アプリケーションが帯域幅不足となることはない。したがって、重要な業務を実行することから、性能レベルを高とされたボリューム２３１は、指定された要求を満足することができる。
【０１３７】
また、性能レベルが中のボリューム２３１には、直前の使用帯域幅に等しい帯域幅が割り当てられる。ここで、実施例２の変形例１で説明した拡張融通機能を用いれば、他のボリューム２３１の使用帯域幅が少なく帯域幅に余裕があれば、そのボリューム２３１に追加の帯域が割り当てられる。そのため、負荷増加局面において、拡張融通機能の支援により、性能レベルが中のボリューム２３１は、帯域幅不足を回避することができる。
【０１３８】
一方、性能レベルが低のボリューム２３１には、直前の使用帯域幅より小さい帯域幅が割り当てられる。そして、そのボリューム２３１には、帯域幅の余裕が大きい場合に、直前の使用帯域幅以上の帯域幅が割り当てられる。
【０１３９】
以上をまとめると、性能レベルが高のボリューム２３１は、負荷増加局面でも十分な帯域が割り当てられる。その場合、性能レベルが低のボリューム２３１は、性能レベルが高のボリューム２３１に割り当てられた帯域幅の分、個別帯域幅が圧迫される。逆に、性能レベルが低のボリューム２３１は、負荷増加局面では、他のボリューム２３１の使用帯域幅が非常に少ない場合にのみ、十分な帯域幅の割り当てが得られる。
【０１４０】
以上に説明したように、本実施例に係る運用管理サーバは、指定された性能レベルに応じて各ボリュームに割り当てる帯域幅を決定する。これにより、各ボリュームを使用するアプリケーションの重要性に応じて帯域幅を確保することができ、各ボリュームの使用状況に応じた適切な帯域幅の割り当てを実現することができ、帯域幅の利用効率をより向上させることができる。
【実施例４】
【０１４１】
次に実施例４について説明する。本実施例に係る運用管理サーバは、Ｔｉｅｒプールの使用状況に応じて運用時帯域比及び起動時帯域比を変化させることが実施例３と異なる。本実施例に係る運用管理サーバも図８のブロック図で表される。以下では、実施例３と同じ機能を有する各部については特に説明の無い限り同じ機能を有するものとする。
【０１４２】
本実施例に係る帯域幅管理部１０２は、異なる値を有する運用時帯域比及び起動時帯域比の組（以下、２つをまとめて単に「帯域比対」という。）を２組有する。また、帯域幅管理部１０２は、記憶する２組の帯域比対のうちの一方を標準帯域比対とする。
【０１４３】
例えば、帯域幅管理部１０２が、標準帯域比対以外の帯域比対として、帯域幅に余裕がある場合の帯域比対を記憶する場合について説明する。ここでは、帯域幅に余裕がある場合の帯域比対を「閑散時帯域比対」という。帯域幅管理部１０２は、運用時帯域比が２：１：０．５であり、起動時帯域比が１：０．７５：０．５である標準帯域比対を記憶する。また、帯域幅管理部１０２は、運用時帯域比が２：１：１であり、起動時帯域比が１：１：１である閑散時帯域比対を記憶する。
【０１４４】
帯域幅管理部１０２は、Ｔｉｅｒプール２３２の最大転送能力を取得後、まず、標準帯域比対を数式１１に用いて、各ボリューム２３１の個別帯域幅を算出する。次に、帯域幅管理部１０２は、標準帯域比対を用いて算出した各ボリューム２３１の個別帯域幅が、次の数式１３を満たすか否かを判定する。
【０１４５】
【数１０】
0006558090.tif 000011
【０１４６】
数式１３が満たされない場合、帯域幅管理部１０２は、標準帯域比対を用いて算出した各ボリューム２３１の個別帯域幅を帯域幅制御部２５２に通知する。
【０１４７】
これに対して、数式１３が満たされた場合、帯域幅管理部１０２は、閑散時帯域比対を数式１２に用いて、各ボリューム２３１の個別帯域幅を算出する。次に、帯域幅管理部１０２は、閑散時帯域比対を用いて算出した各ボリューム２３１の個別帯域幅が、次の数式１４を満たすか否かを判定する。
【０１４８】
【数１１】
0006558090.tif 000012
【０１４９】
数式１４が満たされる場合、帯域幅管理部１０２は、閑散時帯域比対を用いて算出した各ボリューム２３１の個別帯域幅を帯域幅制御部２５２に通知する。これに対して、数式１４が満たされない場合、帯域幅管理部１０２は、標準帯域比対を用いて算出した各ボリューム２３１の個別帯域幅を帯域幅制御部２５２に通知する。
【０１５０】
次に、図９を参照して、本実施例に係るストレージシステムにおける帯域幅制御の流れについて説明する。図９は、実施例４に係るストレージシステムにおける帯域幅制御のフローチャートである。操作端末３及びストレージ装置２の動作は実施例１と同じであるため、ここでは、運用管理サーバ１の動作についてのみ説明する。
【０１５１】
監視部１０３は、性能測定開始の指示を操作端末３から受信する。そして、監視部１０３は、性能測定開始をストレージ装置２の性能情報取得部２５１に指示する（ステップＳ１２１）。
【０１５２】
監視部１０３は、ボリューム２３１及びＴｉｅｒプール２３２の性能情報、並びに、ディスク２０３のＢｕｓｙ率を取得する。次に、監視部１０３は、ディスク２０３のＢｕｓｙ率からＴｉｅｒプール２３２のＢｕｓｙ率を算出する。そして、監視部１０３は、ボリューム２３１の性能情報をボリューム性能情報ファイル１４２に登録し、Ｔｉｅｒプール２３２の性能情報及びＢｕｓｙ率をＴｉｅｒ性能情報ファイル１４３に登録する（ステップＳ１２２）。
【０１５３】
最大性能算出部１０１は、調整対象のＴｉｅｒプール２３２の実測スループット及びＢｕｓｙ率をＴｉｅｒ性能情報ファイル１４３から取得する（ステップＳ１２３）。
【０１５４】
次に、最大性能算出部１０１は、取得した実測スループット及びＢｕｓｙ率を用いて、調整対象のＴｉｅｒプール２３２の最大転送能力を算出する（ステップＳ１２４）。その後、最大性能算出部１０１は、調整対象のＴｉｅｒプール２３２の最大転送能力の情報を帯域幅管理部１０２へ送信する。
【０１５５】
帯域幅管理部１０２は、自己が有する設定ファイルから割り当ての指標をＩＯＰＳにするかスループットにするかを取得する。帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２の最大転送能力の情報を最大性能算出部１０１から受信する。また、帯域幅管理部１０２は、ボリューム２３１の最低保証帯域幅であるβの値を取得する（ステップＳ１２５）。さらに、帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２に含まれるボリューム２３１の使用帯域幅を取得する。
【０１５６】
次に、帯域幅管理部１０２は、使用帯域幅、調整対象のＴｉｅｒプール２３２の最大転送能力及び最低保証帯域幅であるβを用いて、数式３からαを算出する（ステップＳ１２６）。
【０１５７】
次に、帯域幅管理部１０２は、標準帯域比対、使用帯域幅、算出したα及び取得したβを用いて、数式２から各ボリューム２３１の個別帯域幅を算出する（ステップＳ１２７）。
【０１５８】
次に、帯域幅管理部１０２は、算出結果が数式１３を満たすか否かを判定する（ステップＳ１２８）。数式１３を満たさない場合（ステップＳ１２８：否定）、帯域幅管理部１０２は、標準帯域比対を用いて算出した個別帯域幅の使用を決定する（ステップＳ１２９）。
【０１５９】
これに対して、数式１３を満たす場合（ステップＳ１２８：肯定）、帯域幅管理部１０２は、閑散時帯域比対、使用帯域幅、算出したα及び取得したβを用いて、数式２から各ボリューム２３１の個別帯域幅を算出する（ステップＳ１３０）。
【０１６０】
次に、帯域幅管理部１０２は、算出結果が数式１４を満たすか否かを判定する（ステップＳ１３１）。数式１４を満たさない場合（ステップＳ１３１：否定）、帯域幅管理部１０２は、ステップＳ１２９へ進む。
【０１６１】
これに対して、数式１４を満たす場合（ステップＳ１３１：肯定）、帯域幅管理部１０２は、閑散時帯域比対を用いて算出した個別帯域幅の使用を決定する（ステップＳ１３２）。
【０１６２】
次に、帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２に含まれる各ボリューム２３１に対する各個別帯域幅の設定を指示する設定コマンドを生成する。その後、帯域幅管理部１０２は、生成した設定コマンドを帯域幅制御部２５２へ送信する（ステップＳ１３３）。
【０１６３】
以上に説明したように、本実施例に係る運用管理サーバは、複数の帯域比対を有し、Ｔｉｅｒプール２３２の使用状況に応じた帯域比対を用いて個別帯域幅を算出する。これにより、帯域幅の利用効率を向上させることができる。
【０１６４】
また、以上では２つの帯域比対を用いた場合の例について説明したが、帯域比対は３つ以上でもよい。例えば、帯域幅管理部１０２は、運用時帯域比が２：１：０．５であり、起動時帯域比が１：０．７５：０．５である標準帯域比対を記憶する。また、帯域幅管理部１０２は、運用時帯域比が２：１：０．７５であり、起動時帯域比が１：０．８７５：０．７５である閑散期帯域比対を記憶する。さらに、帯域幅管理部１０２は、運用時帯域比が２：１：１であり、起動時帯域比が１：１：１である超閑散帯域比対を記憶する。この場合、帯域比対は、徐々に性能レベル間の差が小さくなっている。そして、帯域幅管理部１０２は、数式１４が満たされない帯域比対を特定し、その特定した帯域比対よりも性能レベル間の差が１段階大きい帯域比対を用いて算出した各ボリューム２３１の個別帯域幅を帯域幅制御部２５２に通知する。
【０１６５】
このように、より多くの帯域比対を用いることで、より細かい状況に応じた帯域比対の選択を行うことができ、帯域幅の利用をより適切に行うことができる。
【０１６６】
さらに、本実施例では数式１４を用いて帯域比対を決定したが、帯域比対の決定方法はこれに限らない。例えば、帯域幅管理部１０２は、以下のように帯域比対の決定手順で数式１２を用いることもできる。
【０１６７】
帯域幅管理部１０２は、標準帯域比対を数式１２に用いてαを算出する。算出したαが１以下の場合、帯域幅管理部１０２は、標準帯域比対を数式１１に用いて各ボリューム２３１の個別帯域幅を算出し、帯域幅制御部２５２に通知する。
【０１６８】
これに対して、算出したαが１より大きい場合、閑散時帯域比対を数式１２に用いてαを算出する。この結果αが１以下となった場合、閑散時帯域比対を数式１１に用いて各ボリューム２３１の個別帯域幅を算出し、帯域幅制御部２５２に通知する。一方、αが１より大きい場合、帯域幅管理部１０２は、標準帯域比対を数式１１に用いて各ボリューム２３１の個別帯域幅を算出し、帯域幅制御部２５２に通知する。
【０１６９】
このように、帯域比対の決定手順で数式１２を用いることで、数式１４を使った場合に比べて、計算量を削減することができる。
【０１７０】
（変形例３）
次に、実施例４の変形例について説明する。本変形例に係る運用管理サーバは、設定した帯域比の間の帯域比を用いて個別帯域幅を算出することができる。以下では、設定した帯域比の間の帯域比を用いて個別帯域幅を算出する場合の処理について説明する。
【０１７１】
本変形例に係る運用管理サーバ１は、標準帯域比対及び閑散時帯域比対を有する。以下では、標準帯域比対における運用時帯域比をＷ１Ｈ：Ｗ１Ｍ：Ｗ１Ｌとし、起動時帯域比をＸ１Ｈ：Ｘ１Ｍ：Ｘ１Ｌとする。また、閑散時帯域比対における運用時帯域比をＷ２Ｈ：Ｗ２Ｍ：Ｗ２Ｌとし、起動時帯域比をＸ２Ｈ：Ｘ２Ｍ：Ｘ２Ｌとする。
【０１７２】
帯域幅管理部１０２は、Ｔｉｅｒプール２３２の最大転送能力を取得後、まず、標準帯域比対を数式１１に用いて、各ボリューム２３１の個別帯域幅を算出する。次に、帯域幅管理部１０２は、標準帯域比対を用いて算出した各ボリューム２３１の個別帯域幅を用いて、次の数式１５を計算する。以下では、この計算結果を、「標準計算結果」という。
【０１７３】
【数１２】
0006558090.tif 000013
【０１７４】
帯域幅管理部１０２は、標準計算結果が０以下の場合、標準帯域比対を用いた場合の各ボリューム２３１の個別帯域幅を帯域幅制御部２５２に通知する。これに対して、標準計算結果が０より大きい場合、帯域幅管理部１０２は、閑散時帯域比対を数式１１に用いて、各ボリューム２３１の個別帯域幅を算出する。次に、帯域幅管理部１０２は、閑散時帯域比対を用いて算出した各ボリューム２３１の個別帯域幅を用いて、数式１５を計算する。以下では、この計算結果を、「閑散時計算結果」という。
【０１７５】
帯域幅管理部１０２は、閑散時計算結果が０以上の場合、閑散時帯域比対を用いた場合の各ボリューム２３１の個別帯域幅を帯域幅制御部２５２に通知する。これに対して、閑散時計算結果が０未満の場合、帯域幅管理部１０２は、数式１６で表される比を運用時帯域比とする。また、数式１７で表される比を起動時帯域比とする。ここで、Ｚ１は、標準計算結果を表し、Ｚ２は、閑散時計算結果を表す。
【０１７６】
【数１３】
0006558090.tif 000014
【０１７７】
【数１４】
0006558090.tif 000015
【０１７８】
ここで、図１０を参照して、数式１６及び１７について説明する。図１０は、数式１６及び１７を説明するための図である。ここでは、運用時帯域比の性能レベルが高の場合について説明する。図１０における左側の縦軸が数式１５を用いて算出された帯域差分を表し、右側の縦軸が運用時帯域比を表す。すなわち、図１０では、帯域差分と対応する運用時帯域比とが同じ高さになるようにそれぞれの軸が配置されている。
【０１７９】
ここで、帯域差分が０になった場合に、調整対象のＴｉｅｒプール２３２の最大転送能力を全て利用することになるので、帯域幅が最も効率的に配分されている状態といえる。そこで、帯域差分が０となる運用時帯域比が、計算に利用する運用時帯域比となる。ここで、数式１６及び１７で示される帯域比対を用いる場合、上述したようにＺ１は正であり、Ｚ２は負である。そこで、帯域差分が０となる点は、Ｚ１とＺ２の間にある。ここで、帯域差分と運用時帯域比との関係は１次関数で表現可能であると仮定する。この場合、帯域差分が０となる運用時帯域比をＷＨとした場合、Ｚ１から０までの距離とＺ２から０までの距離との比は、Ｗ１ＨからＷＨまでの距離とＷ２ＨからＷＨまでの距離との比と等しくなる。これをＷＨについて解くと、数式１６の性能レベルが高の場合の比となる。
【０１８０】
ここでは、運用時帯域比における性能レベルが高の場合の比について説明したが、他の性能レベルでも起動時帯域比でも同じであり、運用時帯域比及び起動時帯域比は、数式１６及び１７で表される。
【０１８１】
ただし、帯域差分と運用時帯域比及び起動時帯域比との関係は、正確には１次関数ではないので、数式１６及び１７で算出される帯域比対を用いて数式１５を計算しても帯域差分が０にはならない場合がある。その場合、帯域幅管理部１０２は、以下の処理を繰り返し行う。以下では、運用時帯域比を例に説明する。以下の説明では、数式１６及び１７を用いて新たに算出された帯域比対を「新しい帯域比対」という。
【０１８２】
帯域幅管理部１０２は、新しい帯域比対を数式１１に用いて各ボリューム２３１の個別帯域幅を算出し、算出した個別帯域幅を用いて数式１５を計算する。計算結果が０になれば、帯域幅管理部１０２は、新しい帯域比対を数式１１に用いて算出した個別帯域幅を帯域幅制御部２５２に通知する。
【０１８３】
これに対して、計算結果が０より大きい場合、帯域幅管理部１０２は、計算結果をＺ１とする。さらに、帯域幅管理部１０２は、新しい帯域比対の運用時帯域比をＷ１Ｈ：Ｗ１Ｍ：Ｗ１Ｌとし、起動時帯域比をＸ１Ｈ：Ｘ１Ｍ：Ｘ１Ｌとして、数式１６及び１７に代入し、再度新しい帯域比対を算出する。
【０１８４】
また、計算結果が０未満の場合、帯域幅管理部１０２は、計算結果をＺ２とする。さらに、帯域幅管理部１０２は、新しい帯域比対の運用時帯域比をＷ２Ｈ：Ｗ２Ｍ：Ｗ２Ｌとし、起動時帯域比をＸ２Ｈ：Ｘ２Ｍ：Ｘ２Ｌとして、数式１６及び１７に代入し、再度新しい帯域比対を算出する。
【０１８５】
帯域幅管理部１０２は、以上の処理を繰り返すことで、新しい帯域比対を用いた数式１５の計算結果を０にする又は０に近づける。ただし、０に限りなく近づいても無限に時間がかかるおそれがある。そこで、帯域幅管理部１０２は、一定の回数に達するか又は一定の誤差以内に収まった場合に、そのときの新しい帯域比対を数式１１に用いて算出した個別帯域幅を帯域幅制御部２５２に通知する。これらの一定の回数や一定の誤差の値は、帯域幅管理部１０２が有する設定ファイルなどに予め定義しておくことが好ましい。
【０１８６】
ここで、図１１を参照して、本変形例に係る帯域比対の決定処理の流れについて説明する。図１１は、変形例３に係る運用管理サーバによる帯域比対の決定処理のフローチャートである。
【０１８７】
帯域幅管理部１０２は、標準帯域比対を数式１１に用いて、各ボリューム２３１の個別帯域幅を算出する。次に、帯域幅管理部１０２は、標準帯域比対を用いて算出した各ボリューム２３１の個別帯域幅を用いて数式１５を計算し標準計算結果を取得する（ステップＳ２０１）。
【０１８８】
帯域幅管理部１０２は、標準計算結果が０より大きいか否かを判定する（ステップＳ２０２）。標準計算結果が０以下の場合（ステップＳ２０２：否定）、帯域幅管理部１０２は、標準帯域比対を個別帯域幅の算出に用いることを決定する（ステップＳ２０３）。
【０１８９】
これに対して、標準計算結果が０より大きい場合（ステップＳ２０２：肯定）、帯域幅管理部１０２は、閑散時帯域比を数式１１に用いて、各ボリューム２３１の個別帯域幅を算出する。次に、帯域幅管理部１０２は、閑散時帯域比対を用いて算出した各ボリューム２３１の個別帯域幅を用いて数式１５を計算し閑散時計算結果を取得する（ステップＳ２０４）。
【０１９０】
次に、帯域幅管理部１０２は、閑散時計算結果が０未満か否かを判定する（ステップＳ２０５）。閑散時計算結果が０以上の場合（ステップＳ２０５：否定）、帯域幅管理部１０２は、閑散時帯域比対を個別帯域幅の算出に用いることを決定する（ステップＳ２０６）。
【０１９１】
これに対して、閑散時計算結果が０未満の場合（ステップＳ２０５：肯定）、帯域幅管理部１０２は、標準帯域比対及び閑散時帯域比対を用いて数式１６及び１７を算出し新しい帯域比対とする（ステップＳ２０７）。
【０１９２】
次に、帯域幅管理部１０２は、新しい帯域比対を数式１１に用いて、各ボリューム２３１の個別帯域幅を算出する（ステップＳ２０８）。
【０１９３】
そして、帯域幅管理部１０２は、新しい帯域比対を用いて算出した各ボリューム２３１の個別帯域幅を用いて数式１５を計算する。そして、帯域幅管理部１０２は、新しい帯域比対を用いた場合の数式１５が０となるか否かを判定する（ステップＳ２０９）。数式１５が０の場合（ステップＳ２０９：肯定）、帯域幅管理部１０２は、ステップＳ２１４に進む。
【０１９４】
これに対して、数式１５が０でない場合（ステップＳ２０９：否定）、帯域幅管理部１０２は、新しい帯域比対の算出が所定回数終了したか又は新しい帯域比対を用いた場合の数式１５が一定誤差以内に収まっているか否かを判定する（ステップＳ２１０）。所定回数終了しておらず且つ数式１５が一定誤差以内に収まっていない場合（ステップＳ２１０：否定）、帯域幅管理部１０２は、新しい帯域比対を用いた場合の数式１５が０より大きいか判定する（ステップＳ２１１）。
【０１９５】
数式１５が０より大きい場合（ステップＳ２１１：肯定）、帯域幅管理部１０２は、数式１５の計算結果をＺ１とし、新しい帯域比対をＷ１Ｈ：Ｗ１Ｍ：Ｗ１Ｌ及びＺ１Ｈ：Ｚ１Ｍ：Ｚ１Ｌとする（ステップＳ２１２）。そして、帯域幅管理部１０２は、ステップＳ２０７へ戻る。
【０１９６】
これに対して、数式１５が０以下の場合（ステップＳ２１１：否定）、帯域幅管理部１０２は、数式１５の計算結果をＺ２とし、新しい帯域比対をＷ２Ｈ：Ｗ２Ｍ：Ｗ２Ｌ及びＺ２Ｈ：Ｚ２Ｍ：Ｚ２Ｌとする（ステップＳ２１３）。そして、帯域幅管理部１０２は、ステップＳ２０７へ戻る。
【０１９７】
一方、新しい帯域比の算出が所定回数終了したか又は新しい帯域比対を用いた場合の数式１５が一定誤差以内に収まっている場合（ステップＳ２１０：肯定）、帯域幅管理部１０２は、新しい帯域比対を個別帯域幅の算出に用いることを決定する（ステップＳ２１４）。
【０１９８】
ここで、本変形例では、一定の回数を用いる場合で説明したが、これに限らず、例えば、帯域幅管理部１０２は、一定時間で計算を終了してもよい。この場合、設定ファイルには、一定時間が定義される。
【０１９９】
また、本変形例では、２つの帯域比対を用いる場合について説明したが、用いる帯域比対の数は３つ以上でもよい。例えば、３つの帯域比対を用いる場合、帯域幅管理部１０２は、まず中間の比率の帯域比対を用いて数式１５を計算する。そして、帯域差分が０より大きければ、帯域幅管理部１０２は、より性能レベル間での比の差が小さい帯域比対を用いて数式１５を計算する。帯域差分が０より小さければ、帯域幅管理部１０２は、より性能レベル間での比の差が大きい帯域比対を用いて数式１５を計算する。以降は、帯域幅管理部１０２は、２つの帯域比対の場合と同様の計算方法を用いて個別帯域幅を決定することができる。
【０２００】
以上に説明したように、本変形例に係る運用管理サーバは、予め決められた帯域比対の間の帯域比対を用いて個別帯域幅を算出することができる。これにより、帯域幅の利用効率をさらに向上させることができる。
【実施例５】
【０２０１】
次に実施例５について説明する。本実施例に係る運用管理サーバは、最低保証帯域を各ボリュームに割り当てた上で、割り当てた最低保証帯域の内無駄になると予想される帯域幅をＴｉｅｒプールの能力に上乗せする。ここでは、実施例１に新たに機能を追加する場合で説明する。ただし、実施例２〜４のいずれにおいても、本実施例に係る機能を追加することは可能である。本実施例に係る運用管理サーバも図８のブロック図で表される。以下では、実施例１と同じ機能を有する各部については特に説明の無い限り同じ機能を有するものとする。ただし、本実施例の機能は実施例１の構成に追加することも可能である。
【０２０２】
帯域幅管理部１０２は、最低保証帯域幅を割り当てたボリューム２３１の一覧を記憶する。その後、帯域幅管理部１０２は、次の性能収集時点で記憶した一覧に含まれる各ボリューム２３１の使用帯域幅を取得する。そして、帯域幅管理部１０２は、一覧に含まれる各ボリューム２３１の最低保証帯域幅の合計から一覧に含まれる各ボリューム２３１の使用合計帯域幅を減算して、割り当てた最低保証帯域幅の内の使用されていない帯域幅（以下では、「未使用帯域幅」という。）の合計を算出する。
【０２０３】
次に、帯域幅管理部１０２は、調整対象のＴｉｅｒプール２３２の最大転送能力に算出した未使用帯域幅を加算した値を、調整対象のＴｉｅｒプール２３２の最大転送能力として新たに設定する。
【０２０４】
そして、帯域幅管理部１０２は、新たに設定した調整対象のＴｉｅｒプール２３２の最大転送能力を用いてαを算出し、数式８から各ボリューム２３１の個別帯域幅を算出する。その後、帯域幅管理部１０２は、算出した各ボリューム２３１の個別帯域幅を帯域幅制御部２５２に通知する。
【０２０５】
次に、図１２を参照して、本実施例に係る運用管理サーバ１による未使用帯域幅の上乗せについて説明する。図１２は、実施例５に係る運用管理サーバによる未使用帯域幅の上乗せについて説明するための図である。
【０２０６】
未使用帯域幅の上乗せ前は、使用帯域幅比例割当３１１が使用帯域幅に応じた帯域幅の割り当てに使用されている。そして、使用帯域幅比例割当３１１と最低保証帯域幅３０２との合計がＴｉｅｒプール２３２の最大転送能力３０１となる。また、最低保証帯域幅３０２には、未使用帯域幅３１２と使用帯域幅３１３が含まれる。
【０２０７】
この状態で、未使用帯域幅３１２が無駄になってしまっている。すなわち、未使用帯域幅３１２の分だけ余裕がある。そこで、未使用帯域幅３１２と同じ帯域幅分をＴｉｅｒプール２３２の最大転送能力３０１に加算し、Ｔｉｅｒプール２３２の最大転送能力を最大転送能力３０３まで拡張する。これは、実際のＴｉｅｒプール２３２の最大転送能力より大きい値となるが、未使用帯域幅３１２分の余裕が有るので、使用帯域幅の合計は最大転送能力３０３に収まると予想される。この場合、最低保証帯域幅３０２は変わらない。そこで、最大転送能力３０３から最低保証帯域幅３０２を引いた使用帯域幅比例割当３１４が、使用帯域幅に応じた帯域幅の割り当てに使用できる。すなわち、最大転送能力を拡張する前に比べて追加帯域幅３１５分だけより多く使用帯域幅に応じた帯域幅の割り当てに使用できる。
【０２０８】
ここで、本実施例に係る運用管理サーバ１による効果について説明する。例えば、ボリューム数が増えると、最低保証帯域幅による割り当て分が増加し、使用帯域幅に応じた割り当て分が減少する。その場合、運用時において、運用時の使用帯域幅に応じた帯域幅の割り当てではなく、起動時の使用帯域幅に応じた帯域幅の割当に近づいてしまう。
【０２０９】
図１３は、１時間ごとにボリュームを追加した場合の帯域幅の割当状態の遷移を表す図である。図１３の縦軸は割当帯域幅を表し、横軸は時間経過を表す。そして、図１３の領域４０１は、未割り当ての帯域幅の遷移を表し、領域４０２は、運用時帯域幅の割り当ての合計の遷移を表し、領域４０３は、最低保証帯域幅の合計の遷移を表す。例えば、１時間ごとにボリュームを追加した場合、時間経過にしたがって、領域４０１で示すように、まず未割当の帯域幅が無くなる。次いで、領域４０２に示すように、運用時帯域幅の割り当てもなくなる。最終的に、領域４０３に示すように、最低保証帯域幅のみが割り当てられる状態となってしまう。
【０２１０】
しかし、起動処理が同時に行われることは少なく、さらに運用状態で最低保証帯域幅以下しか帯域を使用しない場合も考えらえる。また、ボリューム２３１毎に使用のピーク時間が異なることが多い。このようなことから、全てのボリューム２３１で最低保証帯域幅を常に確保した場合、確保した最低保証帯域幅の中で未使用帯域幅が多くなり、無駄が発生する可能性が高い。
【０２１１】
この点、未使用帯域幅があり他の運用状態のボリューム２３１がより多くの帯域幅を使用する場合、拡張融通機能が備わっていれば、一時的な割り当てが行われるので、未使用のまま無駄が発生することは回避される。ただし、拡張融通機能では、例えば、実施例３で示した性能レベルによる割り当ての調整は反映されず、いずれの性能レベルのボリューム２３１も等しく融通を受けることになる。
【０２１２】
これに対して、本実施例に係る運用管理サーバ１は、未使用帯域幅を最大転送能力に上乗せして、各ボリューム２３１に分配することで、未使用帯域幅が無くなり無駄の発生を抑制することができる。さらに、未使用帯域幅を最大転送能力に上乗せした帯域幅を用いて、性能レベルによる割り当てを行うことで、各ボリューム２３１は、性能レベルに応じた帯域幅の融通を受けることができる。
【０２１３】
（変形例４）
実施例５では直前の未使用帯域幅を上乗せ分として用いたが、上乗せ分として用いる値はこれに限らない。本変形例では、一定期間の未使用帯域幅の最小値を上乗せ分として用いる。
【０２１４】
帯域幅管理部１０２は、各性能収集時点での最低保証帯域が割り当てられたボリューム２３１の未使用帯域幅を取得し保持する。そして、各ボリューム２３１の個別帯域幅を算出する場合、帯域幅管理部１０２は、その時点から過去の一定期間内に取得した各ボリューム２３１の未使用帯域幅の中から最小値を取得する。そして、帯域幅管理部１０２は、取得した各ボリューム２３１の未使用帯域幅の中から最小値を合計した値を調整対象のＴｉｅｒプール２３２の最大転送能力に加算し、新たに最大転送能力を算出する。その後、帯域幅管理部１０２は、算出した新たな最大転送能力を用いて各ボリューム２３１の個別帯域幅を算出する。
【０２１５】
ここで、ストレージ装置２に対する負荷は、時間や曜日によって変動することが考えられる。そこで、帯域幅管理部１０２は、単に長期間にわたって未使用帯域幅の情報を収集するのではなく、時間を区切って時間毎に未使用帯域幅を収集してもよい。この場合、帯域幅管理部１０２は、個別帯域幅の算出の時間帯に合わせて、区切った時間毎の未使用帯域を用いて最大転送能力を算出する。
【０２１６】
以上に説明したように、本変形例に係る運用管理サーバは、一定期間のデータを収集し、その中から最小の未使用帯域幅を決定することで、予測の精度を高めることができ、より適切な帯域幅の割り当てを行うことができる。また、最小値を採用することで、予測が誤った場合にも、使用帯域幅をＴｉｅｒプールの最大転送能力以内に抑えることができる。
【符号の説明】
【０２１７】
１  運用管理サーバ
２  ストレージ装置
３  操作端末
４  業務サーバ
１１  ＮＩＣ
１２  メモリ
１３  ＣＰＵ
１４  ＨＤＤ
２１，２２  ストレージ装置
４１，４２  業務サーバ
５１，５２  ＦＣスイッチ
６１，６２  ネットワークスイッチ
１０１  最大性能算出部
１０２  帯域幅管理部
１０３  監視部
１０４  記憶部
１０５  最低保証帯域幅算出部
１４１  ＱｏＳ設定テーブル
１４２  ボリューム性能情報ファイル
１４３  Ｔｉｅｒ性能情報ファイル
２０１，２０２  ＣＭ
２０３  ディスク
２１１  ＦＣ−ＣＡ
２１２  ｉＳＣＳＩ−ＣＡ
２１３  ＣＰＵ
２１４  メモリ
２１５  ＮＩＣ
２１６  ＳＡＳ
２３１  ボリューム
２３２  Ｔｉｅｒプール
２５１  性能情報取得部
２５２  帯域幅制御部
【図１】
0006558090.tif 000016
【図２】
0006558090.tif 000017
【図３】
0006558090.tif 000018
【図４】
0006558090.tif 000019
【図５】
0006558090.tif 000020
【図６】
0006558090.tif 000021
【図７】
0006558090.tif 000022
【図８】
0006558090.tif 000023
【図９】
0006558090.tif 000024
【図１０】
0006558090.tif 000025
【図１１】
0006558090.tif 000026
【図１２】
0006558090.tif 000027
【図１３】
0006558090.tif 000028