JP2018206170A - 制御装置及び仮想マシン生成方法 - Google Patents

制御装置及び仮想マシン生成方法 Download PDF

Info

Publication number
JP2018206170A
JP2018206170A JP2017112422A JP2017112422A JP2018206170A JP 2018206170 A JP2018206170 A JP 2018206170A JP 2017112422 A JP2017112422 A JP 2017112422A JP 2017112422 A JP2017112422 A JP 2017112422A JP 2018206170 A JP2018206170 A JP 2018206170A
Authority
JP
Japan
Prior art keywords
virtual machine
server
deleted
resource
cores
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017112422A
Other languages
English (en)
Inventor
陽子 大岩
Yoko Oiwa
陽子 大岩
嘉人 守重
Yoshihito Morishige
嘉人 守重
洋一 堤
Yoichi Tsutsumi
洋一 堤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017112422A priority Critical patent/JP2018206170A/ja
Publication of JP2018206170A publication Critical patent/JP2018206170A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】NFVシステムにおいて障害が発生したとき、システムの運用状態を維持することができる。
【解決手段】1つの側面では、仮想マシンをサーバ上で生成し、前記仮想マシンが使用する前記サーバの有するリソースを管理する仮想マシン管理装置を、制御する制御装置であって、前記仮想マシン管理装置が生成した仮想マシンが削除されたことを検出する検出部と、前記仮想マシンが削除されたことを検出したとき、前記削除された仮想マシン以外の他の仮想マシンが使用していないリソース残量を、前記仮想マシン管理装置から取得する取得部と、前記リソース残量に応じて、前記削除された仮想マシンを生成するよう前記仮想マシン管理装置に指示する制御部を有する。
【選択図】 図9

Description

本発明は、制御装置及び仮想マシン生成方法に関する。
近年、ネットワーク機能の一部を仮想マシン(VM: Virtual Machine)で構築するNFV(Network Functions Virtualization)が注目されている。NFVを用いたシステム(
以降、NFVシステムと呼ぶ場合がある)は、例えば、欧州電気通信標準化機構 (ETSI :European Telecommunications Standards Institute)により、装置構成や機能構成の標準規格が提案される。
標準化規格(例えば、ETSI GS NFV-MAN 001 V1.1.1)によると、NFVシステムは、例えば、サーバ上でVMを生成又は削除するための仮想化基盤であるNFVI(NFV Infrastructure)を有する。また、NFVシステムは、例えば、NFVIで生成又は削除したVM、及びVMが使用するサーバのリソースを管理するVIM(Virtualized Infrastructure Manager)を有する。NFVシステムでは、VIMを介してNFVIを制御することで、ネットワーク機能の一部となるVMを生成する。
VNFシステムに関する技術は、以下の特許文献1,2に記載されている。
特開2015−56182号公報 国際公開第2016/152587号
ETSI GS NFV-MAN 001 V1.1.1
しかし、例えば、地震などの災害や、マシンの劣化などにより、NFVI配下のサーバが故障し、生成しているVMが削除されてしまう場合がある。この場合、例えば、故障が発生したサーバでVMを再度生成しようとしても、サーバが故障しているため、VMの生成に失敗することがある。VMの生成に失敗すると、NFVシステムは、運用状態を維持することができなくなる。
そこで、一開示は、NFVシステムにおいて障害が発生したとき、システムの運用状態を維持する制御装置及び仮想マシン生成方法を提供する。
1つの側面では、仮想マシンをサーバ上で生成し、前記仮想マシンが使用する前記サーバの有するリソースを管理する仮想マシン管理装置を、制御する制御装置であって、前記仮想マシン管理装置が生成した仮想マシンが削除されたことを検出する検出部と、前記仮想マシンが削除されたことを検出したとき、前記削除された仮想マシン以外の他の仮想マシンが使用していないリソース残量を、前記仮想マシン管理装置から取得する取得部と、前記リソース残量に応じて、前記削除された仮想マシンを生成するよう前記仮想マシン管理装置に指示する制御部を有する。
そこで、一開示は、NFVシステムにおいて障害が発生したとき、システムの運用状態を維持することができる。
図1は、NFVシステム10の構成例を示す図である。 図2は、NFVO400の構成例を示す図である。 図3は、VM毎コア数テーブル423の例を示す図である。 図4は、VNFM300の構成例を示す図である。 図5は、VM要件テーブル325の例を示す図である。 図6は、VIM200の構成例を示す図である。 図7は、リソース管理テーブル223の例を示す図である。 図8は、運用中のflavorの例を示す図である。 図9は、NFVシステム10におけるヒーリング処理のシーケンスの例を示す図である。 図10は、故障発生後のリソース管理テーブル223の例を示す図である。 図11は、Grant判定処理S104の処理フローチャートの例を示す図である。 図12は、flavor作成処理の処理フローチャートの例を示す図である。 図13は、新規flavorの例を示す図である。 図14は、ヒーリング処理完了後のリソース管理テーブル223の例を示す図である。 図15は、NFVシステム10におけるヒーリング処理のシーケンスの例を示す図である。 図16は、故障復旧後のリソース管理テーブル223の例を示す図である。
[第1の実施の形態]
第1の実施の形態について説明する。第1の実施の形態において、制御装置(NFVO400及びVNFM300)は、仮想マシン管理装置(VIM200及びNFVI100)が生成した仮想マシンが削除されたことを検出する。そして、制御装置は、仮想マシンが削除されたことを検出したとき、削除された仮想マシン以外の他の仮想マシンが使用していないリソース残量を、仮想マシン管理装置から取得する。さらに、制御装置は、取得したリソース残量に応じて、削除された仮想マシンを生成するよう仮想マシン管理装置に指示する。なお、リソースは、サーバ(IAS102)が有するプロセッサ(CPU)のコア数であり、制御装置は、サーバの残コア数をリソース残量として取得する。また、制御装置は、残コア数に基づき、削除された仮想マシンを生成するサーバを選択し、選択したサーバで削除された仮想マシンを生成するよう仮想マシン管理装置に指示する。
<NFVシステムの構成例>
図1は、NFVシステム10の構成例を示す図である。NFVシステム10は、NFVO(NFV Orchestrator)400、VNFM(Virtualized Network Function Manager)300、VIM200、NFVI100、IAS(Intel Architecture Server)102−1〜6を有する。NFVシステム10は、一部の処理を仮想化された仮想マシンで構築する、仮想化システムである。
IAS102−1〜3及びIAS102−4〜6のそれぞれは、AZ(Availability Zone)101−1及び2を構成する。AZは、IAS102−1〜6を論理的なグループに分割したグループ(サーバ群)であり、他のAZと物理的に分離したり、AZ毎に冗長性を持たせたりする。例えば、AZ101−1とAZ101−2は、ネットワークや電源など含め、それぞれのAZを独立した構成としてもよい。また、例えば、AZ101−1とAZ101−2は、同時に障害が発生することを防止するため、互いに遠隔な場所に設置してもよいし、物理的に完全に独立した構成にしてもよい。
IAS102−1〜6(以降、IAS102と呼ぶ場合がある)は、VMが稼働する装置であり、例えば、サーバマシンである。IAS102は、それぞれCPU(Central Processing Unit)を有し、CPUが特定のプログラムを実行することで、自装置のメモリ上にVMを生成、又は削除したり、生成したVMを稼働させたりする。図1においては、IAS102−1〜6は、それぞれ1つのVMを有する。しかし、IAS102−1〜6は、VMを稼働させていなくてもよいし、複数のVMを稼働させていてもよい。なお、NFVシステム10は、IAS102に代替し、Intel製以外のプロセッサを有するサーバマシンを有してもよい。
NFVI100は、IAS102を管理、制御し、IAS102上でVMを生成する装置であり、例えば、コンピュータやサーバマシンである。NFVI100は、IAS102のメモリ上にVMを生成したり、IAS102のメモリ上のVMを削除したりする。
VIM200は、NFVI100配下のIAS102における、VMが使用するリソースの管理及び制御を行う。また、VIM200は、例えば、IAS102それぞれのメモリ上で稼働しているVMが使用する使用リソースと、使用リソース以外のリソース残量を管理する。稼働中のVMが使用するリソースは、例えば、CPUのコア数である。稼働中のVMは、事前に設定されたコア数を、リソースとして使用する。VIM200は、VNFM300からの指示に従い、指示されたIAS102に、指示されたリソース(例えば、コア数)を使用するVMを生成する。なお、VMが使用するリソース(例えば、コア数)、VMを稼働させるIAS102に関する情報をflavorと呼ぶ。また、flavorは、VMを生成し、稼働させるためのプログラム(イメージファイル)に関する情報を有してもよい。
VIM200は、複数のflavorを登録しておくことが可能であり、どのflavorの内容に従うかをVNFM300から指示され、VNFM300の指示に応答し、flavorで示されたIAS102のメモリ上にVMを生成する。
VNFM300は、VMを管理する装置であり、例えば、コンピュータやサーバマシンである。VNFM300は、例えば、VMを生成し、稼働させるプログラム(イメージファイル)を、VIM200を介して、NFVI100に提供する。また、VNFM300は、例えば、VMを稼働させるIAS102を決定する。そして、決定した内容のfalvorをVIM200に登録させ、登録させたflavorに従いVMを生成するようVIM200に指示する。
NFVO400は、NFVシステム10の管理者とのインターフェースであり、例えば、ディスプレイを有するコンピュータである。NFVO400は、例えば、IAS102の故障などにより、VMが削除されたこと(あるいは正しく動作しなくなったこと)を検出する。NFVO400は、IAS102の故障やVMの削除などの障害を検出すると、例えば、ディスプレイなどの表示部に障害(故障)の内容を表示する。NFVO400は、障害発生時に、障害を復旧させるためのヒーリング処理を行う。ヒーリング処理は、例えば、削除されたVMを再生成する処理である。ヒーリング処理は、障害を検出したNFVO400により、自動で実行されてもよいし、障害の内容を表示部で確認した管理者が、NFVO400を操作することにより実行されてもよい。
なお、図1において、NFVO400とVNFM300は、それぞれ異なる装置であるが、1つの制御装置30であってもよい。また、VIM200、NFVI100、及びIAS102は、それぞれ異なる装置であるが、1つの仮想マシン管理装置20であってもよい。
<NFVOの構成例>
図2は、NFVO400の構成例を示す図である。NFVO400は、CPU410、ストレージ420、DRAM(Dynamic Random Access Memory)などのメモリ430、及びNIC(Network Interface Card)440を有する。
ストレージ420は、プログラムやデータを記憶する、フラッシュメモリ、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)などの補助記憶装置である。ストレージ420は、故障検出プログラム421、Grant判定プログラム422、VM毎コア数テーブル423、及びflavor管理テーブル424を記憶する。
図3は、VM毎コア数テーブル423の例を示す図である。VM毎コア数テーブルは、稼働中のVMがリソースとして使用する、最大コア数と最小コア数を記憶するテーブルである。V毎Mコア数テーブル423に記憶する情報は、例えば、「VM」、「コア数」である。
「VM」は、対象となるVMの名称や識別子である。図3のVM毎コア数テーブル423は、VM1〜VM4のコア数を記憶する。
「コア数」は、「最大」と「最小」を記憶する。「最大」は、対象となるVMが使用する最大のコア数であり、例えば、VM1の最大コア数は「3」である。「最小」は、対象となるVMの使用する最小のコア数であり、例えば、VM1の最小コア数は「2」である。
flavor管理テーブル424は、VIM200に登録したflavorの識別子(例えば、番号)やflavorの内容、及び、現在運用されているflavorの識別子など、flavorに関する情報を記憶するテーブルである。flavor管理テーブル424は、例えば、flavorを新規で登録したとき、flavorを削除したとき、運用するflavorを変更したときに更新される。
メモリ430は、ストレージ420に記憶されているプログラムをロードする領域である。また、メモリ430は、プログラムがデータを記憶する領域としても使用される。
NIC440は、VNFM300と接続するネットワークインターフェースである。NFVO400は、NIC440を介して、VNFM300と通信を行う。
CPU410は、故障検出プログラム421を実行することで、検出部を構築し、故障検出処理を行う。故障検出処理は、稼働中であったVMが削除されたことを検出する処理である。NFVO400は、例えば、IAS102のいずれかに故障が発生したことを示す警告メッセージを、NFVI100から、VIM200及びVNFM300を介して受信することで、故障の発生を検出する。NFVO400は、故障検出処理において、VMが削除されたこと、あるいはVMが削除されている可能性が高い故障が発生したことを検出すると、ヒーリング処理を行う。
また、CPU410は、故障検出プログラム421が有するヒーリングモジュール4211を実行することで、ヒーリング処理を行う。ヒーリング処理は、IAS102の故障により削除されたVMを再生成する処理である。NFVO400は、ヒーリング処理において、VMを再生成することを要求するメッセージであるヒーリングメッセージを、VNFM300に送信する。
CPU410は、Grant判定プログラム422を実行することで、取得部を構築し、Grant判定処理を行う。Grant判定処理は、VMの生成許可を要求するメッセージであるGrantを、VNFM300から受信する処理である。NFVO400は、Grant判定処理において、Grantで指定されたflavorでのVMの生成を許可(accepted)するか、拒絶(rejected)するかを決定し、Grantに対する応答メッセージであるGrantResponseに決定した結果を含め、VNFM300に送信する。また、NFVO400は、Grant判定処理において、運用中のflavorでのVMの生成(故障前のflavorと同じIAS102でのVMの再生成)を要求された場合、VIM200から最新のリソース(リソース残量)を取得する。そして、NFVO400は、取得した最新のリソース残量に基づき、運用中のflavorでのVM生成が可能でないと判定した場合、結果を拒絶としたGrantResponseに、取得した最新のリソース残量を含め、VNFM300に送信する。
また、CPU410は、Grant判定プログラム422が有するリソース情報取得モジュール4221を実行することで、取得部を構築し、リソース情報取得処理を行う。リソース情報取得処理は、VIM200から、リソース残量を取得する処理である。NFVO400は、リソース情報取得処理において、リソース残量の送信を要求するリソース情報要求メッセージをVIM200に送信する。そして、NFVO400は、リソース情報要求メッセージの受信に応答し、VIM200から送信されるリソース情報応答メッセージを受信し、リソース残量を取得する。なお、リソース情報取得要求メッセージは、再生成する対象のVM(削除されたVM)の属するAZを含む。
<VNFMの構成例>
図4は、VNFM300の構成例を示す図である。VNFM300は、CPU310、ストレージ320、DRAMなどのメモリ330、及びNIC340−1,2を有する。
ストレージ320は、プログラムやデータを記憶する、フラッシュメモリ、HDD、又はSSDなどの補助記憶装置である。ストレージ320は、ヒーリング受信プログラム321、flavor作成プログラム322、VM毎コア数テーブル423、flavor管理テーブル424及びVM要件テーブル325を記憶する。
VM毎コア数テーブル423、flavor管理テーブル424は、例えば、NFVO400が有するVM毎コア数テーブル423、flavor管理テーブル424と同様のテーブルである。
図5は、VM要件テーブル325の例を示す図である。VM要件テーブル325は、VMを生成する要件を記憶するテーブル(記憶部)である。VM要件テーブル325に記憶する情報は、例えば、「VM」及び「要件」である。
「VM」は、対象となるVMの名称や識別子である。図5のVM要件テーブル325は、VM1〜VM4の要件を記憶する。
「要件」は、VMを生成する要件である。図5によると、VM1の要件は、「VM2とは異なるAZで生成」である。例えば、VM1とVM2は、同様の処理を行うことができるVMであり、通常運用時に使用されるACT系のVMと、ACT系のVMが削除された場合やACT系のVMの処理負荷が過剰になった場合に備え、予備的に生成されるSTANBY系のVMであるとする。この場合、障害発生時に、少なくともどちらか一方が稼働することが求められるため、VM1とVM2は、物理的に独立した異なるAZで生成されることが好ましい。
また、図5によると、VM3の要件は、「VM4と同じAZで生成」及び「VM4と異なるIASで生成」である。例えば、VM3とVM4は、互いに通信する機会が多い場合、通信経路の通信量を抑制するため、物理的に近くに配置されている同一AZ内のサーバに生成されることが好ましい。一方、VM3とVM4の両方が削除された場合に、システム全体に与える影響が大きい場合、VM3とVM4は、両方のVMが同時に削除されてしまうことを防止するため、異なるIAS上で生成されることが好ましい。VNFM300は、VM要件テーブル325を参照することで、VMそれぞれの要件を満たすよう、VMの生成、削除をVIM200に指示する。
メモリ330は、ストレージ320に記憶されているプログラムをロードする領域である。また、メモリ330は、プログラムがデータを記憶する領域としても使用される。
NIC340−1,2は、NFVO400及びVIM200と接続するネットワークインターフェースである。VNFM300は、NIC340−1,2を介して、NFVO400及びVIM200と通信を行う。
CPU310は、ヒーリング受信プログラム321を実行することで、ヒーリング受信処理を行う。ヒーリング受信処理は、NFVO400からヒーリングメッセージを受信する処理である。VNFM300は、ヒーリング受信処理において、例えば、flavorを含むgrantをNFVO400に送信することで、NFVO400にgrantに含まれるflavorでVMを生成してもよいか否かを確認する。
CPU310は、flavor作成プログラム322を実行することで、制御部を構築し、flavor作成処理を行う。flavor作成処理は、リソース残量に応じたflavorを作成し、作成した新規flavorに従いVMを生成するようVIM200に指示する処理である。
<VIMの構成例>
図6は、VIM200の構成例を示す図である。VIM200は、CPU210、ストレージ220、DRAMなどのメモリ230、及びNIC240−1,2を有する。
ストレージ220は、プログラムやデータを記憶する、フラッシュメモリ、HDD、又はSSDなどの補助記憶装置である。ストレージ220は、リソース管理プログラム221、リソース情報要求受信プログラム222、flavor管理テーブル424、及びリソース管理テーブル223を記憶する。
flavor管理テーブル424は、例えば、NFVO400が有するflavor管理テーブル424と同様のテーブルである。
図7は、リソース管理テーブル223の例を示す図である。リソース管理テーブル223は、NFVI100の配下のIAS102のリソースを管理するテーブルである。VIM200は、例えば、リソース管理テーブル223において、各IAS102のCPUのコア数を管理する。
リソース管理テーブル223に記憶する情報は、例えば、「AZ」、「IAS」、「全コア数」、「稼働VM」、及び「残コア数」である。
「AZ」は、配下のAZの名称や識別子である。図7のリソース管理テーブル223は、AZ1(AZ101−1)とAZ2(AZ101−2)のリソースを記憶する。
「IAS」は、配下のIASの名称や識別子である。図7のリソース管理テーブル223は、IAS1(IAS102−1)、IAS2(IAS102−2)、IAS3(IAS102−3)、IAS4(IAS102−4)、IAS5(IAS102−5)、IAS6(IAS102−6)のリソースを記憶する。
「全コア数」は、それぞれのIASにおける全コア数である。全コア数は、IAS上でVMが稼働していないときの残コア数である。図7のリソース管理テーブル223は、例えば、IAS1の全コア数は4であることを記憶する。
「稼働VM」は、それぞれのIASで稼働中のVMであり、VMの名称や識別子が記憶される。図7のリソース管理テーブル223は、例えば、IAS1で稼働中のVMは、VM1であることを記憶する。
「残コア数」は、それぞれのIASにおける残コア数である。残コア数は、IAS上で生成したVMが使用することができるコア数(すなわち、稼働中のVMが使用していないコア数)を示す。図7のリソース管理テーブル223は、例えば、IAS1の残コア数は1であることを記憶する。
図8は、運用中のflavorの例を示す図である。図8によると、例えばIAS1上ではVM1が稼働中であり、VM1の使用コア数は3である。なお、flavorは、例えば、VM要件テーブル325に記憶する要件に基づき、VNFM300が作成する。すなわち、運用中のflavorは、VM要件テーブル325に記憶する要件を満たす内容となっている。
メモリ230は、ストレージ220に記憶されているプログラムをロードする領域である。また、メモリ230は、プログラムがデータを記憶する領域としても使用される。
NIC240−1,2は、VNFM300及びNFVI100と接続するネットワークインターフェースである。VIM200は、NIC340−1,2を介して、VNFM300及びNFVI100と通信を行う。
CPU210は、リソース管理プログラム221を実行することで、リソース管理処理を行う。リソース管理処理は、IAS102(IAS1〜6)のそれぞれのリソースを管理する処理である。VIM200は、リソースの状態が変化すると、リソース管理テーブル223を更新する。
CPU210は、リソース情報要求受信プログラム222を実行することで、リソース情報要求受信処理を行う。リソース情報要求受信処理は、リソース情報要求で指定されたAZに属するIAS102それぞれのリソース残量を、リソース情報応答に含め、NFVO400に送信する処理である。
<ヒーリング処理>
図9は、NFVシステム10におけるヒーリング処理のシーケンスの例を示す図である。例えば、地震などの災害発生により、NFVI100の配下のIAS102の一部が故障したり、電源供給が途絶えたりすることで、IAS102上で稼働していたVMが削除されたり、VMが正しく動作できなくなったりする。このとき、VIM200は、NFVO400に、障害や故障が発生したことを通知するアラームを送信する(S101)。アラームは、例えば、削除されたVMを示す情報を含み、図9においては、VM1が削除されたものとする。
NFVO400は、アラームを受信すると、例えば、アラームに含まれる障害の内容を、ディスプレイなどの画面に表示し、NFVシステム10の管理者に通知する。管理者は、画面を確認し、NFVO400を操作し、障害が発生したVM1を復旧させるためのHealメッセージ(ヒーリングメッセージ)を、VNFM300に送信する(S102)。また、NFVO400は、アラームを受信すると、例えば、アラームに含まれる障害を復旧するよう、管理者を介さず、VNFMにHealメッセージ(ヒーリングメッセージ)を送信してもよい(S102)。
図10は、故障発生後のリソース管理テーブル223の例を示す図である。故障発生後のリソース管理テーブル223は、故障発生前の図7のリソース管理テーブル223の状態から、IAS1で稼働中であったVM1が削除され、IAS1が故障したことにより、IAS1の全コア数及び残コア数が0となる。
図9のシーケンスに戻り、VNFM300は、Healを受信すると、運用中の旧flavorに従いVM1を生成することの許諾を要求するgrantメッセージをNFVO400に送信する(S103)。grantS103は、VM1が属するAZ1(第1サーバ群)を示すAZ情報を含む。また、grantS103は、障害が発生したVM1の再生成の許諾を要求する。VMの再生成は、古い(故障発生前に稼働中であった)VMを削除し、削除したVMを新たに生成することである。古いVMを削除する理由は、VMは障害によって削除されているが、VMが使用していたメモリやリソースが正しく解放されているか否か不明であるため、確実にメモリやリソースを解放するためである。
NFVO400は、grantを受信すると、Grant判定処理を行う(S104)。
図11は、Grant判定処理S104の処理フローチャートの例を示す図である。NFVO400は、grantで指定されたflavorが旧flavor(運用中のflavor)か否かを確認する(S104−1)。NFVO400は、運用中のflavorを、flavor管理テーブル424に記憶している。
NFVO400は、grantで指定されたflavorが旧flavorである場合(S104−1のYes)、VIM200にリソース情報要求を送信する(S104−2)。リソース情報要求は、削除されたVMが属するAZを示すAZ情報を含む。そして、NFVO400は、リソース情報要求に対する応答メッセージであるリソース情報応答を、VIM200から受信するのを待ち受ける(S104−3のNo)。
NFVO400は、リソース情報応答を受信すると(S104−3のYes)、旧flavorで、削除されたVMの生成が可能か否かを判定する(S104−4)。リソース情報応答は、例えば、リソース情報要求に含まれるAZ情報のAZのリソース残量が含まれる。NFVO400は、リソース情報応答に含まれるリソース残量に基づき、削除されたVMが旧flavorで生成することが可能か否かを判定する。
NFVO400は、旧flavorで削除されたVMの生成が可能であると判定すると(S104−4のYes)、grantで要求された結果が許可(accepted)であることを含む、GrantResponseを、VNFM300に送信する(S104−6)。一方、NFVO400は、旧flavorで削除されたVMの生成が可能ではないと判定すると(S104−4のNo)、grantで要求された結果が拒絶(rejected)であること含む、GrantResponseを、VNFM300に送信する(S104−5)。
また、一方、NFVO400は、受信したgrantで指定されたflavorが旧flavorではない場合、grantで指定されたflavorでVMを生成することを許可(accepted)することを含む、GrantResponseを、VNFM300に送信する(S104−6)。
図9のシーケンスに戻り、NFVO400は、Grant判定処理S104において、grantで指定されたflavorが旧flavorであるため(図11のS104−1のYes)、障害が発生した(削除された)VM1の属する(生成を許可された)AZ1を含むリソース情報要求をVIM200に送信する(S105)。
VIM200は、リソース情報要求を受信すると、リソース情報要求受信処理を行い、AZ情報のAZ1のリソース残量を含むリソース情報応答を、NFVO400に送信する(S106)。なお、リソース情報応答に含まれるリソース残量は、IASごとのリソース残量であり、例えば、リスト形式で示される。
NFVO400は、Grant判定処理S104において、旧flavorで示されたIAS1のリソース残量が0であり、VM1の生成が可能ではないと判定し(図11のS104−4のNo)、結果を拒絶とするGrantResponseをVNFM300に送信する(S107、図11のS104−5)。GrantResponseS107は、VM1の属するAZであるAZ1と、AZ1のリソース残量を含む。
VNFM300は、結果を拒絶とするGrantResponseを受信すると、flavor作成処理を行う(S108)。
図12は、flavor作成処理の処理フローチャートの例を示す図である。VNFM300は、GrantResponseに含まれるリソース残量に基づき、生成対象のVMの最大コア数を以上の残コア数を有するIASが存在するか否かを確認する(S108−1)。VNFM300は、最大コア数を満たすIASが存在する場合(S108−1のYes)、最大コア数を満たすIASを、削除されたVMを生成するIASとして選択する(S108−3)。
一方、VNFM300は、最大コア数を満たすIASが存在しない場合(S108−1のNo)、残コア数が最大であるIASを仮選択する(S108−2)。そして、VNFM300は、仮選択したIASの残コア数が、生成対象のVMの最小コア数以上か否かを確認する(S108−4)。VNFM300は、仮選択したIASの残コア数が生成対象のVMの最小コア数以上でない場合(S108−4のNo)、VMを生成できないと判定し、処理を終了する。一方、VNFM300は、仮選択したIASの残コア数が生成対象のVMの最小コア数以上である場合(S108−4のNo)、仮選択したIASを、VMを生成するIASとして選択する(S108−5)。
VNFM300は、VMを生成するIASを選択すると、選択したIASでVMを生成する新規flavorを作成する(S108−6)。そして、VNFM300は、作成した新規flavorをVIM200に登録し(S108−7)、新規flavorを指定したgrantをNFVO400に送信し(S108−8)、GrantResponseの受信を待ち受ける(S108−9のNo)。
VNFM300は、GrantResponseを受信すると(S108−9のYes)、GrantResponseの結果を確認する(S108−10)。VNFM300は、GrantResponseがaccepted(許可)である場合(S108−10のYes)、新規flavorに従いVMを生成するようVIM200に指示を送信する(S108−11)。一方、VNFM300は、GrantResponseがrejected(拒絶)である場合(S108−10のNo)、VMを生成せずに処理を終了する。
すなわち、VNFM300は、flavor作成処理S108において、残コア数が最大コア数以上であるIASを優先して選択する。VNFM300は、最大コア数以上の残コア数のIASが存在しない場合、最小コア数以上であって、残コア数が最も多いIASを選択する。これにより、VNFM300は、できるだけ多いコア数で、削除されたVMの再生成を行うことができる。
図9のシーケンスに戻り、VNFM300は、flavor作成処理S108において、VM1の最大コア数(3)を満たす残コア数のIASが存在しないため(図12のS108−1のNo)、残コア数が最大(2)のIAS2(IAS3でもよい)を仮選択する(図12のS108−2)。そして、VNFM300は、仮選択したIAS2の残コア数(2)がVM1の最小コア数(2)以上であるため(図12のS108−4のYes)、IAS2を、VM1を生成するIASとして選択する(S108−5)。そして、VNFM300は、コア数2を使用するVM1をIAS2で生成する新規flavorを作成し(図12のS108−6)、新規flavorを対象とするflavor登録要求をVIM200に送信する(S109、図12のS108−7)。VNFM300は、flavor登録完了を受信すると(S110)、新規flavorを指定したgrantをNFVO400に送信する(S111、図12のS108−8)。
図13は、新規flavorの例を示す図である。新規flavorは、上述したように、残コア数が2であるIAS2において、コア数2を使用するVM1を生成するflavorである。VM1以外のVM2〜4は、旧flavorと同様である。
図9のシーケンスに戻り、NFVO400は、grantを受信すると、Grant判定処理を行う(S104)。NFVO400は、Grant判定処理S104において、旧flavorが指定されていないと判定し(図11のS104−1のNo)、結果を許可とするGrantResponseをVNFM300に送信する(S112、図11のS104−6)。
VNFM300は、flavor作成処理S108において、GrantRsponseを受信し(図12のS108−9のYes)、結果が許可であるため(図12のS108−10のYes)、新規flavorでのVMの生成を指示する仮想マシン生成指示をVIM200に送信する(S113、図12のS108−11)。
VIM200は、仮想マシン生成指示を受信すると、指定された新規flavorに従い、NFVI100を介して、コア数2を使用するVM1をIAS2で生成し、仮想マシン生成完了をVNFM300に送信する(S114)。
図14は、ヒーリング処理完了後のリソース管理テーブル223の例を示す図である。VIM200は、新規flavorに従い、コア数2のVM1をIAS2で生成する。VM1がIAS2のコア数2を使用するため、IAS2の残コア数は0となる。
図9のシーケンスに戻り、VNFM300は、仮想マシン生成完了を受信すると、ヒーリング処理が成功及び完了したこと(finished)を示すLifecycleChangeNotificationを、NFVO400に送信する(S115)。
第1の実施の形態では、NFVO400は、VM1を旧flavorで再生成する前に、VIM200からリソース残量を取得する。NFVO400は、故障発生前のIASでのVM1の生成を行わず、リソース残量から適正なIASを選択する。これにより、リソース不足によりVM1の再生成の失敗を防止し、NFVシステム10の継続した運用が可能となる。
なお、第1の実施の形態において、故障発生により削除されるVMは一つである。削除されるVMが複数ある場合、VNFM300は、削除された複数のVM全てのコア数の要件を満たすよう新規flavorを作成する。また、VNFM300は、リソース不足により、削除された複数のVM全てのコア数の要件を満たすことができない場合、例えば、VMに優先順位を付し、優先順位が高いVMを優先して再生成するようflavorを作成する。
[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態は、VMが削除されたIASの故障が復旧する場合を想定している。なお、各装置の構成例及び各処理のフローチャートは、第1の実施の形態と同様である。
<ヒーリング処理>
図15は、NFVシステム10におけるヒーリング処理のシーケンスの例を示す図である。処理S101から処理S106は、図9に示す処理S101から処理S106と同様である。ただし、図9のシーケンスでは、IAS1の故障は復旧しないが、図15のシーケンスでは、IAS1の故障がリソース情報要求S105の送信までに復旧する。IAS1の復旧は、例えば、災害により途絶えていた電源供給の復旧や、通信回線の復旧などである。
図16は、故障復旧後のリソース管理テーブル223の例を示す図である。図16によると、IAS1で稼働していたVM1は、削除されている。しかし、IAS1のリソースは、故障の復旧により、全コア数は故障発生前の4に戻り、残コア数は全コア数と同じ4となる。
図9のシーケンスに戻り、NFVO400は、Grant判定処理S104において、リソース情報応答を受信し(図11のS104−3のYes)、旧flavorで示されたIAS1のリソース残量が4であり、VM1の生成が可能であると判定し(図11のS104−4のYes)、結果を許可とするGrantResponseをVNFM300に送信する(S201、図11のS104−6)。
VNFM300は、要求が許可されたGrantRsponseを受信し、旧flavorでのVMの生成を指示する仮想マシン生成指示をVIM200に送信する(S202)。
VIM200は、仮想マシン生成指示を受信すると、指定された旧flavorに従い、NFVI100を介して、コア数3を使用するVM1をIAS1で生成(再生成)し、仮想マシン生成完了をVNFM300に送信する(S203)。このとき、リソース管理テーブル223は、図7のリソース管理テーブル223と同じ状態となる。
VNFM300は、仮想マシン生成完了を受信すると、ヒーリング処理が成功及び完了したこと(finished)を示すLifecycleChangeNotificationを、NFVO400に送信する(S204)。
第2の実施の形態では、NFVO400は、故障前のIASでVIMを再生成することが可能であるとき、新規flavorの作成をせずに、旧flavorでVM1を再生成する。これにより、NFVO400は、例えば、故障したIASが早急に復旧した場合、新規flavorの作成や新規flavorの登録などの処理を行わずに、ヒーリングを成功させることができる。
以上、第1及び第2の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
仮想マシンをサーバ上で生成し、前記仮想マシンが使用する前記サーバの有するリソースを管理する仮想マシン管理装置を、制御する制御装置であって、
前記仮想マシン管理装置が生成した仮想マシンが削除されたことを検出する検出部と、
前記仮想マシンが削除されたことを検出したとき、前記削除された仮想マシン以外の他の仮想マシンが使用していないリソース残量を、前記仮想マシン管理装置から取得する取得部と、
前記リソース残量に応じて、前記削除された仮想マシンを生成するよう前記仮想マシン管理装置に指示する制御部を有する
制御装置。
(付記2)
前記リソースは、前記サーバが有するプロセッサのコア数であり、
前記取得部は、前記サーバの残コア数を前記リソース残量として取得し、
前記制御部は、前記残コア数に基づき、前記削除された仮想マシンを生成するサーバを選択し、前記選択したサーバで前記削除された仮想マシンを生成するよう前記仮想マシン管理装置に指示する
付記1記載の制御装置。
(付記3)
さらに、前記削除された仮想マシンが使用するコア数は、第1数値から第1数値以上の第2数値の範囲内の数であり、
前記制御部は、前記残コア数が前記第2数値以上であるサーバを他のサーバよりも優先して選択する
付記2記載の制御装置。
(付記4)
前記制御部は、前記残コア数が前記第2数値以上であるサーバが存在しない場合、前記コア数が前記第1数値以上かつ前記第2数値未満の第3数値であるサーバを選択し、前記第3数値のコア数を使用する前記削除された仮想マシンを生成するよう指示する
付記3記載の制御装置。
(付記5)
前記制御部は、前記残コア数が前記第1数値以上であるサーバが存在しない場合、前記指示を行わない
付記4記載の制御装置。
(付記6)
前記取得部は、前記リソース残量を送信するよう前記仮想マシン管理装置に要求し、前記仮想マシン管理装置が前記要求に応答して送信した前記リソース残量を受信する
付記1記載の制御装置。
(付記7)
前記サーバそれぞれは、複数のサーバ群のいずれかに属し、
前記削除された仮想マシンは、前記複数のサーバ群のうち、第1サーバ群に属するサーバ上で生成されることを許可されており、
前記取得部は、前記第1サーバ群に属するサーバのリソース残量を送信するよう前記仮想マシン管理装置に要求する
付記6記載の制御装置。
(付記8)
前記サーバ群は、AZ(Availability Zone)である
付記7記載の制御装置。
(付記9)
さらに、前記仮想マシンと前記仮想マシンの生成が許可されるサーバ群との対応関係を記憶する記憶部を有する
付記7記載の制御装置。
(付記10)
前記制御装置は、NFVO(Network Functions Virtualization Orchestrator)及びVNFM(Virtualized Network Function Manager)を有し、
前記仮想マシン管理装置は、VIM(Virtualized Infrastructure Manager)及びNFVI(Network Functions Virtualization Infrastructure)を有する
付記1記載の制御装置。
(付記11)
前記削除された仮想マシンは複数であって、
前記制御部は、前記複数の削除された仮想マシンのうち、前記リソース残量に応じた一部又は全部の仮想マシンを生成するよう指示する
付記1記載の制御装置。
(付記12)
仮想マシンをサーバ上で生成し、前記仮想マシンが使用する前記サーバの有するリソースを管理する仮想マシン管理装置を、制御する制御装置における仮想マシン生成方法であって、
前記仮想マシン管理装置が生成した仮想マシンが削除されたことを検出し、
前記仮想マシンが削除されたことを検出したとき、前記削除された仮想マシン以外の他の仮想マシンが使用していないリソース残量を、前記仮想マシン管理装置から取得し、
前記リソース残量に応じて、前記削除された仮想マシンを生成するよう前記仮想マシン管理装置に指示する
仮想マシン生成方法。
10…NFVシステム 100…NFVI
101…AZ 102…IAS
20…仮想マシン管理装置 200…VIM
210…CPU 220…ストレージ
221…リソース管理プログラム 222…リソース情報要求受信プログラム
223…リソース管理テーブル 230…メモリ
240…NIC 30…制御装置
300…VNFM 310…CPU
320…ストレージ 321…ヒーリング受信プログラム
322…flavor作成プログラム 325…VM要件テーブル
330…メモリ 340…NIC
400…NFVO 410…CPU
420…ストレージ 421…故障検出プログラム
4211…ヒーリングモジュール 422…Grant判定プログラム
4221…リソース情報取得モジュール 423…VM毎コア数テーブル
424…flavor管理テーブル 430…メモリ
440…NIC

Claims (7)

  1. 仮想マシンをサーバ上で生成し、前記仮想マシンが使用する前記サーバの有するリソースを管理する仮想マシン管理装置を、制御する制御装置であって、
    前記仮想マシン管理装置が生成した仮想マシンが削除されたことを検出する検出部と、
    前記仮想マシンが削除されたことを検出したとき、前記削除された仮想マシン以外の他の仮想マシンが使用していないリソース残量を、前記仮想マシン管理装置から取得する取得部と、
    前記リソース残量に応じて、前記削除された仮想マシンを生成するよう前記仮想マシン管理装置に指示する制御部を有する
    制御装置。
  2. 前記リソースは、前記サーバが有するプロセッサのコア数であり、
    前記取得部は、前記サーバの残コア数を前記リソース残量として取得し、
    前記制御部は、前記残コア数に基づき、前記削除された仮想マシンを生成するサーバを選択し、前記選択したサーバで前記削除された仮想マシンを生成するよう前記仮想マシン管理装置に指示する
    請求項1記載の制御装置。
  3. さらに、前記削除された仮想マシンが使用するコア数は、第1数値から第1数値以上の第2数値の範囲内の数であり、
    前記制御部は、前記残コア数が前記第2数値以上であるサーバを他のサーバよりも優先して選択する
    請求項2記載の制御装置。
  4. 前記制御部は、前記残コア数が前記第2数値以上であるサーバが存在しない場合、前記コア数が前記第1数値以上かつ前記第2数値未満の第3数値であるサーバを選択し、前記第3数値のコア数を使用する前記削除された仮想マシンを生成するよう指示する
    請求項3記載の制御装置。
  5. 前記取得部は、前記リソース残量を送信するよう前記仮想マシン管理装置に要求し、前記仮想マシン管理装置が前記要求に応答して送信した前記リソース残量を受信する
    請求項1記載の制御装置。
  6. 前記サーバそれぞれは、複数のサーバ群のいずれかに属し、
    前記削除された仮想マシンは、前記複数のサーバ群のうち、第1サーバ群に属するサーバ上で生成されることを許可されており、
    前記取得部は、前記第1サーバ群に属するサーバのリソース残量を送信するよう前記仮想マシン管理装置に要求する
    請求項5記載の制御装置。
  7. 仮想マシンをサーバ上で生成し、前記仮想マシンが使用する前記サーバの有するリソースを管理する仮想マシン管理装置を、制御する制御装置における仮想マシン生成方法であって、
    前記仮想マシン管理装置が生成した仮想マシンが削除されたことを検出し、
    前記仮想マシンが削除されたことを検出したとき、前記削除された仮想マシン以外の他の仮想マシンが使用していないリソース残量を、前記仮想マシン管理装置から取得し、
    前記リソース残量に応じて、前記削除された仮想マシンを生成するよう前記仮想マシン管理装置に指示する
    仮想マシン生成方法。
JP2017112422A 2017-06-07 2017-06-07 制御装置及び仮想マシン生成方法 Pending JP2018206170A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017112422A JP2018206170A (ja) 2017-06-07 2017-06-07 制御装置及び仮想マシン生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017112422A JP2018206170A (ja) 2017-06-07 2017-06-07 制御装置及び仮想マシン生成方法

Publications (1)

Publication Number Publication Date
JP2018206170A true JP2018206170A (ja) 2018-12-27

Family

ID=64957935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017112422A Pending JP2018206170A (ja) 2017-06-07 2017-06-07 制御装置及び仮想マシン生成方法

Country Status (1)

Country Link
JP (1) JP2018206170A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020181272A (ja) * 2019-04-23 2020-11-05 株式会社三菱Ufj銀行 管理装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020181272A (ja) * 2019-04-23 2020-11-05 株式会社三菱Ufj銀行 管理装置及びプログラム

Similar Documents

Publication Publication Date Title
US11307943B2 (en) Disaster recovery deployment method, apparatus, and system
US9208029B2 (en) Computer system to switch logical group of virtual computers
JP4542514B2 (ja) 計算機の制御方法、プログラム及び仮想計算機システム
JP5427574B2 (ja) 仮想計算機の移動管理方法、前記移動管理方法を用いた計算機、前記移動管理方法を用いた仮想化機構および前記移動管理方法を用いた計算機システム
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
US20190394266A1 (en) Cluster storage system, data management control method, and non-transitory computer readable medium
US8560628B2 (en) Supporting autonomous live partition mobility during a cluster split-brained condition
US10037237B2 (en) Method and arrangement for fault management in infrastructure as a service clouds
CN109669762B (zh) 云计算资源管理方法、装置、设备及计算机可读存储介质
US9575785B2 (en) Cluster system and method for providing service availability in cluster system
CN108270726B (zh) 应用实例部署方法及装置
US10331472B2 (en) Virtual machine service availability
JP2015103092A (ja) 障害回復システム及び障害回復システムの構築方法
CN108347339B (zh) 一种业务恢复方法及装置
US11093353B2 (en) Virtual network system, VIM, virtual network control method and recording medium
US9990258B2 (en) Management computer and management program
JP2007272297A (ja) オンデマンドクライアントサービスシステム、その管理方法、及びプログラム
JPWO2014076838A1 (ja) 仮想マシン同期システム
US8990608B1 (en) Failover of applications between isolated user space instances on a single instance of an operating system
CN103595801A (zh) 一种云计算系统及其虚拟机实时监控方法
EP3806395A1 (en) Virtual network function (vnf) deployment method and apparatus
CN112948063A (zh) 云平台的创建方法、装置、云平台以及云平台实现系统
CN105812169A (zh) 一种主备机切换方法及装置
WO2013190694A1 (ja) 計算機の復旧方法、計算機システム及び記憶媒体
JP2018206170A (ja) 制御装置及び仮想マシン生成方法