(57)【要約】【課題】帯域制限幅によるストレージシステムの性能調整を容易に行うストレージ管理装置、制御方法及び制御プログラムを提供する。【解決手段】ボリューム２３２を有し、伝送資源を介してデータの送受信がなされるストレージ装置２を管理する運用管理サーバ１であって。運用管理サーバ１は、ボリューム２３２のうちのいくつか又は全てに対して性能の目標値を設定する設定部１０１と、伝送資源の負荷率を監視する監視部１０３、伝送資源の負荷率を基に対象の伝送資源を特定し、目標値に基づいて、特定した伝送資源を使用するボリューム２３２の帯域配分を決定し、決定した帯域配分による帯域幅の調整をストレージ装置２の帯域幅制御部２５２に指示する帯域幅管理部１０２とを備える。【選択図】図３
2015069385.tif 000002
【特許請求の範囲】
【請求項１】
記憶部を備え、伝送資源を介してデータの送受信がなされるストレージ装置を管理するストレージ管理装置であって、
前記記憶部のうちのいくつか又は全てに対して性能の目標値を設定する設定部と、
前記伝送資源の負荷率を監視する監視部と、
前記伝送資源の負荷率を基に対象の伝送資源を特定し、前記目標値に基づいて、前記対象の伝送資源を使用する記憶部の帯域配分を決定し、決定した帯域配分による前記帯域幅の調整を前記ストレージ装置の帯域幅制限部に指示する帯域幅管理部とを備えた
ことを特徴とするストレージ管理装置。
【請求項２】
前記帯域幅管理部は、前記目標値が設定された記憶部が使用する伝送路上で最も負荷率が高い伝送資源を特定し、特定した伝送装置を使用する記憶部を抽出し、抽出した記憶部の帯域配分を決定する処理を、前記目標値が設定された記憶部毎に実行することを特徴とする請求項１に記載のストレージ管理装置。
【請求項３】
前記帯域幅管理部は、前記抽出した記憶部の中で、実測性能が目標値より劣る記憶部の前記伝送路上の帯域幅を拡大し、前記特定した伝送資源を利用している目標値を設定していない記憶部の前記伝送路上の帯域幅を縮小し、また、実測性能が目標値より優る記憶部の前記伝送路上の帯域幅を縮小し、前記特定した伝送資源を利用している目標値を設定していない記憶部の前記伝送路上の帯域幅を拡大することを特徴とする請求項１又は２に記載のストレージ管理装置。
【請求項４】
前記設定部は、前記性能の目標値として、応答時間の目標値を設定し、
前記帯域幅管理部は、設定部により設定された目標値をデータサイズ及びキャッシュヒット率に関して規格化した値を目標値として使用することを特徴とする請求項１〜３のいずれか１つに記載のストレージ管理装置。
【請求項５】
前記設定部は、前記性能の目標値として読み込みの場合の応答時間の目標値と、書き込みの場合の応答時間の目標値とを設定し、
前記帯域幅管理部は、前記抽出した記憶部の中で、実測の書き込みの応答時間又は実測の読み込みの応答時間が目標値より長い記憶部の前記伝送路上の帯域幅を拡大し、前記特定した伝送資源を利用している目標値を設定していない記憶部の前記伝送路上の帯域幅を縮小し、また、実測の書き込みの応答時間及び実測の読み込みの応答時間が目標値より短い記憶部の前記伝送路上の帯域幅を縮小し、前記特定した伝送資源を利用している目標値を設定していない記憶部の帯域幅を拡大することを特徴とする請求項２に記載のストレージ管理装置。
【請求項６】
ストレージ管理装置及びストレージ装置を有するストレージシステムの制御方法であって、
前記管理装置に、
前記ストレージ装置が有する伝送資源を介してデータの送受信を行う複数の記憶部のうちのいくつか又は全てに対して性能の目標値を設定させ、
前記伝送資源の負荷率を監視させ、
前記伝送資源の負荷率を基に対象の伝送資源を特定させ、
前記目標値に基づいて、前記対象の伝送資源を使用する記憶部の帯域配分を決定させ、
前記ストレージ装置に、
前記管理装置により決定された帯域配分にしたがい前記記憶部の前記帯域幅の調整を行わせる
ことを特徴とする制御方法。
【請求項７】
記憶部を備え、伝送資源を介してデータの送受信がなされるストレージ装置を管理するストレージ管理装置の制御プログラムであって、
前記記憶部のうちのいくつか又は全てに対して性能の目標値を設定し、
前記伝送資源の負荷率を監視し、
前記伝送資源の負荷率を基に対象の伝送資源を特定し、
前記目標値に基づいて、特定した伝送資源を使用する記憶部の帯域配分を決定し、
決定した帯域配分にしたがい前記記憶部の前記帯域幅の調整を行う
処理をコンピュータに実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ管理装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
近年、オープンシステムやサーバの仮想化が普及してきており、システムの管理が複雑化してきている。そこで、システムの管理の容易化や急速に増大するデータ容量への柔軟な対応などの観点から、ストレージシステムの導入が一般的になってきている。
【０００３】
ストレージシステムでは、例えば、ボリュームとアプリケーションを実行するサーバとの間のデータ転送路の帯域制限幅を調整することでストレージシステムの性能調整が行われている。従来は、この帯域制限幅の調整は、管理者の指示を受けたストレージシステムにより行われていた。
【０００４】
また、ストレージシステムの性能調整の方法としては以下のような技術が提案されている。例えば、バックグラウンドのコピー速度、コピー完了時間又はフロント業務のレスポンスタイムのいずれかの目標値を設定することで、目標を達成するために他の処理のパラメータを調整する従来技術がある。また、レスポンスタイムを目標値に収束させるように、キャッシュサイズを調整する従来技術がある。また、設定された条件を満たした場合に、ファイバチャネルスイッチの機能を用いてアプリケーションに割り当てる帯域幅を調整する従来技術がある。さらに、帯域幅を調整することで、回線の使用率を均等に配分し、性能の偏りを解消する従来技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０６−２５０７９５号公報
【特許文献２】特開２０１０−９７５２６号公報
【特許文献３】特開２００４−１９９６９７号公報
【特許文献４】特開２００６−１０８９５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、複数のボリュームで１つの伝送路を共有する場合、データ転送に競合が発生し目標性能を達成することが困難になる。そこで、目標性能を達成するために、管理者が、運用状態を監視しながらデータ転送が競合するボリュームを特定し、いずれかのボリュームの帯域制限幅の縮退をストレージシステムに指示する。そして、ストレージシステムは、管理者の指示にしたがいボリュームの帯域幅を縮退させることになる。
【０００７】
ただし、アプリケーションからボリュームまでの経路には性能を低下させる要因となる伝送資源（リソース）が複数存在する。このようなリソースとしては、例えば、Redundant  Array  of  Inexpensive  Disks（ＲＡＩＤ）グループ、処理プロセッサ、ポート及びスイッチポートなどがある。リソースを共有するボリュームは、リソース毎に異なる。そのため、管理者がストレージに帯域制限幅の調整を指示する従来方法の場合、管理者は、どのリソースで競合が生じているかを特定し、特定したリソースを共有するボリュームの帯域制限幅の調整方法を決定することになる。すなわち、従来方法では、管理者にとって処理が煩雑でありストレージシステムの性能調整を容易に行うことが困難である。
【０００８】
また、コピー速度、コピー完了時間又はフロント業務のパラメータを調整する従来技術やキャッシュサイズを調整する従来技術では、帯域制限幅の調整は考慮されておらず、帯域制限幅によるストレージシステムの性能調整を容易に行うことが困難である。また、ファイバチャネルスイッチの機能を用いてアプリケーションに割り当てる帯域幅を調整する従来技術では、リソース毎の負荷が考慮されておらず適切な帯域制限幅の調整が困難である。さらに、帯域幅を調整して性能の偏りを解消する従来技術では、帯域制限幅の調整によるストレージシステムの性能の向上は行えず、帯域制限幅によるストレージシステムの性能調整を容易に行うことが困難である。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、帯域制限幅によるストレージシステムの性能調整を容易に行うストレージ管理装置、制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示するストレージ管理装置、制御方法及び制御プログラムは、１つの態様において、ストレージ管理装置は、記憶部を備え、伝送資源を介してデータの送受信がなされるストレージ装置を管理する。そして、前記ストレージ管理装置は、前記記憶部のうちのいくつか又は全てに対して性能の目標値を設定する設定部と、前記伝送資源の負荷率を監視する監視部と、前記伝送資源の負荷率を基に対象の伝送資源を特定し、前記目標値に基づいて、特定した伝送資源を使用する記憶部の帯域配分を決定し、決定した帯域配分による前記帯域幅の調整を前記ストレージ装置の帯域幅制限部に指示する帯域幅管理部とを備える。
【発明の効果】
【００１１】
本願の開示するストレージ管理装置、制御方法及び制御プログラムの１つの態様によれば、帯域制限幅によるストレージシステムの性能調整を容易に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係るストレージシステムの概略構成図である。
【図２】図２は、ストレージシステムのハードウェア構成図である。
【図３】図３は、実施例１に係る運用管理サーバ及びストレージ装置のブロック図である。
【図４】図４は、ＱｏＳ設定テーブルの一例の図である。
【図５】図５は、ボリュームテーブルの一例の図である。
【図６】図６は、ボリューム性能情報ファイルの一例の図である。
【図７】図７は、リソース性能情報ファイルの一例の図である。
【図８】図８は、実施例１に係るストレージシステムにおける帯域幅制御のフローチャートである。
【図９】図９は、実施例１に係る運用管理サーバによるボリュームの帯域幅の調整の処理のフローチャートである。
【図１０】図１０は、実施例３に係る運用管理サーバ及びストレージ装置のブロック図である。
【図１１Ａ】図１１Ａは、補正係数テーブルの一例の図である。
【図１１Ｂ】図１１Ｂは、補正ビジー率の算出について説明するための図である。
【図１２】図１２は、管理グループ特定テーブルの一例の図である。
【図１３】図１３は、管理グループテーブルの一例の図である。
【図１４】図１４は、帯域幅の融通を説明するための概略図である。
【図１５】図１５は、実施例８に係るストレージ装置における帯域幅の融通処理のフローチャートである。
【発明を実施するための形態】
【００１３】
以下に、本願の開示するストレージ管理装置、制御方法及び制御プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するストレージ管理装置、制御方法及び制御プログラムが限定されるものではない。
【実施例１】
【００１４】
図１は、実施例１に係るストレージシステムの概略構成図である。図１に示すように、本実施例に係るストレージシステムは、運用管理サーバ１、ストレージ装置２、操作端末３及び業務サーバ４を有している。ここで、図１では、１台のストレージ装置２を記載しているが、ストレージ装置２の数に制限は無い。また、業務サーバ４も１台のみ記載しているが、業務サーバ４の数にも制限は無い。
【００１５】
操作端末３は、ネットワークを介して運用管理サーバ１と接続している。操作端末３は、ストレージ装置２に対する処理の指示などを運用管理サーバ１へ送信する。また、操作端末３は、運用管理サーバ１から送信されたメッセージなどをモニタに表示して操作者への通知を行う。
【００１６】
運用管理サーバ１は、ストレージ装置２の運用及び管理を行う。運用管理サーバ１は、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（ＳＡＳ）２１６を有している。
【００３０】
ＦＡ−ＣＡ２１１、ｉＳＣＳＩ−ＣＡ２１２、メモリ２１４、ＮＩＣ２１５及びＳＡＳ２１６は、ＣＰＵ２１３に接続されている。
【００３１】
ＣＰＵ２１３は、ＦＣ−ＣＡ２１１及びｉＳＣＳＩ−ＣＡ２１２を介して業務サーバ４との間でデータの送受信を行う。
【００３２】
また、ＣＰＵ２１３は、ＳＡＳ２１６を介してディスク２０３に対するデータの読み出し及び書き込みを行う。
【００３３】
また、ＣＰＵ２１３は、ＮＩＣ２１５を介して、操作端末３および  運用管理サーバ１との間で通信を行う。例えば、ＣＰＵ２１３は、後述する帯域幅の調整の指示を運用管理サーバ１から受信すると、指示に従いディスク２０３の帯域幅を調整する。
【００３４】
ストレージ装置２には、ディスク２０３が複数台搭載されている。図２では、複数台のディスク２０３によりＲＡＩＤグループ２３１が構築されている。ただし、本実施例に限定されず、ディスク２０３は、ＲＡＩＤグループが構築されていなくてもよい。さらに、ＲＡＩＤグループ２３１の記憶領域は、ボリューム２３２の記憶領域に対して割り当てられている。ボリューム２３２は、論理ボリュームである。
【００３５】
ここで、ＣＰＵ２１３によるデータの書き込み及び読み出しについて説明する。ＣＰＵ２１３は、業務サーバ４上で動作する業務用アプリケーションからデータの読み出しの命令であるリードコマンドや書き込みの命令であるライトコマンドを受信する。このとき、リードコマンドやライトコマンドは、例えば、ＦＣスイッチ５１のポート及びＦＣ−ＣＡ２１１のポートを経由してＣＰＵ２１３へ送信される。そして、ＣＰＵ２１３は、受信したコマンドに従って、ディスク２０３のボリューム２３２に対するデータの読み出しや書き込みを行う。このとき、データは、ＲＡＩＤグループ２３１の構成にしたがって、ボリューム２３２に対して書き込みや読み出しが行われる。また、ここでは、ＣＭ２０１のＣＰＵ２１３がデータの読み書きの処理を行う場合で説明したが、ＣＭ２０２のＣＰＵ２１３においても、同様の処理が行われる。
【００３６】
すなわち、データの書き込みや読み出しといったデータ転送において、ＦＣスイッチ５１のポート、ＦＣ−ＣＡ２１１やｉＳＣＳＩ−ＣＡ２１２のポート、データの処理を行う処理プロセッサとなるＣＰＵ２１３、及び、ＲＡＩＤグループ２３１において競合が発生する。以下では、ＦＣスイッチ５１のポート、ＦＣ−ＣＡ２１１やｉＳＣＳＩ−ＣＡ２１２のポート、データの処理を行う処理プロセッサとなるＣＰＵ２１３、及び、ＲＡＩＤグループ２３１をまとめて「リソース」と呼ぶ場合がある。この競合が発生するリソースが、「伝送資源」の一例にあたる。
【００３７】
そして、データ転送において各リソースで競合が発生してしまうと、データ転送の性能が落ちる。そこで、競合が発生しているリソースを使用する伝送路において、その伝送経路を使用するボリューム２３２の帯域幅を調整することで、リソースにおける競合を解消することができ、データ転送の性能を高い状態で維持することができる。そこで、次に、ボリューム２３２の帯域幅の調整について説明する。
【００３８】
運用管理サーバ１は、ＮＩＣ１１、メモリ１２、ＣＰＵ１３及びHard  Disk  Drive（ＨＤＤ）１４を有している。ＮＩＣ１１、メモリ１２及びＨＤＤ１４は、バスでＣＰＵ１３と接続されている。
【００３９】
図３は、実施例１に係る運用管理サーバ及びストレージ装置のブロック図である。運用管理サーバ１は、設定部１０１、帯域幅管理部１０２、監視部１０３及び記憶部１０４を有している。また、ストレージ装置２は、性能情報取得部２５１及び帯域幅制御部２５１を有している。
【００４０】
記憶部１０４は、ＱｏＳ設定テーブル１４１、ボリュームテーブル１４２、ボリューム性能情報ファイル１４３及びリソース性能情報ファイル１４４を有している。記憶部１０４の機能は、例えば、図２のＨＤＤ１４で実現される。
【００４１】
図４は、ＱｏＳ設定テーブルの一例の図である。ボリューム識別情報は、ボリューム２３２を一意に特定する情報である。本実施例では、Ｑｏｓ設定テーブル１４１には、ボリューム識別情報、目標レスポンスタイム及び帯域幅が対応付けられて登録されている。
【００４２】
本実施例では、ボリューム識別情報は、ストレージ装置の番号及びボリュームの番号により表されている。例えば、図２のストレージ装置２１を１番、ストレージ装置２２を２番とすると、「Ｓｔｏｒａｇｅ＝１，ＶｏｌＮｏ＝１」は、ストレージ装置２１のボリューム番号が１番のボリューム２３２を表している。
【００４３】
また、目標レスポンスタイムは、対応するボリューム識別情報を有するボリュームの目標とするレスポンスタイムである。目標レスポンスタイムが設定されていない場合には、目標レスポンスタイムの欄は空欄を表す符合が記載されている。
【００４４】
また、帯域幅は、対応するボリューム識別情報を有するボリュームに設定されている待機幅である。図４では、帯域幅は、スループットを表す毎秒のデータ量（ＭＢ  Per  Second）、及び読み込み／書き込み回数（ＩＯＰＳ：Input  Output  Per  Second）の２種類で表されている。
【００４５】
図５は、ボリュームテーブルの一例の図である。本実施例では、ボリュームテーブル１４２には、ボリューム識別情報、処理プロセッサ、ポート番号、スイッチポート及びＲＡＩＤグループが対応付けられて登録されている。
【００４６】
ボリュームテーブル１４２は、各ボリューム２３２が使用するリソースを表す。すなわち、ボリューム識別情報で示されるボリューム２３２は、ボリュームテーブル１４２で対応付けられた処理プロセッサ、ポート番号、スイッチポート及びＲＡＩＤグループを使用する。
【００４７】
ここで、図５では、処理プロセッサは、その処理プロセッサが搭載されているＣＭの番号で表されている。例えば、図２のＣＭ２０１を「ＣＭ＃０」とし、ＣＭ２０２を「ＣＭ＃１」として、ＣＭ２０１のＣＰＵ２１３は、ＣＭ＃０として表され、ＣＭ２０２のＣＰＵ２１３は、ＣＭ＃１として表されている。
【００４８】
また、ポート番号は、ＦＡ−ＣＡ２１１又はｉＳＣＳＩ−ＣＡ２１２のいずれかを示す情報及びそれらにおけるポートの情報で表されている。例えば、ＦＡ−ＣＡ２１１を「ＣＡ＃０」とし、ｉＳＣＳＩ−ＣＡ２１２を「ＣＡ＃１」とする。この場合、例えば、「ＣＡ＃０，Ｐｏｒｔ＃０」は、ＦＡ−ＣＡ２１１の０番のポートを示している。
【００４９】
また、スイッチポートは、ＦＣスイッチ５１もしくは５２、又は、ネットワークスイッチ６１もしくは６２のいずれかを示す情報及びそれらにおけるポートの情報で表されている。例えば、ＦＡスイッチ５１を「ＳＷ＃０」とし、ＦＡスイッチ５２を「ＳＷ＃１」とし、ネットワークスイッチ６１を「ＳＷ＃２」とし、ネットワークスイッチ６２を「ＳＷ＃３」とする。この場合、例えば、「ＳＷ＃０，Ｐｏｒｔ＃０」は、ＦＡスイッチ５１の０番のポートを示している。
【００５０】
さらに、ＲＡＩＤグループは、各ＲＡＩＤグループ２３１に予め割り当てた識別情報で表されている。
【００５１】
例えば、「Ｓｔｏｒａｇｅ＝１，ＶｏｌＮｏ＝１」のボリューム識別情報を有するボリューム２３２は、ＣＰＵ２１３、ＦＡ−ＣＡ２１１のポート０、ＦＡスイッチ５１の０番のポート、ＲＡＩＤＧ＿１のＲＡＩＤグループ２３１を使用してデータ転送を行う。
【００５２】
各ボリューム２３２が使用する伝送路は予め決められているので、その伝送路上に配置されている使用するリソースは予め特定できる。そのため、ボリュームテーブル１４２は、予め登録されている。
【００５３】
図６は、ボリューム性能情報ファイルの一例の図である。ボリューム性能情報ファイル１４３は、各ボリューム２３２の実際の性能を表す。本実施例では、ボリューム性能情報ファイル１４３には、測定を行った性能測定日時と共に、ボリューム識別情報、実測レスポンスタイム、実測スループット、実測ＩＯＰＳ、実測キャッシュヒット率及び実測ディレイタイムが対応付けられて登録されている。以下では、ボリューム識別情報、実測レスポンスタイム、実測スループット、実測ＩＯＰＳ、実測キャッシュヒット率及び実測ディレイタイムをまとめて、「ボリュームの性能情報」という場合がある。
【００５４】
実測レスポンスタイムは、対応するボリューム識別情報を有するボリューム２３２にデータの読み書きを行った際に計測したレスポンスタイムである。実測スループットは、対応するボリューム識別情報を有するボリューム２３２にデータの読み書きを行った際に計測したスループットである。実測ＩＯＰＳは、対応するボリューム識別情報を有するボリューム２３２にデータの読み書きを行った際に計測したＩＯＰＳである。実測キャッシュヒット率は、対応するボリューム識別情報を有するボリューム２３２にデータの読み書きを行った際に計測したキャッシュヒット率である。実測ディレイタイムは、対応するボリューム識別情報を有するボリューム２３２にデータの読み書きを行った際に計測したディレイタイムである。
【００５５】
図７は、リソース性能情報ファイルの一例の図である。リソース性能情報ファイル１４４は、各リソースの実際の性能を表す。本実施例では、リソース性能情報ファイル１４４には、測定を行った性能測定日時と共に、リソース種別、リソース識別情報及びビジー率が対応付けられて登録されている。
【００５６】
リソース識別情報は、どのリソースであるかを一意に特定する情報である。リソース種別は、リソース識別情報で特定されるリソースの種別である。ビジー率は、リソース識別情報で特定されるリソースの負荷率である。
【００５７】
図３に戻って説明を続ける。設定部１０１は、操作者により入力されたボリューム２３２に対する目標値、例えば目標レスポンスタイムを操作端末３から受信する。そして、設定部１０１は、指定されたボリューム２３２に対する目標レスポンスタイムをＱｏＳ設定テーブル１４１に登録する。
【００５８】
監視部１０３は、操作者からの性能収集開始の指示を操作端末３から受ける。その後、監視部１０３は、ボリューム及びリソースの性能情報の性能情報取得部２５１からの定期的な受信を開始する。そして、監視部１０３は、受信した各ボリューム２３２の性能情報をボリューム性能情報ファイル１４３に書き込む。また、監視部１０３は、受信したリソースの性能情報をリソース性能情報ファイル１４４に書き込む。
【００５９】
帯域幅管理部１０２は、ＱｏＳ設定テーブル１４１の中から目標レスポンスタイムが設定されているボリューム２３２を特定する。以下では、目標レスポンスタイムが設定されているボリューム２３２を、「目標設定ボリューム」という。また、目標レスポンスタイムが設定されていないボリュームを、「非目標設定ボリューム」という。
【００６０】
帯域幅管理部１０２は、目標設定ボリュームの中から１つ選択する。以下では、この目標設定ボリュームの選択を、「第１選択」という。次に、帯域幅管理部１０２は、選択した目標設定ボリュームが使用するリソースの情報をボリュームテーブル１４２から取得する。さらに、帯域幅管理部１０２は、取得した各リソースのビジー率をリソース性能情報ファイル１４４から取得する。そして、帯域幅管理部１０２は、選択した目標設定ボリュームが使用するリソースの中から最もビジー率が高いリソースを特定する。
【００６１】
帯域幅管理部１０２は、ボリュームテーブル１４２を用いて、選択した目標設定ボリュームが使用するリソースの中の最もビジー率が高いリソースを共有するボリューム２３２を特定する。この特定したボリューム２３２を、「共有ボリューム」という。
【００６２】
帯域幅管理部１０２は、共有ボリュームの中から目標設定ボリュームを１つ選択する。以下では、この目標設定ボリュームの選択を、「第２選択」という。そして、帯域幅管理部１０２は、選択した目標設定ボリュームの実測レスポンスタイムをボリューム性能情報ファイル１４３から取得する。また、帯域幅管理部１０２は、選択した目標設定ボリュームの目標レスポンスタイムをＱｏＳ設定テーブル１４１から取得する。そして、帯域幅管理部１０２は、選択した目標設定ボリュームの実測レスポンスタイムと目標レスポンスタイムとを比較する。
【００６３】
目標レスポンスタイムが実測レスポンスタイムより短い場合、帯域幅管理部１０２は、選択した目標設定ボリュームの帯域幅の拡大を予約する。さらに、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の縮小を予約する。
【００６４】
これに対して、目標レスポンスタイムが実測レスポンスタイムより長い場合、帯域幅管理部１０２は、選択した目標設定ボリュームの帯域幅の縮小を予約する。さらに、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の拡大を予約する。
【００６５】
帯域幅管理部１０２は、共有ボリュームからの目標設定ボリュームの第２選択及びその後の帯域幅の調整の予約を共有ボリュームに含まれる全ての設定ボリュームについて実行する。
【００６６】
さらに、帯域幅管理部１０２は、目標設定ボリューム全てについて、第１選択、並びに、その後の共有ボリュームの特定、第２選択及び帯域幅の調整の予約を実行する。
【００６７】
そして、帯域幅管理部１０２は、各ボリューム２３２に対して行った調整の予約から各ボリューム２３２の帯域幅の調整を確定する。例えば、帯域幅管理部１０２は、初期値を０として、拡大の予約の場合＋１を行い縮小の予約の場合−１を行うことで、各ボリューム２３２の調整の合計を求める。そして、帯域幅管理部１０２は、合計結果が正の値の場合、そのボリューム２３２の帯域幅の拡大を確定する。一方、合計結果が負の値の場合、帯域幅管理部１０２は、そのボリューム２３２の帯域幅の縮小を確定する。
【００６８】
その後、帯域幅管理部１０２は、確定した各ボリューム２３２の帯域幅の調整を帯域幅制御部２５２に通知する。具体的には、帯域幅管理部１０２は、各ボリューム２３２の帯域幅を増加又は縮小させる設定コマンドをストレージ装置２に対して送信する。
【００６９】
設定部１０１、帯域幅管理部１０２及び監視部１０３の機能は、例えば、図２のＣＰＵ１３及びメモリ１２で実現される。例えば、ＨＤＤ１４に、設定部１０１、帯域幅管理部１０２及び監視部１０３の機能を実現するための各種プログラムが格納される。そして、ＣＰＵ１３は、ＨＤＤ１４から各種プログラムを読み出し、設定部１０１、帯域幅管理部１０２及び監視部１０３の機能を実現するプロセスをメモリ１２上に展開して実行する。
【００７０】
性能情報取得部２５１は、性能収集開始の指示を監視部１０３から受ける。そして、性能情報取得部２５１は、各ボリューム２３２の性能情報を定期的に取得し、監視部１０３へ送信する。また、性能情報取得部２５１は、各リソースの性能情報を定期的に取得し、監視部１０３へ送信する。ここで、図３では、リソースの性能情報取得の一例として、性能情報取得部２５１によるＲＡＩＤグループ２３１及びＦＣスイッチ５１からの性能情報の取得を記載している。
【００７１】
帯域幅制御部２５２は、帯域幅を拡大又は縮小する設定コマンドを帯域幅管理部１０２から受信する。そして、帯域幅制御部２５２は、各設定コマンドで指定されたボリューム２３２の帯域幅を、設定コマンドの指定に合わせて拡大又は縮小する。
【００７２】
次に、図８を参照して、本実施例に係るストレージシステムにおける帯域幅制御の流れについて説明する。図８は、実施例１に係るストレージシステムにおける帯域幅制御のフローチャートである。図８の左端のフローは、操作端末３の処理を表している。また、中央のフローは、運用管理サーバ１の処理を表している。また、右端のフローは、ストレージ装置２の処理を表している。さらに、各フローを結ぶ矢印は、矢印の方向に命令やデータが送られることを示している。
【００７３】
操作端末３は、操作者からの指示を受けて、性能収集を運用管理サーバ１の監視部１０３へ指示する（ステップＳ１１）。
【００７４】
さらに、操作端末３は、操作者からの指示を受けて、運用管理サーバ１の設定部１０１に目標レスポンスタイムを通知するともに、目標レスポンスタイムの設定を指示する（ステップＳ１２）。
【００７５】
その後、操作端末３は、設定された目標レスポンスタイムの情報を設定部１０１から受信する。そして、操作端末３は、モニタに表示するなどして、設定された目標レスポンスタイムを操作者に通知する（ステップＳ１３）。操作者は、通知により設定された目標レスポンスタイムを確認する。
【００７６】
その後、操作端末３は、運用管理サーバ１の帯域幅管理部１０２から目標レスポンスタイム及び実測レスポンスタイムを受信する。そして、操作端末３は、モニタに表示するなどして、目標レスポンスタイム及び実測レスポンスタイムを操作者に通知する（ステップＳ１４）。操作者は、通知により目標レスポンスタイム及び実測レスポンスタイムのずれを確認する。
【００７７】
その後、操作端末３は、帯域幅調整処理を停止するか否かを判定する（ステップＳ１５）。例えば、操作端末３は、操作者からの帯域幅調整処理を停止の指示の入力を受けた場合に、帯域幅調整処理を停止すると判定する。
【００７８】
帯域幅調整処理を停止しないと判定した場合（ステップＳ１５：否定）、操作端末３は、ステップＳ１４へ戻る。これに対して、帯域幅調整処理を停止すると判定した場合(ステップＳ１５：肯定)、操作端末３は、帯域幅の調整を終了する。
【００７９】
次に、運用管理サーバ１の処理について説明する。監視部１０３は、性能測定開始の指示を操作端末３から受信する。そして、監視部１０３は、性能測定開始をストレージ装置２の性能情報取得部２５１に指示する（ステップＳ２１）。
【００８０】
設定部１０１は、目標レスポンスタイムを操作端末３から受信する。そして、設定部１０１は、受信した目標レスポンスタイムをＱｏＳ設定テーブル１４１に書き込む（ステップＳ２２）。
【００８１】
その後、設定部１０１は、ＱｏＳ設定テーブル１４１から目標レスポンスタイムを読み出し、操作端末３へ通知する（ステップＳ２３）。
【００８２】
監視部１０３は、ボリューム及びリソースの性能情報を取得する（ステップＳ２４）。そして、監視部１０３は、ボリュームの性能情報をボリューム性能情報ファイル１４３に登録し、リソースの性能情報をリソース性能情報ファイル１４４に登録する。
【００８３】
帯域幅管理部１０２は、ボリューム及びリソースの性能情報をボリューム性能情報ファイル１４３及びリソース性能情報ファイル１４４から読み出す（ステップＳ２５）。
【００８４】
帯域幅管理部１０２は、目標レスポンスタイムをＱｏＳ設定テーブル１４１から読み出す(ステップＳ２６)。さらに、帯域幅管理部１０２は、実測レスポンスタイムをボリューム性能情報ファイル１４３から取得する。そして、帯域幅管理部１０２は、目標レスポンスタイム及び実測レスポンスタイムを操作端末３へ送信する。
【００８５】
その後、帯域幅管理部１０２は、帯域幅調整処理を実行する（ステップＳ２７）。帯域幅調整処理の詳細については次に説明する。
【００８６】
帯域幅管理部１０２は、帯域幅調整処理を停止するか否かを判定する（ステップＳ２８）。例えば、帯域幅管理部１０２は、操作者からの帯域幅調整処理を停止の指示を操作端末３から受けた場合、帯域幅調整処理を停止すると判定する。
【００８７】
帯域幅調整処理を停止しないと判定した場合（ステップＳ２８：否定）、帯域幅管理部１０２は、ステップＳ２４へ戻る。これに対して、帯域幅調整処理を停止すると判定した場合(ステップＳ２８：肯定)、帯域幅管理部１０２は、帯域幅の調整を終了する。
【００８８】
次に、ストレージ装置２の処理について説明する。性能情報取得部２５１は、性能測定開始の指示を運用管理サーバ１の監視部１０３から受信する。そして、性能情報取得部２５１は、各ボリューム２３２の性能情報及び各リソースの性能情報性能の測定を開始する（ステップＳ３１）。
【００８９】
その後、性能情報取得部２５１は、取得した各ボリューム２３２の性能情報及び各リソースの性能情報性能を運用管理サーバ１の帯域幅管理部１０２に通知する（ステップＳ３２）。
【００９０】
その後、帯域幅制御部２５２は、運用管理サーバ１の帯域幅管理部１０２から設定コマンドを受けて、指定されたボリューム２３２の帯域幅を拡大又は縮小し、指定された帯域幅に調整する（ステップＳ３３）。
【００９１】
帯域幅制御部２５２は、帯域幅調整処理を停止するか否かを判定する（ステップＳ３４）。例えば、帯域幅制御部２５２は、操作者からの帯域幅調整処理を停止の指示を運用管理サーバ１から受けた場合、帯域幅調整処理を停止すると判定する。
【００９２】
帯域幅調整処理を停止しないと判定した場合（ステップＳ３４：否定）、帯域幅制御部２５２は、ステップＳ３２へ戻る。これに対して、帯域幅調整処理を停止すると判定した場合(ステップＳ３４：肯定)、帯域幅制御部２５２は、帯域幅の調整を終了する。
【００９３】
次に、図９を参照して、本実施例に係る運用管理サーバ１によるボリューム２３２の帯域幅の調整の処理について説明する。図９は、実施例１に係る運用管理サーバによるボリュームの帯域幅の調整の処理のフローチャートである。図９のフローチャートは、図８のステップＳ２７で運用管理サーバ１が実施する処理の詳細を表す。
【００９４】
帯域幅管理部１０２は、目標設定ボリュームについての性能情報をボリューム性能情報ファイル１４３から取得する（ステップＳ１０１）。
【００９５】
帯域幅管理部１０２は、目標設定ボリュームから１つを選択（ステップＳ１０２）。
【００９６】
帯域幅管理部１０２は、選択した目標設定ボリュームが使用するリソースの中でビジー率が最も高いリソースを選択する（ステップＳ１０３）。
【００９７】
次に、帯域幅管理部１０２は、選択したリソースを共有する共有ボリュームを特定する。さらに、帯域幅管理部１０２は、共有ボリュームから目標設定ボリュームを１つ選択する（ステップＳ１０４）。
【００９８】
帯域幅管理部１０２は、選択した目標設定ボリュームの目標レスポンスタイムが実測レスポンスタイムより長いか否かを判定する（ステップＳ１０５）。目標レスポンスタイムが実測レスポンスタイムより長い場合（ステップＳ１０５：肯定）、帯域幅管理部１０２は、判定対象のボリュームである目標設定ボリュームの帯域幅の拡大を予約する（ステップＳ１０６）。
【００９９】
さらに、帯域幅管理部１０２は、共有ボリュームにおける非目標設定ボリュームの帯域幅の縮小を予約する（ステップＳ１０７）。
【０１００】
これに対して、目標レスポンスタイムが実測レスポンスタイム以下の場合（ステップＳ１０５：否定）、帯域幅管理部１０２は、選択した目標設定ボリュームの目標レスポンスタイムが実測レスポンスタイムより短いか否かを判定する（ステップＳ１０８）。目標レスポンスタイムが実測レスポンスタイムより短くない場合（ステップＳ１０８：否定）、帯域幅管理部１０２は、ステップＳ１１１へ進む。
【０１０１】
これに対して、目標レスポンスタイムが実測レスポンスタイムより短い場合（ステップＳ１０８：肯定）、帯域幅管理部１０２は、判定対象のボリュームである目標設定ボリュームの帯域幅の縮小を予約する（ステップＳ１０９）。
【０１０２】
さらに、帯域幅管理部１０２は、共有ボリュームにおける非目標設定ボリュームの帯域幅の拡大を予約する（ステップＳ１１０）。
【０１０３】
帯域幅管理部１０２は、共有ボリュームに含まれる全ての目標設定ボリュームの判定が終了したか否かを判定する（ステップＳ１１１）。すなわち、帯域幅管理部１０２は、第２選択を共有ボリュームに含まれる全ての目標設定ボリュームについて行ったかを判定する。判定が終わっていない目標設定ボリュームがある場合（ステップＳ１１１：否定）、帯域幅管理部１０２は、ステップＳ１０４へ戻る。
【０１０４】
これに対して、共有ボリュームに含まれる全ての目標設定ボリュームの判定が終了した場合（ステップＳ１１１：肯定）、帯域幅管理部１０２は、全ての目標設定ボリュームについての判定が終了したかを判定する（ステップ１１２）。すなわち、帯域幅管理部１０２は、第１選択を全ての目標設定ボリュームについて行ったかを判定する。判定が終了していない目標設定ボリュームがある場合（ステップＳ１１２：否定）、帯域幅管理部１０２は、ステップＳ１０２へ戻る。
【０１０５】
一方、全ての目標設定ボリュームについての判定が終了した場合（ステップＳ１１２：肯定）、帯域幅管理部１０２は、各ボリューム２３２に対する拡大及び縮小の予約から、各ボリューム２３２の帯域幅の拡大又は縮小を確定する。そして、帯域幅管理部１０２は、確定した各ボリューム２３２の帯域幅の拡大及び縮小を指示する設定コマンドを生成する（ステップＳ１１３）。
【０１０６】
その後、帯域幅管理部１０２は、生成した設定コマンドを帯域幅制御部２５２へ送信する（ステップＳ１１４）。
【０１０７】
以上に説明したように、本実施例に係るストレージ管理装置は、負荷が高いリソースを共有するボリュームの帯域幅を自動的に調整して、目標設定ボリュームのレスポンスタイムを目標レスポンスタイムに収める。これにより、本実施例に係るストレージ管理装置は、帯域制限幅によるストレージシステムの性能調整を容易に行うことができる。
【実施例２】
【０１０８】
次に実施例２について説明する。各ボリューム２３２のレスポンスタイムは、データサイズに比例する。データサイズが変動すると、設定された目標レスポンスタイムを満たすために帯域幅の調整が行われる。また、ストレージ装置２がキャッシュを有する場合、キャッシュヒットした場合としない場合とでレスポンスタイムが変動するため、帯域幅の調整が行われる。このようなことから、実際には十分帯域幅があるにもかかわらず帯域幅の調整が行われ、各ボリュームの性能が不安定になる。
【０１０９】
そこで、本実施例に係るストレージシステムは、操作端末３から入力された目標レスポンスタイムをデータサイズとキャッシュヒット率で補正することが、実施例１と異なる。以下の説明では、各部の実施例１と同様の機能については説明を省略する。
【０１１０】
操作端末３は、予め決められたデータサイズ及びキャッシュヒット率の場合の目標レスポンスタイムの入力を操作者から受ける。例えば、操作端末３は、データサイズが２ＫＢであり、キャッシュヒット率が０％である場合の目標レスポンスタイムの入力を受ける。
【０１１１】
本実施例に係る帯域幅管理部１０２は、次の数式（１）で表されるレスポンスタイムの補正式を記憶している。
【０１１２】
【数１】
2015069385.tif 000003
【０１１３】
目標レスポンスタイムは、操作端末３から入力された予め決められたデータサイズ及びキャッシュヒット率の場合の値である。また、実測データサイズは、実測スループットを実測ＩＯＰＳで除算した値である。基準データサイズは、予め決められたデータサイズである。また、定数１は、レスポンスタイムのうちデータサイズに依存しない部分を表す値である。また、定数２は、キャッシュミス時に対するキャッシュヒット時のディスクアクセス速度の比率である。
【０１１４】
さらに、帯域幅管理部１０２は、仮の定数１及び仮の定数２を記憶している。仮の定数１及び仮の定数２は、特定のストレージ装置２を用いて測定した実測値か求めた値を用いてもよい。
【０１１５】
ここで、定数１及び定数２の算出について説明する。実測レスポンスタイムは、次の数式（２）で表現される。
【０１１６】
【数２】
2015069385.tif 000004
【０１１７】
最大スループットは、実測レスポンスタイムの測定の対象としたボリューム２３２が、伝送路を独占して最大のデータが流れた場合のスループットである。
【０１１８】
数式（１）と数式（２）とを比較すると、いずれも第１項はデータ転送速度に依存する部分であり、第２項はキャッシュに依存する部分となっている。そして、数式（１）の第２項は、定数１を定数３とし、定数２を定数４とすると数式（２）の第２項と同じ式となる。なぜなら、ＱｏＳ制御では、データ転送速度に影響する帯域幅を調整するだけで、キャッシュ依存部分の調整は行わないので、キャッシュ依存部分である数式（１）及び数式（２）の第２項は同じとなる。そこで、３回計測して、実測レスポンスタイム、実測スループット、実測ＩＯＰＳ及び実測キャッシュヒット率を数式（２）に代入して求めた３つの式から、定数１及び定数２を求めることができる。
【０１１９】
ここで、実測レスポンスタイムの１回目の計測値をＡ１、２回目の計測値をＡ２、３回目の実測値をＡ３とする。また、実測スループットを実測ＩＯＰＳで除算した値の１回目の値をＢ１、２回目の値をＢ２、３回目の値をＢ３とする。また、実測キャッシュヒット率の１回目の計測値をＣ１、２回目の計測値をＣ２、３回目の実測値をＣ３とする。
【０１２０】
この場合、数式（２）に各値を代入して最大スループット、定数３及び定数４の連立方程式を解くと、定数３及び定数４は、次の数式（３）として求められる。
【０１２１】
【数３】
2015069385.tif 000005
すなわち、定数１及び定数２は、数式（３）で求められる。
【０１２２】
そこで、帯域幅管理部１０２によるこれらの式を用いた定数１及び定数２の算出及び帯域幅の調整について説明する。帯域幅管理部１０２は、実測レスポンスタイム、実測スループット、実測ＩＯＰＳ及び実測キャッシュヒット率をボリューム性能情報ファイル１４３から取得する。
【０１２３】
帯域幅管理部１０２は、直前３回の実測レスポンスタイム、実測スループット、実測ＩＯＰＳ及び実測キャッシュヒット率が求められていない場合、仮の定数１及び仮の定数２を数式（１）に代入する。次に、帯域幅管理部１０２は、仮の定数１及び仮の定数２を代入した数式（１）に、実測データサイズ、基準データサイズ、目標レスポンスタイム、実測キャッシュヒット率を用いて補正した目標レスポンスタイムである補正目標レスポンスタイムを目標設定ボリューム毎に求める。この、実測データサイズ、基準データサイズ、目標レスポンスタイム、実測キャッシュヒット率を用いた目標レスポンスタイムの補正が、「規格化」の一例にあたる。
【０１２４】
その後、帯域幅管理部１０２は、求めた補正目標レスポンスタイムを用いて実施例１と同様に各ボリューム２３２の帯域幅の調整を決定する。各ボリューム２３２の帯域幅は、帯域幅管理部１０２により決定された帯域幅に調整される。
【０１２５】
帯域幅管理部１０２は、仮の定数１及び仮の定数２を用いた帯域幅の調整を行う。帯域幅管理部１０２は、直前３回の実測レスポンスタイム、実測スループット、実測ＩＯＰＳ及び実測キャッシュヒット率を有する状態になるまで、仮の定数１及び仮の定数２を用いた帯域幅の調整を繰り返す。
【０１２６】
また、直前３回の実測レスポンスタイム、実測スループット、実測ＩＯＰＳ及び実測キャッシュヒット率が求められている場合、帯域幅管理部１０２は、直前３回の調整後の実測レスポンスタイム、実測スループットを実測ＩＯＰＳで除算した値及び実測キャッシュヒット率それぞれを数式（３）に代入して定数１及び定数２を求める。
【０１２７】
その後、帯域幅管理部１０２は、求めた定数１及び定数２を数式（１）に代入する。次に、帯域幅管理部１０２は、求めた定数１及び仮の定数２を代入した数式（１）に、実測データサイズ、基準データサイズ、目標レスポンスタイム、実測キャッシュヒット率を用いて補正した目標レスポンスタイムである補正目標レスポンスタイムを目標設定ボリューム毎に求める。
【０１２８】
その後、帯域幅管理部１０２は、求めた補正目標レスポンスタイムを用いて実施例１と同様に各ボリューム２３２の帯域幅の調整を決定する。各ボリューム２３２の帯域幅は、帯域幅管理部１０２により決定された帯域幅に調整される。
【０１２９】
帯域幅管理部１０２は、定数１及び定数２の算出、並びに、算出した定数１及び定数２を用いた帯域幅の調整を繰り返す。
【０１３０】
ここで、本実施例では、帯域幅管理部１０２は、仮の定数１及び仮の定数２を用いて定数１及び定数２の値を求める３回のボリューム２３２の性能情報の取得を行ったが、仮の定数をもちいなくてもよい。すなわち、帯域幅管理部１０２は、帯域幅の調整を行わずにボリューム２３２の性能情報を取得し、その後、取得した性能情報を用いて定数１及び定数２を求め、求めた定数１及び定数２を用いてボリューム２３２の帯域幅の調整を行ってもよい。
【０１３１】
さらに、本実施例では、帯域幅管理部１０２が、定数１及び定数２を求めたが、これを求めずに予め決められた値を用いてボリューム２３２の帯域幅の調整を行ってもよい。
【０１３２】
以上に説明したように、本実施例に係るストレージ管理装置は、入力された目標レスポンスタイムをデータサイズとキャッシュヒット率で補正した上で帯域幅の調整を行う。これにより、データサイズの変化及びキャッシュヒット率の変化による無駄な帯域幅の変更を抑えることができ、ストレージ装置の安定稼働を図ることができる。
【実施例３】
【０１３３】
次に実施例３について説明する。実施例１では、実測レスポンスタイムが目標レスポンスタイムより長い場合、そのボリューム２３２の帯域幅を広げ、他のボリュームの帯域幅を狭めている。しかし、帯域幅を広げようとするボリューム２３２において設定した帯域幅以下のデータしか流れていない場合、帯域幅を広げても実測レスポンスタイムが向上しない。それにもかからず、無駄に他のボリューム２３２の帯域幅を狭めることになってしまう。この場合、帯域幅の無駄が生じてしまう。
【０１３４】
そこで、本実施例に係るストレージシステムは、帯域幅以下のデータしか流れていないボリューム２３２の実測レスポンスタイムが目標レスポンスタイムより劣っていても帯域幅を拡大しないことが実施例１と異なる。以下の説明では、各部の実施例１と同様の機能については説明を省略する。
【０１３５】
図１０は、実施例３に係る運用管理サーバ及びストレージ装置のブロック図である。本実施例に係るストレージ装置２は、キュー２５３を有している。
【０１３６】
性能情報取得部２５１は、キュー２５３にたまっているコマンドの実行時間の合計を求めることで実測ディレイタイムを求める。
【０１３７】
監視部１０３は、各ボリューム２３２の実測レスポンスタイム、実測スループット、実測ＩＯＰＳ、実測キャッシュヒット率に加えて、実測ディレイタイムを性能情報取得部２５１から取得し、ボリューム性能情報ファイル１４３に登録する。
【０１３８】
帯域幅管理部１０２は、第２選択において選択した目標設定ボリュームの目標レスポンスタイムと実測レスポンスタイムを比較する。
【０１３９】
帯域幅管理部１０２は、目標レスポンスタイムが実測レスポンスタイムより短く、且つ、ディレイタイムが０でない場合、選択した目標設定ボリュームの帯域幅の拡大を予約する。さらに、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の縮小を予約する。
【０１４０】
また、目標レスポンスタイムが実測レスポンスタイムより長い場合、帯域幅管理部１０２は、選択した目標設定ボリュームの帯域幅の縮小を予約する。さらに、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の拡大を予約する。
【０１４１】
その後、帯域幅管理部１０２は、拡大及び縮小の予約から各ボリューム２３２の拡大又は縮小を確定する。そして、帯域幅管理部１０２は、確定した各ボリューム２３２の拡大又は縮小にしたがって設定コマンドを生成する。その後、帯域幅管理部１０２は、生成した設定コマンドを帯域幅制御部２５２へ送信する。
【０１４２】
以上に説明したように、本実施例に係るストレージ管理装置は、ディレイタイムが発生している目標ボリュームの場合のみ帯域幅の拡大を行い、対応する非目標設定ボリュームの帯域幅を縮小する。これにより、帯域幅の無駄の発生を抑えることができる。
【０１４３】
また、本実施例の機能は、実施例２にも組み込むこともできる。その場合も、帯域幅の無駄の発生を抑えることができる。
【実施例４】
【０１４４】
次に実施例４について説明する。実施例１では、実測レスポンスタイムが目標レスポンスタイムより短い場合、そのボリューム２３２の帯域幅を縮小している。しかし、閑散期や繁忙期など、時間や期間によってストレージ装置２の使用率が変動する場合、閑散期には実測レスポンスタイムが目標レスポンスタイムを下回り続け、ボリューム２３２の帯域幅が極めて細くなってしまう。この状態で、繁忙期に変化した場合、データ転送量が急増するため、実測レスポンスタイムが急激に悪化し、帯域幅の調整が間に合わなくなるおそれがある。
【０１４５】
そこで、本実施例に係るストレージシステムは、共有ボリュームのうちの他の目標設定ボリュームの実測レスポンスタイムが目標レスポンスタイムを下回っている場合に、帯域制限幅を縮小することが実施例１と異なる。本実施例に係るストレージシステムのブロック図も図３で表される。以下の説明では、各部の実施例１と同様の機能については説明を省略する。
【０１４６】
帯域幅管理部１０２は、第１選択で選択した目標設定ボリュームが使用するリソースのうち、最もビジー率が高いリソースを抽出する。次に、帯域幅管理部１０２は、特定したリソースを共有する共有ボリュームを特定する。
【０１４７】
そして、帯域幅管理部１０２は、共有ボリュームに含まれる目標設定ボリュームの中に、目標レスポンスタイムが実測レスポンスタイムより短い目標設定ボリュームがあるか否かを判定する。
【０１４８】
次に、帯域幅管理部１０２は、共有ボリュームに含まれる目標設定ボリュームから目標設定ボリュームを１つ選択する第２選択を行う。そして、帯域幅管理部１０２は、第２選択で選択した目標設定ボリュームの目標レスポンスタイムと実測レスポンスタイムを比較する。
【０１４９】
帯域幅管理部１０２は、目標レスポンスタイムが実測レスポンスタイムより短い場合、選択した目標設定ボリュームの帯域幅の拡大を予約する。さらに、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の縮小を予約する。
【０１５０】
目標レスポンスタイムが実測レスポンスタイムより長い場合、帯域幅管理部１０２は、判定対象の共有ボリュームに目標レスポンスタイムが実測レスポンスタイムより短い目標設定ボリュームがあれば、選択した目標設定ボリュームの帯域幅の縮小を予約する。さらに、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の拡大を予約する。
【０１５１】
その後、帯域幅管理部１０２は、拡大及び縮小の予約から各ボリューム２３２の拡大又は縮小を確定する。そして、帯域幅管理部１０２は、確定した各ボリューム２３２の拡大又は縮小にしたがって設定コマンドを生成する。その後、帯域幅管理部１０２は、生成した設定コマンドを帯域幅制御部２５２へ送信する。
【０１５２】
以上に説明したように、本実施例に係るストレージ管理装置は、同じリソースを共有するボリュームの中に目標レスポンスタイムに届かないボリュームがある場合に、目標レスポンスタイムを満たすボリュームの帯域幅を縮小する。これにより、ストレージ装置の使用頻度が低い状態であっても、他のボリュームが性能不足に陥っていなければ、帯域幅の縮小が行われない。そのため、ストレージ装置の使用頻度が低い状態から高い状態に遷移しデータ転送量が急増した場合のレスポンスタイムの悪化を回避することができる。
【０１５３】
また、本実施例では実施例１に機能を追加した場合について説明したが、実施例２又は実施例３に本実施例の機能を追加することも可能である。その場合も、ストレージ装置の使用頻度が低い状態から高い状態に遷移しデータ転送量が急増した場合のレスポンスタイムの悪化を回避することができる。
【実施例５】
【０１５４】
次に実施例５について説明する。実施例１では、単にビジー率が最も高いリソースを選択肢、そのリソースを共有するボリュームについて帯域幅調整を行っている。しかし、リソースの種別が異なるとビジー率の上限が異なるため、単にビジー率を比較してリソースを決定した場合、性能劣化に最も影響するリソースを適切に選ぶことが困難となるおそれがある。
【０１５５】
そこで、本実施例に係るストレージシステムは、リソースのビジー率を各リソースの対負荷性能を勘案して補正した値により最も高負荷となっているリソースを選択することが実施例１と異なる。本実施例に係るストレージシステムのブロック図も図３で表される。以下の説明では、各部の実施例１と同様の機能については説明を省略する。
【０１５６】
本実施例に係る帯域幅管理部１０２は、図１１Ａに示すような各リソースのビジー率を補正するための補正係数がリソース毎に登録された補正係数テーブル１４５を保持している。図１１Ａは、補正係数テーブルの一例の図である。例えば、ポートはビジー率が４０％程度になると高負荷の状態といえるが、ＣＰＵやＲＡＩＤグループは、９０％程度になって初めて高負荷の状態となる。そのため、ＲＡＩＤグループを基準とした場合、ＣＰＵは同じ程度の比率でいいが、ポートやスイッチポートのビジー率は倍程度に換算することが好ましい。このように、補正係数は、各リソースのビジー率の上限を基準として求められることが好ましい。
【０１５７】
帯域幅管理部１０２は、第１選択において選択した目標設定ボリュームが使用するリソースのリソース種別及びビジー率をリソース性能情報ファイル１４４から取得する。ここで、リソース性能情報ファイル１４４に登録されている各リソースのビジー率を「実測ビジー率」という。
【０１５８】
帯域幅管理部１０２は、取得した各リソースの実測ビジー率に、補正係数テーブル１４５から取得したそのリソースの種別に応じた補正係数を乗算して各リソースの補正ビジー率を求める。これにより、各リソースのビジー率は正規化される。
【０１５９】
図１１Ｂは、補正ビジー率の算出について説明するための図である。例えば、図１１Ｂの矢印の左側の表に示される実測ビジー率を帯域幅管理部１０２がリソース性能情報ファイル１４４から取得したとする。帯域幅管理部１０２は、図１１Ａの補正係数テーブル１４５に示される各リソースの補正係数を実測ビジー率に乗算して、図１１Ｂの矢印の右側に示す補正ビジー率を算出する。この場合、実測ビジー率では、欄５０１に示す処理プロセッサのビジー率が最も高いビジー率であったが、補正ビジー率では、欄５０２に示すポートのビジー率が最も高いビジー率となる。
【０１６０】
そこで、例えば図１１Ｂのような場合、ポート＃０がＦＣ−ＣＡ２１１のポートを表している場合、帯域幅管理部１０２は、ＦＣ−ＣＡ２１１のポートを最も高いビジー率を有するリソースとして抽出する。
【０１６１】
その後、帯域幅管理部１０２は、抽出したリソースの共有ボリュームを特定し、共有ボリュームの中の目標設定ボリューム毎に共有ボリュームの帯域幅の拡大及び縮小を予約し、その後、予約状態から各ボリュームの帯域幅の拡大又は縮小を確定する。
【０１６２】
以上に説明したように、本実施例に係るストレージ管理装置は、リソースのビジー率を各リソースの種別毎のビジー率の上限で補正して正規化（規格化）した値から最もビリー率の高いリソースを特定している。これにより、リソースの種類毎のビジー率の上限をあわせた状態でビジー率を比較でき、性能劣化に最も影響するリソースを適切に選ぶことができる。
【０１６３】
また、本実施例では実施例１に機能を追加した場合について説明したが、実施例２〜４に本実施例の機能を追加することも可能である。その場合も、リソースの種類毎のビジー率の上限をあわせた状態でビジー率を比較でき、性能劣化に最も影響するリソースを適切に選ぶことができる。
【実施例６】
【０１６４】
次に実施例６について説明する。実施例１では、ストレージ装置２は、帯域幅の変更において帯域幅管理部１０２が生成した設定コマンドを受信し、その設定コマンドにしたがって各ボリューム２３２の帯域幅の調整を行う。ここで、設定コマンドの発行には一定の時間がかかる。そして、実施例１では、ボリューム２３２に優劣をつけずに全てに対して帯域幅の調整を行うため、発行される設定コマンドの数が多くなってしまう。この場合、性能調整への寄与が少ないボリューム２３２の帯域幅の調整が先に実行されて、目標レスポンスタイムへの収束に時間がかかるおそれがある。
【０１６５】
そこで、本実施例に係るストレージシステムは、帯域幅の調整の効果が他と比較して高いボリューム２３２に対する帯域幅の調整を優先的に行うことが実施例１と異なる。本実施例に係るストレージシステムのブロック図も図３で表される。以下の説明では、各部の実施例１と同様の機能については説明を省略する。
【０１６６】
本実施例では、ストレージ装置２は、１つの設定コマンドにより１つの管理グループに含まれるボリューム２３２の帯域幅が調整できるものとする。管理グループとは、ストレージ装置２がまとめて管理するボリューム２３２のグループである。そして、管理グループは、ＦＣ−ＨＢＡ４１１などの業務サーバ４側の通信アダプタ、ストレージ装置２、処理プロセッサであるＣＰＵ２１３、並びに、ＦＣ−ＣＡ２１１やｉＳＣＳＩ−ＣＡ２１２のポートの組合せで特定される。
【０１６７】
帯域幅管理部１０２は、管理グループを特定するための情報が登録された図１２に示す管理グループ特定テーブル１４６を記憶している。図１２は、管理グループ特定テーブルの一例の図である。
【０１６８】
また、帯域幅管理部１０２は、各ボリューム２３２が属する管理グループが登録された図１３に示す管理グループテーブル１４７を記憶している。図１３は、管理グループテーブルの一例の図である。
【０１６９】
帯域幅管理部１０２は、第２選択により選択した目標設定ボリュームについて、目標レスポンスタイムと実測レスポンスタイムを比較する。
【０１７０】
帯域幅管理部１０２は、目標レスポンスタイムが実測レスポンスタイムより短い場合、選択した目標設定ボリュームの帯域幅の拡大を予約する。また、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の縮小を予約する。さらに、帯域幅管理部１０２は、選択した目標設定ボリュームの目標レスポンスタイムと実測レスポンスタイムとの差の絶対値を求め記憶する。ただし、選択した目標設定ボリュームの帯域幅が最広で拡大ができない場合は記憶しない。
【０１７１】
目標レスポンスタイムが実測レスポンスタイムより長い場合、帯域幅管理部１０２は、選択した目標設定ボリュームの帯域幅の縮小を予約する。また、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の拡大を予約する。さらに、帯域幅管理部１０２は、選択した目標設定ボリュームの目標レスポンスタイムと実測レスポンスタイムとの差の絶対値を求め記憶する。ただし、選択した目標設定ボリュームの帯域幅が最狭で縮小ができない場合は記憶しない。
【０１７２】
その後、帯域幅管理部１０２は、各ボリューム２３２の帯域幅の拡大又は縮小を確定する。そして、帯域幅管理部１０２は、拡大又は縮小を行う各ボリューム２３２に対する設定コマンドを生成する。
【０１７３】
次に、帯域幅管理部１０２は、管理グループを管理グループ特定テーブル１４６から１つずつ選択していく。次に、帯域幅管理部１０２は、選択した管理グループに含まれるボリューム２３２を管理グループテーブル１４７から取得する。そして、帯域幅管理部１０２は、取得したボリューム２３２の目標レスポンスタイムと実測レスポンスタイムとの差の絶対値の合計を求める。さらに、帯域幅管理部１０２は、目標レスポンスタイムと実測レスポンスタイムとの差が０の場合、その管理グループに含まれる非目標設定ボリュームの数をカウントする。
【０１７４】
その後、帯域幅管理部１０２は、目標レスポンスタイムと実測レスポンスタイムとの差の絶対値の合計が大きい順に管理グループを降順にソートする。さらに、帯域幅管理部１０２は、目標レスポンスタイムと実測レスポンスタイムとの差が０である管理グループを、含まれる非目標設定ボリュームの数で降順にソートする。
【０１７５】
そして、帯域幅管理部１０２は、ソートした管理グループの上から所定数の管理グループに対する設定コマンドを、生成したコマンドの中から取得する。例えば、帯域幅管理部１０２は、ソートした管理グループの上から１０個の管理グループに対する設定コマンドを、生成した設定コマンドの中から取得する。
【０１７６】
その後、帯域幅管理部１０２は、取得した設定コマンドを帯域幅制御部２５２に送信する。
【０１７７】
帯域幅制御部２５２は、帯域幅管理部１０２から送られてきた設定コマンドにしたがいボリューム２３２の帯域幅を調整する。ここで、送られてきた設定コマンドは、目標レスポンスタイムと実測レスポンスタイムとの差の絶対値の合計が大きい又は目標レスポンスタイムが設定されていないボリュームの数を多く含む管理グループに対する命令である。そのため、帯域幅制御部２５２は、目標レスポンスタイムと実測レスポンスタイムとの差の絶対値の合計が大きい又は非目標設定ボリュームの数を多く含む管理グループに含まれるボリューム２３２の帯域幅を調整する。目標レスポンスタイムと実測レスポンスタイムとの差の絶対値の合計が大きい又は非目標設定ボリュームの数を多く含むということは、その管理グループに含まれるボリューム２３２の帯域幅を調整することで性能の向上に高い効果が得られるといえる。すなわち、帯域幅制御部２５２は、性能の向上に高い効果が得られる管理ボリュームに含まれるボリューム２３２の帯域幅のみを変更することができる。
【０１７８】
以上に説明したように、本実施例に係るストレージ管理装置は、性能調整への寄与が高いコマンドを選択して実行する。これにより、コマンドの数を抑えることができ、目標レスポンスタイムへの収束時間を短縮することができる。
【０１７９】
また、本実施例では実施例１に機能を追加した場合について説明したが、実施例２〜５に本実施例の機能を追加することも可能である。その場合も、コマンドの数を抑えることができ、目標レスポンスタイムへの収束時間を短縮することができる。
【実施例７】
【０１８０】
次に実施例７について説明する。実施例１では、レスポンスタイムはデータの読み出しにおけるリードレスポンスタイムとデータの書き込みにおけるライトレスポンスタイムとを混ぜた値が評価の対象となっている。しかし、業務によっては、ストレージ装置２に対して読み出しのアクセスが多い業務や、書き込みのアクセスが多い業務や、両方のアクセス共に均等に行われる業務など、ストレージ装置２の運用形態が異なることが考えられる。そのため、リードレスポンスタイムとライトレスポンスタイムとをまとめて勘案した場合、帯域幅の適切な調整が困難となるおそれがある。
【０１８１】
そこで、本実施例に係るストレージシステムは、目標レスポンスタイムとして、目標リードレスポンスタイムと目標ライトレスポンスタイムとを用いて、帯域幅の調整を行うことが実施例１と異なる。本実施例に係るストレージシステムのブロック図も図３で表される。以下の説明では、各部の実施例１と同様の機能については説明を省略する。
【０１８２】
操作端末３は、操作者から入力された各ボリューム２３２の目標リードレスポンスタイム及び目標ライトレスポンスタイムを設定部１０１へ送信する。
【０１８３】
性能情報取得部２５１は、実測レスポンスタイムとして読み出しのレスポンスタイムである実測リードレスポンスタイムと、書き込みのレスポンスタイムである実測ライトレスポンスタイムとを取得する。
【０１８４】
設定部１０１は、受信した目標リードレスポンスタイム及び目標ライトレスポンスタイムをＱｏＳ設定テーブル１４１に登録する。
【０１８５】
監視部１０３は、各ボリューム２３２の実測レスポンスタイムとして、実測リードレスポンスタイム及び実測ライトレスポンスタイムを取得し、ボリューム性能情報ファイル１４３に登録する。
【０１８６】
帯域幅管理部１０２は、第２選択で選択した目標設定ボリュームの実測リードレスポンスタイム及び実測ライトレスポンスタイムをボリューム性能情報ファイル１４３から取得する。また、帯域幅管理部１０２は、第２選択で選択した目標設定ボリュームの目標リードレスポンスタイム及び目標ライトレスポンスタイムをＱｏＳ設定テーブル１４１から取得する。
【０１８７】
そして、帯域幅管理部１０２は、第２選択で選択した目標設定ボリュームにおける実測リードレスポンスタイムと目標リードレスポンスタイムとを比較し、さらに、実測ライトレスポンスタイムと目標ライトレスポンスタイムとを比較する。
【０１８８】
目標リードレスポンスタイムが実測リードレスポンスタイムより短い場合、又は、目標ライトレスポンスタイムが実測ライトレスポンスタイムより短い場合、帯域幅管理部１０２は、選択した目標設定ボリュームの帯域幅の拡大を予約する。また、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の縮小を予約する。
【０１８９】
また、目標リードレスポンスタイムが実測リードレスポンスタイムより長く、且つ、目標ライトレスポンスタイムが実測ライトレスポンスタイムより長い場合、帯域幅管理部１０２は、選択した目標設定ボリュームの帯域幅の縮小を予約する。また、帯域幅管理部１０２は、共有ボリュームのうち非目標設定ボリュームの帯域幅の拡大を予約する。
【０１９０】
その後、帯域幅管理部１０２は、拡大及び縮小の予約から各ボリューム２３２の拡大又は縮小を確定する。そして、帯域幅管理部１０２は、確定した各ボリューム２３２の拡大又は縮小にしたがって設定コマンドを生成する。その後、帯域幅管理部１０２は、生成した設定コマンドを帯域幅制御部２５２へ送信する。
【０１９１】
以上に説明したように、本実施例に係るストレージ管理装置は、リードレスポンスタイム及びライトレスポンスタイムを用いて帯域幅の調整を行う。これにより、ストレージ装置の運用形態にあわせてきめ細かい帯域幅の調整を行うことができる。
【０１９２】
また、本実施例では実施例１に機能を追加した場合について説明したが、実施例２〜６に本実施例の機能を追加することも可能である。その場合も、ストレージ装置の運用形態にあわせてきめ細かい帯域幅の調整を行うことができる。
【実施例８】
【０１９３】
次に実施例８について説明する。実施例１〜７では、ボリューム２３２に対して目標レスポンスタイムを指定した場合にその目標レスポンスタイムに合わせて帯域幅の調整が行われる。そのため、非目標設定ボリュームの性能は保証されない。そこで、全てのボリューム２３２の性能を保証するためには、全てのボリューム２３２に目標レスポンスタイムを設定することが好ましい。しかし、すべてのボリューム２３２に目標レスポンスタイムを設定することは煩雑である。
【０１９４】
そこで、本実施例に係るストレージシステムは、帯域が不足しているボリューム２３２に帯域が余っているボリューム２３２の帯域を融通することが実施例１と異なる。本実施例に係るストレージシステムのブロック図も図３で表される。以下の説明では、各部の実施例１と同様の機能については説明を省略する。
【０１９５】
ここで、帯域幅の調整は一定時間である帯域制限時間間隔で行われる。そのため、帯域制限時間間隔で帯域の使用状況が判断される。しかし、帯域制限時間に達した時点で未使用領域があることが判明しても帯域制限時間間隔は終わっているので、帯域幅を融通することは困難となる。そこで、未使用領域の有無を判断する時間を短くすることが好ましい。
【０１９６】
ここで、未使用領域の有無の判断を短くする一つの方法について説明する。ただし、未使用領域の有無の判断時間が短縮できればこの方法に限らない。
【０１９７】
まず、帯域制限時間間隔を複数の時間に分割する。ここで、分割した時間を「分割帯域制限時間間隔」という。
【０１９８】
帯域幅管理部１０２は、帯域幅の融通の実施を帯域幅制御部２５２に指示する設定コマンドを送信する。
【０１９９】
また、帯域幅管理部１０２は、実施例１などで求めた帯域幅の拡大及び縮小を行う帯域幅の調整の設定コマンドを帯域幅制御部２５２に送信する。
【０２００】
帯域幅制御部２５２は、帯域幅管理部１０２から送られてきた帯域幅の調整の設定コマンドで指定されている帯域幅を一時帯域幅とする。
【０２０１】
帯域幅制御部２５２は、ボリューム２３２毎に通信データ量をカウントする通信データ量カウンタを保持している。そして、帯域幅制御部２５２は、帯域幅の調整の設定コマンドを受信すると、通信データ量カウンタをリセットする。そして、各ボリューム２３２に対してデータの送受信が行われると、帯域幅制御部２５２は、通信データ量カウンタをインクリメントし通信データ量をカウントする。
【０２０２】
あるボリューム２３２において通信データ量が一時帯域幅と分割帯域制限時間間隔とを乗算した値を超過した場合、帯域幅制御部２５２は、そのボリューム２３２に対する通信データを一時停止する。
【０２０３】
その後、分割帯域制限時間間隔に到達すると、帯域幅制御部２５２は、以下のように帯域幅を一時的に増減させる。
【０２０４】
帯域幅制御部２５２は、通信データ量が一時帯域幅と分割帯域制限時間間隔とを乗算した値より多いボリューム２３２の場合、帯域幅の一時増加を予約する。
【０２０５】
また、通信データ量が一時帯域幅と分割帯域制限時間間隔とを乗算した値より小さいボリューム２３２の場合、帯域幅制御部２５２は、帯域幅の一時削減を予約する。
【０２０６】
そして、帯域幅制御部２５２は、帯域幅の一時増加及び一時削減の予約にしたがって、各ボリューム２３２間の帯域幅の増減を調整し、ボリューム２３２毎の一時帯域幅を確定する。
【０２０７】
図１４は、帯域幅の融通を説明するための概略図である。図１４の上段は帯域不足のボリューム２３２の帯域の使用状態を表している。また、図１４の下段は帯域が余っているボリューム２３２の帯域の使用状態を表している。
【０２０８】
帯域不足のボリューム２３２に設定されている帯域幅は帯域幅５１１である。しかし、帯域不足のボリューム２３２では、帯域幅５１１は、使用帯域５１２として全て使用されており、その上で、不足帯域５１３が発生している。
【０２０９】
これに対して、帯域が余っているボリューム２３２に設定されている帯域幅は帯域幅５２１である。しかし、帯域が余っているボリューム２３２は、使用帯域５２２を使用しており、未使用帯域５２３は使用されていない。
【０２１０】
そこで、帯域幅制御部２５２は、図１４の状態を分割帯域制限時間間隔において検出すると、矢印５３０のように、未使用帯域５２３の分を不足帯域５１３に融通する。
【０２１１】
その後、帯域幅制御部２５２は、各ボリューム２３２の通信データ量カウンタをリセットする。さらに、帯域幅制御部２５２は、データ通信を一時停止させたボリューム２３２に対するデータ通信を再開させる。
【０２１２】
そして、帯域幅制御部２５２は、確定したボリューム２３２毎の帯域幅で各ボリューム２３２が通信を行うように制御する。
【０２１３】
帯域幅制御部２５２は、帯域制限時間間隔に達するまで、一時的な融通の制御を繰り返す。そして、帯域幅制御部２５２は、帯域制限時間間隔に達すると、帯域幅の調整のコマンドを帯域幅管理部１０２から受信し、受信したコマンドで指定された帯域幅を基に、一時的な融通の制御を繰り返す。
【０２１４】
次に、図１５を参照して、本実施例に係るストレージ装置における帯域幅の融通処理の流れについて説明する。図１５は、実施例８に係るストレージ装置における帯域幅の融通処理のフローチャートである。
【０２１５】
図１５のフローチャートで表される処理は、運用管理サーバ１によるボリューム２３２の帯域幅の調整が実施される間に行われる処理である。
【０２１６】
帯域幅制御部２５２は、帯域幅の融通を指示する帯域融通コマンドを帯域幅管理部１０２から受信する（ステップＳ２０１）。
【０２１７】
そして、帯域幅制御部２５２は、帯域融通機能をオンにする（ステップＳ２０２）。
【０２１８】
帯域幅制御部２５２は、帯域幅管理部１０２が決定した帯域幅調整の設定コマンドを受信する。そして、帯域幅制御部２５２は、帯域幅調整の設定コマンドで指定されている各ボリューム２３２に対する帯域幅を受信する（ステップＳ２０３）。
【０２１９】
帯域幅制御部２５２は、受信した帯域幅を一時帯域幅とする（ステップＳ２０４）。
【０２２０】
帯域幅制御部２５２は、各ボリューム２３２の通信データ量カウンタをリセットする（ステップＳ２０５）。
【０２２１】
帯域幅制御部２５２は、各ボリューム２３２の通信データ量をカウントする（ステップＳ２０６）。
【０２２２】
帯域幅制御部２５２は、分割帯域制限時間間隔が到来したか否かを判定する（ステップＳ２０７）。分割帯域制限時間間隔が到来していない場合（ステップＳ２０７：否定）、帯域幅制御部２５２は、ステップＳ２０６へ戻る。
【０２２３】
これに対して、分割帯域制限時間間隔が到来した場合（ステップＳ２０７：肯定）、帯域幅制御部２５２は、通信データ量が一時帯域幅と分割帯域制限時間間隔とを乗算した値を超過したボリュームがあるか否かを判定する（ステップＳ２０８）。通信データ量が一時帯域幅と分割帯域制限時間間隔とを乗算した値を超過したボリュームが無い場合（ステップＳ２０８：否定）、帯域幅制御部２５２は、ステップＳ２１６へ進む。
【０２２４】
これに対して、通信データ量が一時帯域幅と分割帯域制限時間間隔とを乗算した値を超過したボリュームがある場合（ステップＳ２０８：肯定）、帯域幅制御部２５２は、通信データ量超過のボリューム２３２のデータの送受信を停止する（ステップＳ２０９）。
【０２２５】
次に、帯域幅制御部２５２は、通信データ量が一時帯域幅と分割帯域制限時間間隔とを乗算した値より多い性能不足ボリュームが存在しているか否かを判定する（ステップＳ２１０）。性能不足ボリュームが存在していない場合（ステップＳ２１０：否定）、帯域幅制御部２５２は、ステップＳ２１４へ進む。
【０２２６】
これに対して、性能不足ボリュームが存在する場合（ステップＳ２１０：肯定）、帯域幅制御部２５２は、性能不足ボリュームの不足性能分の未使用帯域幅の余裕がある不足分余剰ボリュームを検索する（ステップＳ２１１）。
【０２２７】
そして、帯域幅制御部２５２は、不足分余剰ボリュームが存在するか否かを判定する（ステップＳ２１２）。不足分余剰ボリュームが無い場合（ステップＳ２１２：否定）、帯域幅制御部２５２は、ステップＳ２１４へ進む。
【０２２８】
これに対して、不足分余剰ボリュームがある場合（ステップＳ２１２：肯定）、帯域幅制御部２５２は、不足分余剰ボリュームから性能不足ボリュームへの帯域幅の融通を予約する(ステップＳ２１３)。そして、帯域幅制御部２５２は、帯域幅の融通を予約したボリューム２３２を性能不足ボリュームから除く。その後、帯域幅制御部２５２は、ステップＳ２１４へ進む。
【０２２９】
そして、帯域幅制御部２５２は、予約から各ボリューム２３２の帯域幅の増減を確定し、帯域幅の制御を実行する(ステップＳ２１４)。
【０２３０】
また、帯域幅制御部２５２は、データ通信を一時停止させたボリューム２３２に対するデータ通信を再開させる（ステップＳ２１５）。
【０２３１】
その後、帯域幅制御部２５２は、帯域幅の融通機能がオフするか否かを判定する（ステップＳ２１６）。融通機能をオフしない場合（ステップＳ２１６：否定）、帯域幅制御部２５２は、帯域幅制限時間間隔が到来したか否かを判定する（ステップＳ２１７）。帯域幅制限時間間隔が到来した場合（ステップＳ２１７：肯定）、帯域幅制御部２５２は、ステップＳ２０３へ戻る。一方、帯域幅制限時間間隔が到来していない場合（ステップＳ２１７：否定）、帯域幅制御部２５２は、ステップＳ２０５へ戻る。
【０２３２】
これに対して、融通機能をオフする場合（ステップＳ２１６：肯定）、帯域幅制御部２５２は、帯域幅の融通処理を終了する。
【０２３３】
以上に説明したように、本実施例に係るストレージ管理装置は、目標レスポンスが設定されていなくても、帯域幅の融通を自動的に行う。これにより、全てのボリュームの性能を保証することができる。
【０２３４】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２３５】
（付記１）記憶部を備え、伝送資源を介してデータの送受信がなされるストレージ装置を管理するストレージ管理装置であって、
前記複数の記憶部のうちのいくつか又は全てに対して性能の目標値を設定する設定部と、前記伝送資源の負荷率を監視する監視部と、
前記伝送資源の負荷率を基に対象の伝送資源を特定し、前記目標値に基づいて、前記特定した伝送資源を使用する記憶部の帯域配分を決定し、決定した帯域配分による前記帯域幅の調整を前記ストレージ装置の帯域幅制限部に指示する帯域幅管理部と
を備えたことを特徴とするストレージ管理装置。
【０２３６】
（付記２）前記帯域幅管理部は、前記目標値が設定された記憶部が使用する伝送路上で最も負荷率が高い伝送資源を特定し、特定した伝送装置を使用する記憶部を抽出し、抽出した記憶部の帯域配分を決定する処理を、前記目標値が設定された記憶部毎に実行することを特徴とする付記１に記載のストレージ管理装置。
【０２３７】
（付記３）前記帯域幅管理部は、前記抽出した記憶部の中で、実測性能が目標値より劣る記憶部の前記伝送路上の帯域幅を拡大し、前記特定した伝送資源を利用している目標値を設定していない記憶部の前記伝送路上の帯域幅を縮小し、また、実測性能が目標値より優る記憶部の前記伝送路上の帯域幅を縮小し、前記特定した伝送資源を利用している目標値を設定していない記憶部の前記伝送路上の帯域幅を拡大することを特徴とする付記２に記載のストレージ管理装置。
【０２３８】
（付記４）前記帯域幅管理部は、前記抽出した記憶部の中で、実測性能が目標値より劣り、且つ、帯域幅以上のデータを送受信している記憶部の前記伝送路上の帯域幅を拡大することを特徴とする付記３に記載のストレージ管理装置。
【０２３９】
（付記５）前記帯域幅管理部は、実測性能が目標値より優る記憶部の前記伝送路上の帯域幅を、前記抽出した記憶部の中で実測性能が目標値より劣る他の記憶部がある場合に縮小し、且つ、前記特定した伝送資源を利用している目標値を設定していない記憶部の帯域幅を拡大することを特徴とする付記３又は４に記載のストレージ管理装置。
【０２４０】
（付記６）前記ストレージ管理システムは、前記ストレージ装置と外部装置とを接続する、スイッチポートを有するスイッチをさらに備え、
前記ストレージ装置は、
前記記憶装部を含むＲＡＩＤグループ、前記記憶部のデータの送受信の処理を実行する処理プロセッサ及び前記スイッチと接続するためのポートを備え、
前記伝送資源は、前記ＲＡＩＤグループ、前記処理プロセッサ、前記ポート又は前記スイッチポートのいくつか又は全てを含むことを特徴とする付記１〜５のいずれか１つに記載のストレージ管理装置。
【０２４１】
（付記７）前記設定部は、前記性能の目標値として、応答時間の目標値を設定し、
前記帯域幅管理部は、設定部により設定された目標値をデータサイズ及びキャッシュヒット率に関して規格化した値を目標値として使用することを特徴とする付記１〜６のいずれか１つに記載のストレージ管理装置。
【０２４２】
（付記８）前記帯域幅管理部は、前記伝送資源の負荷率を負荷率の上限を基準として規格化して用いることを特徴とする付記１〜７のいずれか１つに記載のストレージ管理装置。
【０２４３】
（付記９）前記帯域幅管理部は、前記目標値が設定された記憶部の実測性能と目標値との差分を基に、帯域幅の調整を行う記憶部を抽出することを特徴とする付記１〜８のいずれか１つに記載のストレージ管理装置。
【０２４４】
（付記１０）前記記憶部は、前記帯域幅管理部からの１回の前記帯域幅の調整の指示により帯域幅が変更される管理グループにグループ化されており、
前記帯域幅管理部は、前記管理グループに含まれる前記目標値が設定された記憶部の実測性能と目標値との差分の合計が大きいものから所定数のグループに含まれる記憶部の帯域幅を調整することを特徴とする付記９に記載のストレージ管理装置。
【０２４５】
（付記１１）前記帯域幅制御部は、各記憶装置に設定された帯域幅と使用している帯域幅との差分を求め、所定期間において前記使用している帯域幅が前記設定された帯域幅よりも小さい記憶部の帯域幅を縮小し、帯域幅を前記使用している帯域幅が前記設定された帯域幅よりも大きい記憶部の帯域幅を縮小した分拡大することを特徴とする付記１〜１０のいずれか１つに記載のストレージ管理装置。
【０２４６】
（付記１２）記設定部は、前記性能の目標値として読み込みの場合の応答時間の目標値と、書き込みの場合の応答時間の目標値とを設定し、
前記帯域幅管理部は、前記抽出した記憶部の中で、実測の書き込みの応答時間又は実測の読み込みの応答時間が目標値より長い記憶部の前記伝送路上の帯域幅を拡大し、前記特定した伝送資源を利用している目標値を設定していない記憶部の前記伝送路上の帯域幅を縮小し、また、実測の書き込みの応答時間及び実測の読み込みの応答時間が目標値より短い記憶部の前記伝送路上の帯域幅を縮小し、前記特定した伝送資源を利用している目標値を設定していない記憶部の帯域幅を拡大することを特徴とする付記２に記載のストレージ管理装置。
【０２４７】
（付記１３）ストレージ管理装置及びストレージ装置を有するストレージシステムの制御方法であって、
前記管理装置に、
前記ストレージ装置が有する伝送資源を介してデータの送受信を行う複数の記憶部のうちのいくつか又は全てに対して性能の目標値を設定させ、
前記伝送資源の負荷率を監視させ、
前記伝送資源の負荷率を基に対象の伝送資源を特定させ、
前記目標値に基づいて、前記特定した伝送資源を使用する記憶部の帯域配分を決定させ、
前記ストレージ装置に、
前記管理装置により決定された帯域配分にしたがい前記記憶部の前記帯域幅の調整を行わせる
ことを特徴とする制御方法。
【０２４８】
（付記１４）記憶部を備え、伝送資源を介してデータの送受信がなされるストレージ装置を管理するストレージ管理装置の制御プログラムであって、
前記記憶部のうちのいくつか又は全てに対して性能の目標値を設定し、
前記伝送資源の負荷率を監視し、
前記伝送資源の負荷率を基に対象の伝送資源を特定し、
前記目標値に基づいて、特定した伝送資源を使用する記憶部の帯域配分を決定し、
決定した帯域配分にしたがい前記記憶部の前記帯域幅の調整を行う
処理をコンピュータに実行させることを特徴とする制御プログラム。
【符号の説明】
【０２４９】
１  運用管理サーバ
２  ストレージ装置
３  操作端末
４  業務サーバ
１１  ＮＩＣ
１２  メモリ
１３  ＣＰＵ
１４  ＨＤＤ
２１，２２  ストレージ装置
４１，４２  業務サーバ
５１，５２  ＦＣスイッチ
６１，６２  ネットワークスイッチ
１０１  設定部
１０２  帯域幅管理部
１０３  監視部
１０４  記憶部
１４１  ＱｏＳ設定テーブル
１４２  ボリュームテーブル
１４３  ボリューム性能情報ファイル
１４４  リソース性能情報ファイル
２０１，２０２  ＣＭ
２０３  ディスク
２１１  ＦＣ−ＣＡ
２１２  ｉＳＣＳＩ−ＣＡ
２１３  ＣＰＵ
２１４  メモリ
２１５  ＮＩＣ
２１６  ＳＡＳ
２３１  ＲＡＩＤグループ
２３２  ボリューム
２５１  性能情報取得部
２５２  帯域幅制御部
２５３  キュー
【図１】
2015069385.tif 000006
【図２】
2015069385.tif 000007
【図３】
2015069385.tif 000008
【図４】
2015069385.tif 000009
【図５】
2015069385.tif 000010
【図６】
2015069385.tif 000011
【図７】
2015069385.tif 000012
【図８】
2015069385.tif 000013
【図９】
2015069385.tif 000014
【図１０】
2015069385.tif 000015
【図１１Ａ】
2015069385.tif 000016
【図１１Ｂ】
2015069385.tif 000017
【図１２】
2015069385.tif 000018
【図１３】
2015069385.tif 000019
【図１４】
2015069385.tif 000020
【図１５】
2015069385.tif 000021