(57)【要約】【課題】複数のストレージ装置が存在する仮想化環境において、稼動するサービスの性能を低下させることなく、リソースの割り当てや再配置を実現することができるリソース割り当てシステムおよび方法を提供する。【解決手段】論理ディスクに対するデータ入出力要求の解析結果を負荷情報に記録するデータ入出力解析部１１と、二次キャッシュを追加した場合のキャッシュヒット率を算出するキャッシュヒット率算出部１２とを含む複数のストレージ装置１０−１〜１０−ｎと、負荷情報にもとづくストレージリソースの構成案を生成する負荷分析部２１と、キャッシュヒット率にもとづくストレージリソースの構成案を生成する統計情報分析部２２と、ストレージ装置の性能向上率が最も良い構成案を最適構成案として選択する最適構成案作成部２３と、最適構成案にもとづいて、ストレージ装置に対して構成変更を指示する構成割り当て部２４とを含む分析装置２０を備える。【選択図】図１８
2014186590.tif 000002
【特許請求の範囲】
【請求項１】
論理ディスクに対するデータ入出力要求を解析し、解析結果を負荷情報に記録するデータ入出力解析部と、
二次キャッシュを追加した場合のキャッシュヒット率を算出するキャッシュヒット率算出部とを含む複数のストレージ装置と、
前記負荷情報にもとづくストレージリソースの構成案を生成する負荷分析部と、
前記キャッシュヒット率にもとづくストレージリソースの構成案を生成する統計情報分析部と、
前記負荷分析部および前記統計情報分析部が生成する各構成案について、ストレージ装置の性能向上率を算出し、性能向上率が最も良い構成案を最適構成案として選択する最適構成案作成部と、
前記最適構成案にもとづいて、前記ストレージ装置に対してストレージリソースの構成変更を指示する構成割り当て部とを含む分析装置とを備えた
ことを特徴とするリソース割り当てシステム。
【請求項２】
データ入出力解析部は、論理ディスクに対するデータ入出力のアクセス先とアクセス回数とを負荷情報に記録し、
負荷分析部は、前記負荷情報をもとに各ストレージ装置の負荷を分析し、分析結果にもとづいて、物理ディスク、論理ディスクおよび二次キャッシュに関する構成案を生成する
請求項１に記載のリソース割り当てシステム。
【請求項３】
負荷分析部は、負荷情報をもとに、最も負荷が高い論理ディスクを抽出し、当該論理ディスクを構築するストレージ装置へ二次キャッシュまたは物理ディスクを追加する案、他のストレージ装置へ当該論理ディスクを移動する案を構成案として生成する
請求項１または請求項２に記載のリソース割り当てシステム。
【請求項４】
キャッシュヒット率算出部は、一次キャッシュに対するキャッシュミスを検出した際に、キャッシュミスしたデータ入出力の内容にもとづいて、仮想的な二次キャッシュである仮想二次キャッシュテーブルに対してアクセスを実行し、実行結果をもとに二次キャッシュを追加した場合のキャッシュヒット率を算出し、
統計情報分析部は、前記キャッシュヒット率の算出結果をもとに、二次キャッシュを追加した場合にキャッシュヒット率が最も高くなる、ストレージ装置と二次キャッシュ容量との組み合わせを示す構成案を生成する
請求項１から請求項３のうちのいずれか１項に記載のリソース割り当てシステム。
【請求項５】
論理ディスクを構築するストレージ装置が、
論理ディスクに対するデータ入出力要求を解析し、解析結果を負荷情報に記録し、
二次キャッシュを追加した場合のキャッシュヒット率を算出し、
分析装置が、
複数の前記ストレージ装置から前記負荷情報および前記キャッシュヒット率の算出結果を取得し、
前記負荷情報にもとづくストレージリソースの構成案を生成し、
前記キャッシュヒット率にもとづくストレージリソースの構成案を生成し、
生成された各構成案について、ストレージ装置の性能向上率を算出し、性能向上率が最も良い構成案を最適構成案として選択し、
前記最適構成案にもとづいて、前記ストレージ装置に対してストレージリソースの構成変更を指示する
ことを特徴とするリソース割り当て方法。
【請求項６】
ストレージ装置が、論理ディスクに対するデータ入出力のアクセス先とアクセス回数とを負荷情報に記録し、
分析装置が、前記負荷情報をもとに各ストレージ装置の負荷を分析し、分析結果にもとづいて、物理ディスク、論理ディスクおよび二次キャッシュに関する構成案を生成する
請求項５に記載のリソース割り当て方法。
【請求項７】
分析装置が、負荷情報をもとに、最も負荷が高い論理ディスクを抽出し、当該論理ディスクを構築するストレージ装置へ二次キャッシュまたは物理ディスクを追加する案、他のストレージ装置へ当該論理ディスクを移動する案を構成案として生成する
請求項５または請求項６に記載のリソース割り当て方法。
【請求項８】
ストレージ装置が、一次キャッシュに対するキャッシュミスを検出した際に、キャッシュミスしたデータ入出力の内容にもとづいて、仮想的な二次キャッシュである仮想二次キャッシュテーブルに対してアクセスを実行し、実行結果をもとに二次キャッシュを追加した場合のキャッシュヒット率を算出し、
分析装置が、前記キャッシュヒット率の算出結果をもとに、二次キャッシュを追加した場合にキャッシュヒット率が最も高くなる、ストレージ装置と二次キャッシュ容量との組み合わせを示す構成案を生成する
請求項５から請求項７のうちのいずれか１項に記載のリソース割り当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化環境におけるストレージ管理を行うリソース割り当てシステムおよびリソース割り当て方法に関する。
【背景技術】
【０００２】
近年、サーバ装置やストレージ装置を仮想化する環境が急激に普及してきている。仮想化とは、コンピュータのリソースを抽象化することであり、その物理的特性をエンドユーザなどから隠蔽する技法である。その仮想化技術の一種として、ユーザがコンピュータ処理をネットワーク経由でサービスとして利用するクラウドコンピューティングが普及している。
【０００３】
例えば、サービス（業務）を提供する複数の業務サーバ（業務サーバ群）と、仮想ディスク割り当て装置と、複数のストレージ装置（ストレージ群）とがネットワークを介して接続されている仮想化環境において、業務サーバが、ストレージ装置の論理ディスクを利用するシステムがある。このような環境で、複数の業務を同時に稼動させると、各業務の負荷が相互に影響し、性能が低下する場合がある。この場合、運用負荷を軽減し、期待されるサービスレベルの性能を満たすために、リソースの追加やリソースの再配置が行われる。
【０００４】
例えば、業務サーバ群にとって最適な構成となるようにリソースを割り当てる方法として、ストレージ装置の負荷情報を参照して、負荷の高いストレージ装置の論理ディスク（Ｌｏｇｉｃａｌ  Ｄｉｓｋ（ＬＤ））を負荷の低いストレージ装置へ移動する、ＬＤの再配置がある。
【０００５】
しかし、ＬＤなどストレージリソースの再配置は、多数の異なる構成のストレージ装置が存在する環境で実施すると、業務サーバからのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）特性が変わってしまう。そのため、期待される業務の性能（Ｉ／Ｏレスポンスやスループットなど）の向上を望めない場合がある。従って、仮想化環境において、性能向上を予測して各業務にストレージリソースを割り当てたときに、期待されるサービスレベルを満たせないケースが発生する場合がある。
【０００６】
これに対して、期待されるサービスレベルを満たすことができるように、サーバの論理分割の情報を元に、最適なストレージ装置の論理区画を自動的に生成することで、より精度の高いリソースの最適配置を実現するシステムがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４２２７０３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
リソースの追加や再配置は、業務をベースにして実施される場合が多い。しかし、業務サーバ群が多数存在し、ユーザがインターネット経由でストレージ装置を利用するようなクラウドコンピューティングにおいては、個々の業務の状況や質がストレージ装置から隠蔽される。そのため、ストレージ装置の論理区分の生成に必要な業務サーバの情報を取得できない場合がある。そのような場合、特許文献１に記載されたシステムでは、業務をベースにしたリソースの再配置ができない可能性がある。
【０００９】
仮想化環境において、シミュレーションにより最適な構成案を導き出し、導き出された最適な構成案にもとづいてリソースの割り当てや再配置を行う方法がある。しかし、上述したように、多数の異なる構成のストレージ装置が接続されている場合には、ディスクプール（以下、単にプールという。）のデータ構造、例えばパリティの方式やストライプサイズの違いによって、Ｉ／Ｏ特性が変わる。そのため、Ｉ／Ｏ性能の予測の精度が低くなる場合がある。そのため、このようなシミュレーションを用いた方法であっても、期待通りの性能向上を実現することが難しい。
【００１０】
そこで、本発明は、複数のストレージ装置が存在する仮想化環境において、稼動するサービスの性能を低下させることなく、リソースの割り当てや再配置を実現することができるリソース割り当てシステムおよびリソース割り当て方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によるリソース割り当てシステムは、論理ディスクに対するデータ入出力要求を解析し、解析結果を負荷情報に記録するデータ入出力解析部と、二次キャッシュを追加した場合のキャッシュヒット率を算出するキャッシュヒット率算出部とを含む複数のストレージ装置と、負荷情報にもとづくストレージリソースの構成案を生成する負荷分析部と、キャッシュヒット率にもとづくストレージリソースの構成案を生成する統計情報分析部と、負荷分析部および統計情報分析部が生成する各構成案について、ストレージ装置の性能向上率を算出し、性能向上率が最も良い構成案を最適構成案として選択する最適構成案作成部と、最適構成案にもとづいて、ストレージ装置に対してストレージリソースの構成変更を指示する構成割り当て部とを含む分析装置とを備えたことを特徴とする。
【００１２】
本発明によるリソース割り当て方法は、論理ディスクを構築するストレージ装置が、論理ディスクに対するデータ入出力要求を解析し、解析結果を負荷情報に記録し、二次キャッシュを追加した場合のキャッシュヒット率を算出し、分析装置が、複数のストレージ装置から負荷情報およびキャッシュヒット率の算出結果を取得し、負荷情報にもとづくストレージリソースの構成案を生成し、キャッシュヒット率にもとづくストレージリソースの構成案を生成し、生成された各構成案について、ストレージ装置の性能向上率を算出し、性能向上率が最も良い構成案を最適構成案として選択し、最適構成案にもとづいて、ストレージ装置に対してストレージリソースの構成変更を指示することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、複数のストレージ装置が存在する仮想化環境において、稼動するサービスの性能を低下させることなく、リソースの割り当てや再配置を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明によるリソース割り当てシステムの第１の実施形態の構成を示すブロック図である。
【図２】ストレージ装置が構築するＬＤの一例を示す説明図である。
【図３】Ｉ／Ｏ負荷テーブルの一例を示す説明図である。
【図４】Ｉ／Ｏログの一例を示す説明図である。
【図５】仮想二次キャッシュテーブルの一例を示す説明図である。
【図６】シミュレーション結果統計情報の一例を示す説明図である。
【図７】仮想ディスクマッピングテーブルの一例を示す説明図である。
【図８】Ｉ／Ｏ解析部の処理を示すフローチャートである。
【図９】キャッシュヒットシミュレーション部の処理を示すフローチャートである。
【図１０】Ｉ／Ｏ負荷分析部の処理を示すフローチャートである。
【図１１】負荷軽減構成案の一例を示す説明図である。
【図１２】統計情報分析部の処理を示すフローチャートである。
【図１３】最適キャッシュ構成案の一例を示す説明図である。
【図１４】最適構成案作成部の処理を示すフローチャートである。
【図１５】比較テーブルの一例を示す説明図である。
【図１６】最適構成案の一例を示す説明図である。
【図１７】構成割り当て部の処理を示すフローチャートである。
【図１８】本発明によるリソース割り当てシステムの最小構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。
【００１６】
本実施形態では、業務サーバ群と仮想ディスク割り当て装置とストレージ群がネットワークを介して接続されている仮想化環境において、ストレージ群のリソースを業務サーバに割り当て、業務サーバに利用させるシステムを考える。ストレージ装置は、ハードディスクドライブ（ＨＤＤ）の集合からプールを構成し、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）を構成するパリティグループを、プールを構成する全ての物理ディスクに分散させるような構成をとる。
【００１７】
図１は、本発明によるリソース割り当てシステムの第１の実施形態の構成を示すブロック図である。
【００１８】
図１に示すように、リソースシステム割り当てシステムは、複数のストレージ装置１００−１〜１００−ｎと、分析サーバ２００と、仮想ディスク割り当て装置３００とを備える。ストレージ装置１００−１〜１００−ｎは、仮想ディスク割り当て装置３００を介して、仮想化されている複数の業務サーバ４００−１〜４００−ｎと接続される。また、ストレージ装置１００−１〜１００−ｎは、分析サーバ２００と接続される。
【００１９】
各ストレージ装置は、複数の物理ディスクからＬＤを構築し、業務サーバ４００−１〜４００−ｎからのＩ／Ｏ要求を受け付ける。
【００２０】
図２は、ストレージ装置１００−１〜１００−ｎが構築するＬＤの一例を示す説明図である。図２に示すように、ＬＤは、例えば、ＲＡＩＤ５（４＋ｐ）の構成で構築され、後から物理ディスクが追加された場合でも負荷分散可能なデータ配置となる。なお、“４＋Ｐ”は、データとパリティとの比を４：１としてストライピングすることを示す。図２（ａ）は、物理ディスク追加前のデータ配置を表す。図２（ｂ）は、物理ディスク追加後のデータ配置を表す。
【００２１】
各ストレージ装置は、Ｉ／Ｏ解析部１１０と、キャッシュヒットシミュレーション部１２０とを含む。また、各ストレージ装置には、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）による二次キャッシュがＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）のライン入れ替え（Ｒｅｆｉｌｌ）アルゴリズムで実装されている。
【００２２】
Ｉ／Ｏ解析部１１０は、業務サーバ４００−１〜４００−ｎから受け取ったＩ／Ｏ要求を解析し、解析結果をＩ／Ｏ負荷テーブルとＩ／Ｏログとに記録する。具体的には、Ｉ／Ｏ解析部１１０は、Ｉ／Ｏ要求のアクセス先の論理ディスクに関する情報（論理ディスク番号と物理ディスク番号）とその書き込みアドレスとＩ／Ｏ種別とを、Ｉ／Ｏログに記録する。Ｉ／Ｏ種別は、Ｉ／Ｏ要求が書き込み（Ｗ）要求であるか、読み出し（Ｒ）要求であるかを示す情報である。Ｉ／Ｏ解析部１１０は、それと同時に、アクセス先の論理ディスクへの単位時間当たりのアクセス数を算出し、算出結果を負荷情報としてＩ／Ｏ負荷テーブルに記録する。Ｉ／Ｏ負荷テーブルおよびＩ／Ｏログは、各ストレージ装置が備える記憶部（図示せず）に格納される。図３は、Ｉ／Ｏ負荷テーブルの一例を示す説明図である。図４は、Ｉ／Ｏログの一例を示す説明図である。なお、図４に示す“０ｘ”は、数値が１６進数であることを表す。
【００２３】
キャッシュヒットシミュレーション部１２０は、一次キャッシュ（通常のキャッシュメモリ）を監視する。そして、キャッシュヒットシミュレーション部１２０は、Ｉ／Ｏのキャッシュミス、つまり、一次キャッシュにおけるキャッシュミスを検出し、解析する。キャッシュヒットシミュレーション部１２０は、解析結果にもとづいて、仮想二次キャッシュテーブルを利用して、シミュレーションを実行する。具体的には、キャッシュヒットシミュレーション部１２０は、キャッシュミスしたＩ／Ｏの内容を、仮想二次キャッシュテーブルへ書き込む。このように、キャッシュヒットシミュレーション部１２０は、追加ＳＳＤがある場合を想定した擬似アクセスを行う。本実施形態では、ストレージ装置が備えるキャッシュとして、ＬＲＵ方式でライン入れ替え（Ｒｅｆｉｌｌ）を行うようなメモリを想定する。そのため、図５に示すように、仮想二次キャッシュテーブルには、インデックスとラインが記録される。図５は、仮想二次キャッシュテーブルの一例を示す説明図である。
【００２４】
また、キャッシュヒットシミュレーション部１２０は、シミュレーションによる出力データを統計情報としてシミュレーション結果統計情報に記録する。具体的には、キャッシュヒットシミュレーション部１２０は、Ｉ／Ｏのキャッシュミスの回数をシミュレーション結果統計情報に記録する。また、仮想二次キャッシュテーブル上で発生したキャッシュミスの回数をシミュレーション結果統計情報に記録する。図６は、シミュレーション結果統計情報の一例を示す説明図である。図６に示す「キャッシュヒット」は、Ｉ／Ｏのキャッシュミスの回数、つまり仮想二次キャッシュテーブルに書き込みを行った回数を表す。「キャッシュミス」は、仮想二次キャッシュテーブル上で発生したキャッシュミスの回数を表す。
【００２５】
また、キャッシュヒットシミュレーション部１２０は、「キャッシュヒット」および「キャッシュミス」の単位時間あたりの結果から、キャッシュヒット率を算出し、シミュレーション結果統計情報に記録する。
【００２６】
本実施形態では、ストレージ装置が容量の異なる複数の二次キャッシュを有する場合を想定する。従って、キャッシュヒットシミュレーション部１２０は、仮想二次キャッシュテーブルを複数用いて、各仮想二次キャッシュテーブルに対してシミュレーションを行う。従って、キャッシュヒットシミュレーション部１２０は、図６に示すように、容量ごとの仮想二次キャッシュテーブルへのキャッシュヒットおよびキャッシュミスの統計情報をシミュレーション結果統計情報に記録する。
【００２７】
なお、仮想二次キャッシュテーブルおよびシミュレーション結果統計情報は、各ストレージ装置が備える記憶部（図示せず）に格納される。
【００２８】
また、各ストレージ装置は、各ストレージ装置間またはストレージ装置内部でＬＤを移動（再配置）する機能、プールへ物理ディスクを追加する機能、およびＳＳＤを追加して二次キャッシュの容量を拡張する機能を備える。なお、各機能については、広く知られているため説明を省略する。
【００２９】
なお、Ｉ／Ｏ解析部１１０およびキャッシュヒットシミュレーション部１２０は、例えば、プログラムに従って動作するコンピュータによって実現される。この場合、ＣＰＵがプログラムを読み込み、そのプログラムに従って、Ｉ／Ｏ解析部１１０およびキャッシュヒットシミュレーション部１２０として動作する。また、Ｉ／Ｏ解析部１１０およびキャッシュヒットシミュレーション部１２０が別々のハードウェアで実現されていてもよい。
【００３０】
分析サーバ２００は、Ｉ／Ｏ負荷分析部２１０と、統計情報分析部２２０と、最適構成案作成部２３０と、構成割り当て部２４０とを含む。
【００３１】
Ｉ／Ｏ負荷分析部２１０は、各ストレージ装置から負荷情報を収集する。Ｉ／Ｏ負荷分析部２１０は、収集した負荷情報をもとに、後述する負荷軽減構成案を作成し、負荷軽減構成案を含む情報を出力する。
【００３２】
統計情報分析部２２０は、各ストレージ装置から統計情報を収集する。統計情報分析部２２０は、収集した統計情報をもとに、後述する最適キャッシュ構成案を作成し、最適キャッシュ構成案を含む情報を出力する。
【００３３】
最適構成案作成部２３０は、負荷軽減構成案、最適キャッシュ構成案についてシミュレーションを実行し、各構成案を比較する。最適構成案作成部２３０は、比較結果を比較テーブルに記録する。比較テーブルは、分析サーバ２００が備える記憶部（図示せず）に格納される。最適構成案作成部２３０は、比較テーブルから、最適な構成案（以下、最適構成案という。）を選択し、最適構成案を示す情報を出力する。
【００３４】
構成割り当て部２４０は、最適構成案作成部２３０が選択した最適構成案にもとづいて、各ストレージ装置へ構成変更を指示する。
【００３５】
なお、Ｉ／Ｏ負荷分析部２１０、統計情報分析部２２０、最適構成案作成部２３０および構成割り当て部２４０は、例えば、プログラムに従って動作するコンピュータによって実現される。この場合、ＣＰＵがプログラムを読み込み、そのプログラムに従って、Ｉ／Ｏ負荷分析部２１０、統計情報分析部２２０、最適構成案作成部２３０および構成割り当て部２４０として動作する。また、Ｉ／Ｏ負荷分析部２１０、統計情報分析部２２０、最適構成案作成部２３０および構成割り当て部２４０が別々のハードウェアで実現されていてもよい。
【００３６】
仮想ディスク割り当て装置３００は、仮想ディスクマッピング部３１０を含む。
【００３７】
仮想ディスクマッピング部３１０は、仮想ディスク割り当て装置３００が保持する、仮想的なマッピングを示す仮想ディスクマッピングテーブルを更新する。仮想ディスクマッピングテーブルは、仮想ディスク割り当て装置３００が備える記憶部（図示せず）に格納される。図７は、仮想ディスクマッピングテーブルの一例を示す説明図である。図７に示す「仮想ディスク番号」は、仮想ディスクを識別するための番号である。「実ストレージ番号」、「実論理ディスク番号」は、仮想ディスクを構成するストレージ装置、ストレージ装置のＬＤを識別するための情報である。
【００３８】
また、仮想ディスク割り当て装置３００は、業務サーバ４００−１〜４００−ｎからのＩ／Ｏ要求を、マッピングテーブルに従ってストレージ装置１００−１〜１００−ｎのＬＤへ振り分ける機能を備える。なお、当該機能は、広く知られているため説明を省略する。
【００３９】
なお、仮想ディスクマッピング部３１０は、例えば、プログラムに従って動作するコンピュータによって実現される。この場合、ＣＰＵがプログラムを読み込み、そのプログラムに従って、仮想ディスクマッピング部３１０として動作する。
【００４０】
次に、本実施形態の動作を説明する。
【００４１】
まず、ストレージ装置１００−１〜１００−ｎのＩ／Ｏ解析部１１０の動作を説明する。
【００４２】
図８は、Ｉ／Ｏ解析部１１０の処理を示すフローチャートである。
【００４３】
Ｉ／Ｏ解析部１１０は、まず、業務サーバ４００−１〜４００−ｎからのＩ／Ｏ要求を受け取る。Ｉ／Ｏ解析部１１０は、受け取ったＩ／Ｏ要求を解析して、各ＬＤへの単位時間当たりのアクセス数をカウントし、Ｉ／Ｏ負荷テーブルへ書き込む（ステップＳ８０１）。それと同時に、Ｉ／Ｏ解析部１１０は、受け取ったＩ／Ｏ要求によりアクセスされるアドレスをキャプチャし、Ｉ／Ｏログに記録する（ステップＳ８０２）。このとき、Ｉ／Ｏ解析部１１０は、論理ディスク番号、物理ディスク番号、Ｉ／Ｏ種別もＩ／Ｏログに記録する。
【００４４】
次に、ストレージ装置１００−１〜１００−ｎのキャッシュヒットシミュレーション部１２０の動作を説明する。
【００４５】
図９は、キャッシュヒットシミュレーション部１２０の処理を示すフローチャートである。
【００４６】
キャッシュヒットシミュレーション部１２０は、Ｉ／Ｏのキャッシュミスを検出すると、仮想二次キャッシュテーブルを参照する（ステップＳ９０１）。仮想二次キャッシュテーブルが存在しない場合には（ステップＳ９０２のＮＯ）、キャッシュヒットシミュレーション部１２０は、仮想二次キャッシュテーブルを作成する（ステップＳ９０３）。仮想二次キャッシュテーブルが存在する場合には（ステップＳ９０２のＹＥＳ）、キャッシュヒットシミュレーション部１２０は、ステップＳ９０４の処理に移行する。
【００４７】
検出したキャッシュミスがデータ読み出し時のキャッシュミスである場合には（ステップＳ９０４のＹＥＳ）、キャッシュヒットシミュレーション部１２０は、仮想二次キャッシュテーブルを参照し、読み出し対象のデータ（以下、参照データという。）があるか否かを確認する（ステップＳ９０５）。
【００４８】
仮想二次キャッシュテーブルに参照データが存在する場合には（ステップＳ９０６のＹＥＳ）、キャッシュヒットシミュレーション部１２０は、ステップＳ９０９の処理に移行し、シミュレーション結果統計情報の「キャッシュヒット」の回数を加算し更新する。参照データが存在しない場合には（ステップＳ９０６のＮＯ）、キャッシュヒットシミュレーション部１２０は、ステップＳ９１０の処理に移行し、シミュレーション結果統計情報の「キャッシュミス」の回数を加算する。
【００４９】
検出したキャッシュミスがデータ書き込み時のキャッシュミスである場合には（ステップＳ９０４のＮＯ）、キャッシュヒットシミュレーション部１２０は、仮想二次キャッシュテーブルへ追記が可能であるか否かを確認する（ステップＳ９０７）。
【００５０】
仮想二次キャッシュテーブルへ追記が可能な場合には（ステップＳ９０７のＹＥＳ）、キャッシュヒットシミュレーション部１２０は、仮想二次キャッシュテーブルへの追記を行う。そして、キャッシュヒットシミュレーション部１２０は、シミュレーション結果統計情報の「キャッシュヒット」の回数を加算する（ステップＳ９０９）。
【００５１】
仮想二次キャッシュテーブルへ追記が不可能な場合には（ステップＳ９０７のＮＯ）、キャッシュヒットシミュレーション部１２０は、仮想二次キャッシュテーブルを更新する。つまり、ライン入れ替え（Ｒｅｆｉｌｌ）を行う（ステップＳ９０８）。そして、キャッシュヒットシミュレーション部１２０は、シミュレーション結果統計情報の「キャッシュミス」の回数を加算し更新する（ステップＳ９１０）。
【００５２】
次に、分析サーバ２００の各部の動作を説明する。
【００５３】
図１０は、Ｉ／Ｏ負荷分析部２１０の処理を示すフローチャートである。
【００５４】
Ｉ／Ｏ負荷分析部２１０は、ストレージ装置１００−１〜１００−ｎが保持するＩ／Ｏ負荷テーブルを参照し、すべてのストレージ装置から負荷情報を収集する（ステップＳ１００１）。そして、Ｉ／Ｏ負荷分析部２１０は、収集した負荷情報をもとに最も負荷の高い論理ディスクを抽出する（ステップＳ１００２）。
【００５５】
Ｉ／Ｏ負荷分析部２１０は、最も負荷の高い論理ディスクを構築するストレージ装置、具体的には、最も負荷の高い論理ディスクを構築するプールへ未使用物理ディスクを追加する構成案と、最も負荷の高い論理ディスクを構築するストレージ装置へＳＳＤ二次キャッシュを追加する構成案と、最も負荷の低いストレージ装置へ論理ディスクを移動する構成案とを、負荷軽減構成案として作成する（ステップＳ１００３）。Ｉ／Ｏ負荷分析部２１０は、負荷軽減構成案を含む情報を出力する（ステップＳ１００４）。
【００５６】
図１１は、負荷軽減構成案の一例を示す説明図である。「案１」は、未使用物理ディスクを追加する構成案の一例である。「案２」は、ＳＳＤ二次キャッシュを追加する構成案の一例である。「案３」は、最も負荷の低いストレージ装置へ論理ディスク移動する構成案の一例である。
【００５７】
図１２は、統計情報分析部２２０の処理を示すフローチャートである。
【００５８】
統計情報分析部２２０は、ストレージ装置１００−１〜１００−ｎが保持するシミュレーション結果統計情報を参照し、全てのストレージ装置からシミュレーション結果統計情報を収集する（ステップＳ１２０１）。そして、統計情報分析部２２０は、収集したシミュレーション結果統計情報をもとに、キャッシュを追加すべきストレージ装置と、追加すべき容量について、キャッシュヒット率が最も高くなるものを抽出する（ステップＳ１２０２）。統計情報分析部２２０は、抽出結果をもとに、最適キャッシュ構成案を作成し、最適キャッシュ構成案を含む情報を出力する（ステップＳ１２０３）。図１３は、最適キャッシュ構成案の一例を示す説明図である。図１３に示すように、最適キャッシュ構成案は、「対象ストレージ番号」と、「追加キャッシュ容量」と、「キャッシュヒット率」とを含む。「対象ストレージ番号」は、キャッシュを追加すべき対象となるストレージ装置の識別番号である。「追加キャッシュ容量」は、そのストレージ装置に二次キャッシュを追加すべき容量である。「キャッシュヒット率」は、追加キャッシュ容量に従って、そのストレージ装置に二次キャッシュを追加した場合のキャッシュヒット率である。
【００５９】
図１４は、最適構成案作成部２３０の処理を示すフローチャートである。
【００６０】
最適構成案作成部２３０は、負荷軽減構成案、最適キャッシュ構成案を参照する（ステップＳ１４０１）。
【００６１】
最適構成案作成部２３０は、負荷軽減構成案および最適キャッシュ構成案の中から、シミュレーションを実行する構成案を選択する（ステップＳ１４０２）。
【００６２】
最適構成案作成部２３０は、選択した構成案にもとづいて、シミュレーションを実行する（ステップＳ１４０３，Ｓ１４０４，Ｓ１４０５）。具体的には、構成変更の対象となるストレージ装置のＩ／Ｏログを参照して性能向上率を算出する。図１４に示す、ステップＳ１４０３における“ＨＤＤ追加シミュレーション”は、「案１」のシミュレーションに相当する。ステップＳ１４０４における“ＬＤ移動シミュレーション”は、「案３」のシミュレーションに相当する。ステップＳ１４０５における“二次キャッシュ追加シミュレーション”は、「案２」および最適キャッシュ構成案のシミュレーションに相当する。
【００６３】
最適構成案作成部２３０は、実行したシミュレーションについて、元の状態からの性能向上率を％形式で算出する。最適構成案作成部２３０は、算出結果を比較テーブルに書き込む（ステップＳ１４０６）。図１５は、比較テーブルの一例を示す説明図である。なお、図１５に示す「キャッシュ追加」の値は、最適キャッシュ構成案に対応する性能向上率を示す。
【００６４】
ステップＳ１４０７の後、最適構成案作成部２３０は、シミュレーションを実行していない構成案があるか否かを確認する（ステップＳ１４０７）。
【００６５】
シミュレーションを実行していない構成案がある場合には（ステップＳ１４０７のＹＥＳ）、最適構成案作成部２３０は、ステップＳ１４０２の処理に戻る。全ての構成案についてシミュレーションを実行済みである場合には（ステップＳ１４０７のＮＯ）、最適構成案作成部２３０は、比較テーブルを参照して、最も性能向上率が良い構成案を最適構成案として選択し、最適構成案を含む情報を出力する（ステップＳ１４０８）。図１６は、最適構成案の一例を示す説明図である。図１６は、最適構成案として、図１１に示す「案１」が選択された場合の例である。
【００６６】
ここで、ステップＳ１４０３〜Ｓ１４０５における各シミュレーションについて説明する。
【００６７】
ＨＤＤ追加シミュレーションでは、最適構成案作成部２３０は、Ｉ／Ｏログを参照し、アクセスしたアドレスを判断し、当該アドレスと、物理ディスクを追加した際のＲＡＩＤ構成とから負荷がどれだけ分散されるかを算出する。例えば、図２に示すように、５つの物理ディスクを使って、ＲＡＩＤ５（４＋ｐ）でＬＤが構成されている場合、物理ディスクを１つ追加することにより、負荷は５／６となる。そのため、物理ディスクへの単位時間当たりのＩ／Ｏ数は５／６になり、実行時間は５／６となる。すなわち性能は６／５となる。従って、性能向上率は＋２０％と算出される。
【００６８】
二次キャッシュ追加シミュレーションでは、最適構成案作成部２３０は、仮想のキャッシュヒット率、つまり、シミュレーション結果統計情報に記録されたキャッシュヒット率と、ＬＤへの実Ｉ／Ｏ数、つまり、Ｉ／Ｏ負荷テーブルに記録されたアクセス回数とから、キャッシュヒットとなるＩ／Ｏ数の合計を算出し、ストレージ装置のディスクアクセス時間を乗算する。そして、最適構成案作成部２３０は、二次キャッシュの追加前と追加後のＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）を算出し、性能向上率を求める。
【００６９】
ＬＤ移動シミュレーションでは、最適構成案作成部２３０は、ＬＤの移動によるストレージ装置へのＩ／Ｏ数の変化から性能向上率を算出する。具体的には、ＬＤの移動によってストレージ装置への合計Ｉ／Ｏ数が移動対象のＬＤ分無くなるので、最適構成案作成部２３０は、その差から性能向上率を算出する。
【００７０】
図１７は、構成割り当て部２４０の処理を示すフローチャートである。
【００７１】
構成割り当て部２４０は、最適構成案を参照し（ステップＳ１７０１）、最適構成案に従って、対象のストレージ装置へリソースの追加または移動を指示する（ステップＳ１７０２〜Ｓ１７０５）。具体的には、構成変更指示を対象のストレージ装置に入力する。構成割り当て部２４０は、ステップＳ１７０４において、ＬＤの移動を指示した場合には、仮想ディスクマッピングテーブルを更新する。
【００７２】
構成変更指示を受け取ったストレージ装置は、構成変更指示に従い、物理ディスクの追加、ＳＳＤ二次キャッシュの追加またはＬＤの移動を実行する。
【００７３】
ストレージ装置１００−１〜１００−ｎおよび分析サーバ２００が上記の処理を繰り返すことで、リソース割り当てシステムは、精度の高い性能予測にもとづいた、物理ディスク、論理ディスクおよび二次キャッシュなどのストレージリソースの追加や再配置を行うことができる。それにより、期待通りの性能向上を実現することが可能となる。
【００７４】
以上に説明したように、本実施形態では、リソースの構成案（負荷軽減構成案、最適キャッシュ構成案）について、構成変更の対象となるストレージ装置のＩ／Ｏログをもとに性能向上率を算出する。それにより、構成変更による性能向上率を高い精度で算出することができる。そのため、算出した性能向上率と実際の性能向上率との誤差を減少させ、性能予測の精度を向上させることができる。また、ストレージリソースの追加や割り当て時のＩ／Ｏ特性の変化を抑えることができる。従って、業務運用において期待されるサービスレベルを満たしつつ、ストレージリソースの再配置を行うことができる。
【００７５】
また、本実施形態では、負荷軽減構成案および最適キャッシュ構成案から、性能向上率が最も高い構成案を選択し、当該構成案にもとづいてストレージリソースの構成変更を行う。従って、算出した性能向上率と実際の性能向上率との誤差をより減少させることができ、性能予測の精度をさらに向上させることができる。
【００７６】
また、本実施形態では、Ｉ／Ｏ解析部およびキャッシュヒットシミュレーション部が出力する情報をもとに、最適構成案を作成する。つまり、各ストレージ装置と分析サーバとが保持する情報のみにもとづいて、最適構成案を作成する。つまり、業務サーバの情報を必要とせずに、最適構成案を作成することができる。従って、業務サーバ群がシステムの外部に設置されている場合など、個々の業務の状況や質についての情報を入手できない場合でも、業務運用において期待されるサービスレベルを満たすことができる。
【００７７】
なお、本実施形態では、仮想ディスク割り当て装置がリソース割り当てシステムに含まれる場合を例にしたが、仮想ディスク割り当て装置はリソース割り当てシステムに含まれていなくてもよい。つまり、既存の仮想ディスク割り当て装置を用いてもよい。
【００７８】
なお、ＲＡＩＤを構成するハードディスクがいくつあっても、ストライプサイズは一定であることが望ましい。例えば、８台並列のハードディスクで構成するＲＡＩＤ５であっても、ストライプサイズは４＋ｐ相当で構成することが望ましい。これにより、ＬＤをＲＡＩＤ間で移動させてもストライプサイズは変わらず、性能の変動の予測が容易になる。また、ＬＤの移動に伴うストライプサイズ変更も利用者側には不可視になる。
【００７９】
図１８は、本発明によるリソース割り当てシステムの最小構成を示すブロック図である。図１８に示すように、リソース割り当てシステムは、論理ディスクに対するデータ入出力要求を解析し、解析結果を負荷情報に記録するデータ入出力解析部１１（図１に示すストレージ装置１００−１〜１００−ｎにおけるＩ／Ｏ解析部１１０に相当。）と、二次キャッシュを追加した場合のキャッシュヒット率を算出するキャッシュヒット率算出部１２（図１に示すストレージ装置１００−１〜１００−ｎにおけるキャッシュヒットシミュレーション部１２０に相当。）とを含む複数のストレージ装置１０−１〜１０−ｎ（図１に示すストレージ装置１００−１〜１００−ｎに相当。）と、負荷情報にもとづくストレージリソースの構成案を生成する負荷分析部２１（図１に示す分析サーバ２００におけるＩ／Ｏ負荷分析部２１０に相当。）と、キャッシュヒット率にもとづくストレージリソースの構成案を生成する統計情報分析部２２（図１に示す分析サーバ２００における統計情報分析部２２０に相当。）と、負荷分析部２１および統計情報分析部２２が生成する各構成案について、ストレージ装置の性能向上率を算出し、性能向上率が最も良い構成案を最適構成案として選択する最適構成案作成部２３（図１に示す分析サーバ２００における最適構成案作成部２３０に相当。）と、最適構成案にもとづいて、ストレージ装置１０−１〜１０−ｎに対してストレージリソースの構成変更を指示する構成割り当て部２４（図１に示す分析サーバ２００における構成割り当て部２４０に相当。）とを含む分析装置２０（図１に示す分析サーバ２００に相当。）とを備える。
【００８０】
そのような構成によれば、構成変更による性能向上率を高い精度で算出することができ、実際の性能向上率との誤差を減少させ、性能予測の精度を向上することができる。そのため、ストレージリソースの追加や割り当て時のＩ／Ｏ特性の変化を抑えることができる。従って、業務運用において期待されるサービスレベルを満たしつつ、ストレージリソースの再配置を行うことができる。また、業務サーバの情報を必要とせずに、最適構成案を作成することができる。従って、個々の業務の状況や質についての情報を入手できない場合でも、業務運用において期待されるサービスレベルを満たすことができる。
【００８１】
上記の実施形態には、以下のようなリソース割り当てシステムも開示されている。
【００８２】
（１）データ入出力解析部１１は、論理ディスクに対するデータ入出力のアクセス先とアクセス回数とを負荷情報に記録し、負荷分析部２１は、負荷情報をもとに各ストレージ装置の負荷を分析し、分析結果にもとづいて、物理ディスク、論理ディスクおよび二次キャッシュに関する構成案を生成するリソース割り当てシステム。
【００８３】
そのような構成によれば、論理ディスクに対する負荷をより精度よく算出することができる。また、各ストレージ装置と分析サーバとが保持する情報のみにもとづいて、負荷軽減構成案を作成することができる。つまり、業務サーバの情報を必要とせずに、負荷軽減構成案を作成することができる。
【００８４】
（２）負荷分析部２１は、負荷情報をもとに、最も負荷が高い論理ディスクを抽出し、当該論理ディスクを構築するストレージ装置へ二次キャッシュまたは物理ディスクを追加する案、他のストレージ装置へ当該論理ディスクを移動する案を構成案として生成するリソース割り当てシステム。
【００８５】
そのような構成によれば、最も負荷が高い論理ディスクに対する負荷軽減を考慮した、負荷軽減構成案を作成することができる。
【００８６】
（３）キャッシュヒット率算出部１２は、一次キャッシュに対するキャッシュミスを検出した際に、キャッシュミスしたデータ入出力の内容にもとづいて、仮想的な二次キャッシュである仮想二次キャッシュテーブルに対してアクセスを実行し、実行結果をもとに二次キャッシュを追加した場合のキャッシュヒット率を算出し、統計情報分析部２２は、キャッシュヒット率の算出結果をもとに、二次キャッシュを追加した場合にキャッシュヒット率が最も高くなる、ストレージ装置と二次キャッシュ容量との組み合わせを示す構成案を生成するリソース割り当てシステム。
【００８７】
そのような構成によれば、キャッシュヒット率をより精度よく算出することができる。また、各ストレージ装置と分析サーバとが保持する情報のみにもとづいて、最適キャッシュ構成案を作成することができる。つまり、業務サーバの情報を必要とせずに、最適キャッシュ構成案を作成することができる。
【符号の説明】
【００８８】
１０−１〜１０−ｎ、１００−１〜１００−ｎ  ストレージ装置
１１  データ入出力解析部
１２  キャッシュヒット率算出部
２０  分析装置
２１  負荷分析部
２２、２２０  統計情報分析部
２３、２３０  最適構成案作成部
２４、２４０  構成割り当て部
１１０  Ｉ／Ｏ解析部
１２０  キャッシュヒットシミュレーション部
２００  分析サーバ
２１０  Ｉ／Ｏ負荷分析部
３００  仮想ディスク割り当て装置
３１０  仮想ディスクマッピング部
４００−１〜４００−ｎ  業務サーバ
【図１】
2014186590.tif 000003
【図２】
2014186590.tif 000004
【図３】
2014186590.tif 000005
【図４】
2014186590.tif 000006
【図５】
2014186590.tif 000007
【図６】
2014186590.tif 000008
【図７】
2014186590.tif 000009
【図８】
2014186590.tif 000010
【図９】
2014186590.tif 000011
【図１０】
2014186590.tif 000012
【図１１】
2014186590.tif 000013
【図１２】
2014186590.tif 000014
【図１３】
2014186590.tif 000015
【図１４】
2014186590.tif 000016
【図１５】
2014186590.tif 000017
【図１６】
2014186590.tif 000018
【図１７】
2014186590.tif 000019
【図１８】
2014186590.tif 000020