(57)【特許請求の範囲】
【請求項１】
複数の仮想ディスクが配備される複数のストレージ装置と、
複数の仮想マシンを起動し、該複数の仮想マシンの各々が前記複数の仮想ディスクの各々の制御を行うために発行する入出力処理要求のレイテンシを計測する複数の計算機と、
該複数の計算機が計測したレイテンシに基づいて、レイテンシの平均値が最も小さい仮想マシンと仮想ディスクの組を該複数の計算機の１つと該複数のストレージ装置の１つとの組に配備する管理サーバと、
を備えることを特徴とするストレージシステム。
【請求項２】
前記レイテンシの計測が完了する前においては、前記複数のストレージ装置の１つの空き容量に基づいて、前記仮想マシンと前記仮想ディスクとの組を前記計算機と前記ストレージ装置との組に配備することを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記複数の計算機と前記複数のストレージ装置に配備された前記複数の仮想マシンと前記複数の仮想ディスクのうち、前記入出力処理要求の発行頻度が所定値を超える仮想マシンと仮想ディスクを対象として、前記レイテンシの平均値がより小さくなるように、該対象となる仮想マシンと該対象となる仮想ディスクを再配備することを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記再配備は、前記対象となる仮想マシンの再配備を先に行い、該対象となる仮想マシンの再配備後に前記対象となる仮想ディスクの再配備を行なうことを特徴とする請求項３に記載のストレージシステム。
【請求項５】
前記レイテンシは、前記入出力処理要求が前記複数のストレージ装置の各々へ発行されてから、処理が完了するまでのレスポンス時間であることを特徴とする請求項１に記載のストレージシステム。
【請求項６】
前記複数の仮想マシンの各々は、前記複数の仮想ディスクの各々を制御する仮想マシンゲストと、該仮想マシンゲストを制御する仮想マシンホストを含むことを特徴とする請求項１に記載のストレージシステム。
【請求項７】
複数の仮想ディスクが配備される複数のストレージ装置と、複数の仮想マシンを起動することによって前記複数の仮想ディスクの制御を行う複数の計算機と、該複数のストレージ装置と該複数の計算機を管理する管理サーバとを備えるストレージシステムにおける処理方法であって、
該複数の計算機は、該複数の仮想マシンの各々が該複数の仮想ディスクの各々に発行する入出力処理要求のレイテンシを計測し、
該管理サーバは、該複数の計算機が計測したレイテンシに基づいて、レイテンシの平均値が最も小さい仮想マシンと仮想ディスクの組を該複数の計算機の１つと該複数のストレージ装置の１つとの組に配備する、
ことを特徴とする処理方法。
【請求項８】
複数の仮想ディスクが配備される複数のストレージ装置と、複数の仮想マシンを起動することによって前記複数の仮想ディスクの制御を行う複数の計算機と、該複数のストレージ装置と該複数の計算機を管理する管理サーバとを備えるストレージシステムにおけるプログラムであって、
該複数の計算機に、該複数の仮想マシンの各々が該複数の仮想ディスクの各々に発行する入出力処理要求のレイテンシを計測させ、
該管理サーバに、該複数の計算機が計測したレイテンシに基づいて、レイテンシの平均値が最も小さい仮想マシンと仮想ディスクの組を該複数の計算機の１つと該複数のストレージ装置の１つとの組に配備させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の実施形態は、ストレージシステムに関する。
【背景技術】
【０００２】
近年、記憶装置の大容量化も進み、ユーザからネットワークを介して受け取るデータを、サーバの保有する記憶装置に格納するサービスが検討されている。このサービスはクラウドサービスと呼ばれる。このような、大容量の記憶装置を構成する場合、実ストレージを多数接続し、計算機でストレージの管理を効率よくすることが必要となる。その場合には、計算機にはストレージを管理する仮想マシンを複数設定し、実ストレージにも仮想ストレージを設定して、より柔軟な管理ができるようにする。
【０００３】
図１は、仮想マシン12が設定される計算機のブロック構成を示す図である。
仮想マシンを複数搭載する計算機９には、実際の処理を実行するハードウェア１０が存在する。ハードウェア１０には、ハードウェア資源を使用する仮想マシン12が搭載される。ハードウェア１０上には、仮想マシン12の動作を制御する仮想計算機モニタ１１が存在する。そして、計算機９には、ストレージ装置１４が接続される。
【０００４】
図２は、ストレージ装置１４のブロック構成図である。
ストレージ装置１４は、仮想マシン１２が動作する計算機９が接続される。ストレージ装置１４は、実ストレージの集合体であり、複数の実ストレージには、仮想ディスク（ＶＤｉｓｋ）１７が設定され、複数の仮想ディスク１７をまとめて仮想ストレージ（ＶＳｔｏｒａｇｅ）１８を構成する。
【０００５】
仮想計算機モニタ(VMM:Virtual Machine Monitor)１１は、ハイパーバイザ(Hypervisor) とも呼ばれる。これは、VMシステム全体を制御するレイヤのプログラムであり、仮想マシン１２のディスパッチを行う。また、各仮想マシン１２が実行する特権命令（書き込み命令や読み出し命令）のエミュレーション、CPUに関するハードウェア制御等を行う。Hypervisorは、VMシステムのboot時に最初に動作し、仮想マシン１２を起動する。
【０００６】
仮想マシン１２は、通常のOSの動作を行なう仮想マシンである。ストレージ装置への指示は、仮想計算機モニタ１１を介して実行されるため、実の入出力インタフェースは持たず、仮想的な入出力インタフェースのみが割当てられている。
仮想ディスク（VDisk）１７は、仮想マシン１２が使用するディスクである。
【０００７】
図３は、仮想ストレージのイメージ図である。
実ストレージとして、５００ＧＢのディスクが３つある場合、実ストレージに直接アクセスする場合には、それぞれ５００ＧＢずつの別のディスクとしてアクセスしなければならない。一方、これら３つのディスクを１つの仮想ストレージとして設定することにより、１５００ＧＢの１つのディスクが存在するかのようにアクセスが可能になる。このように、仮想ストレージを設定することにより、実ストレージを適切にグループ化し、用途に適したディスクシステムを構築することができる。
【０００８】
従来技術には、Ｉ／Ｏモニタリング集計を簡易化するものや、仮想マシンの環境によりリソースを共用するものや、実行系ノードに待機系ノードを設けて切り替えられるようにするものがある。更には、複数のサーバ及び仮想マシンで動作している、ある１つのアプリケーションの性能を監視し、アプリケーションが定められた性能を得ていない場合には空きのある他のサーバにマイグレーションするものがある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平５−２５７７２０号公報
【特許文献２】特開２００９−２６５７７８号公報
【特許文献３】特開２００７−２０７２１９号公報
【特許文献４】特開２００６−２４４４８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
図４は、従来の問題点を説明する図である。
仮想マシン作成時に割り当てる仮想ディスクは、空き容量が多い仮想ストレージに作成するのが一般的である。これは、「空き容量が多い=利用者が少ない=アクセス集中が少ない=レスポンスが良い」という理由のためである。
【００１１】
しかし、計算機９に複数のストレージ装置が接続されている場合、計算機９と各々のストレージ装置との距離はまちまちであり、必ずしも、「空き容量が多い=レスポンスが良い」とは限らない。すなわち、計算機と各々のストレージ装置との間の距離が大きいと、間にネットワークを接続するスイッチなどが介在し、スイッチの動作遅延などにより、レスポンスが悪くなることがある。更に、ストレージ装置自身の動作速度も、複数のストレージ装置を実装する場合、まちまちになる可能性がある。
【００１２】
そのため、空き容量が多い仮想ストレージ上に作成した仮想ディスクを仮想マシン１２に割り当てる従来手法では、仮想マシン１２からのディスクアクセスの性能を低下させてしまう可能性があった。
【００１３】
すなわち、新たに仮想マシンを配備する場合、計算機９を管理するする管理サーバ１５は、仮想ディスクの空き容量のみを参照して割当てる。ユーザが指定する場合も判断材料は仮想ディスクの容量しかない。その結果、レイテンシが遅いストレージ装置に対して仮想ディスクを割当ててしまい、仮想マシンの性能を劣化させてしまう可能性がある。
【００１４】
1つの側面によれば、本発明は、より効率的な仮想ディスクの割り当てを行なうことができるストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
以下の実施形態の一側面におけるストレージシステムは、仮想ディスクが配備される複数のストレージ装置と、仮想マシンを起動することによって仮想ディスクの制御を行い、入出力処理要求を仮想ディスクに発行し、該入出力処理要求のレイテンシを計測する複数の計算機と、該計算機が計測したレイテンシに基づいて、レイテンシの平均値が最も小さい仮想マシンと仮想ディスクの組を該計算機と該ストレージ装置に配備する管理サーバとを備える。
【発明の効果】
【００１６】
以下の実施形態によれば、より効率的な仮想ディスクの割り当てを行なうことができるストレージシステムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】仮想マシンが設定される計算機のブロック構成を示す図である。
【図２】ストレージ装置のブロック構成図である。
【図３】仮想ストレージのイメージ図である。
【図４】従来の問題点を説明する図である。
【図５】本実施形態のブロック構成図である。
【図６】本実施形態で用いられるデータ構造を説明する図（その１）である。
【図７】本実施形態で用いられるデータ構造を説明する図（その２）である。
【図８】本実施形態で用いられるデータ構造を説明する図（その３）である。
【図９】本実施形態で用いられるデータ構造を説明する図（その４）である。
【図１０】本実施形態で用いられるデータ構造を説明する図（その５）である。
【図１１】本実施形態で用いられるデータ構造を説明する図（その６）である。
【図１２】マイグレーションを行なう場合に使用されるデータ構造を示す図である。
【図１３】マイグレーションを行なう場合の処理のフローチャート（その１）である。
【図１４】マイグレーションを行なう場合の処理のフローチャート（その２）である。
【図１５】仮想ディスクのマイグレーションのイメージを説明する図である。
【図１６】本実施形態の処理をプログラムで実現する場合の、コンピュータのハードウェア構成を説明する図である。
【発明を実施するための形態】
【００１８】
本実施形態では、仮想マシンからの仮想ディスクへのＩ／Ｏ処理要求の応答時間（レイテンシ）をHypervisor で記録する。Hypervisorは、記録したレイテンシの情報を管理サーバに通知する。管理サーバは、各Hypervisor から報告される情報から、Hypervisorとストレージ装置間のレイテンシの平均値を算出する。仮想マシン−仮想ディスクの情報を、Hypervisor−ストレージ装置（StorageUnit）の情報に読み替える。管理サーバは、読み替えた収集データなどを仮想マシン配備時の判断のために使用する。すなわち、レイテンシの小さい（仮想マシン、ストレージ装置）の組合せを採用する。
【００１９】
本実施形態は、仮想マシンが実行時に必要とするディスクアクセスを使ってレイテンシを計測するので、システムの動的な構成変更（サーバやストレージ装置の追加など）に対応でき、レイテンシ計測のための余計な負荷をネットワークに与えないという効果がある。
【００２０】
すなわち、レイテンシの小さいストレージ装置に対して仮想ディスクを作成できるので、仮想マシンのＩ／Ｏ処理性能を向上させることができる。
また、新たに仮想マシンやストレージ装置の追加による構成の変更が行われても、動的に情報を収集するので、常に最適な仮想ストレージを選択することができる。
【００２１】
仮想マシンが多数のストレージ装置に接続されているような大規模環境でも、通常のＩ／Ｏアクセスを監視するだけなので、性能データ収集用の余分なトラフィックが発生しない。すなわち、実際に必要なアクセスでレイテンシを 計測するので、ネットワークに余計な負荷を与えない 。
【００２２】
情報が十分に収集できない環境構築時に配備された仮想マシンは、かならずしも最適な配置にならないが、情報が集まることで新規に配備を行う場合は常に最適な位置に仮想マシンを配置できるようになる。
【００２３】
図５は、本実施形態のブロック構成図である。
資源管理装置（管理サーバ）２０は、ストレージ装置３１、仮想マシン（計算機あるいはサーバ）２８とネットワーク３２、３３で接続されている。ストレージリソース管理部２６は、ストレージ装置３１の実ディスクの数や容量を監視しており、これらの情報をデータベース２２に格納する。サーバリソース管理部２７は、仮想マシン２８の動作状況などをHypervisorを介して収集する。収集した情報は、データベース２２に格納する。
【００２４】
Ｉ／Ｏ性能情報収集部２１は、Hypervisor３４に設けられているＩ／Ｏ性能計測部３０が計測する、Ｉ／Ｏ処理のレイテンシの情報を収集し、データベース２２に格納する。ＶＭゲスト配備部２３は、配備先決定部２４と配備実行部２５を含む。配備先決定部２４は、データベース２２に格納された情報から、仮想ディスクをどのＶＭゲストに配備するかを決定する。配備実行部２５は、配備先決定部２４によって決定された配備先に従って、サーバリソースとストレージリソースの配備を行なう。
【００２５】
図６〜図１１は、本実施形態で用いられるデータ構造を説明する図である。
図６は、図７の構成において得られるレイテンシに関するデータを示す。図７において、Hypervisor1、2によって監視される仮想マシン（ＶＧ１〜ＶＧ４）は、それぞれ、ネットワークを介して仮想ディスク（ＶＤ１〜ＶＤ４）にアクセスする。このときのレイテンシを、アクセスがあるごとに記録したものが、図６の（１）のテーブルである。Hypervisorごとに、どの仮想マシンがどの仮想ディスクにアクセスしたときに、どの程度のレイテンシがあったかが記録される。図６の（２）のテーブルは、図６の（１）のテーブルから得られるレイテンシの情報から、仮想マシンが仮想ディスクにアクセスしたときに発生したレイテンシの平均値を、仮想マシンと仮想ディスクとの組について記録したものである。このテーブルは、管理サーバのデータベースに格納される。
【００２６】
図８は、図７の構成において、管理サーバのデータベースに格納される他の管理テーブルを示す。図８の（１）は、仮想マシン管理テーブルである。このテーブルには、各仮想マシンがどのHypervisorを経由して、どの仮想ディスクと接続されているかが登録されている。図８の（２）は、仮想ストレージ管理テーブルである。このテーブルには、各仮想ストレージについて、容量はいくらであるか、どの程度割り当てが行なわれているか、空き容量はいくらであるか、割り当てられている実のストレージ装置はどれであるかが登録されている。図８の（３）は、仮想ディスクテーブルである。このテーブルには、仮想ディスクの容量と、割り当てられている実のストレージ装置が登録されている。
【００２７】
図９のテーブルは、管理サーバに格納されるもので、図６の(２)のテーブルと、図８の（１）〜（３）のテーブルから生成される。図９のテーブルには、各ＶＭホストと各ストレージ装置の組み合わせについて、レイテンシの平均値と、仮想マシンからストレージ装置に対してアクセス可能か否かとを登録する。例えば、ＶＨ１−ＳＵ２のレイテンシの平均値を求める場合を考えると、図８の（１）より、ＶＨ１には、ＶＤ１、２、３が配備されていることが分かる。更に、ＶＨ１には、ＶＧ１、２が配備されていることが分かる。図８の（３）より、ＶＤ１はＶＳ１、ＶＤ２はＶＳ２、ＶＤ３はＶＳ２と対応しており、さらに図３の（２）よりＶＳ１は、ＳＵ１、ＶＳ２はＳＵ２、ＶＳ３はＳＵ２に対応していることがわかる。よって、ＶＤ１−ＳＵ１、ＶＤ２−ＳＵ２、ＶＤ３−ＳＵ３の対応が分かり、図６の（２）よりＶＧ１−ＶＤ３の組と、ＶＧ２−ＶＤ２の組を求めることでＶＨ１−ＳＵ２の平均値がわかる。よって、図６（２）よりＶＧ１−ＶＤ３の組と、ＶＧ２−ＶＤ２の組のレイテンシの平均値平均値を平均したものが、図９のＶＨ１−ＳＵ２の欄に記載されるレイテンシの平均値である。レイテンシにデータが登録されていない場合は、まだ測定ができていないストレージ装置であることを示す。また、accessibleがtureの場合は、Hypervisorからストレージ装置に対し、ディスクの割り当てが可能な場合を示し、これがfalseの場合には、ディスクの割り当てが不可能であることを示す。図７の構成を見ると、ストレージ装置ＳＵ３はシステムに含まれているが、ＶＨ１、ＶＨ２からはストレージ装置ＳＵ３に結線がされていないので、アクセスすることは不可能である。したがって、図９のテーブルで、ストレージ装置ＳＵ３の列においては、accessibleがfalseとなっている。
【００２８】
図１０は、本実施形態の通常時の処理のフローチャートである。
Hypervisorは、常に、仮想マシンが配備されているか否かを監視しており、ステップＳ１０において、配備されている仮想マシンがあるか否かを判断する。ステップＳ１０の判断がＮｏの場合には、ステップＳ１４に進む。ステップＳ１０の判断がＹｅｓの場合には、ステップＳ１１において、仮想マシンが仮想ディスク（VDisk）に対して、Ｉ／Ｏ処理要求を発行したか否かを判断する。ステップＳ１１の判断がＮｏの場合には、ステップＳ１４に進む。
【００２９】
ステップＳ１１の判断がＹｅｓの場合には、Ｉ／Ｏ性能計測部において、発行されたＩ／Ｏ処理要求のレスポンスを受け取るまでの時間を計測し、図６の（１）のテーブルにレスポンス時間をレイテンシとして蓄積する。ステップＳ１３では、Ｉ／Ｏ性能計測部は、前回管理サーバに平均レスポンス時間を通知したときから一定時間経過したか否かを判断する。この一定時間は、システムの設計者が、Ｉ／Ｏ処理要求の発行頻度などを参考に適宜定める。ステップＳ１３の判断がＮｏの場合には、ステップＳ１４に進む。ステップＳ１３の判断がＹｅｓの場合には、ステップＳ１５に進む。
【００３０】
ステップＳ１４では、Hypervisorは、仮想マシンの配備状況を監視する動作に戻る。この状態では、Hypervisorは、仮想マシンが新たに配備されたり、削除されたりすることを監視している。このとき、新たに仮想マシンの配備が検出された場合には、ステップＳ１０に戻って処理を行う。ステップＳ１５においては、Ｉ／Ｏ性能計測部は、図６の（１）のテーブルのレイテンシを平均し、管理サーバに通知すると共に、図６の（１）のテーブルのレイテンシの情報を消去して、テーブルを初期化する。
【００３１】
管理サーバのＩ／Ｏ性能情報収集部は、データベースを参照し、図６の（２）のテーブルと、図９のテーブルを、Hypervisorから受け取ったレイテンシの平均値の情報で更新する。
【００３２】
図１１は、新規仮想マシン配備時の処理のフローチャートである。
ステップＳ２０において、新規に仮想マシンを作成する。ステップＳ２１において、配備先決定部は、既存の方式により、仮想マシンを配備する計算機(Hypervisor)を決定する。この既存の方法とは、ＣＰＵリソースの使用量が少ない計算機(Hypervisor)を選択するなどの方法を用いる。ステップＳ２２において、配備先決定部は、図９のテーブルを参照し、仮想マシンを配備するHypervisorに、accessible=true、latency:-となっているストレージ装置（VStorageUnit）が１つ以上あるか否かを判断する。
【００３３】
ステップＳ２２の判断がＹｅｓの場合には、ステップＳ２３において、配備先決定部は、accessible=trueで、かつ、latency:-となっているストレージ装置の中から既存の方式で、仮想マシンを配備するストレージ装置を決定する。既存の方式とは、ディスク容量の空きが多いストレージ装置を選択するというものである。ステップＳ２２の判断がＮｏの場合には、ステップＳ２４において、配備先決定部は、図９のテーブルを参照し、accessible=trueで、かつ、latencyが最も小さいストレージ装置を選択する。図９のテーブルの例では、ＶＨ１に仮想マシンを配備する場合、ＶＨ１−ＳＵ１のlatency＝１５ｍｓｅｃ、ＶＨ１−ＳＵ２のlatency＝３５ｍｓｅｃとなるので、配備先としてＳＵ１を選択する。
【００３４】
ステップＳ２５においては、ストレージリソース管理部は、選択したストレージ装置に仮想マシンが配備可能であるか否かを判断する。配備が可能か否かは、選択したストレージ装置に仮想マシンが必要とするストレージ容量が確保できるかを確認することによって行なう。ステップＳ２５の判断がＮｏの場合には、ステップＳ２６で、配備先決定部は、図９のテーブルを参照し、次にaccessible=trueで、latencyが小さい別のストレージ装置を選択し、ステップＳ２５に戻る。ステップＳ２５の判断がＹｅｓの場合には、ステップＳ２７において、ストレージリソース管理部は、データベースを参照して、図８の（１）〜（３）のテーブルにおいて、該当するストレージ装置のVStorageに、仮想ディスクを割り当てて、テーブルを更新する。
【００３５】
上記実施形態では、性能テーブルが未完成の状態で配備されたVMゲスト-VDiskの組は最適な配置とならない可能性がある。
そこで、図９のテーブルが完成後、定期的に図６の（２）のテーブルの値を監視し、最もレイテンシの大きい仮想マシン-仮想ディスク（VDisk）の組み合わせに対して、レイテンシが小さくなるようにVMのマイグレーション or VDiskのマイグレーションを行う。
【００３６】
本実施形態では、仮想ディスクのマイグレーションのマイグレーション先を決定し、マイグレーションの処理自体は、既存の方法を使用する。
以上の構成によれば、配備済みの仮想マシンに対しても、最も応答性能が早いVDiskを割当てることができる。
【００３７】
図１２は、マイグレーションを行なう場合に使用されるデータ構造を示す図である。
図１２のデータ構造は、図６の（２）のテーブルに対応するものであり、そのときのシステムの構成は、図７に示すとおりである。
【００３８】
図１２に示されるように、図６の（２）のテーブルに対して、Ｉ／Ｏ処理要求の頻度（frequency of Ｉ／Ｏ request、Ｉ／Ｏ頻度)を追加する。Ｉ／Ｏ頻度は、例えば、１分間に仮想マシンからストレージ装置へ発行された入出力要求（Ｉ／Ｏ処理要求）の回数である。ここでは、Ｉ／Ｏ頻度の平均値は、２０回／minuteとなっている。管理サーバでは、Ｉ／Ｏ頻度が閾値以上の組み合わせをマイグレーション実施の候補とする。閾値は、例えば、Ｉ／Ｏ頻度の平均値の６０％などであり、システムの設計者が管理サーバに設定する。
【００３９】
図１３及び図１４は、マイグレーションを行なう場合の処理のフローチャートである。
図１３は、仮想マシンをマイグレーションをする場合の、図１２のテーブルを参照した処理の流れを示し、図１４は、仮想ディスクのマイグレーションをする場合の、図１２のテーブルを参照した処理の流れを示す。
【００４０】
図１３において、ステップＳ３０では、配備先決定部は、定期的に図１２のテーブルを参照して、最もレイテンシが大きい仮想マシン−仮想ディスクの組を探す。ステップＳ３１において、Ｉ／Ｏ頻度が閾値（例えば、平均値の６０％）以上か否かを判断する。図１２のテーブルの例では、Ｉ／Ｏ頻度が閾値１２以上で最もレイテンシの大きい組がＶＧ２−ＶＤ２の組であり、３５ｍｓｅｃとなっている。ステップＳ３１の判断がＮｏの場合には、ステップＳ３６に進み、マイグレーションは行なわず、次にレイテンシが大きい組を検索し、ステップＳ３１に戻る。
【００４１】
ステップＳ３１の判断がＹｅｓの場合には、ステップＳ３２において、配備先決定部は、図９のテーブルを参照して、マイグレーションが可能なマイグレーション先で、一番レイテンシが小さくなるHypervisorへ仮想マシンのマイグレーションは可能か否かを判断する。例えば、マイグレーション先でＣＰＵの空きがあるかどうかのチェックを行なう。図８の（１）〜（３）のテーブルによると、ＶＧ２−ＶＤ２は、ＶＨ１−ＳＵ２の組み合わせに配備されているものと分かる。すなわち、図８の（１）より、ＶＧ２は、ＶＨ１に配備されていることが分かり、接続されているのはＶＤ２であることが分かる。また、図８の（３）より、ＶＤ２は、ＶＳ２に配備されていることが分かり、図８の（２）より、ＶＳ２は、ＳＵ２に配備されていることが分かる。したがって、ＶＧ２−ＶＤ２は、ＶＨ１−ＳＵ２の組み合わせに配備されていることが分かる。ＶＧ２のマイグレーション候補（ＶＨ２）を参照すると、ＶＨ２−ＳＵ２の組み合わせに配備されていることが分かり、レイテンシは１５ｍｓｅｃである。したがって、マイグレーションした結果は、現状の３５ｍｓｅｃより小さくなるので、仮想マシンのマイグレーションが可能となる。すなわち、ＶＧ２は、現在ＶＨ１に存在するが、これをマイグレーションすると、ＶＨ２に移動することとなる。すると、ＶＧ２は、ＶＨ２−ＳＵ２の組に配備することとなる。そして、図９を参照すると、ＶＨ２−ＳＵ２の組のレイテンシの平均値は、１５ｍｓｅｃであり、accessible:trueであるのでマイグレーション可能となる。
【００４２】
ステップＳ３３において、サーバリソース管理部は、該当する仮想マシンがマイグレーション可能であるか否かを判断する。図１３の場合は、可能と判断されたものとする。ステップＳ３３の判断がＮｏの場合には、ステップＳ３４において、配備先決定部が、図９のテーブルを参照し、マイグレーション可能なマイグレーション先で、一番レイテンシが小さくなるストレージ装置へ仮想ディスクのマイグレーションが可能か否かを判断する。例えば、ディスクに空きがあるか否かをチェックする。ステップＳ３５において、ストレージリソース管理部は、仮想ディスクのマイグレーションが可能か否かを判断し、Ｎｏの場合にはステップＳ３６に進み、Ｙｅｓの場合にはステップＳ３７に進む。図１３の場合には、ステップＳ３３がＹｅｓであり、仮想マシンのマイグレーションを行なう場合であるので、ステップＳ３３からステップＳ３７に進む。
【００４３】
ステップＳ３７では、配備実行部は、対象の仮想マシンあるいは仮想ディスクのマイグレーションを行なう。ここでは、ＶＧ２のＶＨ２へのマイグレーションを行なう。ステップＳ３８では、管理サーバのデータベースにおいて、図１２のテーブルからマイグレーションを行なった組のレイテンシの値を削除し、図８の（１）〜（３）のテーブルを更新して処理を終了する。
【００４４】
図１４において、ステップＳ３０では、配備先決定部は、定期的に図１２のテーブルを参照して、最もレイテンシが大きい仮想マシン−仮想ディスクの組を探す。ステップＳ３１において、Ｉ／Ｏ頻度が閾値（例えば、平均値の６０％）以上か否かを判断する。図１２のテーブルの例では、Ｉ／Ｏ頻度が閾値１２以上で最もレイテンシの大きい組がＶＧ２−ＶＤ２の組であり、３５ｍｓｅｃとなっている。ステップＳ３１の判断がＮｏの場合には、ステップＳ３６に進み、マイグレーションは行なわず、次にレイテンシが大きい組を検索し、ステップＳ３１に戻る。
【００４５】
ステップＳ３１の判断がＹｅｓの場合には、ステップＳ３２において、配備先決定部は、図９のテーブルを参照して、マイグレーションが可能なマイグレーション先で、一番レイテンシが小さくなるHypervisorへ仮想マシンのマイグレーションは可能か否かを判断する。
【００４６】
ステップＳ３３において、サーバリソース管理部は、該当する仮想マシンがマイグレーション可能であるか否かを判断する。先に仮想マシンがマイグレーション可能か否かを判断するのは、仮想ディスクのマイグレーションの場合には、ディスクのコピーが必要でコストがかかるが、仮想マシンのマイグレーションの場合には、メモリのコピーのみでコストが少ないからである。図１４の場合には、可能な仮想マシンのマイグレーションは終わっている場合を想定しており、仮想ディスクのマイグレーションを行なう場合であるので、ステップＳ３４に進む。ステップＳ３４において、配備先決定部が、図９のテーブルを参照し、マイグレーション可能なマイグレーション先で、一番レイテンシが小さくなるストレージ装置へ仮想ディスクのマイグレーションが可能か否かを判断する。例えば、ディスクに空きがあるか否かをチェックする。ＶＧ２−ＶＤ２は、ＶＨ１−ＳＵ２の組に配備されることが分かる。すなわち、図８の（１）より、ＶＧ２はＶＨ１に配備されていることが分かる。また、図８の（３）より、ＶＤ２は、ＶＳ２に配備されていることが分かる。更に、図８の（２）より、ＶＳ２は、ＳＵ２に配備されていることが分かる。したがって、ＶＧ２−ＶＤ２は、ＶＨ１−ＳＵ２の組に配備されていることが分かる。したがって、ＶＤ２をマイグレーションすると、ＶＤ２は、ＳＵ２からＳＵ１に移動することとなる（ＳＵ３は、結線されていないのでマイグレーション先とできない）。したがって、ＶＧ２−ＶＤ２の組は、マイグレーション後ＶＨ１−ＳＵ１の組に配備されることとなる。ＶＤ２のマイグレーション候補（ＳＵ１）を参照すると、ＶＨ１−ＳＵ１の組み合わせのレイテンシは、図９のテーブルより、１０ｍｓｅｃで、現状の３５ｍｓｅｃより小さくなることが分かる。ステップＳ３５において、ストレージリソース管理部は、仮想ディスクのマイグレーションが可能か否かを判断し、Ｎｏの場合にはステップＳ３６に進み、Ｙｅｓの場合にはステップＳ３７に進む。図１４の場合、仮想ディスクのマイグレーションは可能であるので、ステップＳ３７に進む。
【００４７】
ステップＳ３７では、配備実行部は、対象の仮想マシンあるいは仮想ディスクのマイグレーションを行なう。ここでは、ＶＤ２のＳＵ１へのマイグレーションを行なう。ステップＳ３８では、管理サーバのデータベースにおいて、図１２のテーブルからマイグレーションを行なった組のレイテンシの値を削除し、図８の（１）〜（３）のテーブルを更新して処理を終了する。
【００４８】
図１５は、仮想ディスクのマイグレーションのイメージを説明する図である。
最初、図１５の（１）のように、Hypervisor１（ＶＨ１）に、仮想ディスクＶＤ１〜ＶＤ３が配備され、Hypervisor2 (ＶＨ２)に、仮想ディスクＶＤ３が配備されている場合を考える。仮想ディスクＶＤ１、ＶＤ２は、ストレージ装置ＳＵ１に割り当てられ、仮想ストレージＶＳ１を構成している。仮想ディスクＶＤ３は、ストレージ装置ＳＵ２に割り当てられ、仮想ストレージＶＳ１を構成している。いま、仮想ディスクＶＤ２をマイグレーションする場合を考える。すると、図１５の（２）に示されるように、仮想ディスクＶＤ２は、ストレージ装置ＳＵ２に移動され、仮想ストレージＶＳ２を構成するものとなる。このように、仮想ディスクは、ストレージ装置のうち、レイテンシの良いものを選んで、任意に設定可能である。
【００４９】
図１６は、本実施形態の処理をプログラムで実現する場合の、コンピュータのハードウェア構成を説明する図である。
ＣＰＵ４０には、バス５０を介して、ＲＯＭ４１、ＲＡＭ４２、通信インタフェース４３、記憶装置４６、媒体読み取り装置４７、及び、入出力装置４９が接続される。ＣＰＵ４０は、ＲＯＭ４１に格納されているＢＩ／ＯＳ等の基本プログラムを読み込んで実行し、コンピュータ３９の基本動作を実現させる。
【００５０】
また、ＣＰＵ４０は、ハードディスクなどの記憶装置４６に格納された、本実施形態の処理を行うプログラムをＲＡＭ４２に展開して実行し、本実施形態の処理を実現する。本実施形態の処理を行うプログラムは、記憶装置４６に格納されている必要は必ずしも無く、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ｒａｙ、ＩＣメモリ、フレキシブルディスクなどの可搬記録媒体４８に格納されていても良い。この場合には、媒体読み取り装置４７を用いて、可搬記録媒体４８に格納されたプログラムを読み込み、ＲＡＭ４２に展開して、ＣＰＵ４０が実行する。
【００５１】
入出力装置４９は、キーボード、タブレット、マウス、ディスプレイ、プリンタなどの、コンピュータ３９を操作するユーザが入力を行なったり、処理結果の出力を行ったりするものである。
【００５２】
通信インタフェース４３は、ネットワーク４４を介して、情報提供者４５の有するデータベース等にアクセスし、プログラム等をコンピュータ３９にダウンロードするなどするものである。ダウンロードされたプログラムは、記憶装置４６や可搬記録媒体４８に格納したり、直接ＲＡＭ４２に展開してＣＰＵ４０が実行したりする。また、プログラムの実行は、情報提供者４５の有するコンピュータで行い、コンピュータ３９は、入出力操作だけ行うようにしてもよい。
【符号の説明】
【００５３】
９      計算機
１０      ハードウェア
１１      仮想計算機モニタ（Hypervisor）
１２      ＶＭホスト
１３−１、１３−２      ＶＭゲスト
１４、３１      ストレージ装置
１５      管理サーバ
１６      実ストレージ
１７      仮想ディスク
１８      仮想ストレージ
２０      資源仮装置（管理サーバ）
２１      Ｉ／Ｏ性能情報収集部
２２      データベース
２３      ＶＭゲスト配備部
２４      配備先決定部
２５      配備実行部
２６      ストレージリソース管理部
２７      サーバリソース管理部
２８      ＶＭホスト
２９−１、２９−２      ＶＭゲスト
３０      Ｉ／Ｏ性能計測部
３２、３３      ネットワーク
３４      ハイパーバイザ
３９      コンピュータ
４０      ＣＰＵ
４１      ＲＯＭ
４２      ＲＡＭ
４３      通信インタフェース
４４      ネットワーク
４５      情報提供者
４６      記憶装置
４７      媒体読み取り装置
４８      可搬記録媒体
４９      入出力装置
５０      バス
【図１】
0005803496.tif 000002
【図５】
0005803496.tif 000003
【図６】
0005803496.tif 000004
【図８】
0005803496.tif 000005
【図９】
0005803496.tif 000006
【図１０】
0005803496.tif 000007
【図１１】
0005803496.tif 000008
【図１２】
0005803496.tif 000009
【図１３】
0005803496.tif 000010
【図１４】
0005803496.tif 000011
【図１６】
0005803496.tif 000012
【図２】
0005803496.tif 000013
【図３】
0005803496.tif 000014
【図４】
0005803496.tif 000015
【図７】
0005803496.tif 000016
【図１５】
0005803496.tif 000017