(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-16
(45)【発行日】2022-02-25
(54)【発明の名称】仮想マシン管理
(51)【国際特許分類】
G06F 9/455 20060101AFI20220217BHJP
【FI】
G06F9/455 150
(21)【出願番号】P 2020520707
(86)(22)【出願日】2018-06-27
(86)【国際出願番号】 CN2018093161
(87)【国際公開番号】W WO2019001480
(87)【国際公開日】2019-01-03
【審査請求日】2019-12-23
(31)【優先権主張番号】201710503088.2
(32)【優先日】2017-06-27
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】519457616
【氏名又は名称】新華三云計算技術有限公司
【氏名又は名称原語表記】NEW H3C CLOUD TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100213333
【氏名又は名称】鹿山 昌代
(72)【発明者】
【氏名】毋 永鵬
【審査官】田中 幸雄
(56)【参考文献】
【文献】国際公開第2015/040788(WO,A1)
【文献】国際公開第2016/167086(WO,A1)
【文献】ヴイエムウェア株式会社,詳解 VMware NSX 初版 ,第1版,日本,株式会社インプレス 土田 米一,2014年11月11日,69ページ
【文献】平良太貴ほか,OS授業向けマルチユーザVM環境の構築,情報処理学会 研究報告 計算機アーキテクチャ(ARC) 2014-ARC-210 [online] ,日本,情報処理学会,2014年05月15日,Vol. 2014-ARC-210, No. 15,1-6ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455
(57)【特許請求の範囲】
【請求項1】
クラウド管理プラットフォームに適用される仮想マシン管理方法であって、
仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を取得することと、
前記仮想化プラットフォームにおける目標仮想マシンに対する第1統合管理操作命令を受信することと、
前記目標仮想マシンの仮想ネットワークコンソール(VNC)及びネットワークを構成し、構成に成功すると、前記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存することと、
を含
み、
前記仮想化プラットフォームにおける目標仮想マシンに対する第1統合管理操作命令を受信することは、
前記クラウド管理プラットフォームの統合管理操作モジュールが前記仮想化プラットフォームにおける目標仮想マシンに対する第1統合管理操作命令を受信することを含み、
前記目標仮想マシンの仮想ネットワークコンソール(VNC)及びネットワークを構成し、構成に成功すると、前記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存することは、
前記統合管理操作モジュールが、クラウド管理プラットフォームのオープンスタック(OpenStack)制御モジュールに前記目標仮想マシンに対する第1統合管理要求を送信し、該第1統合管理要求に前記目標仮想マシンの仮想マシン情報を付けていることと、
前記OpenStack制御モジュールが前記目標仮想マシンのVNC及びネットワークを構成し、構成に成功すると、前記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存することと、を含み、
前記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存した後、更に、
前記統合管理操作モジュールが前記目標仮想マシンの目標ハードディスクに対する第2統合管理操作命令を受信することと、
前記統合管理操作モジュールが前記OpenStack制御モジュールに前記目標仮想マシンの目標ハードディスクに対する第2統合管理要求を送信し、該第2統合管理要求に前記目標ハードディスクの仮想化プラットフォームでのハードディスクパスを含むことと、
前記目標ハードディスクが仮想マシンの形式で存在していない場合、前記OpenStack制御モジュールが前記目標ハードディスクの仮想化プラットフォームでのハードディスクパスをデータベーステーブルにおけるハードディスクリストに保存し、前記目標ハードディスクに対応するハードディスクリストの項目と前記目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付ける、または、前記目標ハードディスクが仮想マシンの形式で存在する場合、前記OpenStack制御モジュールが前記目標ハードディスクに対応する仮想マシンを構築し、前記目標ハードディスクの仮想化プラットフォームでのハードディスクパスをデータベーステーブルにおけるハードディスクリストに保存し、前記目標ハードディスクに対応するハードディスクリストの項目と前記目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けることと、
を含むことを特徴とする仮想マシン管理方法。
【請求項2】
前記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存した後、更に、
前記統合管理操作モジュールが前記目標仮想マシンの目標ネットワークカードに対する第3統合管理操作命令を受信することと、
前記統合管理操作モジュールが、前記OpenStack制御モジュールに前記目標仮想マシンの目標ネットワークカードに対する第3統合管理要求を送信し、該第3統合管理要求に前記目標ネットワークカードのネットワークカード情報を含むことと、
前記OpenStack制御モジュールが前記目標ネットワークカードに対応するポート識別子が生成し、前記ポート識別子と前記目標ネットワークカードのネットワークカード情報とをデータベーステーブルにおけるネットワークカードリストに保存し、前記目標ネットワークカードに対応するネットワークカードリストの項目と前記目標仮想マシンに対応する仮想マシンリストの項目とを関連付けることと、
を含むことを特徴とする請求項
1に記載の方法。
【請求項3】
前記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存した後、更に、
前記統合管理操作モジュールが前記目標仮想マシンに対する統合管理取消操作命令を受信することと、
前記統合管理操作モジュールが前記OpenStack制御モジュールに前記目標仮想マシンに対する統合管理取消要求を送信することと、
前記OpenStack制御モジュールがデータベーステーブルにおける統合管理完了仮想マシンリストから前記目標仮想マシンの仮想マシン情報を削除することと、
を含むことを特徴とする請求項
1に記載の方法。
【請求項4】
クラウド管理プラットフォームに適用される仮想マシン管理装置であって、
統合管理操作モジュールとOpenStack制御モジュールを含み、
前記統合管理操作モジュールは、仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を取得するように構成され、
前記統合管理操作モジュールは、更に、前記仮想化プラットフォームにおける目標仮想マシンに対する第1統合管理操作命令を受信するように構成され、
前記OpenStack制御モジュールは、前記目標仮想マシンのVNCとネットワークを構成し、構成に成功すると、前記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存するように構成され
、
前記統合管理操作モジュールは、更に、前記目標仮想マシンの目標ハードディスクに対する第2統合管理操作命令を受信するように構成され、
前記統合管理操作モジュールは、更に、前記OpenStack制御モジュールに前記目標仮想マシンの目標ハードディスクに対する第2統合管理要求を送信するように構成され、前記第2統合管理要求に前記目標ハードディスクの仮想化プラットフォームでのハードディスクパスを含み、
前記目標ハードディスクが仮想マシンの形式で存在していない場合、前記OpenStack制御モジュールは、更に、前記目標ネットワークカードに対応するポート識別子を生成し、前記ポート識別子と前記目標ネットワークカードのネットワークカード情報とをデータベーステーブルにおけるネットワークカードリストに保存し、前記目標ネットワークカードに対応するネットワークカードリストの項目と前記目標仮想マシンに対応する仮想マシンリストの項目とを関連付けるように構成される、または、前記目標ハードディスクが仮想マシンの形式で存在する場合、前記OpenStack制御モジュールは、更に、前記目標ハードディスクに対応する仮想マシンを構築し、前記目標ハードディスクの仮想化プラットフォームでのハードディスクパスをデータベーステーブルにおけるハードディスクリストに保存し、前記目標ハードディスクに対応するハードディスクリストの項目と前記目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けるように構成される、
ことを特徴とする仮想マシン管理装置。
【請求項5】
前記統合管理操作モジュールは、更に、前記目標仮想マシンの目標ネットワークカードに対する第3統合管理操作命令を受信するように構成され、
前記統合管理操作モジュールは、更に、前記OpenStack制御モジュールに前記目標仮想マシンの目標ネットワークカードに対する第3統合管理要求を送信するように構成され、前記第3統合管理要求に前記目標ネットワークカードのネットワークカード情報を含み、
前記OpenStack制御モジュールは、更に、前記目標ネットワークカードに対応するポート識別子を生成し、前記ポート識別子と前記目標ネットワークカードのネットワークカード情報とをデータベーステーブルにおけるネットワークカードリストに保存し、前記目標ネットワークカードに対応するネットワークカードリストの項目と前記目標仮想マシンに対応する仮想マシンリストの項目とを関連付けるように構成される、
ことを特徴とする請求項
4に記載の装置。
【請求項6】
前記統合管理操作モジュールは、更に、前記目標仮想マシンに対する統合管理取消操作命令を受信するように構成され、
前記統合管理操作モジュールは、更に、前記OpenStack制御モジュールに前記目標仮想マシンに対する統合管理取消要求を送信するように構成され、
前記OpenStack制御モジュールは、更に、データベーステーブルにおける統合管理完了仮想マシンリストから前記目標仮想マシンの仮想マシン情報を削除するように構成される、
ことを特徴とする請求項
4に記載の装置。
【請求項7】
機械可読記憶媒体に機械実行可能な命令が記憶されており、前記機械実行可能な命令は、1つ又は複数のプロセッサによって呼び出されるまたは実行されると、請求項1~
3のいずれか1項に記載の方法を実現することを特徴とする機械可読記憶媒体。
【発明の詳細な説明】
【関連出願への相互参照】
【0001】
本願は2017年6月27日に中国特許庁に提出された出願番号が201710503088.2であり、発明の名称が「仮想マシン管理の方法及び装置」である中国特許出願に基づき優先権を主張し、その内容の全てを本願に援用している。
【背景技術】
【0002】
クラウドコンピューティングは使用量に応じて料金を支払うモードであり、使用可能で、便利で且つオンデマンド型のネットワークアクセスを提供する。クラウドコンピューティング技術に基づき、ユーザは少量の管理業務を行うだけで、またはサービスプロバイダとのやり取りを少し行うだけで、コンピューティング資源の共用プールにおけるネットワークやサーバやメモリやアプリケーションソフトやサービスなどの資源を使うことができる。
【0003】
クラウドコンピューティングソリューションの成熟に伴い、ユーザは、クラウドアプリケーションによりクラウドプラットフォームサービスを構築し、仮想化機能自体以外のユーザの身元認証サービスや記憶サービスやネットワークサービスなどのアプリケーションを使う必要があるため、仮想化プラットフォームをクラウドプラットフォームに統合して管理する必要がある。このとき、クラウドプラットフォームで仮想化プラットフォームにおける元々の仮想マシンに対する管理及び制御に関わる。
【図面の簡単な説明】
【0004】
【
図1】
図1は本発明の実施例に係るクラウド管理プラットフォームと仮想化プラットフォームとの間のアーキテクチャ上の関係の模式図である。
【
図2】
図2は本発明の実施例に係る仮想マシン管理方法のフローチャートである。
【
図3】
図3は本発明の実施例に係る具体的なアプリケーションシナリオのアーキテクチャの模式図である。
【
図4】
図4は本発明の実施例に係る仮想マシン管理装置の構成の模式図である。
【発明を実施するための形態】
【0005】
当業者が本発明の実施例における技術案をよりよく理解し、本発明の実施例の上記目的、特徴及び利点をより分かりやすくするために、以下、図面を参照しながら、本発明の実施例における技術案をさらに詳細に説明する。
【0006】
図1を参照し、仮想化プラットフォームはユーザに仮想マシン管理を提供するプラットフォームであり、ユーザは仮想化プラットフォームにおいて仮想マシンを構築し、これらの仮想マシンに対して各種の機能或いは構成を管理することができる。クラウド管理プラットフォームはクラウドアプリケーションによって構築されるもう一つの種類の仮想マシン管理プラットフォームであり、クラウド管理プラットフォームは仮想化機能に加えて、例えばユーザの身元認証サービスや記憶サービスやネットワークサービスなどその他の機能を更に実現することができる。
【0007】
一部のシナリオでは、仮想化プラットフォームに一定数の仮想マシンがもともと構成されているが、より多くの機能を実現するように、仮想化プラットフォーム上の仮想マシンをクラウド管理プラットフォームに統合して、統括的に管理する必要があり、この場合、クラウド管理プラットフォームにおいて、既に仮想化プラットフォームに構成された仮想マシンを統合管理する必要がある。従って、本発明の実施例は、クラウド管理プラットフォームにより、既に仮想化プラットフォームに構成された仮想マシンを統合管理する案を提供する。以下、本発明で提供される案を詳細に説明する。
【0008】
本発明の実施例では、クラウド管理プラットフォームを提供する。クラウド管理プラットフォームは、例えば1台のサーバ或いは複数台のサーバからなるクラスターのような実体の電子デバイスによって実現できるし、実体の電子デバイスに配置してサービスを提供するための機能モジュール或いは仮想デバイスによって実現できる。
【0009】
図2は本発明の実施例に係る仮想マシン管理方法のフローチャートであり、当該方法はクラウド管理プラットフォームに適用可能であり、
図2に示すように、以下のステップを含んでもよい。
【0010】
なお、本発明の実施例において、クラウド管理プラットフォームは統合管理操作モジュールとOpenStack(オープンスタック)制御モジュールとを含む。統合管理操作モジュールはクラウド管理プラットフォームにユーザ(例えばクラウド管理者)とやり取りする機能インタフェースを提供するように構成される。ユーザは、当該機能インタフェースを介してクラウド管理プラットフォームに統合管理操作命令を送信することで、クラウド管理プラットフォームにより仮想化プラットフォームにおける仮想マシンを統合管理する(即ちクラウド管理プラットフォームにより当該仮想化プラットフォームにおける仮想マシンを管理・制御する)。クラウド管理プラットフォームは、統合管理操作モジュールにより統合管理操作命令を受信した後、OpenStack制御モジュールに統合管理要求を送信し、OpenStack制御モジュールにより具体的な統合管理操作を実行する。
【0011】
ステップ101において、仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を取得する。
【0012】
本発明の実施例において、クラウド管理プラットフォームが、ある仮想化プラットフォームにおける仮想マシンを統合管理する必要があると、クラウド管理プラットフォームの統合管理操作モジュールは、仮想化プラットフォームによって提供されるパブリックAPI(Application Programming Interface,アプリケーションプログラミングインタフェース)インタフェースを介して、仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を照会することができる。
そのうち、当該仮想マシン情報は仮想マシンの名称や、運行状態や、IPアドレスや、オペレーティングシステムのタイプや、仮想マシンリソース仕様や、仮想マシンが所在するホストなどを含んでもよいが、それらに限定されていない。
【0013】
統合管理操作モジュールは、仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を照会した後、照会された仮想マシン情報を保存し、仮想マシンのユーザ及び仮想マシンの属する組織などの情報を追加する。
そのうち、ユーザ及び組織はクラウド管理プラットフォームでの権限のグループ化の概念である。クラウド管理者はクラウド管理プラットフォームにより仮想マシンを統合管理する時に、ある組織のあるユーザに仮想マシンを割り当てることを指定する必要がある。
【0014】
ステップ102において、仮想化プラットフォームにおける目標仮想マシンに対する第1統合管理操作命令を受信する。
【0015】
ステップ103において、目標仮想マシンのVNC及びネットワークを構成し、構成に成功すると、目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存する。
【0016】
本発明の実施例において、目標仮想マシンは、ある固定の仮想マシンを特に指すことではなく、クラウド管理プラットフォームにより統合管理される必要がある何れかの仮想化プラットフォームにおける何れかの仮想マシンを指すことができる。本発明の実施例において、以降繰り返しない。
【0017】
本発明の実施例において、統合管理操作モジュールは、ユーザにより入力された目標仮想マシンに対する統合管理操作命令(以下、第1統合管理操作命令という)を受信すると、統合管理操作モジュール自身によって保存された目標仮想マシンの仮想マシン情報を取得し、目標仮想マシンの仮想マシン情報付きの統合管理要求(以下、第1統合管理要求という)をOpenStack制御モジュールに送信する。
そのうち、当該第1統合管理要求に付けられる目標仮想マシンの仮想マシン情報は、仮想マシン名称や、運行状態や、IPアドレスや、オペレーティングシステムのタイプや、仮想マシンのリソース仕様(例えばCPU(Center Process Unit,中央処理装置)の型、メモリ容量など)や、仮想マシンが所在するホストなどの情報以外、仮想マシンのユーザ及び仮想マシンの属する組織を更に含む。
【0018】
本発明の実施例において、OpenStack制御モジュールは、統合管理操作モジュールにより送信された目標仮想マシンに対する第1統合管理要求を受信すると、目標仮想マシンのVNC(Virtual Network Console,仮想ネットワークコンピューティング)及びネットワークを構成し、構成に成功すると、目標仮想マシンの仮想マシン情報をデータベースにおける統合管理完了仮想マシンリストに保存することで、目標仮想マシンへの統合管理を実現する。そのうち、OpenStack制御モジュールは、目標仮想マシンへの統合管理に成功した後、目標仮想マシンを既に統合管理していることを統合管理操作モジュールに通知するように、統合管理操作モジュールに統合管理成功通知メッセージを返す。統合管理操作モジュールは、OpenStack制御モジュールにより送信された統合管理成功通知メッセージを受信した後、目標仮想マシンへの統合管理に成功したことを知り、さらに、統合管理操作モジュール自身によって保存された目標仮想マシンの仮想マシン情報に例えば「統合管理完了」フィールドを追加し、該「統合管理完了」フィールドは、目標仮想マシンを既に統合管理していることを示すように構成される。
【0019】
なお、本発明の実施例において、未統合管理の仮想マシンについて、統合管理操作モジュールに保存される当該仮想マシンの仮想マシン情報は、例えば、「未統合管理」フィールドをさらに含んでもよく、該「未統合管理」フィールドは当該仮想マシンが統合管理されていないことを示すためものである。或いは、未統合管理の仮想マシンについて、統合管理操作モジュールに保存される当該仮想マシンの仮想マシン情報に特殊の識別子を含まなくてもよい。相応に、何れかの仮想マシンについて、統合管理操作モジュールに保存される当該仮想マシンの仮想マシン情報に「統合管理完了」フィールドが含まれない場合、当該仮想マシンが統合管理されていないと確定することができる。
【0020】
本発明の実施例において、クラウド管理プラットフォームが、ある仮想マシンを既に統合管理していると、当該仮想マシンのシステムディスク(オペレーティングシステムが所在するハードディスク)及び当該仮想マシンの第1のネットワークカードは自動的にクラウド管理プラットフォームに統合管理される。仮想マシンに複数のハードディスクを搭載している場合又は/及び仮想マシンに複数のネットワークカードを含んでいる場合に、仮想マシンは、更に、システムディスク以外のその他のハードディスク(以下、非システムディスクともいう)又は/及び仮想マシンの第1のネットワークカード以外のその他のネットワークカードに対して統合管理操作を行う必要がある。
そのうち、仮想マシンに搭載されるハードディスクは異なる形式で存在することができ、例えば、Vmware(Virtual Machine ware,仮想マシンソフトウェア)仮想化プラットフォームに含まれる仮想マシンに搭載されるハードディスクは仮想マシンの形式で存在するものであるが、CAS仮想化プラットフォームに含まれる仮想マシンに搭載されるハードディスクは仮想マシンの形式で存在するものではない。異なる形式で存在するハードディスクに対する統合管理の具体的な操作の流れもまったく同じではない。
【0021】
それに対して、本発明における1つの実施例において、上記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存し後、更に、
統合管理操作モジュールが目標仮想マシンの目標ハードディスクに対する第2統合管理操作命令を受信することと、
統合管理操作モジュールがOpenStack制御モジュールに目標仮想マシンの目標ハードディスクに対する第2統合管理要求を送信し、該第2統合管理要求に目標ハードディスクの仮想化プラットフォームでのハードディスクパスを含むことと、
OpenStack制御モジュールが、目標ハードディスクの仮想化プラットフォームでのハードディスクパスをデータベーステーブルにおけるハードディスクリストに保存し、目標ハードディスクに対応するハードディスクリストの項目と目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けることと、
を含んでもよい。
【0022】
当該実施例において、目標ハードディスクはある固定のハードディスクを特に指すことではなく、目標仮想マシンに搭載される何れかの非システムディスクを指すことができ、本発明の実施例において、以降繰り返しない。
【0023】
当該実施例において、統合管理完了の仮想マシンについて、ユーザは統合管理操作モジュールにより提供される関連機能インタフェースから、目標ハードディスクを統合管理することができる。
【0024】
統合管理操作モジュールはユーザにより関連機能インタフェースに入力された目標ハードディスクに対する統合管理操作命令を受信すると、OpenStack制御モジュールに目標ハードディスクに対する統合管理要求を送信する(以下、第2統合管理要求という)。
【0025】
OpenStack制御モジュールは、統合管理操作モジュールにより送信された目標ハードディスクに対する第2統合管理要求を受信し、且つ目標ハードディスクが仮想マシンの形式で存在していない場合、当該第2統合管理要求に付けられた目標ハードディスクの仮想化プラットフォームでのハードディスクパスを取得し、当該目標ハードディスクの仮想化プラットフォームでのハードディスクパスをデータベースにおけるハードディスクリストに保存し、当該目標ハードディスクに対応するハードディスクリストの項目と目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けることで、目標ハードディスクへの統合管理を実現する。
【0026】
本発明の別の実施例において、上記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存した後、更に、
統合管理操作モジュールが前記目標仮想マシンの目標ハードディスクに対する第2統合管理操作命令を受信することと、
統合管理操作モジュールが、目標仮想マシンの目標ハードディスクに対する第2統合管理要求を前記OpenStack制御モジュールに送信し、該第2統合管理要求に目標ハードディスクの仮想化プラットフォームでのハードディスクパスを含むことと、
OpenStack制御モジュールが、当該目標ハードディスクに対応する仮想マシンを構築し、目標ハードディスクの仮想化プラットフォームでのハードディスクパスをデータベーステーブルにおけるハードディスクリストに保存し、目標ハードディスクに対応するハードディスクリストの項目と目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けることと、
を含んでもよい。
【0027】
当該実施例において、OpenStack制御モジュールは、統合管理操作モジュールによって送信された目標ハードディスクに対する第2統合管理要求を受信し、且つ目標ハードディスクが仮想マシンの形式で存在する場合、1つの目標ハードディスクに対応する仮想マシン(当該仮想マシンはハードディスクのみを有するが、CPU及びメモリリソースを有しない)を構築し、当該目標ハードディスクの仮想化プラットフォームでのハードディスクパスをデータベースにおけるハードディスクリストに保存し、当該目標ハードディスクに対応するハードディスクリストの項目と目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けることで、目標ハードディスクへの統合管理を実現する。
【0028】
さらに、本発明における1つの実施例において、上記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存した後、更に、
統合管理操作モジュールが目標仮想マシンの目標ネットワークカードに対する第3統合管理操作命令を受信することと、
統合管理操作モジュールが、目標仮想マシンの目標ネットワークカードに対する第3統合管理要求を前記OpenStack制御モジュールに送信し、該第3統合管理要求に目標ネットワークカードのネットワークカード情報を含むことと、
OpenStack制御モジュールが、目標ネットワークカードに対応するポート識別子を生成し、当該ポート識別子と目標ネットワークカードのネットワークカード情報とをデータベーステーブルにおけるネットワークカードリストに保存し、目標ネットワークカードに対応するネットワークカードリストの項目と目標仮想マシンに対応する仮想マシンリストの項目とを関連付けることと、
を含んでもよい。
【0029】
当該実施例において、目標ネットワークカードは特定のネットワークカードを特に指すことではなく、目標仮想マシンにおける第1のネットワークカード以外の何れかのネットワークカードを指すことができるが、本発明の実施例において、以降繰り返しない。
【0030】
当該実施例において、統合管理完了の仮想マシンについて、ユーザは統合管理操作モジュールにより提供される関連機能インタフェースから選択して、目標ネットワークカードを統合管理する。
【0031】
統合管理操作モジュールは、ユーザにより関連機能インタフェースに入力された目標ネットワークカードに対する統合管理操作命令を受信すると、OpenStack制御モジュールに目標ネットワークカードに対する統合管理要求を送信する(以下、第3統合管理要求という)。
【0032】
OpenStack制御モジュールは、統合管理操作モジューにより送信された目標ネットワークカードに対する第3統合管理要求を受信すると、当該目標ネットワークカードに対応するポート識別子(port id)(ただし、当該ポート識別子はOpenStack制御モジュールで当該目標ネットワークカードを一意的に識別するように構成される)を生成し、当該ポート識別子と第3統合管理要求に含まれる目標ネットワークカードのネットワークカード情報とをデータベーステーブルにおけるネットワークカードリストに保存し、当該目標ネットワークカードに対応するネットワークカードリストの項目と目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けることで、目標ネットワークカードへの統合管理を実現する。
【0033】
さらに、本発明における1つの実施例において、上記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存した後、更に、
統合管理操作モジュールが前記目標仮想マシンに対する統合管理取消操作命令を送信することと、
統合管理操作モジュールがOpenStack制御モジュールに目標仮想マシンに対する統合管理取消要求を送信することと、
OpenStack制御モジュールが、データベーステーブルにおける統合管理完了仮想マシンリストから目標仮想マシンの仮想マシン情報を削除することと、
を含んでもよい。
【0034】
当該実施例において、統合管理完了の仮想マシンについて、ユーザは統合管理操作モジュールにより提供される関連機能インタフェースから選択して、当該仮想マシンに対する統合管理を取り消す。
【0035】
統合管理操作モジュールは、目標仮想マシンに対する統合管理取消操作命令を受信すると、OpenStack制御モジュールに目標仮想マシンに対する統合管理取消要求を送信する。
【0036】
OpenStack制御モジュールは、目標仮想マシンに対する統合管理取消要求を受信すると、データベーステーブルにおける統合管理完了仮想マシンリストに保存された当該目標仮想マシンの仮想マシン情報を削除する。
【0037】
当該実施例において、OpenStack制御モジュールは、目標仮想マシンに対して統合管理取消操作を実行した後、更に、目標仮想マシンの統合管理完了のハードディスク又は/及びネットワークカードをアンマウントする必要がある。
そのうち、OpenStack制御モジュールがハードディスク又は/及びネットワークカードをアンマウントする具体的な実現形態は、既存のハードディスク又は/及びネットワークカードをアンマウントする案を参照することができるが、本発明の実施例において、その説明を省略する。
【0038】
当該実施例において、OpenStack制御モジュールは、目標仮想マシンに対する統合管理取消操作を完了した後、更に、統合管理操作モジュールに統合管理取消成功通知メッセージを返すことで、目標仮想マシンに対する統合管理を既に取り消したことを統合管理操作モジュールへ通知する。統合管理操作モジュールは、OpenStack制御モジュールにより送信された統合管理取消成功通知メッセージを受信した後、目標仮想マシンに対する統合管理を既に取り消したことを知り、さらに、統合管理操作モジュール自身に保存された目標仮想マシンの仮想マシン情報に含まれた「統合管理完了」フィールドを削除する。
【0039】
好ましくは、統合管理操作モジュールはその自身に保存された目標仮想マシンの仮想マシン情報に「未統合管理」フィールドを増やしてもよい。
【0040】
当業者が本発明の実施例に係る技術案をよりよく理解するために、以下、具体的なアプリケーションシナリオと組み合わせて、本発明の実施例に係る技術案を説明する。
【0041】
図3は本発明の実施例に係る具体的なアプリケーションシナリオのアーキテクチャの模式図であり、当該アプリケーションシナリオについて、仮想化プラットフォームがVMware仮想化プラットフォームであることを例とする。
【0042】
図3に示すアプリケーションシナリオに基づき、本発明の実施例に係る仮想マシン管理案の実現フローは以下のようである。
1、統合管理操作モジュールは、VMware vCenter(VirtualCenter,バーチャルセンター)により提供されるパブリックAPIインタフェースを用いて、指定された計算ノードに対応するVMwareリソースプールでのサーバと、クラスターにおけるすべての仮想マシンの仮想マシン情報を照会して取得し、ただし、当該仮想マシン情報は仮想マシン名称や、運行状態や、IPアドレスや、オペレーティングシステムのタイプや、仮想マシンが所在するホストなどを含んでもよい。
2、統合管理操作モジュールは、取得した仮想マシン情報を保存し、仮想マシンのユーザや、仮想マシンの属する組織や、統合管理を完了するか否かなどのフィールドを追加する。
3、未統合管理の仮想マシン(以下、目標仮想マシンを例とする)について、ユーザは、統合管理操作モジュールにより提供される関連機能インタフェースを介して、統合管理操作モジュールに統合管理操作命令を送信する。統合管理操作モジュールは、目標仮想マシンに対する統合管理操作命令を受信した後、クラウド管理プラットフォームに目標仮想マシンに対応するリソース仕様の組み合わせがあるかどうかや、対応するIPネットワークセグメント及び目標仮想マシンに対応するオペレーティングシステムミラーがあるかどうかを検出することができる。全ての条件を満たすと、統合管理操作を実行することができるが、満たしていない条件を検出すると、リマインド情報を出力することで、不足しない条件を作成するかどうかをユーザに促し、該不足しない条件が例えば仮想マシンのリソース仕様や、IPネットワークセグメントや、オペレーティングシステムミラーなどの条件である。すべての条件を満たした後、統合管理操作モジュールはOpenStack制御モジュールに目標仮想マシンに対する統合管理要求を送信する。
そのうち、当該実施例において、統合管理操作モジュールからOpenStack制御モジュールに送信される目標仮想マシンに対する統合管理要求は、目標仮想マシンに対する作成要求であり、当該作成要求に統合管理フラグビットを付けている。
4、OpenStack制御モジュールは、統合管理操作モジュールにより送信された目標仮想マシンに対する作成要求を受信し、かつ当該作成要求に統合管理フラグビットを付けている場合、最下層で仮想マシンを構築するためのAPIの呼び出しを遮断し(即ち仮想マシンの構築操作を行わず)、目標仮想マシンのVNC及ネットワークなどの情報を直接に構成し、構成に成功した後、目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存し、その後、統合管理操作モジュールに統合管理成功通知メッセージ(当該実施例では、構築成功通知メッセージともいう)を返す。
5、統合管理操作モジュールは、統合管理成功通知メッセージを受信した後、その自身で保存される目標仮想マシンの仮想マシン情報に「統合管理完了」フィールドを追加し、その後、統合管理完了の仮想マシンに対して、対応するハードディスク又は/及びネットワークカードの統合管理を実行する。
6、目標仮想マシンへの統合管理に成功した後、目標仮想マシンのシステムディスクを自動的に統合管理する。目標仮想マシンに複数のハードディスクを搭載している場合、更に、システムディスク以外の非システムディスクに対して統合管理操作を行う。
そのうち、クラウド管理プラットフォームが仮想マシンに搭載されるハードディスクを統合管理する場合、まず仮想マシンへの統合管理に成功し、且つ対応するハードディスクリソースのルールが存在する必要があることにより、統合管理に成功することを実現する。
統合管理操作モジュールは、ユーザにより入力された目標ハードディスク(非システムディスク)に対する統合管理操作命令を受信すると、OpenStack制御モジュールに目標ハードディスクに対する統合管理要求を送信する。
そのうち、当該実施例において、統合管理操作モジュールからOpenStack制御モジュールに送信される目標ハードディスクに対する統合管理要求は目標ハードディスクに対する作成要求でもよく、当該作成要求に統合管理フラグビットを付けている。
7、OpenStack制御モジュールは、統合管理操作モジュールにより送信される目標ハードディスクに対する作成要求を受信し、且つ当該作成要求に統合管理フラグビットを含む場合、目標ハードディスクのVMware仮想化プラットフォームでのハードディスクパスに基づき、ハードディスクしか有しないがCPU及びメモリリソースを有しない仮想マシンを一つ構築し、目標ハードディスクのVMware仮想化プラットフォームでのハードディスクパスをデータベーステーブルにおけるハードディスクリストに保存し、当該目標ハードディスクに対応するハードディスクリストの項目と目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付ける。
8、目標仮想マシンへの統合管理に成功した後、目標仮想マシンの第1のネットワークカードを自動的に統合管理する。目標仮想マシンに複数のネットワークカードを含む場合、第1のネットワークカード以外のその他のネットワークカードに対して統合管理操作を行ってもよい。
そのうち、ネットワークの接続性を確保するために、仮想マシンのネットワークカードのIPアドレスは仮想マシンの属する組織に割り当てられるネットワーク範囲内にあってこそ、ネットワークカードへの統合管理に成功する。
統合管理操作モジュールは、ユーザにより入力された目標ネットワークカード(第1のネットワークカード以外のその他のネットワークカード)に対する統合管理操作命令を受信すると、OpenStack制御モジュールに目標ネットワークカードに対する統合管理要求を送信する。
そのうち、当該実施例において、統合管理操作モジュールからOpenStack制御モジュールに送信される目標ネットワークカードに対する統合管理要求は目標ネットワークカードに対する作成要求でもよく、当該作成要求に統合管理フラグビットを付けている。
9、OpenStack制御モジュールは、統合管理操作モジュールにより送信される目標ネットワークカードに対する作成要求を受信し、且つ当該作成要求に統合管理フラグビットを含む場合、最下層でネットワークカードを作成するためのAPIの呼び出しを遮断し(即ち、ネットワークカードの作成操作を行わず)、目標ネットワークカードに対応するport idを生成し、当該port idと目標ネットワークカードのネットワークカード情報(例えばIPアドレスや、所在するネットワークや、関連するホスト情報など)をデータベーステーブルにおけるネットワークカードリストに保存し、当該目標ネットワークカードに対応するネットワークカードリストの項目と目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けることで、目標ネットワークカードへの統合管理を実現する。
10、統合管理に成功した仮想マシン(依然として目標仮想マシンを例とする)について、ユーザは、統合管理操作モジュールにより提供される関連機能インタフェースを介して、統合管理取消操作を行う。統合管理操作モジュールは、ユーザにより入力された目標仮想マシンに対する統合管理取消操作命令を受信すると、OpenStack制御モジュールに目標仮想マシンに対する統合管理取消要求を送信する。
そのうち、当該実施例において、統合管理操作モジュールからOpenStack制御モジュールに送信される目標仮想マシンに対する統合管理取消要求は目標仮想マシンに対する削除要求でもよく、当該削除要求に統合管理取消フラグビットを付けている。
11、OpenStack制御モジュールは、統合管理操作モジュールにより送信される目標仮想マシンに対する削除要求を受信し、且つ当該削除要求に統合管理取消フラグビットを付けている場合、最下層で仮想マシンを削除するためのAPIの呼び出しを遮断し(即ち、仮想マシンの削除操作を行わず)、データベーステーブルにおける統合管理完了仮想マシンリストに保存された目標仮想マシンの仮想マシン情報を削除し、その後、統合管理操作モジュールに統合管理取消成功通知メッセージ(当該実施例において削除成功通知メッセージともいう)を返す。
そのうち、既に統合管理された仮想マシンにおいて非システムディスク又は/及び第1のネットワークカード以外のその他のネットワークカードを統合管理した場合、当該仮想マシンへの統合管理を取り消すと、更に、当該仮想マシンにおけるその前に統合管理された非システムディスク或いは/及び第1のネットワークカード以外のその他のネットワークカードをアンマウントする必要がある。
【0043】
上記の記載から分かるように、本発明の実施例に係る技術案において、仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を取得することにより、仮想化プラットフォームにおける目標仮想マシンに対する第1統合管理操作命令を受信すると、目標仮想マシンのVNC及びネットワークを構成し、そして構成に成功すると、目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存する。仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を取得することで、目標仮想マシンへの統合管理を実現し、さらにクラウド管理プラットフォームによる仮想化プラットフォームにおける仮想マシンへの統合管理及び制御を実現する。
【0044】
図4は本願実施例に係る仮想マシンの管理装置の構成の模式図であり、当該仮想マシン管理装置が上記方法実施例におけるクラウド管理プラットフォームに適用され、
図4に示すように、当該仮想マシン管理装置が統合管理操作モジュール310と前記OpenStack制御モジュール320とを含んでもよい。
前記統合管理操作モジュール310は仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を取得するように構成される。
前記統合管理操作モジュール310は、更に、前記仮想化プラットフォームにおける目標仮想マシンに対する第1統合管理操作命令を受信するように構成される。
前記OpenStack制御モジュール320は、前記統合管理モジュールによって送信された前記目標仮想マシンに対する第1統合管理要求に基づき、前記目標仮想マシンのVNC及びネットワークを構成し、構成に成功すると、前記第1統合管理要求に付けられる前記目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存するように構成される。
【0045】
好ましい実施例において、前記統合管理操作モジュール310は、さらに、前記目標仮想マシンの目標ハードディスクに対する第2統合管理操作命令を受信するように構成される。
前記OpenStack制御モジュール320は、前記統合管理操作モジュールによって送信された前記目標仮想マシンの目標ハードディスクに対する第2統合管理要求に基づき、前記第2統合管理要求に付けられる前記目標ハードディスクの仮想化プラットフォームでのハードディスクパスをデータベーステーブルにおけるハードディスクリストに保存し、前記目標ハードディスクに対応するハードディスクリストの項目と前記目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けるように構成される。
【0046】
好ましい実施例において、前記統合管理操作モジュール310は、さらに、前記目標仮想マシンの目標ハードディスクに対する第2統合管理操作命令を受信するように構成される。
前記OpenStack制御モジュール320は、さらに、統合管理操作モジュールによって送信された前記目標仮想マシンの目標ハードディスクに対する第2統合管理要求に基づき、前記目標ハードディスクに対応する仮想マシンを作成し、前記第2統合管理要求に付けられる前記目標ハードディスクの仮想化プラットフォームでのハードディスクパスをデータベーステーブルにおけるハードディスクリストに保存し、前記目標ハードディスクに対応するハードディスクリストの項目と前記目標仮想マシンに対応する統合管理完了仮想マシンリストの項目とを関連付けるように構成される。
【0047】
好ましい実施例において、前記統合管理操作モジュール310は、更に、前記目標仮想マシンの目標ネットワークカードに対する第3統合管理操作命令を受信するように構成される。
前記OpenStack制御モジュール320は、更に、前記統合管理操作モジュールによって送信された前記目標仮想マシンの目標ネットワークカードに対する第3統合管理要求に基づき、前記目標ネットワークカードに対応するポート識別子を生成し、前記ポート識別子と前記第3統合管理要求に付けられた前記目標ネットワークカードのネットワークカード情報とをデータベーステーブルにおけるネットワークカードリストに保存し、前記目標ネットワークカードに対応するネットワークカードリストの項目と前記目標仮想マシンに対応する仮想マシンリストの項目とを関連付けるように構成される。
【0048】
好ましい実施例において、前記統合管理操作モジュール310は、更に、前記目標仮想マシンに対する統合管理取消操作命令を受信するように構成される。
前記OpenStack制御モジュール320は、更に、前記統合管理操作モジュールによって送信された前記目標仮想マシンに対する統合管理取消要求に基づき、データベーステーブルにおける統合管理完了仮想マシンリストから前記目標仮想マシンの仮想マシン情報を削除するように構成される。
【0049】
上記装置における各ユニットの機能及び作用の実行過程は具体的に上記方法における対応するステップの実行過程を参照できるため、ここでその説明を省略する。
【0050】
装置の実施例について、基本的に方法の実施例に対応するので、関連する部分は方法の実施例の説明を参照すればよい。以上記載された装置の実施例は概略的なものだけであり、別々部材として説明されたユニットは物理的に分離してもよいし、分離しなくてもよく、ユニットとして示される部材は物理的なユニットでもよいし、そうではなくてもよい。即ち、1つの場所に設けられてもよいし、或いは複数のネットワークユニットに分配されてもよい。本願の技術案の目的を実現するように、実際のニーズに応じて、モジュールの一部或いは全部を選択できる。当業者は創造的な働きがなくても理解して実施することができる。
【0051】
上記の実施例から分かるように、仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を受信することにより、仮想化プラットフォームにおける目標仮想マシンに対する第1統合管理操作命令を受信すると、目標仮想マシンのVNC及びネットワークを構成し、構成に成功すると、目標仮想マシンの仮想マシン情報をデータベーステーブルにおける統合管理完了仮想マシンリストに保存する。仮想化プラットフォームにおける各仮想マシンの仮想マシン情報を取得することで、目標仮想マシンへの統合管理を実現し、さらにクラウド管理プラットフォームによる仮想化プラットフォームにおける仮想マシンへの統合管理及び制御を実現することができる。
【0052】
また、本願の各実施例における各機能モジュールが集積されて、1つの独立した部分として形成されてもよいし、各モジュールが個別に存在してもよいし、2つ以上のモジュールが1つの独立した部分に集積されてもよい。
【0053】
前記機能は、ソフトウェア機能モジュールの形式で実現され、個別の製品として販売或いは使用される場合、1つの機械可読記憶媒体に記憶できる。たとえば、当該機械可読記憶媒体に機械実行可能な命令が記憶され、前記機械実行可能な命令が1つ或いは複数のプロセッサによって呼び出されるまたは実行されると、本発明の実施例に係る前記仮想マシン管理方法を実現する。
【0054】
このような理解に基づき、本願の技術案、又は先行技術に貢献する部分、又は当該技術案の一部は、ソフトウェア製品の形式で具現化することができ、当該コンピュータのソフトウェア製品が1つの記憶媒体に記憶され、1台のコンピュータデバイス(パーソナルコンピュータ、サーバ、或いはネットワーク機器などでもよい)に本願の各実施例に記載の方法の全部或いは一部のステップを実行させるための若干の命令を含む。前述した記憶媒体はUSBフラッシュディスク、モバイルハードディスク、読み取り専用メモリ(ROM,Read-Only Memory)、ランダムアクセスメモリ(RAM,Random Access Memory)、ディスケット或いはコンパクトディスクなどのプログラムコードを記憶可能な各種の媒体を含む。たとえば、クラウド管理プラットフォームが1つの実体電子デバイスで実現されるとき、当該機械可読記憶媒体は、当該電子デバイスのメモリでもよいが、クラウド管理プラットフォームが一つの仮想デバイス或いは機能モジュールで実現されるとき、当該機械可読記憶媒体は当該仮想デバイス或いは機能モジュールが所在するホストのメモリでもよい。
【0055】
当業者は、明細書に基づいて、ここで開示される発明を実施すると、本発明のその他の解決案を容易に想到し得る。本願は本発明のあらゆる変形、用途或いは適応的な変更をカバーすると意図し、これらの変形、用途或いは適応的な変更は本発明の一般的な原理に準拠し、本発明に開示されていない本技術分野における公知常識或いは慣用の技術手段を含む。明細書及び実施例は例示的なもののみと見なされ、本発明の実際な範囲及び主旨は添付の特許請求の範囲によって示される。
【0056】
本発明は上記で既に記載され、図面に示された正確な構成に限らず、その範囲から逸脱せずに各種の補正及び変更を行うことができると理解しうる。本発明の範囲は添付の特許請求の範囲によってのみ限定される。