(57)【要約】  一実施形態において、管理計算機はホスト計算機とストレージ装置と通信し、メモリとＣＰＵとを備える。ホスト計算機及びストレージ装置が備える、性能の異なる複数の記憶媒体の情報を含み、記憶媒体より提供される記憶領域と、ホスト計算機とを関連付けて示す、構成情報をメモリに格納する。ＣＰＵは、ホスト計算機によるアクセスの特性及び割当てる記憶領域の容量の情報を含む、ホスト計算機への記憶領域の割当て要求を受け付けると、構成情報を参照して、ストレージ装置及びホスト計算機が備える記憶媒体の中から、要求に含まれるアクセス特性に基づいて、要求された容量の記憶領域を提供可能な記憶媒体を選択し、選択した記憶媒体より記憶領域をホスト計算機に割り当てる構成案を生成し、出力する。
2016157274.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機とストレージ装置と通信し、
前記ホスト計算機及び前記ストレージ装置が備える、性能の異なる複数の記憶媒体の情報を含み、前記記憶媒体より提供される記憶領域と前記ホスト計算機とを関連付けて示す、構成情報を格納するメモリと、
前記メモリに接続され、
前記ホスト計算機によるアクセスの特性及び割当てる記憶領域の容量の情報を含む、前記ホスト計算機への記憶領域の割当て要求を受け付け、
前記構成情報を参照して、前記ストレージ装置及び前記ホスト計算機が備える記憶媒体の中から、前記要求に含まれるアクセス特性に基づいて、前記容量の記憶領域を提供可能な前記記憶媒体を選択し、
前記選択した記憶媒体より前記容量の記憶領域を前記ホスト計算機に割り当てる構成案を生成し、
前記構成案を出力する、ＣＰＵと、
を備えることを特徴とする管理計算機。
【請求項２】
前記ＣＰＵが、
前記構成案に基づいて前記ホスト計算機へ前記記憶領域の割り当てがされるよう制御する、
請求項１に記載の管理計算機。
【請求項３】
前記構成情報は、
前記記憶領域に格納され前記ホスト計算機により実行される仮想マシンを、前記記憶領域と関連付けて示す情報を含み、
前記ＣＰＵは、前記仮想マシンに対する記憶領域の割当て要求を受け付けて、前記構成案を生成する
請求項２に記載の管理計算機。
【請求項４】
前記要求に含まれるアクセス特性の情報には、前記仮想マシンより発行されるＲａｎｄｏｍ  Ｉ／ＯとＳｅｑｕｅｎｔｉａｌ  Ｉ／Ｏの比率の情報と、Ｒｅａｄ  Ｉ／ＯとＷｒｉｔｅ  Ｉ／Ｏの比率の情報を含む、
請求項３に記載の管理計算機。
【請求項５】
前記ホスト計算機及び前記ストレージ装置が備える記憶媒体にＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅを含む、
請求項４に記載の管理計算機。
【請求項６】
前記ＣＰＵは、
前記Ｒａｎｄｏｍ  Ｉ／ＯとＳｅｑｕｅｎｔｉａｌ  Ｉ／Ｏの比率の情報と、Ｒｅａｄ  Ｉ／Ｏ  とＷｒｉｔｅ  Ｉ／Ｏの比率の情報に基づき、前記ホスト計算機が備えるＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅを前記仮想マシンが利用可能なキャッシュとして割当てるか否かを判断し、前記構成案を生成する
請求項５に記載の管理計算機。
【請求項７】
前記ＣＰＵは、
さらに、前記ホスト計算機が備えるＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅの空き容量に関する第一の閾値を算出し、前記第一の閾値に基づいて、前記仮想マシンに前記ホスト計算機が備えるＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅを割当てるか否かを判断し、
前記要求に含まれるＲａｎｄｏｍ  Ｉ／ＯとＳｅｑｕｅｎｔｉａｌ  Ｉ／Ｏの比率と、Ｒｅａｄ  Ｉ／Ｏ  とＷｒｉｔｅ  Ｉ／Ｏの比率に基づいて、前記第一の閾値を変更する
請求項６に記載の管理計算機。
【請求項８】
前記ＣＰＵは、
前記要求に含まれるＲｅａｄ  Ｉ／Ｏの比率が大きい場合、前記第一の閾値を、前記Ｒｅａｄ  Ｉ／Ｏの比率が小さい場合と比較して小さな値として算出することで、前記Ｒｅａｄ  Ｉ／Ｏの比率が大きな仮想マシンに前記ホスト計算機のＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅを優先して割当てる構成案を生成する
請求項７に記載の管理計算機。
【請求項９】
複数の前記ホスト計算機が、複数の前記仮想マシンが記憶媒体を共有可能なテナントを構成しており、
前記ＣＰＵは、
前記要求の対象である仮想マシンが動作するホスト計算機が属する前記テナントを構成するホスト計算機の中に、前記アクセス特性に対応する記憶媒体を備えるホスト計算機が存在するか否かを検索し、
存在すると判断した場合に、前記検索したホスト計算機が備える記憶媒体より前記仮想マシンに記憶領域を割り当てる構成案を生成する
請求項３に記載の管理計算機。
【請求項１０】
複数の前記ホスト計算機が、複数の前記仮想マシンが記憶媒体を共有可能なテナントを構成しており、
前記ＣＰＵが、
前記要求の対象である仮想マシンが動作するホスト計算機と同じテナントに属する、他のホスト計算機が備える記憶媒体の空き容量に基づいて、前記仮想マシンが動作するホスト計算機が備えるＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅの容量に関する第二の閾値を算出し、
前記第二の閾値に基づき、前記ストレージ装置が備えるＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅを前記仮想マシンに割り当てるか否かを判断し、前記構成案を生成する
請求項８に記載の管理計算機。
【請求項１１】
前記構成情報は、さらに前記仮想マシンに対する要求性能の情報を含み、
前記ＣＰＵは、
前記構成情報を参照して、前記要求性能が高い前記仮想マシンに対して、Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅより優先して記憶領域を割り当てる構成案を生成する
請求項３に記載の管理計算機。
【請求項１２】
前記メモリは、さらに、
前記ストレージ装置が提供する記憶領域に対して、前記ストレージ装置が備える性能の異なる複数の記憶媒体より提供される容量の割合を示す階層ポリシー情報、を格納し、
前記ＣＰＵは、
前記階層ポリシー情報を参照し、前記要求に含まれるアクセス特性に対応する階層ポリシーに基づいて提供された記憶領域を、前記ホスト計算機に割り当てる構成案を生成する、
請求項１に記載の管理計算機。
【請求項１３】
前記構成情報は、前記ホスト計算機に関連付けられた前記記憶領域に対するアクセス特性の情報をさらに含み、
前記ＣＰＵは、
前記要求を受け付ける代わりに、前記構成情報を参照して、前記記憶領域の容量及び前記記憶領域に対するアクセス特性の情報に基づき、前記記憶領域に関連付けられたホスト計算機に対して、前記ストレージ装置または前記ホスト計算機の記憶媒体より異なる記憶領域を割当てる構成変更案を生成する、
請求項１に記載の管理計算機。
【請求項１４】
前記構成情報は、前記記憶媒体より記憶領域を提供される論理ボリュームと前記ホスト計算機とを関連付けて示す情報を含み、前記論理ボリュームに対するアクセス特性の情報をさらに格納し、
前記ＣＰＵは、
前記要求を受け付ける代わりに、前記論理ボリュームに格納されたデータが他の論理ボリュームへ移動されることを契機として、
前記構成情報を参照し、移動元の論理ボリュームの容量及び前記移動元の論理ボリュームに対するアクセス特性の情報に基づき、前記論理ボリュームに関連付けられたホスト計算機に対して、前記ストレージ装置または前記ホスト計算機の記憶媒体より記憶領域を割当てる構成変更案を生成する
請求項１に記載の管理計算機。
【請求項１５】
前記構成情報は、前記記憶媒体より記憶領域を提供される論理ボリュームと前記仮想マシンとを関連付けて示す情報、前記論理ボリュームに対するアクセス特性の情報、及び、前記論理ボリューム及び前記論理ボリュームに関連付けられた仮想マシンのスループットの情報を含み、
前記ＣＰＵは、
前記要求を受け付ける代わりに、第一の論理ボリュームに格納された前記仮想マシンのデータが、第二の論理ボリュームへ移動されることを契機として、
前記構成情報を参照して、前記第一の論理ボリュームの前記データ移動後のアクセス特性を、前記構成情報に含まれる前記第一の論理ボリュームに対するアクセス特性と、前記第一の論理ボリューム及び前記仮想マシンのスループットとを用いて算出し、
前記構成情報に含まれる前記第一の論理ボリュームに対するアクセス特性を、前記第二の論理ボリュームの前記データ移動後のアクセス特性として算出し、
前記第一の論理ボリュームと前記第二の論理ボリュームに対して、前記ストレージ装置または前記ホスト計算機の記憶媒体より記憶領域を割当てる構成変更案を生成する、
請求項３に記載の管理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置を含む計算機システムに関し、特に記憶媒体が分散配置される環境における記憶領域の管理技術に関する。
【背景技術】
【０００２】
計算機システムの運用管理においては、資源が有効活用されるよう、ホスト計算機へ計算機システムの記憶領域を割り当てる際に、記憶媒体の特性や利用状況を考慮することが重要である。【０００３】
特許文献１には、ホスト計算機へ割り当てるストレージ装置の記憶領域の管理を支援するために、記憶領域を割り当てる際に、ユーザの操作履歴に基づいて、記憶領域の検索に使用する情報をユーザに提示し、提示された情報により検索されたボリュームをホスト計算機に割り当てる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１３／０１６６５７０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、ホスト計算機のＩ／Ｏ性能を向上させる等の目的で、ホスト計算機内で動作するＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅ（以降、「サーバフラッシュ」と呼ぶ）などの利用が拡大している。【０００６】
ホスト計算機が備える記憶資源と、ストレージ計算機が備える記憶資源とは、それぞれ各ホスト管理計算機とストレージ管理計算機とによって別々に管理されることが一般的である。従来、ホスト管理計算機とストレージ管理計算機は互いの管理情報を共有していないため、それぞれの記憶領域の利用状況や記憶媒体の特性を活かした割り当てを行うことは困難であった。【０００７】
また、たとえばサーバフラッシュは一般的に、ストレージ装置内で動作する場合と同様にＩ／ＯのアクセスパタンがＲａｎｄｏｍである場合に高いＩ／Ｏ性能を発揮する一方で、ストレージ装置内で動作する場合に比べて、データ通信のオーバーヘッドがない分レイテンシ性能に優れる。【０００８】
特許文献１では、記憶領域の割り当ての際に、記憶媒体の用途に依存する性能特性や、ホスト管理計算機が管理する資源を考慮していないため、記憶資源の管理方法について改善の余地があった。【０００９】
本発明は、ホスト計算機とストレージ装置の記憶資源の利用状況に基づき、ホスト計算機のアクセス特性に応じた記憶領域の割当を実現する構成案を生成すること、を目的の１つとする。
【課題を解決するための手段】
【００１０】
本発明の１つの観点に係る管理計算機は、ホスト計算機とストレージ装置と通信し、メモリとＣＰＵとを備える。ホスト計算機及びストレージ装置が備える、性能の異なる複数の記憶媒体の情報を含み、記憶媒体より提供される記憶領域と、ホスト計算機とを関連付けて示す、構成情報をメモリに格納する。ＣＰＵは、ホスト計算機によるアクセスの特性及び割当てる記憶領域の容量の情報を含む、ホスト計算機への記憶領域の割当て要求を受け付けると、構成情報を参照して、ストレージ装置及びホスト計算機が備える記憶媒体の中から、要求に含まれるアクセス特性に基づいて、要求された容量の記憶領域を提供可能な記憶媒体を選択し、選択した記憶媒体より記憶領域をホスト計算機に割り当てる構成案を生成し、出力する。
【発明の効果】
【００１１】
本発明の効果の１つとして、ホスト計算機とストレージ装置の記憶領域の利用状況と記憶媒体の特性とを活かした記憶領域の割当を実現する構成案を生成することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は実施例１の概要を示す。
【図２】図２は実施例１に係る計算機システムの全体構成を示す。
【図３】図３は実施例１に係るホスト計算機の概念図を示す。
【図４】図４は実施例１に係るホスト管理計算機を示す。
【図５】図５は実施例１に係るストレージ装置を示す。
【図６】図６は実施例１に係るストレージ管理計算機を示す。
【図７】図７は実施例１に係るサーバ情報テーブルを示す。
【図８】図８は実施例１に係るストレージボリュームテーブルを示す。
【図９】図９は実施例１に係るストレージプールテーブルを示す。
【図１０】図１０は実施例１に係るリソース割当案生成プログラム内の割り当てリソース決定処理のフローチャートを示す。
【図１１】図１１は実施例２に係るボリュームＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙ設定テーブルを示す。
【図１２】図１２は実施例２に係るＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙテーブルを示す。
【図１３】図１３は実施例３に係るリソース割当案生成プログラムの全体フローチャートを示す。
【図１４】図１４は実施例５に係るリソース割当案生成プログラムの全体フローチャートを示す。
【発明を実施するための形態】
【００１３】
実施例について、図面を参照して説明する。なお、以下に説明する実施例は請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
なお、以下の説明では、「ａａａテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていても良い。データ構造に依存しないことを示すために「ａａａテーブル」を「ａａａ情報」と呼ぶことができる。また、以下の説明では、単にストレージ管理計算機及びホスト計算機、ホスト管理計算機を主語として処理を説明する場合があるが、これらの処理は、計算機が備える制御デバイスが有するプロセッサ（例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））によって、実行されていることを示す。同様に、単にストレージ装置を主語として処理を説明する場合には、ストレージ装置が備えるコントローラが実行していることを示す。また、上記制御デバイス及びコントローラのうちの少なくとも１つは、プロセッサそれ自体であっても良いし、制御デバイス又はコントローラが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。プログラムは、プログラムソースから各計算機或いはストレージ装置にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
【実施例１】
【００１５】
図１は、実施例１の概要を示す図である。ストレージ管理計算機１のＭｅｍｏｒｙ２４には、ホスト計算機に搭載されている記憶媒体の情報とＶＭ（仮想マシン：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）６の情報、ＶＭからストレージ装置の記憶領域までの論理的な構成情報と性能情報が格納されている。ストレージ装置４は物理デバイス５２（記憶媒体群）を保持しており、ホスト計算機５及びＶＭ６の情報が格納されている。ホスト計算機５上にはＶＭ６が動作し、ＶＭ６のデータが物理デバイス５２に格納されている。【００１６】
ストレージ管理計算機１のリソース割当案生成プログラム２は、まずホスト計算機５またはＶＭ６へ割り当てる記憶領域の容量と、要求アクセスパタンとＲｅａｄ比率情報（アクセス特性）の入力を受け付ける。次に、受信した情報と記憶媒体の種別とその配置に基づく性能特性に基づいて、ストレージ装置またはホスト計算機が備える記憶領域からアクセス特性に対応する領域を選択し、リソース割当て案（構成案）を生成、出力する。そして、生成した構成案を設定する処理を実行する。【００１７】
従来、サーバフラッシュはホスト計算機内の記憶資源であり、他のホスト計算機内のサーバフラッシュとは別々に管理される。一方、ストレージ装置は複数のホスト計算機間で共有して利用されることが多い。このため、ホスト計算機（ホスト管理計算機）の管理者とストレージ装置の管理者とが異なっている場合が一般的であった。【００１８】
ストレージ管理の視点では、システム全体の性能を上げるために、Ｉ／Ｏが多いワークロードやＲｅａｄ要求が多いワークロードには、ストレージ計算機が備えるＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅ（以降、「ストレージフラッシュ」と呼ぶ）などの高性能な記憶資源を優先して割り当てることが好ましい。しかし、個別のホスト計算機管理者はシステムの記憶資源の状況が把握できないため、ストレージ管理者に対して、ストレージフラッシュの割り当て要求を、システム全体のバランスを考慮せずに行いうる。その結果、サーバフラッシュが割り当てられているためＲｅａｄ要求がサーバフラッシュに集中し、ストレージへのＲｅａｄ要求が極めて少ないワークロードや、Ｗｒｉｔｅ要求が少ないためストレージへのＩ／Ｏ要求が少ないワークロード、に対して、ストレージフラッシュなどの記憶資源を割り当てる、などの状況が生じうる。また、サーバフラッシュを搭載していないサーバにストレージフラッシュが割り当てられず、テナント間で割り当てリソースに不均衡が生じる、といった状況が発生しうる。【００１９】
本実施例のストレージ管理計算機によれば、上記課題を解決し、ストレージ装置のリソース管理に止まらず、ホスト計算機とストレージ装置の記憶領域の利用状況と記憶媒体の特性とを活かした記憶領域の割当を行う構成案を生成することができる。【００２０】
図２は、実施例１の計算機システムの全体構成を示す。【００２１】
本実施形態の計算機システムは、ホスト計算機５、ストレージ装置４を有する。ホスト計算機５とストレージ装置４とは、データネットワーク１５を介して接続される。更にこの計算機システムは、ホスト管理計算機３５、ストレージ管理計算機１を有する。ホスト計算機５とホスト管理計算機３５とストレージ管理計算機１とストレージ装置４とは、管理ネットワーク１６を介して接続される。【００２２】
データネットワーク１５は、例えばＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であるが、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークであっても良いし、これら以外のデータ通信用ネットワークであっても良い。また、管理ネットワーク１６は、例えばＩＰネットワークであるが、ＳＡＮであっても良いし、これら以外のデータ通信用ネットワークであっても良い。また、データネットワーク１５と管理ネットワーク１６が同一ネットワークであっても良い。また、ホスト計算機５、ホスト管理計算機３５、ストレージ管理計算機１が同一計算機であっても良い。【００２３】
ホスト計算機５は、記憶媒体群７、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８等の制御デバイス、Ｍｅｍｏｒｙ９等の記憶デバイス、Ｍ−Ｉ／Ｆ（Ｍａｎａｇｅｍｅｎｔ−Ｉｎｔｅｒｆａｃｅ）１０、Ｃ−Ｉ／Ｆ（Ｃｏｍｍｕｎｉｃａｔｉｏｎ−Ｉｎｔｅｒｆａｃｅ）１１、Ｉ／Ｏ−Ｉ／Ｆ（Ｉ／Ｏ−Ｉｎｔｅｒｆａｃｅ）１２を有する。なお、ホスト計算機５は、入出力デバイス（キーボード、表示デバイス等）を有しても良い。ＣＰＵ８はＭｅｍｏｒｙ９に格納されたプログラムを実行する。以降、ＣＰＵと呼称するものはいずれも、それに接続されたＭｅｍｏｒｙに格納されているプログラムを実行するものである。Ｍ−Ｉ／Ｆ１０は、管理ネットワーク１６とのインタフェースであって、ストレージ装置４、ホスト管理計算機３５、ストレージ管理計算機１のそれぞれとの間でデータや制御命令の送受信を行う。Ｃ−Ｉ／Ｆ１１は、データネットワーク１５とのインタフェースであって、ストレージ装置４との間でデータや制御命令の送受信を行う。Ｉ／Ｏ−Ｉ／Ｆは、記憶媒体群７とのインタフェースであって、記憶媒体群７との間でデータや制御命令の送受信を行う。【００２４】
なお、図２の例は、ホスト計算機５を２台、ストレージ装置４を２台、ホスト管理計算機３５を２台、ストレージ管理計算機１を１台としたが、この構成に限定されない。また、本実施形態では、ホスト計算機５ａのサーバフラッシュを管理する主体としてホスト管理計算機３５ａを、ホスト計算機５ｂのサーバフラッシュを管理する主体としてホスト管理計算機３５ｂを、それぞれ記載しているが、この構成に限定されない。ホスト管理計算機３５の処理をホスト計算機５が実行してもよく、以降の説明においてホスト管理計算機３５をホスト計算機５と読み替えてもよい。また、データネットワーク１５の中にはＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）スイッチ等のスイッチがあってもよく、当該スイッチがホスト計算機５のＣ−Ｉ／Ｆ１１およびストレージ装置４のＤ−Ｉ／Ｆ５１のそれぞれとの間でデータや制御命令の送受信を行ってもよい。【００２５】
図３は、ホスト計算機５の論理構成を示す。ホスト計算機５は、ＶＭ６を論理的に生成してＶＭ６を実行できるハイパーバイザ（Ｈｙｐｅｒｖｉｓｏｒ：以下「ＨＶ」と呼ぶ）１３を有する。ＨＶ１３は一度に複数のＶＭ６を制御することができる。複数のＶＭ６のそれぞれは、あたかもスタンドアローンの物理計算機のようにアプリケーションを実行できる。【００２６】
図４は、ホスト管理計算機３５を示す。ホスト管理計算機３５は、ＣＰＵ３７、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示装置３８（表示部）、Ｍｅｍｏｒｙ３９、Ｉ／Ｆ３６を有する。なお、ホスト管理計算機３５は、入力デバイス（キーボード等）を有しても良い。Ｉ／Ｆ３６は、管理ネットワーク１６とのインタフェースであって、ストレージ装置４、ホスト計算機５、ストレージ管理計算機１のそれぞれとの間でデータや制御命令の送受信を行う。Ｍｅｍｏｒｙ３９には、ホスト構成管理プログラム４０とホスト設定プログラム４１が格納されている。ホスト構成管理プログラム４０は、各ホスト計算機５の、サーバフラッシュを含む記憶媒体群７などの構成情報等を管理するプログラムである。ホスト構成管理プログラム４０は、後述するストレージ管理計算機１のホスト情報取得プログラム２５と通信して、各種情報を送受信する。ホスト設定プログラム４１は、ホスト計算機５のサーバフラッシュを含む記憶媒体群７の各種設定を実行するプログラムである。各種設定とは、サーバフラッシュをキャッシュとして利用する設定や、サーバフラッシュの任意の容量をＶＭに割り当てる設定を含む。【００２７】
図５は、ストレージ装置４の構成を示す。ストレージ装置４は、ディスクコントローラ５５と物理デバイス５２とを有する。ディスクコントローラ５２は、ＣＰＵ４７、Ｍｅｍｏｒｙ４８、Ｍ−Ｉ／Ｆ４５、ストレージポートであるＨ−Ｉ／Ｆ（Ｈｏｓｔ−Ｉｎｔｅｒｆａｃｅ）４６、Ｄ−Ｉ／Ｆ（Ｄｉｓｋ−Ｉｎｔｅｒｆａｃｅ）５１を有する。Ｍ−Ｉ／Ｆ４５は、管理ネットワーク１６とのインタフェースであって、ホスト計算機５、ホスト管理計算機３５、ストレージ管理計算機１のそれぞれとの間でデータや制御命令の送受信を行う。Ｈ−Ｉ／Ｆ４６は、データネットワーク１５とのインタフェースであって、ホスト計算機５との間で、データや制御命令の送受信を行う。Ｄ−Ｉ／Ｆ５１は、物理デバイス５２との間でデータや制御命令の送受信を行う。【００２８】
物理デバイス５２は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＦｌａｓｈ  Ｍｅｍｏｒｙ  Ｄｒｉｖｅ（ストレージフラッシュ、ＳｔＦ）といった複数の種類の物理記憶媒体５３で構成される。ＨＤＤとは本実施例ではＦｌａｓｈメディア以外の物理記憶媒体を指す。ストレージ装置４は、物理デバイス５２内の複数の物理記憶媒体５３の記憶領域より論理ボリューム５４を作成する。ストレージ装置４に、複数の論理ボリューム５４が作成されて良い。【００２９】
また、論理ボリューム５４は、動的に容量を拡張可能な形式であるＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームであってもよい。Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇは、物理的な記憶領域の一部領域（以下、ページと呼ぶ）を論理ボリュームへ割り当て、動的に記憶領域を拡張することを可能にし、記憶領域を有効活用する技術である。論理ボリューム５４は、Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームへ割り当てるためのページを提供する。ホスト計算機５からのＩ／Ｏを受けた時点で、ページがプールに含まれる論理ボリューム５４からＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームへ割り当てられることにより、動的にＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームの容量を拡張することができる。【００３０】
Ｍｅｍｏｒｙ４８には、ストレージ構成管理プログラム４９、及びストレージ設定プログラム５０が記憶される。ストレージ構成管理プログラム４９は、ストレージ装置４の構成情報を管理するプログラムである。また、ストレージ構成管理プログラム４９は、後述するストレージ管理計算機１のストレージ情報取得プログラム２７と通信して、各種情報を送受信する。ストレージ設定プログラム５０は、ストレージ装置４の各種設定を実行するプログラムである。各種設定には、論理ボリューム５４に対して、読み書きされるデータを一時的に格納するキャッシュ領域を確保する設定や、論理ボリューム５４に対して、読み書き処理を実行するプロセッサを確保する設定等、ホスト計算機５へのアクセス性能を向上させるための設定を含む。【００３１】
図６はストレージ管理計算機１の構成を示す。ストレージ管理計算機１は、ＣＰＵ２１、ＬＣＤなどの表示装置２２（表示部）、Ｍｅｍｏｒｙ２４、Ｉ／Ｆ２３を有する。さらに入力デバイス（キーボード等）を有して良い。Ｉ／Ｆ２３は、管理ネットワーク１６とのインタフェースであって、ストレージ装置４、ホスト計算機５、ホスト管理計算機３５のそれぞれとの間でデータや制御命令の送受信を行う。Ｍｅｍｏｒｙ２４には、ホスト情報取得プログラム２５と、ストレージ情報取得プログラム２７と、リソース割当案生成プログラム２とを含むプログラムが記憶されている。更にＭｅｍｏｒｙ２４には、サーバ情報テーブル３１と、ストレージボリュームテーブル３２と、ストレージプールテーブル３３とを含む情報テーブルが記憶されている。【００３２】
なお、便宜上「ストレージ管理計算機１」と呼称するが、本実施例で説明する通り、本計算機の管理対象はストレージ装置に限定されない。【００３３】
図７はサーバ情報テーブル３１を示す。本テーブルは、ホスト計算機５の情報を管理するためのテーブルである。また、サーバ情報テーブル３１は、ホスト計算機が属するテナントを示すテナントＩＤ６０と、ホスト計算機を示すＳｖ  ＩＤ６１と、ホスト計算機上で動作するＶＭを示すＶＭ  ＩＤ６２と、ＶＭの総容量を示すＶＭ  Ｃａｐａｃｉｔｙ１２０と、ホスト計算機が備えるサーバフラッシュを示すＳｖＦ  ＩＤ６３と、サーバフラッシュの総容量を示すＳｖＦ  Ｔｏｔａｌ  Ｃａｐａｃｉｔｙ６４と、サーバフラッシュの割当済容量を示すＳｖＦ  Ａｌｌｏｃａｔｅｄ  Ｃａｐａｃｉｔｙ６５と、ホスト計算機に内蔵されているハードディスクの総容量を示すＨＤＤ  Ｔｏｔａｌ  Ｃａｐａｃｉｔｙ６６と、ハードディスクの使用済み容量を示すＨＤＤ  Ｕｓｅｄ  Ｃａｐａｃｉｔｙ６７と、ホスト計算機およびＶＭのワークロードのＲｅａｄ  Ｉ／Ｏ比率を示すＲｅａｄ  Ｒａｔｅ６８と、ホスト計算機およびＶＭのワークロードに要求される性能を示すＲｅｑｕｉｒｅｄ  Ｐｅｒｆｏｒｍａｎｃｅ６９と、を有する。テナントとはホスト計算機の論理的なグループを指し、ＶＭやアプリケーションは、同一テナント内に属するホスト計算機間で移行可能である。【００３４】
更にこのテーブルは、リソース間の対応関係を規定している。ＶＭ  ＩＤ６２は例えば、対象のホスト計算機がＶＭを動作させていないことを示す情報として、「ｎｕｌｌ」が格納されうる。同様にＳｖＦ  ＩＤ６３にも例えば、対象のホスト計算機にサーバフラッシュが搭載されていないことを示す情報として「ｎｕｌｌ」が格納されうる。Ｒｅｑｕｉｒｅｄ  Ｐｅｒｆｏｒｍａｎｃｅ６９は例えば、対象のホスト計算機およびＶＭのワークロードの要求性能が高いことを意味する情報として、「Ｈｉｇｈ」が格納されうる。また、Ｐｅｒｆｏｒｍａｎｃｅ６９は例えば、要求性能が設定されていないことを示す情報として「ｎｕｌｌ」を格納することができる。【００３５】
図８はストレージボリュームテーブル３２を示す。本テーブルは、ストレージ装置４の論理ボリューム５４の情報を管理するためのテーブルである。また、ストレージボリュームテーブル３２は、論理ボリュームを示すＶＯＬ  ＩＤ７０と、論理ボリュームを提供するストレージ装置を示すＳｔｏｒａｇｅ  ＩＤ７１と、論理ボリュームのタイプを示すＶＯＬ  ｔｙｐｅ７２と、論理ボリュームの総容量を示すＣａｐａｃｉｔｙ７３と、論理ボリュームの使用済み容量を示すＵｓｅｄ  Ｃａｐａｃｉｔｙ７４と、論理ボリュームが割り当てられているストレージ装置のターゲットポートを示すＴａｒｇｅｔ  Ｐｏｒｔ  ＩＤ７５と、論理ボリュームが割り当てられているイニシエータポートを有する機器を示すＩｎｉｔｉａｔｏｒ  ＩＤ７６と、論理ボリュームが割り当てられているＶＭを示すＶＭ  ＩＤ７７と、論理ボリュームが割り当てられているイニシエータポートを示すＩｎｉｔｉａｔｏｒ  Ｐｏｒｔ  ＩＤ７８と、論理ボリュームが構成されている元となるリソースを示すＳｏｕｒｃｅ  Ｒｅｓｏｕｒｃｅ  ＩＤ７９と、論理ボリュームの物理記憶媒体の種別を示すＤｒｉｖｅ  Ｔｙｐｅ８０と、論理ボリュームへのＲｅａｄ  Ｉ／Ｏ比率を示すＲｅａｄ  ｒａｔｅ８１と、論理ボリュームへのＲａｎｄｏｍ  Ｉ／Ｏ比率を示すＲａｎｄｏｍ  ｒａｔｅ８２と、を有する。【００３６】
本実施例では、ＶＯＬ  ｔｙｐｅ７２が「ＶＶＯＬ」である場合、ストレージプールからプールボリュームを提供されて構成されるＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームを指す。Ｓｏｕｒｃｅ  Ｒｅｓｏｕｒｃｅ  ＩＤ７９は、後述のストレージプールテーブル３３で管理されるプールのＩＤとなる。一方、ＶＯＬ  ｔｙｐｅ７２が「ＬＤＥＶ」である場合、Ｓｏｕｒｃｅ  Ｒｅｓｏｕｒｃｅ  ＩＤ７９には、別途管理されているストレージ装置の物理記憶媒体のＩＤが格納される。Ｓｏｕｒｃｅ  Ｒｅｓｏｕｒｃｅ  ＩＤ７９に物理記憶媒体の情報が格納されている論理ボリュームは、記憶領域として直接ホスト計算機に提供されるボリュームであっても良い。また、プールボリュームとして後述のストレージプールテーブル３３に管理され、Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームに提供されても良い。【００３７】
更にこのテーブルは、リソース間の対応関係を規定している。Ｉｎｉｔｉａｔｏｒ  ＩＤ７６は例えば、サーバ情報テーブル３１のＳｖ  ＩＤ６１に示されるホスト計算機の識別子が格納される。Ｄｒｉｖｅ  Ｔｙｐｅ８０は例えば、論理ボリュームを構成する物理記憶媒体の種別を示す情報として「ＳＳＤ」などが格納されうる。また、論理ボリュームがＴａｒｇｅｔ  ＰｏｒｔおよびＩｎｉｔｉａｔｏｒ  Ｐｏｒｔに割り当てられていない場合、Ｔａｒｇｅｔ  Ｐｏｒｔ  ＩＤ７５と、Ｉｎｉｔｉａｔｏｒ  ＩＤ７６と、ＶＭ  ＩＤ７７と、Ｉｎｉｔｉａｔｏｒ  Ｐｏｒｔ  ＩＤ７８と、は「ｎｕｌｌ」が格納される。なお、実施例１においては、Ｒｅａｄ  ｒａｔｅ８１及びＲａｎｄｏｍ  ｒａｔｅ８２は、必ずしも格納されなくてもよい。【００３８】
図９はストレージプールテーブル３３を示す。本テーブルは、ストレージ装置４の論理ボリュームの一形態であるＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームを構成するプールの情報を管理するためのテーブルである。ストレージプールテーブル３３により、論理ボリュームとプールを構成する論理ボリュームとの対応関係が分かる。【００３９】
具体的に、ストレージプールテーブル３３は、以下の情報を有する。Ｓｔｏｒａｇｅ  ＩＤ９０は、プールを有するストレージ装置４を識別するための情報である。プールＩＤ９１は、プールを識別するための情報である。Ｄｒｉｖｅ  Ｔｙｐｅ９６は、プールを構成する物理記憶媒体の種別を示す情報である。Ｐａｇｅ  ＩＤ９２は、プールに属するページを識別するための情報である。ＶＯＬ  ＩＤ９３は、ページを有するＶＯＬを識別するための情報である。ＶＯＬ  ＬＢＡ９４は、ＶＯＬにおけるページの位置（例えば、ページの先頭のＬＢＡとそのページの末端のＬＢＡ）を示す情報である。Ｐｏｏｌ  ＶＯＬ  ＩＤ９５は、ページの割当先の記憶領域を有する論理ボリューム５４を識別するための情報である。「Ｎ／Ａ（Ｎｏｔ／Ａｓｓｉｇｎｅｄ）」は、ページがどの記憶領域にも割り当てられていないことを示す。【００４０】
サーバ情報テーブル３１、ストレージボリュームテーブル３２、ストレージプールテーブル３３をあわせて、あるいはその一部を指して、計算機システムの「構成情報」と呼んで良い。【００４１】
次に、ストレージ管理計算機１の動作の詳細について説明する。まずホスト情報取得プログラム２５の処理について説明する。ホスト情報取得プログラム２５は、ホスト管理計算機３５のホスト構成管理プログラム４０からホスト計算機５の構成・性能情報を取得し、サーバ情報テーブル３１等へ格納する処理を行う。具体的に、ホスト情報取得プログラム２５は、各ホスト計算機５の構成・性能情報とＶＭ６の構成情報とをサーバ情報テーブル３１へ格納する。なお、ホスト情報取得プログラム２５は、これらの処理を定期的に実行してもよいし、ユーザ操作に応じて実行してもよい。【００４２】
ストレージ情報取得プログラム２７は、ストレージ装置４のストレージ構成管理プログラム４９からストレージ装置４の構成情報を取得し、取得された構成情報に基づいて、ストレージボリュームテーブル３２とストレージプールテーブル３３とを更新する処理を行う。ストレージボリュームテーブル３２に関しては、ストレージ情報取得プログラム２７は、取得したストレージ装置４の構成情報を、サーバ情報テーブル３１に格納された、ホスト計算機の識別子（Ｉｎｉｔｉａｔｏｒ  ＩＤ７６、Ｓｖ  ＩＤ６１）が共通するＶＭ６の情報と対応付けて格納する。なお、ストレージ情報取得プログラム２７は、これらの処理を定期的に実行してもよいし、ユーザ操作に応じて実行してもよい。【００４３】
次に、リソース割当案生成プログラム２の処理について説明する。リソース割当案生成プログラム２は、ユーザからの入力により通知されたリソース割当に関する要求情報を受信し、受信した情報と、サーバ情報テーブル３１、ストレージボリュームテーブル３２、及びストレージプールテーブル３３に格納されている情報に基づいて、物理記憶媒体の種類と配置とを考慮したリソース割当案を生成する。【００４４】
リソース割当て処理の概要を説明する。まず、リソース割当案生成プログラム２は、リソースを割り当てるホスト計算機及びＶＭの識別子、割り当てる記憶領域（または論理ボリューム）の容量、割り当てる記憶領域にＶＭ（またはホスト計算機）が発行（アクセス）するアクセスパタンの情報、Ｉ／ＯのＲｅａｄ比率の情報の指定を含む、ユーザの入力を受け付ける（Ｓ１）。なお、容量の割当て対象がＶＭでない場合は、ホスト計算機の識別子のみが指定される。以降、リソースを割当てる対象であるＶＭ、またはホスト計算機を指す場合に、あわせて「ＶＭ等」と呼ぶことがある。【００４５】
Ｉ／Ｏのアクセスパタンとは、シーケンシャルアクセスとランダムアクセスの比率を指し、シーケンシャルアクセスが優勢な「Ｓｅｑｕｅｎｔｉａｌ」、ランダムアクセスが優勢な「Ｒａｎｄｏｍ」、また、シーケンシャルとランダムのアクセス比率が同程度である「Ｂａｌａｎｃｅｄ」などの指定がされる。ＶＭ等で動作させるアプリケーションの特性等に基づいてユーザが判断し、指定するとして良い。この情報を、以降、「要求アクセスパタン」と呼ぶ。また、Ｒｅａｄ比率は、当該ＶＭ等で動作させるアプリケーションが行う処理が、データの読み出しが主である場合は「Ｒｅａｄ」、書き込みが主である場合は、「Ｗｒｉｔｅ」、同程度の比率の場合は「Ｂａｌａｎｃｅｄ」と指定される。この情報を、以降、「要求Ｉ／Ｏ種別」と呼ぶ。【００４６】
ユーザから受け付ける入力内容は、たとえば、「Ｓｖ  ＩＤ００１のホスト計算機上のＶＭ  ＩＤ  ００２に対して、１０００ＧＢの記憶領域の割当てを要求する。当該ＶＭからの要求アクセスパタンは「Ｒａｎｄｏｍ」であり、要求Ｉ／Ｏ種別は「Ｒｅａｄ」である」、などの情報である。ユーザの入力は、キーボードやマウスなどの入力装置や表示装置２２を介して受信しても良いし、他のプログラムから受信しても良く、これら以外の受信方法であっても良い。【００４７】
次に、リソース割当案生成プログラム２はテーブル３１−３３を参照し、ホスト計算機５とストレージ装置４の情報を取得する（Ｓ２）。そして、Ｓ１、Ｓ２で取得した情報に基づいて割り当てリソース決定を実施し（Ｓ３）、処理を終了する。割当てるリソースの選択肢の具体例としては、たとえば、ストレージ装置「Ｓｔ１」の記憶領域から、ＨＤＤ５００ＧＢを提供する論理ボリュームを割当ててさらにサーバフラッシュ５００ＧＢをキャッシュとして割当てる、などである。または、ストレージ装置「Ｓｔ１」のストレージフラッシュ５００ＧＢを提供する論理ボリュームを割り当てる、あるいはホスト計算機のＨＤＤ１００ＧＢのみを割当てる、などが挙げられる。【００４８】
ＶＭ等で動作させるアプリケーションのアクセスのパタンとＲｅａｄ比率によって、どのような性能の記憶メディアが適切か、および、レイテンシ性能の観点からホスト計算機とストレージいずれのリソースの方が適切であるかが異なる。したがって、それらの条件と、リソースの利用状況とを考慮して割当てを決定する。たとえば、要求アクセスパタンが「Ｓｅｑｕｅｎｔｉａｌ」であれば、割当てる記憶媒体として、ＦｌａｓｈメディアよりＨＤＤを優先し、さらに、レイテンシ性能に優れるホスト計算機のＨＤＤをストレージ装置のＨＤＤより優先して割当てる。また、要求Ｉ／Ｏ種別が「Ｒｅａｄ」であれば、サーバフラッシュの割当てがあった方が良いが、さらに要求アクセスパタンが「Ｂａｌａｎｃｅｄ」であれば、「Ｒａｎｄｏｍ」より優先度を下げ、サーバフラッシュの空き容量に余裕があれば割当てる。ストレージ装置のリソースはＨＤＤでよい。【００４９】
これらの条件は複合的に判断される。本実施例における判断基準の詳細は、図１０を用いて説明する。アクセスパタンとＩ／Ｏ種別とを合わせて、またはそのいずれかを指して、「アクセス特性」と呼んでよい。【００５０】
なお、本実施例の構成案においては、ストレージ装置の記憶領域は、Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームとしてホスト計算機に提供されることを前提とするが、それ以外の論理ボリュームや記憶領域を割当てる構成案を生成可能として良い。その場合、ユーザが入力する容量割当て要求に、ボリュームの種別の指定を含むこととしても良い。【００５１】
図１０は割り当てリソース決定処理（Ｓ３）の詳細を示す。要求アクセスパタンと要求Ｉ／Ｏ種別、システムリソースの使用状況、及び指定されたＶＭ等に割当て済みのリソースに応じて、リソース割当生成プログラム２が、指定されたＶＭ等に割当てるリソースを決定する。【００５２】
まず、リソース割当案生成プログラム２は、入力を受け付けた要求アクセスパタンと要求Ｉ／Ｏ種別を判定する（Ｓ４）。Ｓ４で判定の結果、要求アクセスパタン＝Ｂａｌａｎｃｅｄ、且つ要求Ｉ／Ｏ種別＝Ｒｅａｄの場合、サーバ情報テーブル３１を参照し、指定されたＶＭが動作するホスト計算機が備えるサーバフラッシュに閾値Ａ以上の空き容量が存在するか否かを判定する（Ｓ５）。Ｓ５の閾値Ａとは、確保しておくべき空き容量を管理するための情報であり、例えば以下の計算式で計算される。【００５３】
閾値Ａ＝（指定されたホスト計算機が有するＳｖＦの総容量）＊５０％＋ユーザ指定容量
上記の計算式の例では、サーバフラッシュが総容量の５０％以上余るならば、割り当てて良いと判断する。５０％という値は予め設定されるが、ユーザの利用方針に合わせて変更することが可能である。当該ケースは、要求アクセスパタンはＢａｌａｎｃｅｄであり、サーバフラッシュの割り当てが特別適しているパタンではないが、要求Ｉ／Ｏ種別がＲｅａｄであり、Ｉ／Ｏ種別の観点ではサーバフラッシュの割り当てが適しているため、サーバフラッシュの空き容量に余裕がある場合には利用するというポリシーである。【００５４】
Ｓ５の結果がＹｅｓの場合、容量割り当てを指定されたＶＭ等に、サーバフラッシュが既に割当済か否かを判定する（Ｓ７）。Ｓ７でＹｅｓの場合、他のＶＭ等にもサーバフラッシュを割り当てることを優先するため、当該ＶＭに追加で割当てるのはストレージ装置の備える記憶領域のみと判断する。Ｒｅａｄ比率が大きい場合、割当てるストレージ装置のリソースは、高性能なストレージフラッシュではなく、ＨＤＤでよい。ストレージプールテーブル３３を参照して、指定された容量以上の空きがあるＨＤＤのプールを有するストレージ装置があるか否かを判定する（Ｓ１６）。ストレージプールテーブル３３を参照して、Ｄｒｉｖｅ  Ｔｙｐｅ９６が、ＳＳＤではなく、ＳＡＴＡやＳＡＳといったディスクメディアである媒体の容量について判断を行う。【００５５】
具体的に、リソース割当案生成プログラム２は、ストレージプールテーブル３３を参照し、ＨＤＤを示すＤｒｉｖｅ  Ｔｙｐｅの記憶媒体で構成されるプールを検索する。検索したプールごとに、Ｐｏｏｌ  ＶＯＬ  ＩＤが「Ｎ／Ａ」であるページの容量の合計を、プールの空き容量として計算する。【００５６】
Ｓ１６の判定の結果がＹｅｓの場合、当該ＨＤＤを割り当てるリソース割当案を生成する。当該ストレージ装置４のストレージ設定プログラム５０に、当該ＨＤＤのプールからプールボリュームを提供してＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームを構成し、要求対象のＶＭ等に割り当てる指示を発行し（Ｓ２０）、処理を終了する。割当て指示の発行の代わりに、リソース割当案（構成案）を表示装置２２に出力することとしてもよい。また、出力した構成案の実行要求を受け付けて、ストレージ装置４に割当て指示を発行することとしてもよい。フローの他のステップを経てＳ２０の処理に到達した場合も同様である。【００５７】
Ｓ１６の判定の結果がＮｏの場合、リソースを割り当てることができない旨のエラーを出力し、処理を終了する（Ｓ１７）。なお、Ｓ１７の処理は、フローの他のステップを経て到達した場合も共通である。【００５８】
Ｓ７の結果がＮｏの場合、指定されたホスト計算機が備えるサーバフラッシュから、指定された容量の割り当てを決定し（Ｓ８）、Ｓ１６へ進む。ストレージプールテーブル３３を参照して、ストレージ装置４のＨＤＤに割り当てを指定された容量の空きがあるか判断する（Ｓ１６）。上述した説明と同様の判断で、空き容量があれば当該ＨＤＤのプールから記憶領域を割り当てるリソース割当案を生成する。ストレージ装置４のストレージ設定プログラム５０に当該記憶領域を用いた論理ボリュームの割り当てを発行し、さらに、ホスト管理計算機３５のホスト設定プログラム４１に、割り当てた論理ボリュームのキャッシュとしてサーバフラッシュを設定する指示を発行し、処理を終了する（Ｓ２０）。【００５９】
Ｓ５の結果がＮｏの場合、サーバ情報テーブル３１を参照し、指定されたホスト計算機と同じテナント内に、指定された容量以上の空きのあるサーバフラッシュを有するホスト計算機が存在するか否かを判定する（Ｓ９）。Ｓ９の判定は、指定容量以上でなく、Ｓ５と同様に閾値Ａ以上としてもよい。Ｓ９の結果がＹｅｓの場合、容量割当ての要求を受け付けたＶＭを、指定されたホスト計算機ではなく、Ｓ９で検索したホスト計算機で動作させてサーバフラッシュの利用を勧める旨を出力し、処理を終了する（Ｓ１２）。容量割当ての対象がＶＭでなくホスト計算機である場合は、割り当てられた記憶領域に格納されたデータを用いる予定のアプリケーションを、Ｓ９で検索したホスト計算機で動作させることを推奨する旨を出力して良い。なお、Ｓ１２では、表示装置２２を介してユーザに出力しても良いし、他のプログラムに当該情報を通知しても良く、それら以外の形式であっても良い。【００６０】
Ｓ９の結果がＮｏの場合、同テナント内に、ユーザ指定されたＶＭ等よりも要求性能が低いＶＭ等が存在するか否かを判定する（Ｓ１０）。サーバ情報テーブル３１のＲｅｑｕｉｅｒｅｄ  ｐｅｒｆｏｒｍａｎｃｅ６９を検索して判断する。【００６１】
Ｓ１０の結果がＹｅｓの場合、当該ＶＭ（またはホスト計算機）にサーバフラッシュが割り当てられていれば、割り当てを解除して、容量割当てを要求されたＶＭを、指定されたホスト計算機ではなくＳ１０で検索したＶＭが動作するホスト計算機上で動作させてサーバフラッシュを割当てることを勧める旨を出力し、処理を終了する（Ｓ１３）。容量割当ての対象がＶＭでなくホスト計算機である場合は、割当てられた記憶領域に格納されたデータを用いる予定のアプリケーションを、Ｓ１０で検索したホスト計算機で動作させることを推奨する旨を出力して良い。【００６２】
Ｓ１０の結果がＮｏの場合、指定されたホスト計算機５のサーバフラッシュに閾値Ｂ以上の空き容量があるか否かを判定する（Ｓ１１）。Ｓ１１の閾値Ｂとは、他のホスト計算機のサーバフラッシュの空き状況に対して、指定されたホスト計算機のサーバフラッシュの空きが少ない場合に優先してストレージフラッシュを割り当てる制御をするための情報であり、例えば、要求アクセスパタンがＲａｎｄｏｍの場合、以下の計算式で計算される。【００６３】
閾値Ｂ＝（テナント内の指定されたホスト計算機以外のホスト計算機が有するＳｖＦの空き容量の合計）／（指定されたホスト計算機以外のホスト計算機の数）
上記計算式の例では、テナント内の指定されたホスト計算機以外のホスト計算機のサーバフラッシュの空き容量の平均値に比べて、指定されたホスト計算機のサーバフラッシュの空きが少なければ、ストレージフラッシュの割り当てを判定する処理へ進む。Ｓ１１により、サーバフラッシュの余裕が少ないホスト計算機に、優先してストレージフラッシュを割り当てることが可能となる。【００６４】
また、要求アクセスパタンがＢａｌａｎｃｅｄの場合は、要求アクセスパタンがＲａｎｄｏｍの場合に比べて、閾値Ｂは低く設定される。例えば、要求アクセスパタンがＢａｌａｎｃｅｄの場合の閾値は、Ｒａｎｄｏｍの場合の閾値の５０％の値と定義されても良いし、それ以外の値でもよく、ユーザの利用方針に合わせて変更することが可能である。このように、要求アクセスパタンがＢａｌａｎｃｅｄの場合は、要求アクセスパタンがＲａｎｄｏｍの場合に比べて、閾値Ｂを低く設定することによって、アクセスパタンがＲａｎｄｏｍなＩ／Ｏに対するストレージフラッシュの割り当てを優先することが可能となる。【００６５】
Ｓ１１の結果がＹｅｓの場合、ストレージ装置４のＦｌａｓｈメディアの記憶領域に、要求容量以上の空きがあるか否かを判定する（Ｓ１４）。Ｓ１４の判断は、Ｓ１６の場合と同様、ストレージプールテーブル３３を参照して、ＳＳＤなどＦｌａｓｈメディアのプールの空き容量を算出して判断する。Ｓ１４の結果がＹｅｓの場合、当該記憶領域を割り当てるリソース割当案を生成する。ストレージ装置４のストレージ設定プログラム５０に当該記憶領域を用いた論理ボリュームの割り当て指示を発行し処理を終了する（Ｓ２０）。Ｓ１１の結果またはＳ１４の結果がＮｏの場合、指定されたホスト計算機内のＨＤＤに、指定された容量以上の空きがあるか否かを判定する（Ｓ１５）。Ｓ１５の結果がＹｅｓの場合、当該ホスト計算機のＨＤＤの利用を勧める旨を出力し、処理を終了する（Ｓ１９）。Ｓ１５の結果がＮｏの場合、ストレージ装置４が備えるＨＤＤの割当て可否判断のため、Ｓ１６へ進む。【００６６】
Ｓ４の結果が、要求アクセスパタンがＳｅｑｕｅｎｔｉａｌの場合、割当てる記憶メディアとして、ＦｌａｓｈメディアよりＨＤＤを優先する。さらに、レイテンシ性能に優れるホスト計算機のＨＤＤをストレージ装置のＨＤＤより優先して割当てるため、Ｓ１５へ進む。【００６７】
Ｓ４の結果が、要求アクセスパタンがＲａｎｄｏｍまたはＢａｌａｎｃｅｄ、且つ要求Ｉ／Ｏ種別がＷｒｉｔｅまたはＢａｌａｎｃｅｄの場合、Ｓ１０へ進む。Ｓ１０以降の処理は前述と共通である。Ｓ４の結果が、要求アクセスパタンがＲａｎｄｏｍかつ要求Ｉ／Ｏ種別がＲｅａｄの場合、指定されたホスト計算機内のサーバフラッシュに指定された容量以上の空きがあるか否かを判定する（Ｓ６）。要求アクセスパタンがＲａｎｄｏｍの場合は、サーバフラッシュを割当てることが優先されるため、Ｓ５のようにユーザ指定容量以上の空き容量を確保することは考慮しない。閾値Ａ＝ユーザ指定容量、と考えてもよい。Ｓ６の結果がＹｅｓの場合、Ｓ７へ進む。Ｓ６の結果がＮｏの場合Ｓ９へ進む。【００６８】
以上が、リソース割当案生成プログラム２の割り当てリソース決定処理（Ｓ３）の処理である。なお、フローの各分岐のポリシーは、上記に限定されない。たとえば、他のＶＭ等からサーバフラッシュの割当てを解除する判断を行う場合は、サーバ情報テーブル３１及びストレージボリュームテーブル３２を参照して、サーバフラッシュの割当てが優先されないＶＭから割当てを解除する構成案を出力することとしてもよい。【００６９】
具体的には、割当て要求を受け付けたＶＭの要求アクセスパタンが「Ｒａｎｄｏｍ」で要求Ｉ／Ｏ種別が「Ｒｅａｄ」であれば、Ｒｅａｄ比率が「Ｂａｌａｎｃｅｄ」「Ｗｒｉｔｅ」のＶＭからサーバフラッシュの割り当てを解除して、割当て要求されたＶＭに割り当てる旨を推奨する、などの判断を行っても良い。たとえばＲｅａｄ比率が４０−７０％の範囲を「Ｂａｌａｎｃｅｄ」と定義するとして、図８の場合、Ｓｖ００２のＶＭ００１のＲｅａｄ比率が「Ｂａｌａｎｃｅｄ」であり、より優先されるＶＭに容量の割当て要求があった場合には、サーバフラッシュの割当て解除可能と判断し、構成案を出力する。【００７０】
また、ストレージ装置の記憶領域の空き容量に関して、対応するプールの中のプールボリュームが設定されていないページ容量の合計を算出したが、割当て対象のＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームに対して、ホスト計算機への割当て時から必ずしも記憶媒体を確保する必要はない。たとえば、各プールに対して実際の容量以上の閾値を設定しており、その閾値以内であれば、実際にプールが備える物理記憶媒体の容量を超えていたとしても、当該プールからホスト計算機に記憶領域を割当てる構成案を生成しても良い。【００７１】
リソース割当て案の実行完了後、ホスト計算機２およびストレージ装置４からの設定完了通知を受けて、または、定期的な情報取得により、ストレージ管理計算機１はテーブル３１−３３の情報を更新する。【００７２】
以上、実施例１では、サーバフラッシュを利用する複数のホスト計算機がストレージ装置を共有する構成においても、物理記憶媒体の種類と配置場所に基づく性能特性に適した構成案の生成、及び生成した構成案の実行指示が可能となる。これにより、計算機システム全体のＩ／Ｏ性能を向上させることが可能となる。
【実施例２】
【００７３】
第２の実施形態について説明する。以下の説明においては、第１の実施形態と異なる構成について特に詳細に説明し、第１の実施形態と同様の構成については詳細な説明を省略する。第１の実施形態では、ストレージ管理計算機１のリソース割当案生成プログラム２が、ストレージ装置４の論理ボリューム５４及びホスト計算機５のサーバフラッシュを含む記憶媒体群７の割当案を生成する、と例示した。一方、本実施形態において、ストレージ管理計算機１は、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａについてのリソース割当案を生成する処理を行う。Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームとはストレージ装置４の論理ボリューム５４の一形態であり、Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームと同様、動的に容量を拡張可能である論理的なボリュームである。更に、或るページがＤｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａへ割り当てられた後、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａへのアクセス状況に応じて、応答性能や信頼性の異なる別のページへ動的に変更されることが可能である。【００７４】
第２実施形態では、ストレージ管理計算機１のＭｅｍｏｒｙ２４に、ボリュームＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙ設定テーブル１００と、Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙテーブル１０１が追加で格納される。また、第２実施形態では、ストレージ管理計算機１のリソース割当案生成プログラム２の処理が一部変更される。以降ではこれらの差分について示す。【００７５】
図１１は、第２実施形態において、ストレージ管理計算機１のＭｅｍｏｒｙ２４に格納されるボリュームＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙ設定テーブル１００を示す。ボリュームＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙ設定テーブル１００は、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａに設定されているＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙの情報を管理するためのテーブルである。ボリュームＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙ設定テーブル１００により、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａと当該ボリュームに設定されているＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙとの対応関係が分かる。Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙとは、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａがページの割り当て及び割り当て変更を行うためのルールを定義する情報である。【００７６】
具体的に、ボリュームＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙ設定テーブル１００は、以下の情報を有する。ＶＯＬ  ＩＤ１０５は、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａを識別する情報である。Ｓｔｏｒａｇｅ  ＩＤ１０６は、ボリューム５４ａを有するストレージ装置４を識別する情報である。Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙ ＩＤ１０７は、ボリューム５４ａに設定されているＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙを識別する情報である。【００７７】
図１２は、第２実施形態において、ストレージ管理計算機１のＭｅｍｏｒｙ２４に格納されるＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙテーブル１０１を示す。Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙテーブル１０１は、Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙの情報を管理するためのテーブルである。Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙテーブル１０１により、Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙが定義するページの割り当て及び割り当て変更についてのルールが定義される。【００７８】
具体的に、Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙテーブル１０１は、以下の情報を有する。Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙ  ＩＤ１１０は、Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙを識別する情報である。Ｔｉｅｒ１  ｒａｔｅ１１１は、当該Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙが設定されているＤｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａが、当該ボリュームの総容量に対し利用可能なＴｉｅｒ１の記憶領域の割合を示す。たとえば、ストレージボリュームテーブル３２のｃａｐａｃｉｔｙ７３に示される当該ボリューム５４ａの総容量が１００ＧＢであり、Ｔｉｅｒ１  ｒａｔｅ１１１が３０％であった場合、当該Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａが利用可能なＴｉｅｒ１の記憶領域の容量は３０ＧＢとなる。【００７９】
「Ｔｉｅｒ１」とはボリューム５４ａを構成する物理記憶媒体の種別（性能範囲）を特定する情報であり、ストレージボリュームテーブル３２のＤｒｉｖｅ  Ｔｙｐｅ８０がＳＳＤである、と定義しても良いし、これ以外の種類の物理記憶媒体と対応付けても良い。Ｔｉｅｒ２  ｒａｔｅ１１２、Ｔｉｅｒ３  ｒａｔｅ１１３も同様に、当該Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙが設定されているＤｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａが、当該ボリュームの総容量に対し利用可能なＴｉｅｒ２、Ｔｉｅｒ３の記憶領域の割合を示す。【００８０】
このようにボリューム５４ａに対して、複数種類の物理記憶媒体毎に利用可能な割合を限定することで、ボリューム５４ａの用途に適した物理記憶媒体を優先して割り当てることが可能となる。また、Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙ  ＩＤ１０７がボリュームＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙ設定テーブル１００のＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙ  ＩＤ１０７に格納され、ボリューム５４ａに設定されているＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙを判定することが可能となる。【００８１】
また、図１２に示す例では、各Ｔｉｅｒに対しあらかじめ利用優先度を定義しておき、Ｉ／Ｏ数が多いデータから順に優先度が高いＴｉｅｒが割り当てられ、当該Ｔｉｅｒが利用可能な分だけページが割り当てられた場合は、次に優先度が高いＴｉｅｒのページが割り当てられる。なお、Ｔｉｅｒｉｎｇ  Ｐｏｌｉｃｙは図１２の例以外に、具体的にＩ／Ｏ数およびＩ／Ｏ数の範囲に対して割り当てるＴｉｅｒを定義する形式や、それ以外の形式でもよい。【００８２】
第１実施形態において、プールは１種類の記憶媒体で構成されていた。第２実施形態のストレージプールテーブル３３は、プールのＤｒｉｖｅ  Ｔｙｐｅ９６として、複数種類の物理記憶媒体から構成されることを示す「Ｍｉｘ」を格納しうる。ストレージボリュームテーブル３２のＤｒｉｖｅ  Ｔｙｐｅ８０も同様に、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームのカラムについては「Ｍｉｘ」を格納することができる。【００８３】
テーブル３１−３３に、ボリュームＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙ設定テーブル１００及びＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙテーブル１０１を加えた情報、またはその一部を指して、「構成情報」と呼んでよい。【００８４】
第２実施形態のリソース割当案生成プログラム２ａによる割当リソース決定処理Ｓ３ａの処理を説明する。割当リソース決定処理Ｓ３ａは第１実施形態の割当リソース決定処理Ｓ３と比較して、Ｓ２０にあたる処理が異なるだけであり、その他の処理は変わらない。【００８５】
割当リソース決定処理Ｓ３ａでは、Ｓ１４の後に、Ｆｌａｓｈメディアの割合が高いＴｉｅｒｉｎｇＰｏｌｉｃｙ（図１２の例ではＴＰ００１）を設定したＤｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａを割り当てるリソース割当案を生成する。生成したリソース割当て案（構成案）を表示装置２２に出力するか、あるいは、ストレージ装置４のストレージ設定プログラム５０に当該記Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａの割り当て指示を発行し、処理を終了する（Ｓ２１）。【００８６】
また、割当リソース決定処理Ｓ３ａでは、Ｓ１６の後に、Ｆｌａｓｈメディアの割り当てがないＴｉｅｒｉｎｇＰｏｌｉｃｙ（図１２の例ではＴＰ００３）を設定したＤｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａを割り当てるリソース割当案を生成する。生成したリソース割当て案を、表示装置２２に出力する。または、ストレージ装置４のストレージ設定プログラム５０に当該記Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリューム５４ａの割り当てを発行し、さらに、ホスト管理計算機３５のホスト設定プログラム４１にサーバフラッシュの設定命令を発行し、処理を終了する（Ｓ２２）。【００８７】
なお、Ｓ２１で、ストレージフラッシュが指定された容量以上空いている場合にＦｌａｓｈメディアを含むＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙを設定するが、サーバ情報テーブル３１のＲｅｑｕｉｒｅｄ  Ｐｅｒｆｏｒｍａｎｃｅ６９に格納される値がＨｉｇｈであればＴｉｅｒ１  ｒａｔｅが高いＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙを、Ｒｅｑｕｉｒｅｄ  Ｐｅｒｆｏｒｍａｎｃｅ６９に格納される値がＬｏｗであればＴｉｅｒ１  ｒａｔｅが低いＴｉｅｒｉｎｇ  Ｐｏｌｉｃｙを割り当てる、といった条件分岐が加えられてもよく、それ以外の条件が加えられても良い。【００８８】
以上、実施例２では、サーバフラッシュを利用する複数のホスト計算機がストレージ装置を共有する構成でかつ、Ｄｙｎａｍｉｃ  Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇボリュームを利用する構成であっても、物理記憶媒体の種類と配置場所に基づく性能特性に適した構成案の生成が可能となる。これにより、計算機システム全体のＩ／Ｏ性能を向上させることが可能となる。
【実施例３】
【００８９】
第３の実施形態について説明する。以下の説明においては、第１の実施形態と異なる構成について特に詳細に説明し、第１の実施形態と同様の構成については詳細な説明を省略する。第１の実施形態では、ストレージ管理計算機１のリソース割当案生成プログラム２が、入力に対応して、ストレージ装置４の論理ボリューム５４及びホスト計算機５のサーバフラッシュを含む記憶媒体群７の割当案を生成する、と例示した。一方、本実施形態において、ストレージ管理計算機１は、既に割り当て済のリソースの割り当てを変更する案を生成する処理を行う。【００９０】
第３実施形態では、ストレージ管理計算機１のリソース割当案生成プログラム２の処理が一部変更される。以降ではこれらの差分について示す。【００９１】
図１３は第３実施形態の主にリソース割当案生成プログラム２ｂによる処理を示す。リソース割当案生成プログラム２ｂは第１実施形態のリソース割当案生成プログラム２と比較して、Ｓ１およびＳ２および割当リソース決定処理Ｓ３のＳ２０の内容が異なるだけであり、その他の処理は変わらない。【００９２】
リソース割当案生成プログラム２ｂでは、割り当て済みの論理ボリューム５４について、Ｓ２６およびＳ３の処理を繰り返す。割り当て済みの論理ボリューム５４とはストレージボリュームテーブル３２にＶＭ等と対応づけて格納されている論理ボリューム５４を指す。リソース割当案生成プログラム２ｂは次に、ストレージボリュームテーブル３２を参照し、割り当て済みの論理ボリューム５４の情報として、論理ボリュームの容量７３、当該論理ボリュームが割り当てられているＶＭ等、論理ボリュームのＲａｎｄｏｍ  ｒａｔｅおよびＲｅａｄ  ｒａｔｅを取得する（Ｓ２６）。取得した、当該論理ボリュームが割り当てられているＶＭ等を、要求対象のＶＭ等として、論理ボリュームの容量を、要求される割当て容量として、Ｒａｎｄｏｍ  ｒａｔｅおよびＲｅａｄ  ｒａｔｅの情報を要求アクセスパタンおよび要求Ｉ／Ｏ種別として、割当リソース決定処理Ｓ３を実施する。そして、割当リソース決定処理Ｓ３のＳ２０において、構成変更案を生成し、当該構成変更案を実施することを勧める旨を出力する。【００９３】
なお、定義されているＲｅｑｕｉｒｅｄ  Ｐｅｒｆｏｒｍａｎｃｅが高いＶＭ等に割り当てられている論理ボリュームを優先的に処理することで、Ｒｅｑｕｉｒｅｄ  Ｐｅｒｆｏｒｍａｎｃｅが高いＶＭ等に、サーバフラッシュおよびＦｌａｓｈメディアを含んで構成される論理ボリュームを優先的に割り当てることが可能である。また、Ｓ２０は、割り当て案の生成・出力のみで、ホスト計算機５およびストレージ装置４に対する設定指示を行っていないが、ホスト計算機５およびＶＭ６へのＩ／Ｏを継続するための構成変更を実施したうえで、構成変更案を実施してもよい。【００９４】
以上、実施例３では、サーバフラッシュを利用する複数のホスト計算機がストレージ装置を共有する構成において、既にリソースが割り当て済みであっても、物理記憶媒体の種類と配置場所に基づく性能特性に適した構成の再構築が可能となる。これにより、計算機システム全体のＩ／Ｏ性能を向上させることが可能となる。
【実施例４】
【００９５】
第４の実施形態について説明する。以下の説明においては、第１の実施形態と異なる構成について特に詳細に説明し、第１の実施形態と同様の構成については詳細な説明を省略する。第１の実施形態では、ストレージ管理計算機１のリソース割当案生成プログラム２が、入力に対応して、ストレージ装置４の論理ボリューム５４及びホスト計算機５のサーバフラッシュを含む記憶媒体群７の割当案を生成する、と例示した。一方、本実施形態において、ストレージ管理計算機１は、第１の論理ボリューム５４内のデータを第２の論理ボリューム５４へ移動することを契機として、割り当て済みリソースを変更する案を生成する処理を行う。【００９６】
第４実施形態では、ストレージ管理計算機１のリソース割当案生成プログラム２の処理が一部変更される。以降ではこれらの差分について示す。【００９７】
第４実施形態のリソース割当案生成プログラム２ｃによる処理を説明する。リソース割当案生成プログラム２ｃは第１実施形態のリソース割当案生成プログラム２と比較して、Ｓ１およびＳ２および割当リソース決定処理Ｓ３のＳ２０の内容が異なるだけであり、その他の処理は変わらない。【００９８】
リソース割当案生成プログラム２ｃでは、データの移動元及び移動先となる論理ボリューム５４の情報を受信する（Ｓ３０）。リソース割当案生成プログラム２ｃは、次に、ストレージボリュームテーブル３２を参照し、受信したデータ移動元の論理ボリューム５４の情報として、論理ボリュームの容量７３、当該論理ボリュームが割り当てられているホスト計算機４およびＶＭ６、論理ボリュームのＲａｎｄｏｍ  ｒａｔｅおよびＲｅａｄ  ｒａｔｅを取得する（Ｓ３１）。続いて、取得した当該論理ボリュームが割り当てられているＶＭ等を、要求対象のＶＭ等として、論理ボリュームの容量を、要求される割当て容量として、Ｒａｎｄｏｍ  ｒａｔｅおよびＲｅａｄ  ｒａｔｅの情報を要求アクセスパタンおよび要求Ｉ／Ｏ種別として、割当リソース決定処理Ｓ３を実施する。そして、割当リソース決定処理Ｓ３のＳ２０において、移動先となる論理ボリュームに対する記憶領域の割り当て案として構成変更案を生成し、当該割り当て案を実施することを勧める旨を出力する。【００９９】
また、Ｓ２０は、割り当て案の生成・出力のみで、ホスト計算機５およびストレージ装置４に対する設定指示を行っていないが、ホスト計算機４およびＶＭ６へのＩ／Ｏを継続するための構成変更を実施したうえで、リソース割り当てについて変更案を実施してもよい。【０１００】
以上、実施例４では、サーバフラッシュを利用する複数のホスト計算機がストレージ装置を共有する構成において、論理ボリューム５４のデータを移動する場合であっても、物理記憶媒体の種類と配置場所に基づく性能特性に適した構成の再構築が可能となる。これにより、計算機システム全体のＩ／Ｏ性能を向上させることが可能となる。
【実施例５】
【０１０１】
第５の実施形態について説明する。以下の説明においては、第１の実施形態と異なる構成について特に詳細に説明し、第１の実施形態と同様の構成については詳細な説明を省略する。第１の実施形態では、ストレージ管理計算機１のリソース割当案生成プログラム２が、入力に対応して、ストレージ装置４の論理ボリューム５４及びホスト計算機５のサーバフラッシュを含む記憶媒体群７の割当案を生成する、と例示した。一方、本実施形態において、ストレージ管理計算機１は、ＶＭ６のデータが第１の論理ボリューム５４から第２の論理ボリューム５４へ移動する際に、割り当て済みリソースの割り当てを変更する案を生成する処理を行う。 
第５実施形態では、ストレージ管理計算機１のリソース割当案生成プログラム２の処理が一部変更される。以降ではこれらの差分について示す。【０１０２】
第５実施形態のサーバ情報テーブル３１およびストレージボリュームテーブル３２は、第１実施形態のテーブル情報に加えてスループットに関する情報を格納する。スループットは、記憶領域やＩ／Ｏ発行元の単位時間当たりの処理能力を指す。具体的には、サーバ情報テーブル３１は、Ｔｈｒｏｕｇｈｐｕｔ  Ｐｅｒｆｏｒｍａｎｃｅのカラムを有し、ＶＭごとにスループットの情報を格納する。たとえば、Ｓｖ００１のＶＭ００１について、Ｔｈｒｏｕｇｈｐｕｔ  Ｐｅｒｆｏｒｍａｎｃｅが「５０ＧＢ／ｓ」である、などの情報が格納される。また、ストレージボリュームテーブル３２は、Ｔｈｒｏｕｇｈｐｕｔ  Ｐｅｒｆｏｒｍａｎｃｅのカラムを有し、論理ボリュームごとにスループットの情報を格納する。たとえば、ＶＯＬ１について、Ｔｈｒｏｕｇｈｐｕｔ  Ｐｅｒｆｏｒｍａｎｃｅが「１００ＧＢ／ｓ」である、などの情報が格納される。【０１０３】
図１４は第５実施形態のリソース割当案生成プログラム２ｄの処理を示す。リソース割当案生成プログラム２ｄは第１実施形態のリソース割当案生成プログラム２と比較して、Ｓ１およびＳ２および割当リソース決定処理Ｓ３のＳ２０の内容が異なるだけであり、その他の処理は変わらない。【０１０４】
リソース割当案生成プログラム２ｄでは、まず、移動するＶＭ６の情報と、ＶＭ６を移動する先となる論理ボリューム５４の情報をホスト管理計算機３５より受信する（Ｓ３５）。リソース割当案生成プログラム２ｄは、次に、Ｓ３５で取得したＶＭの情報とストレージボリュームテーブル３２の情報をもとに、移動するＶＭ６のデータが格納されている移動元の論理ボリューム５４の情報を取得する（Ｓ３６）。【０１０５】
続いて、リソース割当案生成プログラム２ｄは、移動元の論理ボリューム５４と移動先となる論理ボリューム５４について、Ｓ３８およびＳ３を繰り返す。リソース割当案生成プログラム２ｄは、ストレージボリュームテーブル３２を参照し、移動前後の論理ボリューム５４の情報として、各論理ボリュームの容量、各論理ボリュームが割り当てられているホスト計算機４およびＶＭ６の情報等を取得し、論理ボリュームのＲａｎｄｏｍ  ｒａｔｅおよびＲｅａｄ  ｒａｔｅを算出する（Ｓ３８）。【０１０６】
Ｓ３８において、ＶＭのデータが移動することを考慮して各比率を算出する。ＶＭのデータがＶＭ移動前に格納されている移動元の論理ボリューム５４に関する処理の場合、当該ＶＭのデータが移動したと仮定した場合の、残りの格納データに関するＲａｎｄｏｍ  ｒａｔｅおよびＲｅａｄ  ｒａｔｅを算出する。また、ＶＭ移動先の論理ボリューム５４に関する処理の場合は、ストレージボリュームテーブル３２に格納されている、ＶＭ移動する前の移動元の論理ボリュームに関する情報を、移動後の移動先論理ボリュームに要求される性能等として取得する。【０１０７】
ＶＭ移動元の論理ボリューム５４に関する処理の場合、具体的には、ストレージボリュームテーブル３２を参照する。当該論理ボリューム上に当該ＶＭのデータ以外のデータが格納されていると判断した場合は、論理ボリュームを再構成する。まずストレージボリュームテーブル３２より当該論理ボリュームのスループット性能を取得する。さらにサーバ情報テーブル３１を参照し、当該ＶＭのデータの総容量（ＶＭ  Ｃａｐａｃｉｔｙ１２０）及びＶＭに関するスループット性能を取得する。たとえば、論理ボリュームのスループット性能が１００ＧＢ／ｓ、Ｒｅａｄ比率が５０％であり、ＶＭについてのスループット性能が５０ＧＢ／ｓ、Ｒｅａｄ比率が８０％であるとする。この場合、ＶＭが移動したと仮定した場合のＲｅａｄ比率は、（１００ＧＢ／ｓ＊５０％−５０ＧＢ／ｓ＊８０％）／（１００ＧＢ／ｓ−５０ＧＢ／ｓ）＝２０％と算出される。Ｒａｎｄｏｍ  ｒａｔｅも同様に、論理ボリューム全体とＶＭの、スループット性能及びＩ／Ｏ比率に基づいて計算する。【０１０８】
続いて、Ｓ３８で取得したＲａｎｄｏｍ  ｒａｔｅおよびＲｅａｄ  ｒａｔｅの情報を要求アクセスパタンおよび要求Ｉ／Ｏ種別として割当リソース決定処理Ｓ３を実施する。そして、割当リソース決定処理Ｓ３のＳ２０において、移動元、移動先の論理ボリュームに対して割当てる記憶領域についての構成変更案を生成し、当該構成変更案を実施することを勧める旨を出力する。また、Ｓ２０は、構成変更案の生成・出力のみで、ホスト計算機５およびストレージ装置４に対する設定指示を行っていないが、ホスト計算機４およびＶＭ６へのＩ／Ｏを継続するための構成変更を実施したうえで、リソース割り当てのための構成変更案を実施してもよい。【０１０９】
以上、実施例５では、サーバフラッシュを利用する複数のホスト計算機がストレージ装置を共有する構成において、ＶＭ６のデータが第１の論理ボリューム５４から第２の論理ボリューム５４へ移動する場合であっても、物理記憶媒体の種類と配置場所に基づく性能特性に適した記憶資源の割当て変更が可能となる。これにより、前述の計算機システム全体のＩ／Ｏ性能を向上させることが可能となる。【０１１０】
なお、各実施例においてはＦｌａｓｈメディアなどを管理すべき対象として例に挙げたが、管理対象はこれに限らない。たとえば、ＮＶＤＩＭＭ（Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｄｕａｌ  Ｉｎ−ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）など、高性能であり有効活用すべき記憶資源についても、各実施例の技術を適用することが可能である。【０１１１】
また、各実施例において割当て対象をホスト計算機及びＶＭとしたが、ストレージ装置の記憶領域に格納され、ホスト計算機上で動作する、ＶＭ以外のオブジェクトやアプリケーションなどに対するリソース割当て案の生成を行うことも可能である。
【符号の説明】
【０１１２】
１：ストレージ管理計算機、４：ストレージ装置、５：ホスト計算機、３５：ホスト管理計算機
【図１】
2016157274.tif 000003
【図２】
2016157274.tif 000004
【図３】
2016157274.tif 000005
【図４】
2016157274.tif 000006
【図５】
2016157274.tif 000007
【図６】
2016157274.tif 000008
【図７】
2016157274.tif 000009
【図８】
2016157274.tif 000010
【図９】
2016157274.tif 000011
【図１０】
2016157274.tif 000012
【図１１】
2016157274.tif 000013
【図１２】
2016157274.tif 000014
【図１３】
2016157274.tif 000015
【図１４】
2016157274.tif 000016
【国際調査報告】
2016157274.tif 000017
2016157274.tif 000018