IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許7176633仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム
<>
  • 特許-仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム 図1
  • 特許-仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム 図2
  • 特許-仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム 図3
  • 特許-仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム 図4
  • 特許-仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム 図5
  • 特許-仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-14
(45)【発行日】2022-11-22
(54)【発明の名称】仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20221115BHJP
   G06F 9/455 20060101ALI20221115BHJP
【FI】
G06F9/50 150Z
G06F9/455 150
【請求項の数】 5
(21)【出願番号】P 2021528729
(86)(22)【出願日】2019-06-26
(86)【国際出願番号】 JP2019025321
(87)【国際公開番号】W WO2020261412
(87)【国際公開日】2020-12-30
【審査請求日】2021-11-09
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】太田 正純
【審査官】加藤 優一
(56)【参考文献】
【文献】特開2014-142678(JP,A)
【文献】特開2011-248616(JP,A)
【文献】国際公開第2017/002812(WO,A1)
【文献】国際公開第2016/121728(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G06F 9/455
(57)【特許請求の範囲】
【請求項1】
VM(Virtual Machine)またはコンテナのマイグレーションをコンピュートに実行させる仮想化基盤制御装置であって、
ライブマイグレーションを実行する上で制約となり得る状態か否かを判定するための動作パラメータを取得する動作パラメータ監視部と、
前記コンピュートについての所定の負荷情報を取得するリソース監視部と、
前記コンピュートに搭載され、サービスを提供する前記VMまたはコンテナごとに、前記ライブマイグレーションかヒーリングかのいずれかを、前記マイグレーションの実行手法として選択するマイグレーション判定部と、を備え、
前記マイグレーション判定部は、
前記ライブマイグレーションが実行可能と判定するための所定の動作条件を前記動作パラメータが満たしており、かつ、前記所定の負荷情報について、前記ライブマイグレーションが実行可能であると判定するための所定の閾値と比較することにより負荷が低いと判定した場合に、前記ライブマイグレーションを実行すると判定し、
前記動作パラメータが前記所定の動作条件を満たさない、若しくは、前記所定の負荷情報について、前記所定の閾値と比較することにより負荷が高いと判定した場合に、ヒーリングを実行すると判定する
ことを特徴とする仮想化基盤制御装置。
【請求項2】
前記サービスを提供する前記VMまたはコンテナごとの構成情報を取得する構成情報監視部と、
前記構成情報に基づき、前記サービス全体として、複数の前記VMまたはコンテナについて判定された前記ライブマイグレーションまたは前記ヒーリングの処理時間の合計値が低減されるように、前記サービスを構成する前記VMまたはコンテナの実行順序の指示するマイグレーション指示部と、をさらに備えること
を特徴とする請求項1に記載の仮想化基盤制御装置。
【請求項3】
前記構成情報には、複数の前記VMまたはコンテナについての冗長構成を示す情報が含まれており、
前記マイグレーション指示部は、
前記構成情報を取得した場合に、前記冗長構成を示す情報があるときには、複数の前記VMまたはコンテナについて判定された前記ライブマイグレーションまたは前記ヒーリングを順次実行するように指示し、前記冗長構成を示す情報がないときには、複数の前記VMまたはコンテナについて判定された前記ライブマイグレーションまたは前記ヒーリングを並列で実行させるように指示すること
を特徴とする請求項2に記載の仮想化基盤制御装置。
【請求項4】
VMまたはコンテナのマイグレーションをコンピュートに実行させる仮想化基盤制御装置の仮想化基盤制御方法であって、
前記仮想化基盤制御装置は、
ライブマイグレーションを実行する上で制約となり得る状態か否かを判定するための動作パラメータを取得する動作パラメータ監視ステップと、
前記コンピュートについての所定の負荷情報を取得するリソース監視ステップと、
前記コンピュートに搭載され、サービスを提供する前記VMまたはコンテナごとに、前記ライブマイグレーションかヒーリングかのいずれかを、前記マイグレーションの実行手法として選択するマイグレーション判定ステップと、を実行し、
前記マイグレーション判定ステップにおいて、
前記ライブマイグレーションが実行可能と判定するための所定の動作条件を前記動作パラメータが満たしており、かつ、前記所定の負荷情報について、前記ライブマイグレーションが実行可能であると判定するための所定の閾値と比較することにより負荷が低いと判定した場合に、前記ライブマイグレーションを実行すると判定し、
前記動作パラメータが前記所定の動作条件を満たさない、若しくは、前記所定の負荷情報について、前記所定の閾値と比較することにより負荷が高いと判定した場合に、ヒーリングを実行すると判定する
ことを特徴とする仮想化基盤制御方法。
【請求項5】
請求項4に記載の仮想化基盤制御方法を、コンピュータに実行させるための仮想化基盤制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想化基盤においてマイグレーションを実行させる仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラムに関する。
【背景技術】
【0002】
近年、通信サービスにおいて、仮想化技術を適用したネットワーク機能の仮想化(NFV:Network Functions Virtualization)の採用が進展している。ネットワークの仮想化は、従来専用のハードウェアを用いて実現されていたネットワーク機能をソフトウェア化して汎用サーバ上で動作させるように構成する。このようなネットワーク機能の仮想化技術をキャリア網に適用することで、経済的にスケーラビリティと信頼性を両立させることや、迅速なサービスの提供、サービス毎の需要に応じた柔軟なリソース割当、ハードウェアの寿命に縛られないサービス展開等が実現できると期待されている。
【0003】
この仮想化技術を用いてサーバやネットワークといった物理資源を抽象化・隠蔽し、複数のアプリケーションやサービスに対して共通基盤を提供するシステムを仮想化基盤という。
【0004】
仮想化基盤上では、新たなVM(Virtual Machine:仮想マシン)/コンテナの生成や、既存のVM/コンテナの削除が容易になり、キャリアNWにおいて仮想化基盤上に搭載したアプリケーションをマイグレーションする際には、処理の停止を伴うヒーリングの手法が採用されるケースが存在する。なお、マイグレーションとは、システムやソフトウェアなどを、別の物理装置等へ移行することをいう。具体的には、ACT(Active)/SBY(Standby)構成のシステムの例では、SBY側を他の物理サーバに再立ち上げするヒーリング処理を用いて、マイグレーションを実現することが多い。
【0005】
一方、VM/コンテナ自体の処理能力を継続したままマイグレーションする手法が存在する。その代表的な技術であるライブマイグレーションでは、サービスを中断させずにマイグレーションすることができる。
【0006】
仮想化基盤において、このマイグレーションを実行する際の条件を判定する技術としては、例えば、VMware vSphere(「VMware vSphere」は登録商標)のDRS(Distributed Resource Scheduler)が知られている(非特許文献1参照)。DRSによれば、CPUやメモリ等の閾値を確認して、マイグレーションの実行および移行先ホストの選定等の処理を行うことができる(非特許文献2参照)。
【先行技術文献】
【非特許文献】
【0007】
【文献】“DRS PERFORMANCE,” [online], VMware,[令和1年6月15日検索],インターネット<https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/drs-vsphere65-perf.pdf>
【文献】“Japan Cloud Infrastructure Blog,” [online], VMware,[令和1年6月15日検索],インターネット<https://blogs.vmware.com/jp-cim/2017/10/vexpert-nakagawa-vmware-vsphere-6-5-part6.html>
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記した仮想化基盤のシステムにおけるマイグレーションを実行する場合に、ヒーリングの手法では、以下のような課題がある。
(1)サービス停止を伴うため、SBY系システムへの適用が必要となり、系切替処理などの付随する多くの作業が必要になる。
(2)ヒーリング処理に伴い、事前事後のコンフィグ投入などの工程が発生する。
(3)SBY系システムのダウンを伴うため片系運転の時間が多く発生する。
【0009】
これに対し、ライブマイグレーションでは、VM/コンテナの生成を伴わないため、ヒーリングに比べ短時間で処理が完了するというメリットがある。しかしながら、ライブマイグレーションを実行しようとする場合に、動作条件に制約があるケースや、メモリ更新が高頻度で発生するようなアプリケーションでは、メモリ転送がタイムアウトとなり処理が終わらないケースや、ヒーリングよりも時間がかかってしまうケースがある。
【0010】
このような点を鑑みて本発明がなされたのであり、本発明は、サービスの運用状況に合わせて、ヒーリングとライブマイグレーションのうち適切なマイグレーション手法を判定して実行させることができる、仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラムを提供する。
【課題を解決するための手段】
【0011】
本発明に係る仮想化基盤制御装置は、VMまたはコンテナのマイグレーションをコンピュートに実行させる仮想化基盤制御装置であって、ライブマイグレーションを実行する上で制約となり得る状態か否かを判定するための動作パラメータを取得する動作パラメータ監視部と、前記コンピュートについての所定の負荷情報を取得するリソース監視部と、前記コンピュートに搭載され、サービスを提供する前記VMまたはコンテナごとに、前記ライブマイグレーションかヒーリングかのいずれかを、前記マイグレーションの実行手法として選択するマイグレーション判定部と、を備え、前記マイグレーション判定部が、前記ライブマイグレーションが実行可能と判定するための所定の動作条件を前記動作パラメータが満たしており、かつ、前記所定の負荷情報について、前記ライブマイグレーションが実行可能であると判定するための所定の閾値と比較することにより負荷が低いと判定した場合に、前記ライブマイグレーションを実行すると判定し、前記動作パラメータが前記所定の動作条件を満たさない、若しくは、前記所定の負荷情報について、前記所定の閾値と比較することにより負荷が高いと判定した場合に、ヒーリングを実行すると判定することを特徴とする。
【発明の効果】
【0012】
本発明によれば、サービスの運用状況に合わせて、ヒーリングとライブマイグレーションのうち適切なマイグレーション手法を判定して実行させる、仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラムを提供することができる。
【図面の簡単な説明】
【0013】
図1】本実施形態に係る仮想化基盤制御装置を含む仮想化基盤制御システムの構成を示すブロック図である。
図2】本実施形態に係るリソース管理テーブル(リソース管理情報)のデータ構成の一例を示す図である。
図3】本実施形態に係る構成管理テーブルのデータ構成の一例を示す図である。
図4】本実施形態に係るマイグレーション手法判定処理およびマイグレーション実行制御処理の全体の流れを示すフローチャートである。
図5】本実施形態に係るマイグレーション手法判定処理の流れを示すフローチャートである。
図6】本実施形態に係る仮想化基盤制御装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0014】
次に、本発明を実施するための形態(以下、「本実施形態」と称する。)について説明する。まず、本実施形態に係る仮想化基盤制御装置10(図1参照)を含む仮想化基盤制御システム1について説明する。
図1は、本実施形態に係る仮想化基盤制御装置10を含む仮想化基盤制御システム1の構成を示すブロック図である。
仮想化基盤制御システム1は、1つ以上のコンピュート(Compute)30(物理リソース:VM/コンテナが動作するホスト(コンピュータ))と、仮想化基盤制御装置10とが、ネットワーク(NW)5を介して通信接続される。なお、以下に示す実施形態においては、コンピュート30上にVM20を構築した例として説明するが、コンピュート30上にコンテナ25を構築した場合でも同様の作用効果を奏する。
【0015】
コンピュート30には、仮想化基盤制御装置10の制御に基づき、仮想化環境として1つ以上のVM20を構築することができる。また、VM20には、1つ以上のアプリケーションを配置(搭載)することができ、ユーザ端末(図示省略)からの要求に基づくサービスを提供する。
このコンピュート30は、図1に示すように、仮想マシン設定ファイル31および仮想化層32を備える。仮想マシン設定ファイル31には、VM20の設定情報が格納される。仮想化層32は、VM20の生成や処理の制御を行う。
【0016】
仮想化基盤制御装置10は、各コンピュート30やVM20等に通信接続され、VM20の制御やリソースの割当を行うとともに、VM20のマイグレーションに関する指示を行う。
以下、仮想化基盤制御装置10について、詳細に説明する。
【0017】
<仮想化基盤制御装置>
本実施形態に係る仮想化基盤制御装置10は、コンピュート30がライブマイグレーションを実行できる動作条件を満たすか否かを判定するとともに、コンピュート30やVM20の運用状況(後記する「動作パラメータ」や「負荷情報」等)を監視し、ヒーリングとライブマイグレーションのうち適切なマイグレーション手法を判定して実行させる。具体的には、仮想化基盤制御装置10は、各VM20のマイグレーションの実行に際して、動作条件を満たしかつ負荷の低い場合では、ライブマイグレーションを実行すると判定し、動作条件を満たさない若しくは負荷の高い場合では、ヒーリングを実行すると判定する。
さらに、仮想化基盤制御装置10は、複数のVM20をマイグレーションする場合において、サービス単位での影響を考慮してマイグレーションを実行する順序を決定する。このようにすることで、マイグレーションによるサービスへの影響を低減することが可能となる。
【0018】
図1に示す仮想化基盤制御装置10は、制御部、入出力部(いずれも図示省略)および記憶部13を備えるコンピュータ等により実現される。
入出力部は、情報の送受信を行うための通信インタフェース、および、タッチパネルやキーボード等の入力装置や、モニタ等の出力装置との間で情報の送受信を行うための入出力インタフェースからなる。
【0019】
記憶部13は、フラッシュメモリやハードディスク、RAM(Random Access Memory)等により構成される。この仮想化基盤制御装置10の記憶部13には、図1に示すように、リソース情報リポジトリ130と仮想マシンイメージリポジトリ135とが記憶される。
リソース情報リポジトリ130には、各コンピュート30に構築するVM20の情報(リソースの割当先の情報)を含むリソース管理テーブル131(リソース管理情報)(図2参照)と、アプリケーションを実行するVM20の構成情報が記憶される構成管理テーブル132(構成管理情報)(図3参照)とが格納される。また、仮想マシンイメージリポジトリ135には、インストール済みのゲストOSを含む仮想インスタンス(VM)を起動するためのテンプレートであるVMイメージが格納される。
なお、この記憶部13には、制御部の各機能を実行させるためのプログラム(仮想化基盤制御プログラム)や、制御部の処理に必要な情報(後記する、閾値の情報等)が記憶される。なお、この記憶部13には、仮想化基盤を実現するために必要となる他の既存情報も備える。
【0020】
図2は、本実施形態に係るリソース管理テーブル131(リソース管理情報)のデータ構成の一例を示す図である。
リソース管理テーブル131には、コンピュート30の識別情報である「Compute ID」に対応付けて、「割当先」の情報が格納される。
この「割当先」には、その「Compute ID」で示されるコンピュート30に構築されたVM20の識別情報が格納される。図2では、例えば、Compute IDが「#0」のコンピュート30において、「VM#1」「VM#2」「VM#5」のVM20が割り当てられていることを示す。
【0021】
図1に戻り、制御部は、マイグレーション制御部11と、監視部12とを含んで構成される。なお、この制御部には、仮想化基盤を実現するために必要となる他の既存機能も備える。
【0022】
監視部12は、コンピュート30およびVM20の構成や負荷状態を監視しており、リソース監視部121、動作パラメータ監視部122、構成情報監視部123を備える。
【0023】
リソース監視部121は、各コンピュート30やVM20を監視し、CPU使用率、メモリ使用率等の負荷状態を示す情報(所定の負荷情報)を、メトリクス情報として取得する。所定の負荷情報には、この他にも、例えば、イメージサイズ、ローカルディスクのディスクI/O(Input/Output)、メモリ搭載量、メモリ更新頻度、有効NW帯域幅等が監視対象として設定される。
【0024】
動作パラメータ監視部122は、コンピュート30に設定される動作パラメータの状態を取得する。動作パラメータの状態は、例えば、CPU割付状態のemulatorpinの指定有無、共有Diskのマウント有無、CPU Pinning指定有無、SR-IOV(Single Root I/O Virtualization)の利用有無など、ライブマイグレーションを実行する上で制約となり得る動作条件を示す情報である。動作パラメータ監視部122は、これらの動作パラメータのうち、予め設定された所定の動作パラメータの状態を監視する。
動作パラメータ監視部122は、仮想マシン設定ファイル31を確認してこれらの動作パラメータの状態を取得してもよいし、各VM20に問い合わせることにより動作パラメータの状態を取得してもよい。
【0025】
構成情報監視部123は、移動(マイグレーション)の対象となるアプリケーションを実行してサービスを提供しているVM20の構成情報を取得する。この構成情報には、例えば、アプリケーションを連携動作する複数のVM20の情報や、アプリケーションを実行するVM20が冗長構成(ACT/SBY)であることの情報を含む。ここで、冗長構成(ACT/SBY)構成の情報には、現時点でそのVM20がACT状態であるのかSBY状態であるのか等の情報も含まれる。そして、構成情報監視部123は、取得した構成情報を、リソース情報リポジトリ130内の構成管理テーブル132に格納する。
【0026】
図3は、本実施形態に係る構成管理テーブル132のデータ構成の一例を示す図である。
構成管理テーブル132には、アプリケーション名(App)およびアプリケーションID(App ID)に対応付けて、連携して動作するVM20のID(識別子)(VM ID)が格納される。
図3に示すように、例えば、アプリケーション名(App)が「VNF1」でアプリケーションID(App ID)が「#01」のアプリケーションに対応するVM20の構成は、VM ID「#1」「#11」のVM20について冗長構成(ACT/SBY)のペアあることを示している。また、アプリケーション名(App)が「VNF10」でアプリケーションID(App ID)が「#010」のアプリケーションは、VMIDが「#5」のVM20と「#6」の2つのVM20で、一連のサービス(1つのサービス)を提供していることを示している。
【0027】
図1に戻り、マイグレーション制御部11は、ヒーリングとライブマイグレーションのうち適切なマイグレーション手法を判定してコンピュート30に実行を指示する制御を行う。このマイグレーション制御部11は、マイグレーション判定部111、マイグレーション指示部112、マイグレーション実行部113を備える。
【0028】
マイグレーション判定部111は、不図示のネットワーク管理装置等から、例えば、システムの保守やアップグレードなどのためにサービス実行中のVM20について、現時点の物理装置(コンピュート30)から別の物理装置(コンピュート30)にマイグレーションする指示(後記する「マイグレーション要求」)を受け付けると、以下の処理を実行する。
マイグレーション判定部111は、リソース監視部121が取得したメトリクス情報(負荷情報)や動作パラメータ監視部122が取得した動作パラメータの状態情報を用いて、VM20単位で、ヒーリングとライブマイグレーションのうち、適切なマイグレーション手法を判定(選択)する。
【0029】
具体的には、マイグレーション判定部111は、動作パラメータ監視部122が取得した動作パラメータ情報を用いて、ライブマイグレーションを実行するための所定の動作条件を満たすか否かを判定する。そして、マイグレーション判定部111は、当該所定の動作条件を満たさない場合には、ヒーリングによるマイグレーションを実行すると判定する。
【0030】
また、マイグレーション判定部111は、リソース監視部121が取得した負荷状態を示すメトリクス情報を用いて、所定の判定基準を満たすか否かにより、ライブマイグレーションが実行可能か否かを判定する。
マイグレーション判定部111は、負荷状態による判定に用いる指標(負荷情報)として、例えば、イメージサイズ、ローカルディスクI/O、メモリ搭載量、メモリ更新頻度、有効NW帯域幅などを、予め設定しておく。そして、採用した負荷状態の指標に対して所定の閾値を設定しておき、その閾値と比較することにより、ライブマイグレーションが実行可能か否かを判定する。
負荷状態の指標については、事前に設定される固定的な値であってもよいし、動的な変更情報(例えば、ディスク空き容量、ディスクの空き読込帯域、NWの空き帯域など)であってもよい。
【0031】
マイグレーション指示部112は、マイグレーション判定部111が各VM20について判定したマイグレーション手法(ヒーリングまたはライブマイグレーション)の情報を取得すると、以下の処理を実行する。
マイグレーション指示部112は、例えばアプリケーションを実行する複数のVM20の構成情報を構成情報監視部123に問い合わせる。なお、構成情報監視部123は、この問い合わせを受けて、最新(現時点)のVM20の構成情報を取得し、マイグレーション指示部112に応答するとともに、取得した構成情報を構成管理テーブル132に格納する。また、構成情報監視部123は、VM20の構成情報の変更を所定の時間間隔で監視し、その監視結果を構成管理テーブル132に格納しておき、その構成情報を、マイグレーション指示部112が取得するようにしてもよい。
【0032】
マイグレーション指示部112は、取得した構成情報に基づき、サービス単位での影響を考慮して、各VM20の実行順序を決定する。具体的には、マイグレーション指示部112は、複数のVM20それぞれについて判定された、ライブマイグレーションまたはヒーリングの処理時間の合計値が低減されるように、各VM20の実行順序を決定する。なお、本実施形態では、マイグレーション指示部112が、複数のVM20が冗長構成であるか否か判定して、マイグレーションの実行順序を決定し指示情報を生成する例として説明する。
【0033】
マイグレーション指示部112は、取得した構成情報に基づき、複数のVM20の構成が冗長構成であると判定した場合には、各VM20についてマイグレーション判定部111が判定したマイグレーション処理(ヒーリング、ライブマイグレーション)を順次実行するようにした指示情報を生成する。
【0034】
このとき、マイグレーション指示部112は、冗長構成を持つ複数のVM20について判定されたマイグレーション手法がすべてヒーリングであった場合には、その複数のVM20それぞれに対するヒーリングの実行を順次行うようにした指示情報を生成する。
また、マイグレーション指示部112は、冗長構成を持つ複数のVM20について判定されたマイグレーション手法がすべてライブマイグレーションであった場合には、その複数のVM20それぞれに対するライブマイグレーションの実行を順次行うようにした指示情報を生成する。
さらに、マイグレーション指示部112は、冗長構成を持つ複数のVM20について判定されたマイグレーション手法において、ヒーリングとライブマイグレーションが混在する場合には、順次ヒーリング、ライブマイグレーションの実行するようにした指示情報を生成する。
【0035】
一方、マイグレーション指示部112は、取得した構成情報に基づき、複数のVM20の構成が冗長構成でないと判定した場合には、各VM20のマイグレーション(ヒーリング、ライブマイグレーション)を並列で実行する指示情報を生成する。
このように、各VM20のマイグレーション(ヒーリング、ライブマイグレーション)を並列で実行させることにより、サービス全体でのマイグレーションにかかる処理時間を低減させることができる。
そして、マイグレーション指示部112は、生成した指示情報を、マイグレーション実行部113に出力する。
【0036】
マイグレーション実行部113は、コンピュート30の仮想化層32に対して、マイグレーション指示部112から取得した指示情報に基づくマイグレーション実行通知を送信する。これにより、マイグレーション実行部113は、各コンピュート30に、マイグレーション処理を実行させる。
【0037】
具体的には、例えば、指示情報によるマイグレーションの手法がヒーリングの場合に、マイグレーション実行部113は、VM20のSBY遷移を必要に応じて実行させる。その後、ヒーリングによりSBY系のVM20を異なるコンピュート30に退避させる。そして、必要なコンフィグ投入などを行わせ、ACT系との同期を経て系に組み込む処理を行わせる。
【0038】
<処理の流れ>
次に、仮想化基盤制御装置10が実行する処理の流れについて説明する。
図4は、本実施形態に係るマイグレーション手法判定処理およびマイグレーション実行制御処理の全体の流れを示すフローチャートである。
ここでは、不図示のネットワーク管理装置などから仮想化基盤制御装置10が、あるサービスを提供するアプリケーションに関するマイグレーションの要求情報(以下「マイグレーション要求」と称する。)を取得したものとして説明する。このマイグレーション要求には、マイグレーションの対象となる1つ以上のVM20の識別情報が含まれる。なお、以下においては、あるサービスを提供する複数のVM20のマイグレーションの指示を受けたものとして説明する。なお、マイグレーションの対象が1つのVM20のみであった場合には、マイグレーション手法判定処理(図5)を行い、ヒーリングまたはライブマイグレーションのいずれかを選択して実行させるようにする。
【0039】
まず、仮想化基盤制御装置10のマイグレーション判定部111は、マイグレーション要求を参照し、サービスを構成する複数のVM20のうちの1つを選択する(ステップS1)。
続いて、マイグレーション判定部111は、マイグレーション手法判定処理を実行する(ステップS2)。このマイグレーション手法判定処理により、マイグレーション判定部111は、そのVM20に最適な手法として、ヒーリングまたはライブマイグレーションのいずれかを選択する。なお、このマイグレーション手法判定処理の詳細は、図5を参照して後記する。
【0040】
次に、マイグレーション判定部111は、サービスを構成するVM20のすべてを処理したか否かを判定する(ステップS3)。そして、まだマイグレーション判定処理を行っていないVM20があれば(ステップS3→No)、ステップS1に戻り、マイグレーション手法判定処理を続ける。一方、マイグレーション判定部111は、すべてのVM20の処理を終えた場合には、次のステップS4へ進む。
なお、ここで、マイグレーション判定部111のマイグレーション手法判定処理により、サービスを構成するVM20について、次の3つのケースの判定結果が得られる。
(ケース1)すべてのVM20について、ヒーリングを実行する。
(ケース2)ヒーリングとライブマイグレーションを併用して実行する。
(ケース3)すべてのVM20について、ライブマイグレーションを実行する。
【0041】
続いて、仮想化基盤制御装置10のマイグレーション指示部112は、構成情報監視部123に、サービスを構成するVM20の構成情報を問い合わせる(ステップS4)。構成情報監視部123は、最新の構成情報をコンピュート30の仮想マシン設定ファイル31や、各VM20から取得する。このとき、構成情報監視部123が取得する情報には、各VM20が冗長構成となっているか否かの情報や、冗長構成の場合に、そのVM20が現時点でACT状態かSBY状態かを示す情報が含まれる。そして、構成情報監視部123は、取得した構成情報を記憶部13内の構成管理テーブルに格納するとともに、マイグレーション指示部112に応答する。
【0042】
次に、マイグレーション指示部112は、VM20の構成が冗長構成であるか否かを判定する(ステップS5)。ここで、マイグレーション指示部112は、冗長構成でなければ(ステップS5→No)、ステップS6へ進む。
【0043】
ステップS6において、マイグレーション指示部112は、各VM20のマイグレーションを並列で実行する指示情報を生成する。そして、マイグレーション指示部112は、生成した指示情報をマイグレーション実行部113に出力する。
このようにVM20毎のマイグレーション(ヒーリング、ライブマイグレーション)を並列で処理させることにより、サービス全体でのサービス断時間を低減することができる。
なお、マイグレーション指示部112は、サービス構成要素(VM20)間の連携動作によるサービス単位の影響や、コンピュート30の処理負荷を考慮して、すべてのVM20のマイグレーションを並列で実行するのではなく、例えば、各コンピュート30の処理負荷が均等になるように処理を実行するVM20のグループ分けを行い、そのグループごとにマイグレーション処理を実行させてもよい。
【0044】
一方、ステップS5において、VM20の構成が冗長構成であると判定された場合には(ステップS5→Yes)、ステップS7において、マイグレーション指示部112は、各VM20の処理を順次実行するようにした指示情報を生成する。そして、マイグレーション指示部112は、生成した指示情報をマイグレーション実行部113に出力する。
ここで、マイグレーション指示部112は、ステップS4において、冗長構成となるVM20が、ACT状態であるかSBY状態であるかの情報を用いて、SBY状態であるVM20を先にマイグレーション処理するような順序を設定した指示情報を生成する。このようにすることで、SBY状態とACT状態との間の系切替処理を減らすことができるため、サービス全体でのサービス断時間を低減することができる。
【0045】
次に、ステップS8において、マイグレーション実行部113は、コンピュート30の仮想化層32に対して、マイグレーション指示部112の指示情報に基づくマイグレーション実行通知を送信することにより、各VM20のマイグレーション処理を実行させる。
【0046】
このように、仮想化基盤制御装置10は、ヒーリングとライブマイグレーションを適切に選択することにより、サービス全体でのサービス断時間を低減することができる。また、ヒーリングとライブマイグレーションを併用することにより、マイグレーション処理をすべてヒーリングで実行する場合に比べ、片系運転の時間を低減することができる。
【0047】
(マイグレーション手法判定処理)
図5は、本実施形態に係るマイグレーション手法判定処理の流れを示すフローチャートである。
まず、マイグレーション判定部111は、図4のステップS1において選択したVM20について、そのVM20が割当てられているコンピュート30をリソース管理テーブル131を参照して特定し、動作パラメータ監視部122を介して、当該コンピュート30の動作パラメータを取得する(ステップS21)。
【0048】
続いて、マイグレーション判定部111は、取得した動作パラメータの動作状態が、ライブマイグレーションの実行可能な所定の動作条件を満たしているか否かを判定する(ステップS22)。
マイグレーション判定部111は、ライブマイグレーションの実行可能な所定の動作条件として、例えば、CPU割付状態のemulatorpinの指定がある場合、共有Diskのマウントがない場合、CPU Pinning指定がない場合、SR-IOVの利用がない場合などに、ライブマイグレーションが実行可能な動作条件を満たすと判定する。
【0049】
ここで、所定の動作条件を満たしていない場合(ステップS22→No)、マイグレーション判定部111は、マイグレーションの手法としてヒーリングを選択する(ステップS26)。
【0050】
一方、ステップS22において、マイグレーション判定部111は、ライブマイグレーションの実行可能な所定の動作条件を満たしている場合には(ステップS22→Yes)、次のステップS23に進む。
【0051】
ステップS23において、マイグレーション判定部111は、当該VM20および当該VM20を搭載するコンピュート30のメトリクス情報を、リソース監視部121を介して取得する。
【0052】
続いて、マイグレーション判定部111は、メトリクス情報に基づき、所定の負荷情報(イメージサイズ、ローカルディスクI/O、メモリ搭載量、メモリ更新頻度、有効NW帯域幅など)について、予め設定した閾値と比較することにより、ライブマイグレーションが実行可能か否かを判定する(ステップS24)。
【0053】
そして、マイグレーション判定部111は、ライブマイグレーションが実行可能であると判定した場合(ステップS24→実行可能)、マイグレーションの手法としてライブマイグレーションを選択する(ステップS25)。一方、マイグレーション判定部111は、ライブマイグレーションが実行不可であると判定した場合(ステップS24→実行不可)、マイグレーションの手法として、ヒーリングを選択する(ステップS26)。
【0054】
このようにすることで、仮想化基盤制御装置10は、所定の動作条件を満たし、かつ、負荷の低いコンピュートのマイグレーションには、ライブマイグレーションを選択する。また、仮想化基盤制御装置10は、所定の動作条件を満たさない、若しくは、負荷の高いコンピュートのマイグレーションには、ヒーリングを選択することができる。また、現時点の運用状況(動作パラメータや負荷情報など)に基づいて、ヒーリングとライブマイグレーションのどちらを選択すべきかを判定するため、リアルタイムの運用状態にあわせた最適なマイグレーション手法の選択が可能となる。
【0055】
<ハードウェア構成>
本実施形態に係る仮想化基盤制御装置10は、例えば図6に示すような構成のコンピュータ900によって実現される。
図6は、仮想化基盤制御装置10の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
【0056】
CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、図1の制御部(マイグレーション制御部11、監視部12)による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
【0057】
CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。
【0058】
HDD904は、CPU901により実行されるプログラム(仮想化基盤制御プログラム)および当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、ネットワーク5)を介して図示せぬ他の装置(例えば、ネットワーク管理装置など)からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
【0059】
メディアI/F907は、記録媒体912に格納されたプログラム(仮想化基盤制御プログラム)またはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、導体メモリテープ媒体又は半導体メモリ等である。
【0060】
例えば、コンピュータ900が実施形態に係る仮想化基盤制御装置10として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することにより、仮想化基盤制御装置10の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(ネットワーク5)を介して目的の処理に係るプログラムを読み込んでもよい。
【0061】
<効果>
以下、仮想化基盤制御装置の効果について説明する。
本発明に係る仮想化基盤制御装置は、VM20またはコンテナ25のマイグレーションをコンピュート30に実行させる仮想化基盤制御装置10であって、ライブマイグレーションを実行する上で制約となり得る状態か否かを判定するための動作パラメータを取得する動作パラメータ監視部122と、コンピュートについての所定の負荷情報を取得するリソース監視部121と、コンピュートに搭載され、サービスを提供するVM20またはコンテナ25ごとに、ライブマイグレーションかヒーリングかのいずれかを、マイグレーションの実行手法として選択するマイグレーション判定部111と、を備え、マイグレーション判定部111が、ライブマイグレーションが実行可能と判定するための所定の動作条件を動作パラメータが満たしており、かつ、所定の負荷情報について、ライブマイグレーションが実行可能であると判定するための所定の閾値と比較することにより負荷が低いと判定した場合に、ライブマイグレーションを実行すると判定し、動作パラメータが所定の動作条件を満たさない、若しくは、所定の負荷情報について、所定の閾値と比較することにより負荷が高いと判定した場合に、ヒーリングを実行すると判定することを特徴とする。
【0062】
このように、仮想化基盤制御装置10は、現時点の運用状況(動作パラメータや負荷情報など)に基づいて、ヒーリングとライブマイグレーションのどちらを選択すべきかを判定するため、リアルタイムの運用状態に合わせた最適なマイグレーション手法の選択が可能となる。よって、マイグレーションによるサービスへの影響を低減することが可能となる。
【0063】
また、仮想化基盤制御装置10において、サービスを提供するVM20またはコンテナ25ごとの構成情報を取得する構成情報監視部123と、構成情報に基づき、サービス全体として、複数のVM20またはコンテナ25について判定されたライブマイグレーションまたはヒーリングの処理時間の合計値が低減されるように、サービスを構成するVM20またはコンテナ25の実行順序の指示するマイグレーション指示部112と、をさらに備えることを特徴とする。
【0064】
このように、仮想化基盤制御装置10は、サービス全体として、複数のVM20またはコンテナ25について判定されたライブマイグレーションまたはヒーリングの処理時間の合計値が低減されるようにする。つまり、サービスを構成する複数のVM20またはコンテナ25間の連携動作によるサービス単位での影響を考慮して、VM20またはコンテナ25に関するマイグレーションの実行順序を決定できる。
特に、仮想化基盤制御装置10によれば、すべてをヒーリングで実行する場合に比べ、ライブマイグレーションと組み合わせて実行することが可能となるため、SBY系システムのダウンに伴う片系運転の時間を低減することができる。
【0065】
また、仮想化基盤制御装置10において、構成情報には、複数のVM20またはコンテナ25についての冗長構成を示す情報が含まれており、マイグレーション指示部112は、構成情報を取得した場合に、冗長構成を示す情報があるときには、複数のVM20またはコンテナ25について判定されたライブマイグレーションまたはヒーリングを順次実行するように指示し、冗長構成を示す情報がないときには、複数のVM20またはコンテナ25について判定されたライブマイグレーションまたはヒーリングを並列で実行させるように指示することを特徴とする。
【0066】
このように、仮想化基盤制御装置10は、構成情報に、複数のVM20またはコンテナ25についての冗長構成を示す情報があるときには、サービスを停止させないように順次マイグレーションを実行させる。また、仮想化基盤制御装置10は、構成情報に、複数のVM20またはコンテナ25についての冗長構成を示す情報がないときには、マイグレーションを並列で実行させることで、サービス断時間を低減することができる。
【符号の説明】
【0067】
1 仮想化基盤制御システム
5 ネットワーク
10 仮想化基盤制御装置
11 マイグレーション制御部
12 監視部
13 記憶部
20 VM
25 コンテナ
30 コンピュート
31 仮想マシン設定ファイル
32 仮想化層
111 マイグレーション判定部
112 マイグレーション指示部
113 マイグレーション実行部
121 リソース監視部
122 動作パラメータ監視部
123 構成情報監視部
130 リソース情報リポジトリ
131 リソース管理テーブル(リソース管理情報)
132 構成管理テーブル(構成管理情報)
135 仮想マシンイメージリポジトリ
図1
図2
図3
図4
図5
図6