(57)【特許請求の範囲】
【請求項１】
複数の仮想マシンがＶＬＡＮによって接続されたユーザ毎のゲスト空間を生成する仮想化ＯＳと、前記ゲスト空間における仮想マシンの生成及び制御を前記仮想化ＯＳに接続された管理ＬＡＮを通じて実行する仮想環境管理サーバとを備え、前記ユーザ毎のゲスト空間の中から当該空間における仮想マシンの新規生成及び生成された仮想マシンを起動状態／非起動状態にするなどの仮想環境の制御を実行するシステムであって、
前記ゲスト空間のＶＬＡＮに接続され、当該ゲスト空間における仮想環境の変更指示をユーザから受付け当該ゲスト空間の仮想記憶装置に格納する仮想マシン制御子サーバと、前記仮想記憶装置から前記仮想化ＯＳと前記仮想環境管理サーバを経由して仮想環境の変更指示情報を取得し、当該変更指示情報で指示された仮想環境になるように前記管理ＬＡＮを通じて前記仮想化環境管理サーバに指示情報を送信する仮想マシン制御親サーバを備えることを特徴とする仮想マシン制御システム。
【請求項２】
前記仮想マシン制御親サーバは、前記仮想記憶装置から取得した変更指示情報を解析し、当該親サーバの記憶装置に保持されている利用者情報から取得したユーザのハードウェアリソース及びネットワークの割り当て制限と突き合わせて変更指示情報の実行可否を判定し、実行可能の場合は前記仮想環境管理サーバに対して仮想環境の変更指示情報を送信し、ユーザのゲスト空間に仮想マシンの新規生成及び生成した仮想マシンを起動状態／非起動状態にするなどの仮想環境の制御を実現する手段をさらに備えることを特徴とする請求事項１記載の仮想マシン制御システム。
【請求項３】
前記仮想マシン制御親サーバは、前記仮想環境管理サーバが提供する仮想マシン稼動情報参照機能を利用して定期的にユーザのゲスト空間に存在する仮想マシンの稼動情報を取得し、稼動情報ファイルを作成した後に、定期的に前記仮想マシン制御子サーバの前記仮想記憶装置に前記仮想環境管理サーバと前記仮想化ＯＳを経由して稼動情報ファイルを格納し、仮想マシン制御子サーバがユーザ毎のゲスト空間で稼動する仮想マシンの稼動情報を参照可能にする手段をさらに備えたことを特徴とする請求事項１または２に記載の仮想マシン制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン利用者による仮想マシンの生成と制御を実現する仮想マシン制御システムに関するものである。
【背景技術】
【０００２】
仮想マシンは、ある特定のハードウェアをエミューレーションすることによって実現された仮想的なマシン環境であり、コンピュータ仮想化技術によって実現されるものである。
通常、仮想マシンは、仮想化サーバのハードウェアで動作する仮想化ＯＳ（ハイパーバイザ）の上で稼動する。仮想化ＯＳは、1台の物理コンピュータ上に複数の仮想マシンを稼動させることができるため、ハードウェアリソースの効率的な利用を可能にする。
【０００３】
仮想化ＯＳは、仮想マシン同士を接続する仮想化されたネットワークを提供することができる。特定のユーザが使用する複数の仮想マシンを、同一のＶＬＡＮ（Virtual Local Area Network）に接続することにより、他のユーザの使用する仮想マシンから完全に隔離されたネットワーク空間で仮想マシンを使用できる。つまり、ユーザは他のユーザからのアクセスを受けない安全なゲスト空間を得る。この手法により、仮想環境の提供者は、仮想マシンの動作環境（ハードウェアリソース）を複数ユーザで共有するサービス提供形態（マルチテナント）を実現できる。
【０００４】
一般的に仮想化サーバ群とその上で動作する仮想マシン群は、管理ＬＡＮに接続された仮想環境管理サーバが集中管理する。仮想環境の運用管理者は、管理ＬＡＮに接続されている仮想環境操作クライアントから仮想環境管理サーバに接続し、仮想マシンの管理を行う。運用管理者は、仮想マシンの生成と削除、仮想マシンの電源制御、仮想マシンの稼動状態確認を行うことができる。
仮想マシンの電源制御に関する先行技術文献として、下記の特許文献がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００７−５０６１６９号公報
【特許文献２】特開２００９−２４５３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、仮想マシンのユーザは、ユーザに与えられた仮想マシンとＶＬＡＮで構成されるゲスト空間の中から、新規仮想マシンの追加や仮想マシンの電源ＯＮ（仮想マシンの起動）を行うことができない。なぜならゲスト空間のＶＬＡＮは管理ＬＡＮに論理的に接続されておらず、仮想環境管理サーバにアクセスできないからである。ユーザが新規仮想マシンの追加や仮想マシンの電源ＯＮを希望する場合は、次に説明する三つの方式のいずれかで対応しなければならない。
【０００７】
１つ目は、ユーザが仮想環境の運用管理者に作業を依頼する方法である。ユーザから依頼を受けた運用管理者は、仮想環境操作クライアントから仮想環境管理サーバにアクセスして、仮想マシンの新規作成など仮想環境の変更を行う。この方法は、仮想環境運用管理者の手作業を必要とするため、ユーザの要望が実現されるまでに時間がかかるという問題がある。さらに、仮想環境の利用ユーザ数が多いと、仮想環境運用管理者への負担が増加するという課題もある。
【０００８】
２つ目は、ユーザがインターネットなどを経由して、仮想環境操作クライアントにリモートアクセスする経路を提供する方法である。ユーザは、仮想環境操作クライアントを利用することにより、仮想環境の変更を行う。この方法、ユーザが仮想環境の変更を直接実施できるという利点を持つが、セキュリティの観点から、ユーザのゲスト空間のみを参照可能とし、他のユーザのゲスト空間を参照変更できないよう、アクセス制限の管理を行う必要がある。また、ユーザが仮想環境操作クライアントにアクセスする経路を用意するため、管理ＬＡＮへの侵入を許さないようなセキュリティ対策を施さなければならないという問題がある。
【０００９】
３つ目は、ユーザの仮想マシンに仮想ＮＩＣ（ネットワークインターフェースカード）を追加し、ここに仮想環境の管理ＬＡＮを接続する方式である。ユーザのゲスト空間上に仮想環境操作クライアントを配置し、このクライアントから管理ＬＡＮを経由して仮想環境管理サーバにアクセスすることにより、ユーザが仮想環境の変更を直接実施できる。しかしこの方法は、管理ＬＡＮにユーザのゲスト空間を接続することになるため、セキュリティ上危険である。
以上のように、ユーザに与えられたゲスト空間の中から、ユーザ自身の仮想環境の変更を安全に行うには様々な課題がある。
【００１０】
本発明の目的は、ユーザに与えられたゲスト空間の中から仮想環境を安全に変更することができる仮想マシン制御システムを提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明は、複数の仮想マシンがＶＬＡＮによって接続されたユーザ毎のゲスト空間を生成する仮想化ＯＳと、前記ゲスト空間における仮想マシンの生成及び制御を前記仮想化ＯＳに接続された管理ＬＡＮを通じて実行する仮想環境管理サーバとを備え、前記ユーザ毎のゲスト空間の中から当該空間における仮想マシンの新規生成及び生成された仮想マシンを起動状態／非起動状態にするなどの仮想環境の制御を実行するシステムであって、
前記ゲスト空間のＶＬＡＮに接続され、当該ゲスト空間における仮想環境の変更指示をユーザから受付け当該ゲスト空間の仮想記憶装置に格納する仮想マシン制御子サーバと、前記仮想記憶装置から前記仮想化ＯＳと前記仮想環境管理サーバを経由して仮想環境の変更指示情報を取得し、当該変更指示情報で指示された仮想環境になるように前記管理ＬＡＮを通じて前記仮想化環境管理サーバに指示情報を送信する仮想マシン制御親サーバを備えることを特徴とする。
また、前記仮想マシン制御親サーバは、前記仮想記憶装置から取得した変更指示情報を解析し、当該親サーバの記憶装置に保持されている利用者情報から取得したユーザのハードウェアリソース及びネットワークの割り当て制限と突き合わせて変更指示情報の実行可否を判定し、実行可能の場合は前記仮想環境管理サーバに対して仮想環境の変更指示情報を送信し、ユーザのゲスト空間に仮想マシンの新規生成及び生成した仮想マシンを起動状態／非起動状態にするなどの仮想環境の制御を実現する手段をさらに備えることを特徴とする。
また、前記仮想マシン制御親サーバは、前記仮想環境管理サーバが提供する仮想マシン稼動情報参照機能を利用して定期的にユーザのゲスト空間に存在する仮想マシンの稼動情報を取得し、稼動情報ファイルを作成した後に、定期的に前記仮想マシン制御子サーバの前記仮想記憶装置に前記仮想環境管理サーバと前記仮想化ＯＳを経由して稼動情報ファイルを格納し、仮想マシン制御子サーバがユーザ毎のゲスト空間で稼動する仮想マシンの稼動情報を参照可能にする手段をさらに備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、仮想環境のユーザは、仮想マシンとＶＬＡＮから構成される管理ＬＡＮに論理的に接続されていないユーザのゲスト空間の中から、ユーザの指示に従って、仮想マシンの新規作成、仮想マシンの電源制御、仮想マシンの稼動状態参照を、安全に実現することができる。
【図面の簡単な説明】
【００１３】
【図１】仮想環境の一般的なシステム構成図である。
【図２】本発明を実現する仮想マシン制御システムの構成図である。
【図３】ユーザによる仮想環境変更指示の概要を示した図である。
【図４】ユーザが仮想マシンの稼動状況を取得する際の処理の概要を示した図である。
【図５】制御情報ファイルの構成要素を示した図である。
【図６】利用者情報の構成要素を示した図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施する場合の実施形態を、図面を用いて詳細に説明する。
図１は、仮想環境の一般的なシステム構成図である。
仮想化サーバ１００Ａの上で動作する仮想化ＯＳ１０１は、1台の物理コンピュータ上で複数の仮想マシン１０２Ａ〜１０２Ｂを稼動させることができる。
個々の仮想マシン１０２Ａ〜１０２Ｂは、その仮想マシンを利用するユーザに割り当てられたＶＬＡＮ１０３Ａ〜１０３Ｂに接続している。ＶＬＡＮ１０３Ａに接続している複数の仮想マシン１０２Ａ同士は、ＶＬＡＮ１０３Ａを経由して通信することができる。しかし仮想マシン１０２Ａは、他のユーザに割り当てられたＶＬＡＮ１０３Ｂに接続されていないため、仮想マシン１０２Ａと仮想マシン１０２Ｂは通信することはできず、仮想マシン１０２Ａは仮想マシン１０２Ｂの存在を知ることもできない。
【００１５】
このように、ユーザに割り当てられた仮想マシンとＶＬＡＮから構成されるゲスト空間１０４Ａ〜１０４Ｂは、それぞれ隔離されている。
管理ＬＡＮ１０５に接続している複数の仮想化サーバ１００Ａ〜１００Ｃと、その中で稼動する仮想マシンを管理するサーバが仮想環境管理サーバ１０６である。
仮想環境の運用管理者は、管理ＬＡＮ１０５に接続している仮想環境操作クライアントを用いて仮想環境管理サーバ１０６にアクセスし、仮想マシンの新規生成や削除、稼動マシンの電源制御、仮想マシンの稼動状態確認など各種の仮想環境の制御を行う。
【００１６】
図２は、本発明を実現するために用意するサーバを追加した仮想環境のシステム構成図である。仮想マシン制御子サーバ２０１と仮想マシン制御親サーバ２０２が追加されている。
仮想マシン制御子サーバ２０１は、ユーザのゲスト空間に配置される仮想マシンであり、仮想記憶装置を持つ。仮想マシン制御子サーバ２０１は、ユーザの仮想環境変更指示を受け付ける機能と、仮想マシンの稼動情報をユーザに渡す機能を持つ。
一方、仮想マシン制御親サーバ２０２は、管理ＬＡＮ１０５に接続するサーバであり、複数のゲスト空間に配置された仮想マシン制御子サーバ２０２から、ユーザの仮想環境変更指示を取得して、その指示を実行する機能を持つ。
また仮想マシン制御親サーバ２０２は、仮想マシンの稼動状況を仮想マシン制御子サーバ２０１に伝達する機能を持つ。
【００１７】
以下、本実施形態に係る仮想マシン制御システムの動作について説明する。
図３は、ユーザによる仮想環境変更指示が伝達される様子を示した図である。
ゲスト空間に存在する仮想マシン１０２Ａの電源制御、または仮想マシン１０２Ａの新規作成をユーザが希望した場合、ユーザは仮想マシン制御子サーバ２０１が提供するインターフェースを用いて、仮想環境の変更指示を伝える。
この変更指示をユーザが伝える方法は二つある。１つ目は、ユーザが仮想マシン制御子サーバ２０１にログインし、ユーザが作成したスクリプトを用いて、変更指示コマンドを実行することである。２つ目は、仮想マシン制御子サーバ２０１上で稼動している仮想環境制御Ｗｅｂアプリケーションを、仮想マシン制御子サーバ２０１に接続されたマシン上で稼動するＷｅｂブラウザで参照し、ユーザがインターフェース表示画面を見ながら変更を指示することである。
仮想マシン制御子サーバ２０１は、ユーザの変更指示の内容とパラメータを制御情報ファイル３０５に変換して、子サーバ２０１の仮想記憶装置の特定パスに格納する（ステップ３０４）。制御情報ファイルの内容は、図５にて説明する。
【００１８】
仮想マシン制御親サーバ２０３は、仮想環境管理サーバ１０６に対して、仮想マシン制御子サーバ２０１の名称と制御情報ファイル格納パスを指定して、制御ファイル３０５の取得を定期的に依頼する（ステップ３０６）。
ファイル取得依頼を受けた仮想環境管理サーバ１０６は、指定された仮想マシン制御子サーバが稼動している仮想化ＯＳ１０１に対して、指定されたパスのファイル取得を依頼する（ステップ３０９）。この指示を受けた仮想化ＯＳ１０１は、指定された仮想マシンの仮想記憶装置上の指定パスに存在する制御情報ファイル３０５を取得して、仮想環境管理サーバ１０６に返却する（ステップ３１０）。
【００１９】
仮想環境管理サーバ１０６は、ファイル取得依頼元である仮想マシン制御親サーバ２０３にファイルの内容を返却する。仮想マシン制御親サーバ２０３は、取得した制御情報ファイル３０５の内容と、親サーバ２０３の記憶装置２０４に格納されている利用者情報３１２とを比較して、仮想環境変更指示の依頼内容が妥当であるかを判断する（ステップ３１１）。利用者情報の内容については、図６で説明する。
【００２０】
仮想環境変更指示の内容が妥当であると判断した場合、仮想マシン制御親サーバ２０３は、仮想環境管理サーバ１０６に対して、仮想マシンの電源制御または仮想マシンの新規生成を指示する（ステップ３１３）。
仮想環境管理サーバ１０６は、仮想環境の変更指示を仮想化ＯＳ１０１に伝える（ステップ３１４）。仮想化ＯＳ１０１は、仮想環境の変更指示に従って、仮想マシンの電源制御（ステップ３１５）、または仮想マシンの新規作成（ステップ３１６）を実行する。
【００２１】
図４は、ユーザが仮想マシンの稼動状況を取得する際の処理の概要を示した図である。
仮想環境管理サーバ４０１は、仮想化ＯＳ１０１に指示を出して仮想マシン１０２Ａの稼動情報（ＣＰＵ利用率やメモリ使用量）を定期的に取得して記憶している（ステップ４０２）。
仮想マシン制御親サーバ２０３は、ユーザのゲスト空間で稼動している仮想マシン１０２Ａの稼動情報を仮想環境管理サーバ１０６から定期的に取得する（ステップ４０５）。
仮想マシン制御親サーバ２０３は、取得した稼動情報を元に稼動情報ファイルを作成した後で、仮想環境管理サーバ１０６に対して、仮想マシン制御子サーバ２０１の名称と、稼動ファイル格納パスを指定し、稼動情報ファイルの格納を定期的に依頼する（ステップ４０６）。
【００２２】
仮想環境管理サーバ４０１は、指定された仮想マシン制御子サーバ２０１が稼動している仮想化ＯＳ１０１に対して、指定されたファイルの格納を依頼する（ステップ４０７）。この指示を受けた仮想化ＯＳ１０１は、指定された仮想マシン１０２Ａの仮想記憶装置上の指定パスに、稼動情報ファイル４０９を格納する（ステップ４０８）。
ユーザが仮想マシン１０２Ａの稼動情報の取得を希望した場合、ユーザは仮想マシン制御子サーバ２０１が提供するインターフェースを用いて、仮想環境の稼動情報ファイルの取得指示を伝える。この指示を受けた仮想マシン制御子サーバ２０１は、稼動情報ファイル４０９の内容をユーザに渡す（ステップ４１１）。
ユーザは、仮想マシンの稼動情報の参照機能を利用することにより、仮想マシン１０２Ａの負荷状態に応じて仮想マシンを生成・削除するプログラムを作成することが可能になる。
【００２３】
図５は、制御情報ファイル３０５の内容を示した図である。
ここで示す制御情報ファイル３０５０は、仮想マシン電源ＯＮを制御する際の制御情報を示している。制御情報ファイル３０５１は、仮想マシンテンプレートをクローンすることによって仮想マシンを新規作成する場合の制御情報を示している。制御情報ファイル３０５２は、ゲストＯＳが含まれない新規の仮想マシンを新規作成する場合の制御情報を示している。
【００２４】
図６は、利用者情報の内容を示した図である。
利用者情報６０１〜６０３は、それぞれ仮想環境のユーザごとに適用される情報である。仮想マシン制御親サーバ２０３は、この利用者情報を確認して、仮想環境変更指示の内容が妥当であるかを判断する。
【符号の説明】
【００２５】
１００Ａ〜１００Ｃ…仮想化サーバハードウェア
１０１…仮想化ＯＳ
１０２Ａ〜１０２Ｂ…仮想マシン
１０３Ａ〜１０３Ｂ…ＶＬＡＮ
１０４Ａ〜１０４Ｂ…ユーザゲスト空間
１０５…管理ＬＡＮ
１０６…仮想環境管理サーバ
１０７…仮想環境操作クライアント
２０１…仮想マシン制御子サーバ
２０２…仮想記憶装置
２０３…仮想マシン制御親サーバ
２０４…記憶装置
【図１】
0005490580.tif 000002
【図２】
0005490580.tif 000003
【図３】
0005490580.tif 000004
【図４】
0005490580.tif 000005
【図５】
0005490580.tif 000006
【図６】
0005490580.tif 000007