(57)【特許請求の範囲】
【請求項１】
複数のサーバリソースと複数のストレージリソースとを有し、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理する管理計算機であって、
管理情報と管理プログラムを格納するメモリと、
前記管理情報を参照し、前記管理プログラムを実行するＣＰＵと、を有し、
前記管理情報は、前記複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能にするストレージ管理情報と、前記複数のストレージリソースと前記複数のサーバリソースについて相互に接続できるか否かを判断可能にする接続可能構成管理情報と、を含み、
前記ＣＰＵは、仮想化マシンをデプロイするとき、まず、前記ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを決定し、次に、前記接続可能構成管理情報を参照して、前記冗長構成のペアにする前記ストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにし、
前記ＣＰＵは、
前記冗長構成のペアにするストレージリソースを前記冗長構成のプライマリストレージおよびセカンダリストレージにそれぞれ割り当て、前記プライマリストレージおよび前記セカンダリストレージ以外の装置に、前記プライマリストレージと前記セカンダリストレージが相互に生存確認するためのストレージクオーラム情報を格納させ、
前記冗長構成のペアにするサーバリソースを前記冗長構成のプライマリサーバおよびセカンダリサーバにそれぞれ割り当て、前記プライマリサーバおよび前記セカンダリサーバ以外の装置に、前記プライマリサーバと前記セカンダリサーバが相互に生存確認するためのサーバクオーラム情報を格納させる、
管理計算機。
【請求項２】
前記ＣＰＵは、
前記サーバクオーラム情報と前記ストレージクオーラム情報を同一装置に格納させる、請求項１に記載の管理計算機。
【請求項３】
複数のサーバリソースと複数のストレージリソースとを有し、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理する管理計算機であって、
管理情報と管理プログラムを格納するメモリと、
前記管理情報を参照し、前記管理プログラムを実行するＣＰＵと、を有し、
前記複数のサーバリソースおよび前記複数のストレージリソースは同一の災害で同時に障害とならない複数のサイトに分散配置されており、
前記管理情報は、前記複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能にするストレージ管理情報と、前記複数のストレージリソースと前記複数のサーバリソースについて相互に接続できるか否かを判断可能にする接続可能構成管理情報と、を含み、
前記ＣＰＵは、仮想化マシンをデプロイするとき、まず、前記ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを、前記冗長構成のペアにするストレージリソースおよびストレージクオーラム情報を格納する装置が互いに異なるサイトになるように決定し、次に、前記接続可能構成管理情報を参照して、冗長構成のペアにするサーバリソースおよびサーバクオーラム情報を格納する装置が互いに異なるサイトになり、前記冗長構成のペアにする前記ストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにし、当該ストレージリソース及びサーバリソースの選択を前記冗長構成のペアが同一の災害で同時に障害とならないように行う
管理計算機。
【請求項４】
複数のサーバリソースと複数のストレージリソースとを有し、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理するためのリソース管理方法であって、
管理計算機が、
前記複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能にするストレージ管理情報、および前記複数のストレージリソースと前記複数のサーバリソースについて相互に接続できるか否かを判断可能にする接続可能構成管理情報を含む管理情報を格納し、
仮想化マシンをデプロイするとき、
前記ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを決定し、
前記接続可能構成管理情報を参照して、前記冗長構成のペアにする前記ストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにし、
前記冗長構成のペアにするストレージリソースを前記冗長構成のプライマリストレージおよびセカンダリストレージにそれぞれ割り当て、前記プライマリストレージおよび前記セカンダリストレージ以外の装置に、前記プライマリストレージと前記セカンダリストレージが相互に生存確認するためのストレージクオーラム情報を格納し、
前記冗長構成のペアにするサーバリソースを前記冗長構成のプライマリサーバおよびセカンダリサーバにそれぞれ割り当て、前記プライマリサーバおよび前記セカンダリサーバ以外の装置に、前記プライマリサーバと前記セカンダリサーバが相互に生存確認するためのサーバクオーラム情報を格納する、
リソース管理方法。
【請求項５】
前記サーバクオーラム情報と前記ストレージクオーラム情報を同一装置に格納させる、請求項４に記載のリソース管理方法。
【請求項６】
複数のサーバリソースと複数のストレージリソースとを有し、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理するためのリソース管理方法であって、
前記複数のサーバリソースおよび前記複数のストレージリソースは同一の災害で同時に障害とならない複数のサイトに分散配置されており、
管理計算機が、
前記複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能にするストレージ管理情報、および前記複数のストレージリソースと前記複数のサーバリソースについて相互に接続できるか否かを判断可能にする接続可能構成管理情報を含む管理情報を格納し、
仮想化マシンをデプロイするとき、
前記ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを、前記冗長構成のペアにするストレージリソースおよびストレージクオーラム情報を格納する装置が互いに異なるサイトになり、前記ペアが同一の災害で同時に障害とならないように決定し、
前記接続可能構成管理情報を参照して、冗長構成のペアにするサーバリソースおよびサーバクオーラム情報を格納する装置が互いに異なるサイトになり、前記冗長構成のペアにする前記ストレージリソースのそれぞれと接続できペアが同一の災害で同時に障害とならないサーバリソースを選択して冗長構成のペアにする、
リソース管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバとストレージを利用するコンピュータシステムに関する。
【背景技術】
【０００２】
近年、従来型の計算機システムとは異なる形態のシステムとして、クラウドコンピューティングが広く普及してきている。クラウドコンピューティングは、提供するサービスにより、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、ＰａａＳ（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）に分類される。クラウドジョンピューティングにおいては可用性および信頼性の向上とシステム拡張の柔軟性の実現のためリソースの管理が重要であり、様々な研究開発がすすめられている。【０００３】
ＩａａＳのクラウドコンピューティングは、サーバとストレージが互いに接続されたコンピュータシステムにより提供される。サーバおよびストレージの可用性（Ａｖａｉｌａｂｉｌｉｔｙ）に関する技術を開示する文献として特許文献１、２がある。特許文献１は、ＩａａＳにおけるサーバの高可用性（ＨＡ：Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ）を実現する技術を開示している。特許文献２は、ＩａａＳにおけるストレージの高可用性を実現する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開ＵＳ８８８０７７４
【特許文献２】ＰＣＴ／ＪＰ２０１４／０６１１５１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩａａＳを提供するコンピュータシステムにおいて、従来からあるサーバ側の高可用性技術と、ストレージ側の高可用性技術を組み合わせることにより、システムとしての可用性を高めることが考えられる。【０００６】
しかしながら、上述のように個々にサーバの高可用性技術とストレージの高可用性技術はそれぞれ検討されているものの、サーバとストレージの両方を連携する高可用性技術はない。【０００７】
サーバ側とストレージ側の双方で高可用性のための冗長構成（高可用性構成（ＨＡ構成））を組んだ環境を構築するにあたり、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）のデプロイにおいて、システムを構成する装置により、ＨＡ構成に制約が課される。ストレージのＨＡ構成が組めるかどうかは装置ベンダへの依存性が高く、同じ装置ベンダのストレージ同士出なければＨＡ構成を組めない場合がある。【０００８】
通常、ＩａａＳではサーバ側を起点としたリソースの管理および割り当てが行われる。これをサーバとストレージを連携させたＨＡ構成の構築に適用すると、サーバ側のＨＡ構成を組みその後でストレージ側のＨＡ構成を組むことになる。【０００９】
しかしながら、装置ベンダが異なるストレージ機器同士では、仕様の相違により、ＨＡ構成を構築できない場合がある。サーバ側のＨＡ構成を構築した後、ストレージ側のＨＡ構成が構築できないことが発覚するといった事態が起こると、サーバ側のＨＡ構成の構築からやり直しとなってしまう。【００１０】
ＩａａＳのユーザは１度に大量のＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を利用可能な状態にするようなＶＭデプロイを要求するケースが多い。なおかつ、そのＶＭデプロイの処理をできるだけ高速化することが求められる。しかし、上述ようなＨＡ構成の構築方法では、デプロイ処理が遅延し、ユーザを待たせる時間が長くなってしまう。【００１１】
本発明の目的は、サーバとストレージを連携させた冗長構成を効率よく構築することを可能にする技術を提供することである。
【課題を解決するための手段】
【００１２】
本発明の一つの実施態様に従う管理装置は、複数のサーバリソースと複数のストレージリソースとを有し、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理する管理計算機であって、管理情報と管理プログラムを格納するメモリと、前記管理情報を参照し、前記管理プログラムを実行するＣＰＵと、を有し、前記管理情報は、前記複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能にするストレージ管理情報と、前記複数のストレージリソースと前記複数のサーバリソースについて相互に接続できるか否かを判断可能にする接続可能構成管理情報と、を含み、前記ＣＰＵは、仮想化マシンをデプロイするとき、まず、前記ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを決定し、次に、前記接続可能構成管理情報を参照して、前記冗長構成のペアにする前記ストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにする。
【発明の効果】
【００１３】
本発明によれば、冗長構成に制約が課される場合が多いストレージの冗長構成を先に決めて次にサーバの冗長構成を決めるので、サーバとストレージを連携させた冗長構成を効率よく構築することができる。
【図面の簡単な説明】
【００１４】
【図１】第一の実施例のシステム構成を示すブロック図である。
【図２】ホスト１００００の構成例を模式的に示す図である。
【図３】ストレージ２００００のハードウェア構成例を模式的に示す図である。
【図４】管理サーバ３００００の構成例を示す図である。
【図５】ストレージ管理テーブル３３０１０の構成例を示す図である。
【図６】プール管理テーブル３３０２０の構成例を示す図である。
【図７】ボリューム管理テーブル３３０３０の構成例を示す図である。。
【図８】ボリュームペア作成可能構成管理テーブル３３０４０の構成例を示す図である。
【図９】ボリュームペア管理テーブル３３０５０の構成例を示す図である。
【図１０】ホスト管理テーブル３３１１０の構成例を示す図である。
【図１１】ハイパバイザ管理テーブル３３１２０の構成例を示す図である。
【図１２】仮想マシン管理テーブル３３１３０の構成例を示す図である。
【図１３】仮想マシンペア作成可能構成管理テーブル３３１４０の構成例を示す図である。
【図１４】仮想マシンペア管理テーブル３３１５０の構成例を示す図である。
【図１５】ストレージ−ホスト接続可能構成管理テーブル３３１６０の構成例を示す図である。
【図１６】全ストレージ管理テーブル３３２１０の構成例を示す図である。
【図１７】全プール管理テーブル３３２２０の構成例を示す図である。
【図１８】全ボリューム管理テーブル３３２３０の構成例を示す図である。
【図１９】全ボリュームペア作成可能構成管理テーブル３３２４０の構成例を示す図である。
【図２０】全ボリュームペア管理テーブル３３２５０の構成例を示す図である。
【図２１】全ホスト管理テーブル３３２６０の構成例を示す図である。
【図２２】全ハイパバイザ管理テーブル３３２７０の構成例を示す図である。
【図２３】全仮想マシン管理テーブル３３２８０の構成例を示す図である。
【図２４】全仮想マシンペア作成可能構成管理テーブル３３２９０の構成例を示す図である。
【図２５】全仮想マシンペア管理テーブル３３３００の構成例を示す図である。
【図２６】全ストレージ−ホスト接続可能構成管理テーブル３３３１０の構成例を示す図である。
【図２７】全体管理プログラム３３５２０が、全てのホスト管理プログラム３３５３０及びストレージ管理プログラム３３５４０から図５〜図１５の構成情報を取得し、図１６〜図２６の構成情報テーブルの内容を更新する処理を示すシーケンスである。
【図２８】ホストおよびストレージのＨＡ機能を適用した仮想マシン作成処理のシーケンスである。
【図２９】ホストおよびストレージのＨＡ機能を適用した仮想マシン作成処理のシーケンスである。
【図３０】ストレージＨＡ構成及びホストＨＡ構成を決定する処理のフローチャートである。
【図３１】ホストおよびストレージのＤＲ機能を適用した仮想マシン作成処理のシーケンスである。
【図３２】ホストおよびストレージのＤＲ機能を適用した仮想マシン作成処理のシーケンスである。
【図３３】ストレージＤＲ構成及びホストＤＲ構成を決定する処理を示すフローチャートである。
【図３４】ホスト‐ストレージにＨＡ構成を適用した仮想マシンにボリュームを接続する処理を示すシーケンスである。
【図３５】ホスト‐ストレージにＨＡ構成を適用した仮想マシンにボリュームを接続する処理を示すシーケンスである。
【発明を実施するための形態】
【実施例１】
【００１５】
図１は、第一の実施例のシステム構成を示すブロック図である。図１のシステムには、データセンタ５００００と、データセンタ間のネットワーク４１０００と、が含まれている。【００１６】
データセンタ５００００は、ホスト１００００と、ストレージ２００００と、管理サーバ３０００００と、ホスト‐ストレージ間のネットワーク４００００と、を含む。なお、管理サーバ３００００は、データセンタ５００００内の全てのホスト１００００およびストレージ２００００と互いに通信可能である。また、管理サーバ３００００は、他のデータセンタ５００００の管理サーバ３００００と互いに通信可能である。それらを相互に接続するネットワークは不図示である。【００１７】
ホスト１００００は、ハイパバイザと、仮想マシン（図中のＶＭ）と、を含む。仮想マシンは、別のホスト１００００の仮想マシンとＨＡペア（図中のＶＭペア）を構成することが可能である。ＨＡペアは高可用性を実現するペアであり、つまり冗長構成のペアである。【００１８】
ストレージ２００００は、ＲＡＩＤ  ＧｒｏｕｐやＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｏｏｌ等の記憶領域を提供するプールと、プールから記憶領域を切り出したボリューム（図中のＶＯＬ）と、を含む。ボリュームは、別のストレージ２００００のボリュームとＨＡペア（図中のＶＯＬペア）構成することが可能である。また、ストレージ２００００は、仮想マシンのＨＡペア及びストレージ２００００のＨＡペア用のクオーラムのディスク（Ｑｕｏｒｕｍ  Ｄｉｓｋ（Ｗｉｔｎｅｓｓ）（図中のＱ−ｘｘ））のボリュームを含む。【００１９】
本実施例では、ＩａａＳにおける仮想サーバ作成において、ストレージのＨＡペアを構成した後、ストレージのＨＡペアの構成に合わせてホスト（サーバ）のＨＡペアを構築する例について説明する。【００２０】
図２は、ホスト１００００の構成例を模式的に示す図である。ホスト１００００は、プロセッサであるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０００、不揮発性の二次記憶デバイス１２０００、主記憶デバイスであるメモリ１３０００、入出力デバイス１４０００、Ｉ／Ｏ要求発行側インタフェースであるイニシエータポート１６０００、管理インタフェース１７０００を含む。それら各構成要素は、バス１５０００により通信可能に相互接続されている。【００２１】
ＣＰＵ１１０００は、メモリ１３０００に格納されたプログラムを読み出し、実行することにより動作する。典型的には、二次記憶デバイス１２０００に格納されているプログラム及びデータが、メモリ１３０００にロードされる。本例において、メモリ１３０００は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１３１００、ハイパバイザ１３０２０及び複数の仮想マシンプログラム１３０３０を保持する。【００２２】
イニシエータポート１６０００は、ホスト−ストレージ間のネットワーク４００００またはデータセンタ間のネットワーク４１０００に接続するネットワークインタフェースである。イニシエータポート１６０００は、ネットワーク４００００または４１０００を介してストレージ２００００とデータ及び要求を送受信する。【００２３】
管理インタフェース１７０００は、管理サーバ３００００と接続するネットワークインタフェースである。管理インタフェース１７０００は、データセンタ５００００内のＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）やデータセンタ間のネットワーク４１０００を介してストレージ２００００と管理データ及び制御命令を送受信する。管理インタフェース１７０００は、さらに、データセンタ５００００内のＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）やデータセンタ間のネットワーク４１０００を介して管理サーバ３００００と、管理データ及び制御命令を送受信する。【００２４】
図３は、ストレージ２００００のハードウェア構成例を模式的に示す図である。本例において、各ストレージ２００００の基本構成は同じであるが、構成要素の数および記憶容量等は各物理ストレージ装置に依存する。これらは異なる構成を有していてもよい。【００２５】
ストレージ２００００は、複数の記憶デバイス（例えば、ハードディスクドライブやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等）２２０００と、ストレージ２００００を制御し、ボリューム管理や、ホスト１００００又は他のストレージとのデータ通信等を行うストレージコントローラとを含む。ストレージコントローラは、プロセッサであるＣＰＵ２１０００、メモリ２３０００、Ｉ／Ｏ要求発行側インタフェースであるイニシエータポート２６０００、Ｉ／Ｏ要求受信側インタフェースであるターゲットポート２７０００、管理インタフェース２８０００、データ転送のためのキャッシュメモリ２４０００、を含む。ストレージ２００００の構成要素は、バス２５０００で通信可能に相互接続されている。【００２６】
ストレージ２００００は、イニシエータポート２６０００ を介して、外部にある他のストレージに接続し、外部の物理ストレージにＩ／Ｏ要求及びライトデータ（ユーザデータ）を送信し、外部の物理ストレージからリードデータ（ユーザデータ）を受信することができる。イニシエータポート２６０００は、ホスト‐ストレージ間のネットワーク４００００及びデータセンタ間のネットワーク４１０００に接続する。【００２７】
イニシエータポート２６０００は、外部の物理ストレージシステムとの通信に用いられるＦｉｂｒｅ  Ｃｈａｎｎｅｌ（ＦＣ）、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＦＣｏＥ）、ｉＳＣＳＩ等のプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、ＰＣＩｅに変換する機能を有する。【００２８】
ストレージ２００００は、ターゲットポート２７０００において、ホスト１００００又は外部のストレージに接続する。ストレージ２００００は、ターゲットポート２７０００を介して、ホスト１００００又は外部の物理ストレージからＩ／Ｏ要求及びライトデータを受信し、また、ホスト１００００又は外部の物理ストレージにリードデータを送信する。ターゲットポート２７０００は、ホスト−ストレージ間のネットワーク４００００及びデータセンタ間のネットワーク４１０００に接続する。【００２９】
ターゲットポート２７０００は、ホスト１００００又は外部のストレージとの通信に用いられるＦＣ、ＦＣｏＥ、ｉＳＣＳＩ等のプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、ＰＣＩｅに変換する機能を有する。【００３０】
管理インタフェース２８０００は、管理サーバ３００００に接続するためのデバイスである。管理インタフェース２８０００は、ＬＡＮで使用されるプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、ＰＣＩｅに変換する機能を有する。【００３１】
ＣＰＵ２１０００は、ストレージ制御のためのプログラムを実行することで、ホスト１００００からのＩ／Ｏの制御、ストレージ２００００のボリュームの管理および制御を含む所定の機能を実現する。本実施例で説明するＣＰＵ２１０００により実現される機能の少なくとも一部は、ＣＰＵ２１０００と異なるロジック回路によって実現されてもよい。【００３２】
メモリ２３０００は、ＣＰＵ２１０００が扱うデータやプログラムを格納する。メモリ２３０００のデータは、例えば、ストレージ２００００内のいずれかの記憶デバイス２２０００又はフラッシュメモリ（不図示）、又はネットワークを介して接続された他の装置からメモリ２３０００にロードされる。【００３３】
図４は、管理サーバ３００００の構成例を示す図である。管理サーバ３００００は、プロセッサであるＣＰＵ３１０００、主記憶デバイスであるメモリ３３０００、二次記憶デバイス３２０００、入出力デバイス３４０００、管理インタフェース（Ｉ／Ｆ）３６０００を含む。管理サーバ３００００のそれら各デバイスは、バス３５０００により通信可能に相互接続されている。【００３４】
管理サーバ３００００は、管理プログラムを実行し、それに従って動作する。管理Ｉ／Ｆ３６０００はデータセンタ内のネットワークまたはデータセンタ間のネットワークに接続し、管理サーバ３００００内のプロトコルと外部のネットワークのプロトコルとの間の変換を行う。管理サーバ３００００は、管理Ｉ／Ｆ３６０００を介して、ストレージ２００００及びホスト１００００と通信することができる。【００３５】
入出力デバイス３４０００は、ディスプレイ、ポインタ又はキーボード等のデバイスの一つ又は複数のデバイスを含む。ユーザは、入出力デバイス３４０００により、管理サーバ３０００を操作することができるほか、ネットワークを介して接続するクライアント計算機から管理サーバ３００００にアクセスしてもよい。クライアント計算機は、管理サーバ３００００と共に管理システムに含まれる。ユーザは、入力デバイス（例えばマウス及びキーボード）により必要な情報を入力し、出力デバイスにより必要な情報を視認することができる。【００３６】
ＣＰＵ３１０００は、メモリ３３０００に記憶されているプログラムを実行することによって管理サーバ３００００の所定の機能を実現する。メモリ３３０００は、ＣＰＵ３１０００よって実行されるプログラム及びプログラムの実行に必要なデータを記憶する。管理サーバ３００００で動作するプログラムについては後述する。本実施例で説明するＣＰＵ３１０００により実現される機能の少なくとも一部は、ＣＰＵ３１０００と異なるロジック回路によって実現されてもよい。【００３７】
例えば、プログラムは、二次記憶デバイス３２０００からメモリ３３０００にロードされる。二次記憶デバイス３２０００は、管理サーバ３００００の所定の機能を実現するために必要なプログラム及びデータを格納する、不揮発性の非一時的記憶媒体を備える記憶装置である。二次記憶デバイス３２０００は、ネットワークを介して接続された外部の記憶装置でもよい。【００３８】
本構成例の管理システムは、管理サーバで構成されているが、管理システムは複数の計算機で構成してもよい。複数の計算機の一つは表示用計算機であってもよく、管理処理の高速化や高信頼化のために、複数の計算機が管理サーバと同等の処理を実現してもよい。【００３９】
例えば、管理者は、管理システムの管理コンソールから、同管理システムの管理サーバにアクセスし、管理サーバに処理を指示するとともに、管理コンソールに管理サーバの処理結果を取得、表示させてもよい。管理システムは、物理ストレージ内に構成されていてもよい。管理システムの一部の機能が、物理ストレージ内に実装されていてもよい。【００４０】
管理サーバ３００００のメモリ３３０００は、ＣＰＵ３１０００が扱うデータやプログラムを格納する。メモリ３３０００のデータは、例えば、ストレージ２００００内のいずれかの記憶デバイス２２０００又はフラッシュメモリ（不図示）、又はネットワークを介して接続された他の装置からメモリ３３０００にロードされる。【００４１】
メモリ３３０００は、ＯＳ、及び仮想マシン管理ユーザＩ／Ｆプログラム３３５１０、全体管理プログラム３３５２０、ホスト管理プログラム３３５３０、ストレージ管理プログラム３３５４０を保持する。さらに、メモリ３３０００は、構成情報管理テーブル３３４００を保持する。【００４２】
仮想マシン管理ユーザＩ／Ｆプログラム３３５１０は、ユーザに仮想マシンを管理するためのＣｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ（ＣＬＩ）やＧｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）等のインタフェースを提供する。【００４３】
ホスト管理プログラム３３５３０は、データセンタ内のホストのリソースを管理する。【００４４】
ストレージ管理プログラム３３５４０は、データセンタ内のストレージのリソースを管理する。【００４５】
全体管理プログラム３３５２０は、全データセンタのホスト及びストレージのリソースを管理する。全体管理プログラム３３５２０は、管理サーバのホスト管理プログラムとストレージ管理プログラムと通信可能である。【００４６】
構成情報管理テーブル３３４００は、図５〜図２６に示すホストとストレージのリソースを管理するためのテーブルである。ストレージ管理プログラム３３５４０は、図５〜図９に示すテーブルの参照と更新を行う。ホスト管理プログラム３３５３０は、図１０〜図１５に示すテーブルの参照と更新を行う。全体管理プログラム３３５２０は、図１６〜図２６のテーブルの参照と更新を行う。以降にて、図５〜図２６のテーブルについて説明する。【００４７】
図５は、ストレージ管理テーブル３３０１０の構成例を示す。ストレージ管理テーブル３３０１０は、データセンタ内にある各ストレージのＩＤを格納するストレージＩＤ欄３３０１１と、前記ストレージのハードウェアのベンダ名を格納するベンダ名３３０１２とを有する。【００４８】
図６は、プール管理テーブル３３０２０の構成例を示す。プール管理テーブル３３０２０は、データセンタ内の各ストレージが持つプールのプールＩＤを格納するプールＩＤ欄３３０２１と、前記プールを持つストレージのストレージＩＤを格納するストレージＩＤ欄３３０２２と、前記プールの使用量や空容量等含めた全体容量の値を格納する全体容量欄３３０２３と、前記プールの空容量の値を格納する空容量欄３３０２４と、を有する。【００４９】
図７は、ボリューム管理テーブル３３０３０の構成例を示す。ボリューム管理テーブル３３０３０は、データセンタ内の各ストレージが持つプールから作成したボリュームのボリュームＩＤを格納するＶＯＬＩＤ欄３３０３１と、前記プールのプールＩＤを格納するプールＩＤ欄３３０３２と、前記ボリュームの容量の値を格納する容量欄３３０３３と、を有する。【００５０】
図８は、ボリュームペア作成可能構成管理テーブル３３０４０の構成例を示す。ボリュームペア作成可能構成管理テーブル３３０４０は、データセンタ内の各ストレージが持つプールＩＤを格納するプールＩＤ欄３３０４１と、ボリュームペア構成を構築可能な別データセンタ内のストレージが持つプールＩＤを格納する相手プールＩＤ欄３３０４３と、前記ペア種別の情報を格納するペア種別欄３３０４２と、を有する。【００５１】
ペア種別欄３３０４２には、例えばＨＡペアであれば“ＨＡ”、ＤＲペアであれば“ＤＲ”という文字列が格納される。ＤＲ（Ｄｉｓａｓｔｅｒ  Ｒｅｃｏｖｅｒｙ）は、自然災害などの被害を受けたシステムの復旧あるいは修復である。ＤＲでもサーバおよびストレージに冗長構成を構築してよい。なお、ボリュームペア構成可能なストレージの組合せは、当該ストレージハードウェアやソフトウェアの仕様等に従い自由に選択可能であってよい。【００５２】
図９は、ボリュームペア管理テーブル３３０５０の構成例を示す。ボリュームペア管理テーブル３３０５０は、ボリュームペアのペアＩＤを格納するＶＯＬペアＩＤ欄３３０５１と、データセンタ内にある当該ペアの片側ボリュームまたはＱｕｏｒｕｍボリュームのボリュームＩＤを格納するＶＯＬＩＤ３３０５２と、当該ペアのペア種別の情報を格納するペア種別欄３３０５３と、当該ペアに関連するボリュームのボリューム種別の情報を格納するＶＯＬ種別欄３３０５４と、当該ペアのペア状態の情報を格納するペア状態欄３３０５５と、別のデータセンタ内にある当該ペアの片側ボリュームのボリュームＩＤを格納する相手ＶＯＬＩＤ欄３３０５６と、当該ペアのＱｕｏｒｕｍボリュームのボリュームＩＤを格納するＱｕｏｒｕｍＩＤ欄３３０５７と、当該ペアが属するコンシステンシーグループ等のグループＩＤを格納するＧｒｐＩＤ欄３３０５８と、を有する。【００５３】
コンシステンシーグループは、少なくとも一つのボリュームペアで構成され、各ボリュームペアは、正ボリュームと副ボリュームとを備える。正ボリュームは、上位装置に提供されライトアクセスの発生する論理ボリュームである。副ボリュームは、正ボリュームの複製となる論理ボリュームである。コンシステンシーグループとは、一以上の正ボリュームと一以上の副ボリュームとの間で整合性をとる必要のあるボリューム群である。コンシステンシーグループは、ディスク装置上に用意される。【００５４】
ＶＯＬ種別欄には、例えばＰｒｉｍａｒｙ  Ｖｏｌｕｍｅ（ＰＶＯＬ）であれば“ＰＶＯＬ”、Ｓｅｃｏｎｄａｒｙ  Ｖｏｌｕｍｅ（ＳＶＯＬ）であれば“ＳＶＯＬ”、Ｑｕｏｒｕｍボリュームであれば“Ｑｕｏｒｕｍ”という文字列が格納される。ペア状態欄３３０５５には、例えばペアボリューム間でデータコピー中であれば”ＣＯＰＹ”、データコピーが完了しデータ同期中であれば”ＰＡＩＲ”、データコピー中断中であれば”ＰＳＵＳ”（ＰＡＩＲ  ＳＵＳＰＥＮＤ）等の文字列が格納される。【００５５】
図１０は、ホスト管理テーブル３３１１０の構成例を示す。ホスト管理テーブル３３１１０は、データセンタ内にある各ホストのホストＩＤを格納するホストＩＤ欄３３１１１と、を有する。【００５６】
図１１は、ハイパバイザ管理テーブル３３１２０の構成例を示す。ハイパバイザ管理テーブル３３１２０は、データセンタ内の各ホスト上にあるハイパバイザのハイパバイザＩＤを格納するハイパバイザＩＤ欄３３１２１と、ハイパバイザの種類を示す文字列を格納するハイパバイザ名欄３３１２２と、当該ハイパバイザを持つホストのホストＩＤ３３１２３と、を有する。【００５７】
図１２は、仮想マシン管理テーブル３３１３０の構成例を示す。仮想マシン管理テーブル３３１３０は、データセンタ内のハイパバイザ上にデプロイされた仮想マシンのＩＤを格納するＶＭＩＤ欄３３１３１と、当該仮想マシンがデプロイされたハイパバイザのハイパバイザＩＤを格納するハイパバイザＩＤ欄３３１３２と、当該ＶＭがアクセス可能なボリュームのＩＤを格納する接続ＶＯＬＩＤ３３１３３と、を有する。【００５８】
図１３は、仮想マシンペア作成可能構成管理テーブル３３１４０の構成例を示す。仮想マシンペア作成可能構成管理テーブル３３１４０は、データセンタ内のハイパバイザのＩＤを格納するハイパバイザＩＤ欄３３１４１と、別のデータセンタにあるＨＡまたはＤＲ等のペアとなり得るハイパバイザのＩＤを格納する相手ハイパバイザＩＤ欄３３１４１と、当該ペアのペア種別欄３３１４２欄と、を有する。【００５９】
図１４は、仮想マシンペア管理テーブル３３１５０の構成例を示す。仮想マシンペア管理テーブル３３１５０は、データセンタ内の仮想マシンが構成要素となっているペアのＩＤを格納するＶＭペアＩＤ欄３３１５１と、当該ペアのデータセンタ内の仮想マシンのＩＤを格納するＶＭＩＤ欄３３１５２と、当該ペア種別の情報を示す文字列を格納するペア種別欄３３１５３と、当該ＶＭＩＤ欄３３１５２のＩＤを持つ仮想マシンの状態の情報を示す文字列を格納するＶＭ状態欄３３１５５と、別データセンタの片側ペアとなるハイパバイザのＩＤを格納する相手ハイパバイザＩＤ欄３３１５６と、当該ペアのＱｕｏｒｕｍボリュームのＩＤを格納するＱｕｏｒｕｍＩＤ欄３３１５７と、を有する。【００６０】
ＶＭ状態欄には、例えば当該仮想マシンが稼動状態（Ａｃｔｉｖｅ）であれば“Ａｃｔｉｖｅ”、待機状態（Ｓｔａｎｄｂｙ）であれば“Ｓｔａｎｄｂｙ”等の文字列が格納される。【００６１】
図１５は、ストレージ−ホスト接続可能構成管理テーブル３３１６０の構成例を示す。ストレージ−ホスト接続可能構成管理テーブル３３１６０は、データセンタ内のストレージのＩＤを格納するストレージＩＤ欄３３１６１と、当該ストレージと任意のネットワークで接続されており、当該ストレージと通信可能なホストのＩＤを格納するホストＩＤ３３１６２と、を有する。【００６２】
図１６は、全ストレージ管理テーブル３３２１０の構成例を示す。全ストレージ管理テーブル３３２１０は、全データセンタにあるストレージのＩＤを格納するストレージＩＤ欄３３２１１と、当該ストレージの前記ストレージハードウェアベンダ名を格納するベンダ名欄３３２１２と、当該ストレージがあるデータセンタのＩＤを格納するデータセンタＩＤ欄３３２１３と、を有する。【００６３】
図１７は、全プール管理テーブル３３２２０の構成例を示す。全プール管理テーブル３３２２０は、全データセンタにあるプールのＩＤを格納するプールＩＤ３３２２１と、当該プールを持つストレージのＩＤを示すストレージＩＤ欄３３２２２と、当該プールの使用量や空容量等含めた全体容量の値を格納する全体容量欄３３２２３と、前記プールの空容量の値を格納する空容量欄３３２２４と、を有する。【００６４】
図１８は、全ボリューム管理テーブル３３２３０の構成例を示す。全ボリューム管理テーブル３３２３０は、全データセンタにあるボリュームのＩＤを格納するＶＯＬＩＤ欄３３２１と、当該ボリュームへ容量を割り当てるプールのＩＤを格納するプールＩＤ３３２３２と、当該プールを持つストレージのＩＤを格納するストレージＩＤ欄３３２３３と、当該ボリュームの容量の値を格納する容量欄３３２３４と、を有する。【００６５】
図１９は、全ボリュームペア作成可能構成管理テーブル３３２４０の構成例を示す。全ボリュームペア作成可能構成管理テーブル３３２４０は、全データセンタにおいて、ペアを構成可能なボリュームを提供する第一のプールのＩＤを格納する第一プールＩＤ欄３３２４１と、第二のプールのＩＤを格納する第二プールＩＤ３３２４２と、ペア種別の情報を示す文字列を格納する３３２４３と、を有する。【００６６】
図２０は、全ボリュームペア管理テーブル３３２５０の構成例を示す。全ボリュームペア管理テーブル３３２５０は、全データセンタ内にあるボリュームのペアのＩＤを格納するＶＯＬペアＩＤ欄３３２５１と、当該ペアのペア種別の情報を示す文字列を格納するペア種別欄３３２５２と、当該ペアのペア状態の情報を示す文字列を格納するペア状態欄３３２５３と、当該ペアのＰＶＯＬのＩＤを格納するＰＶＯＬＩＤ欄３３２５４と、当該ペアのＳＶＯＬのＩＤを格納するＳＶＯＬＩＤ欄３３２５５と、当該ペアのＱｕｏｒｕｍボリュームのＩＤを格納するＱｕｏｒｕｍＩＤ欄３３２５６と、当該ペアのコンシステンシーグループ等のグループのＩＤを示すＧｒｐＩＤ欄２２３５７と、を有する。【００６７】
図２１は、全ホスト管理テーブル３３２６０の構成例を示す。全ホスト管理テーブル３３２６０は、全データセンタにあるホストのＩＤを格納するホストＩＤ３２６１と、当該ホストがあるデータセンタのＩＤを格納するデータセンタＩＤ欄３３２６２と、を有する。【００６８】
図２２は、全ハイパバイザ管理テーブル３３２７０の構成例を示す。全ハイパバイザ管理テーブル３３２７０は、全データセンタにあるハイパバイザのＩＤを格納するハイパバイザＩＤ欄３３２７１と、当該ハイパバイザの種類を示す文字列を格納するハイパバイザ名欄３３２７２と、当該ハイパバイザを持つホストのＩＤを格納するホストＩＤ欄３３２７３と、を有する。【００６９】
図２３は、全仮想マシン管理テーブル３３２８０の構成例を示す。全仮想マシン管理テーブル３３２８０は、全データセンタにある仮想マシンのＩＤを格納するＶＭＩＤ欄３３２８１と、当該仮想マシンがあるハイパバイザのＩＤを格納するハイパバイザＩＤ欄３３２８２と、当該仮想マシンがアクセス可能なボリュームのＩＤを示す接続ＶＯＬＩＤ欄３３２８３と、を有する。【００７０】
図２４は、全仮想マシンペア作成可能構成管理テーブル３３２９０の構成例を示す。全仮想マシンペア作成可能構成管理テーブル３３２９０は、全データセンタにおいて、ペアを構成可能な仮想マシンを提供する第一のハイパバイザのＩＤを格納する第一ハイパバイザＩＤ欄３３２９１と、第二のハイパバイザのＩＤを格納する第二ハイパバイザＩＤ欄３３２９２と、当該ペアのペア種別の情報を示す文字列を格納するペア種別欄３３２９３と、を有する。【００７１】
図２５は、全仮想マシンペア管理テーブル３３３００の構成例を示す。全仮想マシンペア管理テーブル３３３００は、全データセンタにある仮想マシンのペアのＩＤを格納するＶＭペアＩＤ欄３３３０１と、当該ペアのペア種別を示す文字列を格納するペア種別欄３３３０２と、当該ペアのペア状態を示す文字列を格納するペア状態欄３３３０３と、当該ペアの第一の仮想マシンのＩＤを格納する第一ＶＭＩＤ３３３０４と、当該第一の仮想マシンの状態を示す文字列を格納する第一ＶＭ状態欄３３３０５と、第二の仮想マシンのＩＤを格納する第二ＶＭＩＤ３３３０６と、当該第二の仮想マシンの状態を示す文字列を格納する第二ＶＭ状態欄３３３０７と、当該ペアのＱｕｏｒｕｍボリュームのＩＤを格納するＱｕｏｒｕｍＩＤ欄３３３０８と、を有する。【００７２】
図２６は、全ストレージ−ホスト接続可能構成管理テーブル３３３１０の構成例を示す。全ストレージ−ホスト接続可能構成管理テーブル３３３１０は、全データセンタのストレージのＩＤを格納するストレージＩＤ欄３３３１１と、当該ストレージにネットワークで接続されており、当該ストレージと通信可能なホストのＩＤを格納する接続ホストＩＤ欄３３３１２と、を有する。【００７３】
実施例１の仮想マシン作成処理のシーケンスを図２７、図２８、図２９に示す。このシーケンスは、ユーザ６００００、仮想マシン管理ユーザＩ／Ｆプログラム３３５１０、全体管理プログラム３３５２０、ホスト管理プログラム３３５３０、ストレージ管理プログラム３３５４０を含む。本実施例では、１ユーザ６００００が、１管理サーバの１仮想マシン管理ユーザＩ／Ｆプログラム３３５１０を介して仮想マシン作成操作を行う。さらに、同一管理サーバ３００００の１全体管理プログラム３３５２０が、同一管理サーバ３００００のホスト管理プログラム３３５３０及びストレージ管理プログラム３３５４０、別のデータセンタ５００００内にある管理サーバ３００００のホスト管理プログラム３３５３０及びストレージ管理プログラム３３５４０に対し、各ホスト及びストレージの構成情報取得、ボリュームのＨＡペア作成、仮想マシンのＨＡペア設定、等の命令を発行する。【００７４】
図２７は、全体管理プログラム３３５２０が、全てのホスト管理プログラム３３５３０及びストレージ管理プログラム３３５４０から図５〜図１５の構成情報を取得し、図１６〜図２６の構成情報テーブルの内容を更新する処理を示すシーケンス図である。【００７５】
ステップＳ１０１において、全体管理プログラム３３５２０は、全てのホスト管理プログラム３３５３０に対し、図１０〜図１５に示すテーブルにあるホスト構成情報を取得する命令を送信する。ホスト管理プログラム３３５３０は、全体管理プログラム３３５２０から構成情報取得命令を受信したら、図１０〜図１５に示すテーブルにあるホスト構成情報の内容を全体管理プログラム３３５２０に送信する。【００７６】
次に、ステップＳ１０２において、全体管理プログラム３３５２０は、ホスト管理プログラム３３５３０より受信した構成情報を図１６〜図２６のテーブルに反映する。【００７７】
ステップＳ１０３において、全体管理プログラム３３５２０は、全てのストレージ管理プログラム３３５４０に対し、図１０〜図１５に示すテーブルにあるストレージ構成情報を取得する命令を送信する。ストレージ管理プログラム３３５４０は、全体管理プログラム３３５２０から構成情報取得命令を受信したら、図５〜図９に示すテーブルにあるストレージ構成情報の内容を全体管理プログラムに送信する。【００７８】
次に、ステップＳ１０４において、全体管理プログラム３３５２０は、ストレージ管理プログラム３３５４０より受信した構成情報を図１６〜図２６のテーブルに反映する。【００７９】
ここでは図２７にて破線で囲われたステップＳ１０１〜Ｓ１０４の一連の処理をステップＳ１００とすることにする。ステップＳ１１１、Ｓ１１２のように、ユーザ６００００の指示によりステップＳ１００の構成情報取得が実行されてもよい。【００８０】
図２８、図２９は、ホストおよびストレージのＨＡ機能を適用した仮想マシン作成処理のシーケンスである。【００８１】
図２８、図２９のユーザ６００００は、全体管理プログラム３３５２０に対し、仮想マシン作成・削除等の要求を出すＩａａＳ利用者である。図２８、図２９のＩ／Ｆ３３５１０は、仮想マシン管理ユーザＩ／Ｆプログラム３３５１０を示す。ユーザ６００００は、Ｉ／Ｆ３３５１０を経由し全体管理プログラム３３５２０に命令を発行する。図２８、図２９の全体管理３３５２０は、Ｉ／Ｆ３３５１０と同一管理サーバにある全体管理プログラム３３５２０を示す。図２８、図２９のホスト管理３３５３０は、各データセンタの管理サーバにあるホスト管理プログラム３３５３０を示す。図２８、図２９のストレージ管理３３５４０は、各データセンタの管理サーバにあるストレージ管理プログラム３３５４０を示す。【００８２】
図２８のステップＳ２０１において、ユーザ６００００は、仮想マシン管理ユーザＩ／Ｆプログラム３３５１０に対し、ＨＡ機能を適用した仮想マシン作成を命令する。【００８３】
次に、ステップＳ２０２において、仮想マシン管理ユーザＩ／Ｆプログラム３３５１０は、全体管理プログラム３３５２０に対し、ＨＡ機能を適用した仮想マシン作成の命令を送信する。【００８４】
次に、ステップＳ２０３において、全体管理プログラム３３５２０は、ストレージＨＡ構成及びホストＨＡ構成を決定する。当該ステップの詳細な説明は後述する。【００８５】
次に、ステップＳ２０５〜Ｓ２１５において、全体管理プログラム３３５２０は、ステップＳ２０３で決定した、ストレージＨＡ構成およびホストＨＡ構成を元に、複数のストレージ管理プログラム３３５４０に対し、ＨＡボリュームペア作成を指示する。【００８６】
まず、ステップＳ２０５において、全体管理プログラム３３５２０は、ストレージ管理プログラム３３５４０に対し、ＨＡのプライマリボリューム（Ｐｒｉｍａｒｙ  Ｖｏｌｕｍｅ、ＰＶＯＬ）作成の命令を送信する。【００８７】
次に、ステップＳ２０６において、ストレージ管理プログラム３３５４０は、ストレージ管理プログラムからの命令に従い、当該ボリュームを作成し、当該命令完了をストレージ全体管理プログラムに返す。【００８８】
次に、ステップＳ２０７において、全体管理プログラムは、ストレージ管理プログラム３３５４０に対し、ＨＡのセカンダリボリューム（Ｓｅｃｏｎｄａｒｙ  Ｖｏｌｕｍｅ、ＳＶＯＬ）作成の命令を送信する。【００８９】
次に、ステップＳ２０８において、ストレージ管理プログラム３３５４０は、全体管理プログラム３３５２０からの命令に従い、当該ボリュームを作成し、当該命令完了をストレージ管理プログラム３３５４０に返す。【００９０】
次に、ステップＳ２０９において、全体管理プログラム３３５２０は、ストレージ管理プログラム３３５４０に対し、ＨＡのＱｕｏｒｕｍ用ボリューム作成の命令を送信する。【００９１】
次に、ステップＳ２１０において、ストレージ管理プログラム３３５４０は、ストレージ管理プログラム３３５４０からの命令に従い、当該ボリュームを作成し、当該命令の完了を全体管理プログラム３３５２０に返す。【００９２】
次に、ステップＳ２１１において、全体管理プログラム３３５２０は、ＰＶＯＬ側のストレージ管理プログラム３３５４０に対し、ＰＶＯＬ‐Ｑｕｏｒｕｍ接続の命令を送信する。【００９３】
次に、ステップＳ２１２において、ＰＶＯＬ側のストレージ管理プログラム３３５４０は、Ｑｕｏｒｕｍ側のストレージ管理プログラム３３５４０に対し、ＰＶＯＬ‐Ｑｕｏｒｕｍ接続設定を実行し、当該設定の完了を全体管理プログラム３３５２０に返す。【００９４】
次に、ステップＳ２１３において、全体管理プログラム３３５２０は、ＳＶＯＬ側のストレージ管理プログラム３３５４０に対し、ＳＶＯＬ‐Ｑｕｏｒｕｍ接続の命令を送信する。【００９５】
次に、ステップＳ２１４において、ＳＶＯＬ側のストレージ管理プログラム３３５４０は、Ｑｕｏｒｕｍ側のストレージ管理プログラム３３５４０に対し、ＳＶＯＬ‐Ｑｕｏｒｕｍ接続設定を実行し、当該設定の完了を全体管理プログラム３３５２０に返す。【００９６】
次に、ステップＳ２１５において、全体管理プログラム３３５２０は、ＰＶＯＬ側のストレージ管理プログラム３３５４０に対し、ＰＶＯＬ‐ＳＶＯＬ間ＨＡペア作成の命令を送信する。【００９７】
次に、ステップＳ２１６において、ＰＶＯＬ側のストレージ管理プログラム３３５４０は、ＳＶＯＬ側のストレージ管理プログラム３３５４０に対し、ＰＶＯＬ‐ＳＶＯＬ間ＨＡペア作成を実行し、当該ペア作成の完了を全体管理プログラム３３５２０に返す。【００９８】
次に、ステップＳ２１７において、全体管理プログラム３３５２０は、前述のＨＡボリュームペア作成後の構成の情報を構成管理テーブルに反映する。このとき、全体管理プログラム３３５２０が再度ステップＳ１００の構成情報ＴＢ更新処理を実施してもよい。【００９９】
次に、図２９のステップＳ２１８において、全体管理プログラム３３５２０は、ホスト管理プログラム３３５３０に対し、ＰＶＯＬへのＶＭイメージ格納の命令を送信する。【０１００】
次に、ステップＳ２１９において、ホスト管理プログラム３３５３０は、ＰＶＯＬ側のストレージ管理プログラム３３５４０に対し、全体管理プログラム３３５２０からの命令に従い、ＶＭイメージデータのＰＶＯＬへのＷｒｉｔｅ命令を送信する。【０１０１】
次に、ステップＳ２２０において、ストレージ管理プログラム３３５４０は、ＰＶＯＬに書き込まれたデータをＳＶＯＬ側へコピーする。【０１０２】
次に、ステップＳ２２１において、全体管理プログラム３３５２０は、ホストＨＡのＱｕｏｒｕｍ作成元となるストレージのストレージ管理プログラム３３５４０に対し、Ｑｕｏｒｕｍ用ボリュームの作成の命令を送信する。【０１０３】
次に、ステップＳ２２２において、ストレージ管理プログラム３３５４０は、ボリュームを作成し、当該命令の完了を全体管理プログラム３３５２０に返す。【０１０４】
次に、ステップＳ２２３において、ステップＳ２０４で決定したホストＨＡ構成の各ハイパバイザに対し、ストレージＨＡペアボリュームからのパス定義、ホストＨＡのＱｕｏｒｕｍ設定を実施する。【０１０５】
まず、ステップＳ２２４において、ホスト管理プログラム３３５３０は、ＰＶＯＬ側のストレージ管理プログラム３３５４０に対し、ＰＶＯＬからホストへのパス定義を指示する。【０１０６】
次に、ステップＳ２２５において、ホスト管理プログラム３３５３０は、ホストＨＡのＱｕｏｒｕｍ側のストレージ管理プログラム３３５４０に対し、Ｑｕｏｒｕｍ設定を実施する。【０１０７】
次に、ステップＳ２２６において、ホスト管理プログラム３３５３０は、ホストＨＡペアの別ホストのホスト管理プログラム３３５３０に対し、ストレージＨＡペアボリュームからのパス定義（ステップＳ２２６）、ホストＨＡのＱｕｏｒｕｍ設定（ステップＳ２２７）を指示する。【０１０８】
次に、ステップＳ２２８において、全体管理プログラム３３５２０は、前述のＨＡボリュームペア作成後の構成の情報を構成管理テーブルに反映する。このとき、全体管理プログラム３３５２０が再度ステップＳ１００の構成情報ＴＢ更新処理を実施してもよい。【０１０９】
次に、ステップＳ２２９において、全体管理プログラム３３５２０は、ホスト管理プログラム３３５３０に対し、仮想マシン起動を指示する。【０１１０】
次に、ステップＳ２３０において、ホスト管理プログラム３３５３０は、ボリュームにアクセスし（ステップＳ２３０）、仮想マシンを起動する。【０１１１】
次に、ステップＳ２３１において、ホスト管理プログラム３３５３０は、全体管理プログラム３３５２０に対し、仮想マシン起動の完了を返す。【０１１２】
次に、ステップＳ２３１において、全体管理プログラム３３５２０は、仮想マシン管理ユーザＩ／Ｆプログラム３３５１０に仮想マシン作成の完了を返す。【０１１３】
次に、仮想マシン管理ユーザＩ／Ｆプログラム３３５１０は、ユーザ６００００に対し、仮想マシン作成の完了を通知する。【０１１４】
図３０は、ストレージＨＡ構成及びホストＨＡ構成を決定する処理のフローチャートである。【０１１５】
まず、ステップＳ２０３−０１において、全体管理プログラム３３５２０は、全ボリュームペア作成可能構成管理テーブル３３２４０を参照し、ＨＡのボリュームペア作成可能となるストレージのプール組合せを１つ選択し、ステップＳ２０３−０２に進む。もし未選択のプール組合せがなければ処理を終了する。ストレージＨＡ構成またはホストＨＡ構成のいずれかが未決定の場合は異常終了する。【０１１６】
次に、ステップＳ２０３−０２において、全体管理プログラム３３５２０は、全プール管理テーブル３３２２０を参照し、直前のステップＳ２０３−０１で選択したプール組合せの両プールの空容量合計値を計算する。【０１１７】
次に、ステップＳ２０３−０３において、全体管理プログラム３３５２０は、直前のステップＳ２０３−０１で選択したプール組合せの両プールの空容量合計値が、既に決定済みのストレージＨＡのプール組合せのそれよりも多い場合、ステップＳ２０３−０４に進み、そうでなければステップＳ２０３−０１に戻る。【０１１８】
なお、当該プール組合せの選択方法は、本実施例の方法に限られず他の方法を用いてもよい。【０１１９】
次に、ステップＳ２０３−０４において、全体管理プログラム３３５２０は、全ストレージ‐ホスト接続可能構成管理テーブルを参照し、直前のステップＳ２０３−０１で選択したプール組合せの１ストレージと接続可能な未選択の１ホストがあればそれを選択しステップＳ２０３−０５へ進み、そうでなければステップＳ２０３−０１に戻る。【０１２０】
次に、ステップＳ２０３−０５において、全体管理プログラム３３５２０は、全仮想マシンペア作成可能構成管理テーブル３３２９０を参照し、直前のステップＳ２０３−０４で選択したホストのハイパバイザ（第一）とＨＡ構成可能なハイパバイザ（第二）の組合せのうち、未選択のものがあればそれを選択しステップＳ２０３−０６に進み、そうでなければステップＳ２０３−０４へ戻る。【０１２１】
次に、ステップＳ２０３−０６において、全体管理プログラム３３５２０は、選択したホストのＣＰＵ利用率やメモリ利用率などの計算処理負荷情報を取得する。【０１２２】
次に、ステップＳ２０３−０７において、全体管理プログラム３３５２０は、直前のステップＳ２０３−０６で取得した負荷情報を参照し、直前のステップＳ２０３−０４で選択したホストの負荷が、既に決定済みのホストＨＡの第一ホストのそれよりも低いならステップＳ２０３−０８に進み、そうでなければステップＳ２０３−０４に戻る。なお、当該ホストの選択方法は、本実施例の方法に限られず他の方法を用いてもよい。【０１２３】
次に、ステップＳ２０３−０８において、全体管理プログラム３３５２０は、全プール管理テーブル３３２２０を参照し、ストレージＨＡのＱｕｏｒｕｍ用ボリュームを作成するストレージのプール、及びホストＨＡのＱｕｏｒｕｍ用ボリュームを作成するストレージのプールを選択する。当該ボリュームを作成するプールは、可用性維持のため、ＨＡボリュームペアを作成する２プール以外のものやＨＡホストペアを配置するホストがあるデータセンタとは別のところにあるもの、かつ当該プールの空容量が最大となるものを選択する。なお、当該プールの選択方法は、本実施例の方法に限られず他の方法を用いてもよい。【０１２４】
次に、ステップＳ２０３−０９において、全体管理プログラム３３５２０は、直前のステップＳ２０３−０１からステップＳ２０３−０９で決定したストレージＨＡ構成とホストＨＡ構成の組合せ情報を更新し、ステップＳ２０３−０１に戻る。【０１２５】
本実施例では、管理計算機（管理サーバ３００００）は、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理する計算機である。コンピュータシステムは、複数のサーバリソースと複数のストレージリソースとを有し、管理計算機は、その中からサーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てる。【０１２６】
管理サーバ３００００のメモリ３３０００には構成情報管理テーブル３３４００が格納されている。構成情報管理テーブル３３４００には、複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能なストレージ管理情報（ストレージ管理テーブル３３０１０）と、複数のストレージリソースと複数のサーバリソースについて相互に接続できるか否かを判断可能な接続可能構成管理情報（ストレージ−ホスト接続可能構成管理テーブル３３１６１）と、を含んでいる。【０１２７】
ストレージ管理テーブル３３０１０には、各ストレージのストレージＩＤ３３０１１と、そのストレージのベンダのベンダ名３３０１２とが対応づけて記録されている。ここでは同じベンダのストレージ同士が接続可能である。ストレージ−ホスト接続可能構成管理テーブル３３１６０には、各ストレージのストレージＩＤと、そのストレージに接続可能なホストのホストＩＤ３３１６２とが対応づけて記録されている。【０１２８】
ＣＰＵ３１０００は、仮想化マシンをデプロイするとき、まず、ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを決定し、次に、接続可能構成管理情報を参照して、冗長構成のペアにするストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにする。【０１２９】
これにより、一般にサーバよりもストレージの方が冗長構成のペアを作るのに制約が多いので、冗長構成に制約が課される場合が多いストレージの冗長構成を先に決めて次にサーバの冗長構成を決めることで、サーバとストレージを連携させた冗長構成を効率よく構築することができる。【０１３０】
また、ＣＰＵ３１０００は、冗長構成のペアにするストレージリソースを冗長構成のプライマリストレージおよびセカンダリストレージにそれぞれ割り当て、プライマリストレージおよびセカンダリストレージ以外の装置に、プライマリストレージとセカンダリストレージが相互に生存確認するためのストレージクオーラム情報を格納させる。また、ＣＰＵ３１０００は、冗長構成のペアにするサーバリソースを冗長構成のプライマリサーバおよびセカンダリサーバにそれぞれ割り当て、プライマリサーバおよびセカンダリサーバ以外の装置に、プライマリサーバとセカンダリサーバが相互に生存確認するためのサーバクオーラム情報を格納させる。これによれば、クオーラムの情報をプライマリおよびセカンダリ以外の第三のサイトに配置することができる。【０１３１】
また、ＣＰＵ３１０００は、サーバクオーラム情報とストレージクオーラム情報を同一装置に格納させることができてもよい。これによれば、サーバとストレージのクオーラム情報を同一装置に格納できるので、クオーラム情報を効率よく配置することができる。【０１３２】
また、複数のサーバ装置および複数のストレージ装置は同一の災害で同時に障害とならない複数のサイトに分散配置されてもよい。その場合、ＣＰＵ３１０００は、冗長構成のペアにするサーバリソースおよびサーバクオーラム情報を格納する装置を互いに異なるサイトとなるように設定するとよい。また、ＣＰＵ３１０００は、冗長構成のペアにするストレージリソースおよびストレージクオーラム情報を格納する装置を互いに異なるサイトとなるように設定する。これによれば、冗長構成のペアおよびクオーラム情報を格納する装置を災害で同時に障害とならないサイトに配置し、システムの高い信頼性を確保することができる。【０１３３】
また、ＣＰＵ３１０００は、冗長構成のストレージリソースのペアが複数となる場合に、その複数のストレージリソースのペアを含み全ペアの整合性をとるコンシステンシーグループを設定するとよい。これによれば、ストレージリソースのペアをコンシステンシーグループにして管理することができ、整合性の確保や仮想化マシンのデプロイを効率よく行うことが可能である。【０１３４】
なお、本実施例では、ストレージの冗長構成のペア先にサーバの冗長構成のペアを後に定める例を示したが、他の構成も可能である。２つのリソースがあったとき、冗長構成のペアを決定するときにその組み合わせに課される制約が大きい方のペアを先に決定すればよい。【０１３５】
例えば、コンピュータシステムは、サーバとストレージが例示される複数の第１リソースと複数の第２リソースとを有し、第１リソースと第２リソースを組み合わせて仮想化マシンに割り当てる場合、管理装置は、第１リソースおよび第２リソースについて冗長構成のペアを選択するとき、複数の中から選択可能なペアの組合せの割合が低い方のリソースについて先にペアを選択する。これによれば、冗長構成のペアに課される制約が大きいリソースを先に決めて次に他方のリソースの冗長構成のペアを決めるので、第１リソースと第２リソースを連携させた冗長構成を効率よく構築することができる。ここでは選択可能なペアの組合せの割合が低い方がペアの決定に課される制約が大きいとしている。
【実施例２】
【０１３６】
第二の実施例は、ＩａａＳにおける仮想サーバ作成において、ストレージＤＲを構成した後、ストレージＤＲ（Ｄｉｓａｓｔｅｒ  Ｒｅｃｏｖｅｒｙ）の構成に合わせてホストＤＲ構成を構築する例である。第一の実施例のＨＡではプライマリとセカンリダリの他にＱｕｏｒｕｍを設定したが、第二の実施例のＤＲでは、設定するのはプラオマリとセカンダリだけでＱｕｏｒｕｍは設定しない。【０１３７】
図３１、図３２は、ホストおよびストレージのＤＲ機能を適用した仮想マシン作成処理のシーケンスである。図３１は第一の実施例における図２８に対応し、図３２は第一の実施例における図２９に対応する。図３１、図３２のシーケンスはＱｕｏｒｕｍ設定が無いという点が図２８、図２９のシーケンスと異なる。【０１３８】
図３３は、ストレージＤＲ構成及びホストＤＲ構成を決定する処理を示すフローチャートである。図３３は第一の実施例における図３０に対応する。図３３のフローチャートは、Ｑｕｏｒｕｍ設定が無いという点だけが図３０と異なる。【０１３９】
本実施例によれば、第一の実施例におけるＨＡ機能と同様にＤＲ機能においてもサーバとストレージを連携させた冗長構成を効率よく構築することが可能である。
【実施例３】
【０１４０】
第三の実施例は、ＩａａＳにおける仮想サーバの作成において、既に作成済みのＨＡに適用された仮想マシンに対し、別のボリュームを接続する例である。【０１４１】
図３４、図３５は、ホスト‐ストレージにＨＡ構成を適用した仮想マシンにボリュームを接続する処理を示すシーケンスである。【０１４２】
まず、図３４のステップＳ４０１において、ユーザ６００００は、仮想マシン管理Ｉ／Ｆプログラム３３５１０に対し、特定の仮想マシンへの特定のボリューム接続を指示する。【０１４３】
次に、ステップＳ４０２において、仮想マシン管理Ｉ／Ｆプログラム３３５１０は、全体管理プログラム３３５２０に対し、仮想マシンへのボリューム接続を指示する。【０１４４】
次に、ステップＳ４０３において、全体管理プログラム３３５２０は、全仮想マシンペア管理テーブル３３３００を参照し、特定のＶＭペアＩＤ３３３０１のペア種別３３３０２を確認する。ここでは、当該ペア種別３３３０２が“ＨＡ”とする。【０１４５】
次に、ステップＳ４０４において、全体管理プログラム３３５２０は、全ボリューム管理テーブル３３２３０と、全ボリュームペア作成可能構成管理テーブル３３２４０を参照し、接続指示のあった特定のボリュームとＨＡペアを作成可能となるＳＶＯＬ側のプール選択と、Ｑｕｏｒｕｍ用ボリューム作成先プール選択を実施する。各プールの選択方法は、実施例１のステップＳ２０３と同様である。【０１４６】
次に、ステップＳ４０５〜Ｓ４１３において、全体管理プログラム３３５２０は、ストレージ管理プログラム３３５４０に対し、ＰＶＯＬ作成、ＳＶＯＬ作成、Ｑｕｏｒｕｍ接続、ＨＡペア作成を実施する。ステップＳ４１１のＨＡペア作成の際、全体管理プログラム３３５２０は、全ボリュームペア管理テーブル３３２５０、全仮想マシン管理テーブル３３２８０を参照し、特定のＶＭに既に接続されたＨＡペアボリュームと同一のコンシステンシーグループＩＤを特定し、ＨＡペア作成を実施する。【０１４７】
次に、ステップＳ４１５〜Ｓ４１７において、全体管理プログラム３３５２０は、作成したＨＡペアボリュームに監視を実施し、特定のホストＨＡペアの各ＶＭに対するパス定義を実施する。【０１４８】
次に、ステップＳ４１８において、全体管理プログラム３３５２０は、前述の構成変更内容を構成管理テーブルに反映する。このとき、全体管理プログラム３３５２０が再度ステップＳ１００の構成情報ＴＢ更新処理を実施してもよい。【０１４９】
次に、ステップＳ４１９において、全体管理プログラム３３５２０は、仮想マシン管理ユーザＩ／Ｆプログラムに、仮想マシンへのボリューム接続完了を返す。【０１５０】
次に、ステップＳ４２０において、仮想マシン管理ユーザＩ／Ｆプログラム３３５１０は、ユーザ６００００に対し、仮想マシンへのボリューム接続完了を通知する。【０１５１】
上述した本発明の実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【０１５２】
１００００…ホスト、１１０００…ＣＰＵ、１２０００…二次記憶デバイス、１３０００…メモリ、１３０２０…ハイパバイザ、１３０３０…仮想マシンプログラム、１４０００…入出力デバイス、１５０００…バス、１６０００…イニシエータポート、１７０００…管理インタフェース、２００００…ストレージ、２１０００…ＣＰＵ、２２０００…記憶デバイス、２３０００…メモリ、２４０００…キャッシュメモリ、２５０００…バス、２６０００…イニシエータポート、２７０００…ターゲットポート、２８０００…管理インタフェース、３００００…管理サーバ、３１０００…ＣＰＵ、３２０００…二次記憶デバイス、３３０００…メモリ、３４０００…入出力デバイス、３５０００…バス、３６０００…管理インタフェース、４００００…ネットワーク、４１０００…ネットワーク、５００００…データセンタ
【図１】
0006472508.tif 000002
【図２】
0006472508.tif 000003
【図３】
0006472508.tif 000004
【図４】
0006472508.tif 000005
【図５】
0006472508.tif 000006
【図６】
0006472508.tif 000007
【図７】
0006472508.tif 000008
【図８】
0006472508.tif 000009
【図９】
0006472508.tif 000010
【図１０】
0006472508.tif 000011
【図１１】
0006472508.tif 000012
【図１２】
0006472508.tif 000013
【図１３】
0006472508.tif 000014
【図１４】
0006472508.tif 000015
【図１５】
0006472508.tif 000016
【図１６】
0006472508.tif 000017
【図１７】
0006472508.tif 000018
【図１８】
0006472508.tif 000019
【図１９】
0006472508.tif 000020
【図２０】
0006472508.tif 000021
【図２１】
0006472508.tif 000022
【図２２】
0006472508.tif 000023
【図２３】
0006472508.tif 000024
【図２４】
0006472508.tif 000025
【図２５】
0006472508.tif 000026
【図２６】
0006472508.tif 000027
【図２７】
0006472508.tif 000028
【図２８】
0006472508.tif 000029
【図２９】
0006472508.tif 000030
【図３０】
0006472508.tif 000031
【図３１】
0006472508.tif 000032
【図３２】
0006472508.tif 000033
【図３３】
0006472508.tif 000034
【図３４】
0006472508.tif 000035
【図３５】
0006472508.tif 000036