JP5855724B1 - Virtual device management apparatus, virtual device management method, and virtual device management program - Google Patents
Virtual device management apparatus, virtual device management method, and virtual device management program Download PDFInfo
- Publication number
- JP5855724B1 JP5855724B1 JP2014187489A JP2014187489A JP5855724B1 JP 5855724 B1 JP5855724 B1 JP 5855724B1 JP 2014187489 A JP2014187489 A JP 2014187489A JP 2014187489 A JP2014187489 A JP 2014187489A JP 5855724 B1 JP5855724 B1 JP 5855724B1
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- virtual
- failure
- physical device
- physical
- 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.)
- Active
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
【課題】仮想マシンを安全に復旧すること。【解決手段】仮想機器管理装置は、判定部と、削除部と、再作成部とを有する。判定部は、仮想マシンの障害又は前記仮想マシンを稼働させる物理機器の障害が検出された場合に、前記仮想マシンに対して実施中の復旧処理が存在するか否かを判定する。削除部は、前記実施中の復旧処理が存在しない場合に、第1の復旧処理として、前記仮想マシンと前記仮想マシンにより使用される記憶領域との対応付けを削除する、又は、前記対応付けと前記仮想マシンの仮想マシンインスタンスとを削除する。再作成部は、前記仮想マシンを稼働させる物理機器を選択し、前記対応付けを削除後、又は、前記対応付けと前記仮想マシンインスタンスとを削除後に、第2の復旧処理として、選択した物理機器に前記仮想マシンを再作成させる。【選択図】図1A virtual machine is safely restored. A virtual device management apparatus includes a determination unit, a deletion unit, and a re-creation unit. When a failure of a virtual machine or a failure of a physical device that operates the virtual machine is detected, the determination unit determines whether there is a recovery process being performed on the virtual machine. The deletion unit deletes the association between the virtual machine and the storage area used by the virtual machine as the first restoration process when there is no restoration process in progress, or the association Delete the virtual machine instance of the virtual machine. The re-creation unit selects a physical device that operates the virtual machine and deletes the association, or after deleting the association and the virtual machine instance, the selected physical device as a second recovery process To recreate the virtual machine. [Selection] Figure 1
Description
本発明は、仮想機器管理装置、仮想機器管理方法及び仮想機器管理プログラムに関する。 The present invention relates to a virtual device management apparatus, a virtual device management method, and a virtual device management program.
IaaS(Infrastructure as a Service)型クラウドサービスの実施例として、Amazon Elastic Compute Cloud(web site, http://aws.amazon.com/ec2)、Rackspace Cloud Server(web site, http://www.rackspacecloud.com/cloud-hosting-products/servers/)がある。 Examples of IaaS (Infrastructure as a Service) type cloud services include Amazon Elastic Compound Cloud (web site, http://aws.amazon.com/ec2), Rackspace Cloud Server (web site, http: //www.rackspacecloud .com / cloud-hosting-products / servers /).
IaaS型クラウドサービスの基盤として、Amazonはプロプライエタリなプラットフォームを用いているが、RackspaceはOpen SourceのOpenStack(web site, http://www.openstack.org/)を用いている。 Amazon uses a proprietary platform as the foundation of the IaaS cloud service, while Rackspace uses OpenStack (web site, http://www.openstack.org/) of Open Source.
しかし、OpenStack等のIaaS基盤は、仮想機器の管理を行うプリミティブなAPI(Application Programming Interface)提供がターゲットの中心であり、物理機器の管理はスコープ外であるため、サービス事業者がクラウドサービスを提供する際は考慮が必要である。 However, the IaaS platform such as OpenStack is mainly targeted at providing primitive API (Application Programming Interface) for managing virtual devices, and management of physical devices is out of scope, so service providers provide cloud services. It is necessary to consider when doing so.
具体的には、仮想機器が動作する物理機器が故障した際の復旧は、OpenStackは特にサポートしていなく、サービス事業者にて対策が必要である。市中で採用されている方法として、High AvailabilityクラスタソフトウェアのPacemaker等を用いてHA構成を構築し、物理機器故障時はフェールオーバーする方法がある。 Specifically, OpenStack does not particularly support recovery when a physical device on which a virtual device operates fails, and a countermeasure is required by the service provider. As a method adopted in the city, there is a method in which an HA configuration is constructed using a high availability cluster software, such as a packager, and a failover occurs when a physical device fails.
また、仮想マシンを稼働させる物理機器では、Pingを用いたりLibvirt等の仮想マシン制御ライブラリを監視したりすることで、仮想マシンのダウンを検知する方法がある。このような物理機器は、仮想マシンのダウンを検出した場合に、仮想マシンを再作成する復旧処理を実行する。 In addition, in a physical device that operates a virtual machine, there is a method of detecting the down of the virtual machine by using Ping or monitoring a virtual machine control library such as Libvirt. When such a physical device detects that the virtual machine is down, it executes a recovery process for recreating the virtual machine.
しかしながら、上記の従来技術では、仮想マシンを安全に復旧できない場合があるという問題がある。 However, the above-described conventional technique has a problem that the virtual machine may not be safely recovered.
具体的には、物理機器故障時の復旧と、仮想マシンダウン時の復旧とは独立である。また、物理機器の故障と仮想マシンの故障とが重複した際の復旧手段が統一的でない。このため、例えば、仮想マシンダウンによる仮想マシン復旧が、物理機器故障によるフェールオーバー時の故障ノードの強制終了前に行われた場合には、仮想マシンが2重に起動し、ボリュームを破壊する可能性がある。 Specifically, recovery when a physical device fails and recovery when a virtual machine goes down are independent. Also, the recovery means when the failure of the physical device and the failure of the virtual machine overlap is not unified. For this reason, for example, if virtual machine recovery due to a virtual machine down is performed before the forced termination of the failed node at the time of failover due to a physical device failure, the virtual machine can be started twice and the volume can be destroyed There is sex.
開示の技術は、上述に鑑みてなされたものであって、仮想マシンを安全に復旧することを目的とする。 The disclosed technology has been made in view of the above, and aims to safely recover a virtual machine.
本願の開示する仮想機器管理装置は、判定部と、削除部と、再作成部とを有する。判定部は、仮想マシンの障害又は前記仮想マシンを稼働させる物理機器の障害が検出された場合に、前記仮想マシンに対して実施中の復旧処理が存在するか否かを判定する。削除部は、前記実施中の復旧処理が存在しない場合に、第1の復旧処理として、前記仮想マシンと前記仮想マシンにより使用される記憶領域との対応付けを削除する、又は、前記対応付けと前記仮想マシンの仮想マシンインスタンスとを削除する。再作成部は、前記仮想マシンを稼働させる物理機器を選択し、前記対応付けを削除後、又は、前記対応付けと前記仮想マシンインスタンスとを削除後に、第2の復旧処理として、選択した物理機器に前記仮想マシンを再作成させる。 The virtual device management apparatus disclosed in the present application includes a determination unit, a deletion unit, and a re-creation unit. When a failure of a virtual machine or a failure of a physical device that operates the virtual machine is detected, the determination unit determines whether there is a recovery process being performed on the virtual machine. The deletion unit deletes the association between the virtual machine and the storage area used by the virtual machine as the first restoration process when there is no restoration process in progress, or the association Delete the virtual machine instance of the virtual machine. The re-creation unit selects a physical device that operates the virtual machine and deletes the association, or after deleting the association and the virtual machine instance, the selected physical device as a second recovery process To recreate the virtual machine.
また、本願の開示する仮想機器管理方法は、仮想機器管理装置が、判定工程と、削除工程と、再作成工程とを含む。判定工程は、仮想マシンの障害又は前記仮想マシンを稼働させる物理機器の障害が検出された場合に、前記仮想マシンに対して実施中の復旧処理が存在するか否かを判定する。削除工程は、前記実施中の復旧処理が存在しない場合に、第1の復旧処理として、前記仮想マシンと前記仮想マシンにより使用される記憶領域との対応付けを削除する、又は、前記対応付けと前記仮想マシンの仮想マシンインスタンスとを削除する。再作成工程は、前記仮想マシンを稼働させる物理機器を選択し、前記対応付けを削除後、又は、前記対応付けと前記仮想マシンインスタンスとを削除後に、第2の復旧処理として、選択した物理機器に前記仮想マシンを再作成させる。 In the virtual device management method disclosed in the present application, the virtual device management apparatus includes a determination step, a deletion step, and a recreation step. In the determination step, when a failure of the virtual machine or a failure of a physical device that operates the virtual machine is detected, it is determined whether there is a recovery process being performed on the virtual machine. The deletion step deletes the association between the virtual machine and the storage area used by the virtual machine as the first restoration process when there is no restoration process in progress, or Delete the virtual machine instance of the virtual machine. In the re-creation process, after selecting the physical device that operates the virtual machine and deleting the association, or after deleting the association and the virtual machine instance, the selected physical device is used as a second recovery process. To recreate the virtual machine.
また、本願の開示する仮想機器管理プログラムは、判定手順と、削除手順と、再作成手順とをコンピュータに実行させる。判定手順は、仮想マシンの障害又は前記仮想マシンを稼働させる物理機器の障害が検出された場合に、前記仮想マシンに対して実施中の復旧処理が存在するか否かを判定する。削除手順は、前記実施中の復旧処理が存在しない場合に、第1の復旧処理として、前記仮想マシンと前記仮想マシンにより使用される記憶領域との対応付けを削除する、又は、前記対応付けと前記仮想マシンの仮想マシンインスタンスとを削除する。再作成手順は、前記仮想マシンを稼働させる物理機器を選択し、前記対応付けを削除後、又は、前記対応付けと前記仮想マシンインスタンスとを削除後に、第2の復旧処理として、選択した物理機器に前記仮想マシンを再作成させる。 The virtual device management program disclosed in the present application causes a computer to execute a determination procedure, a deletion procedure, and a re-creation procedure. The determination procedure determines whether there is a recovery process in progress for the virtual machine when a failure of the virtual machine or a failure of a physical device that operates the virtual machine is detected. The deletion procedure deletes the association between the virtual machine and the storage area used by the virtual machine as the first restoration processing when there is no restoration processing in progress, or Delete the virtual machine instance of the virtual machine. In the re-creation procedure, a physical device that operates the virtual machine is selected, and after the association is deleted, or after the association and the virtual machine instance are deleted, the selected physical device is used as a second recovery process. To recreate the virtual machine.
開示する仮想機器管理装置の一つの態様によれば、仮想マシンを安全に復旧することができるという効果を奏する。 According to one aspect of the disclosed virtual device management apparatus, there is an effect that the virtual machine can be safely recovered.
以下に、開示する仮想機器管理装置、仮想機器管理方法及び仮想機器管理プログラムの実施形態について、図面に基づいて詳細に説明する。なお、本実施形態により開示する発明が限定されるものではない。 Hereinafter, embodiments of a disclosed virtual device management apparatus, virtual device management method, and virtual device management program will be described in detail based on the drawings. The invention disclosed by this embodiment is not limited.
(第1の実施形態)
図1は、第1の実施形態に係る仮想機器管理システムの構成の一例を示す図である。図1に示すように、仮想機器管理システムは、ユーザ端末101、物理機器103a、物理機器103b、物理機器103c、クラウドコントローラ108、及び仮想機器管理装置109を有する。なお、物理機器103a、物理機器103b及び物理機器103cを区別しない場合には、物理機器103と記載する。また、ここで言う「物理機器」とは、仮想機器を作成可能な物理サーバ、ストレージ装置、及びネットワーク機器等であるが、以下では説明の便宜上、物理機器103が仮想マシンを稼働可能な物理サーバである場合について説明する。また、仮想機器管理システムが有する物理機器103の数は図1に示す数に限定されるものではなく、任意に変更可能である。
(First embodiment)
FIG. 1 is a diagram illustrating an example of a configuration of a virtual device management system according to the first embodiment. As illustrated in FIG. 1, the virtual device management system includes a
ユーザ端末101は、ユーザが利用する端末であり、ユーザの指示に応じて仮想機器の作成を仮想機器管理装置109に要求する。
The
物理機器103は、クラウドコントローラ108から仮想機器の作成や削除依頼を受け、実際の仮想機器を作成したり削除したりする。例えば、物理機器103は、仮想機器を作成する指示をクラウドコントローラ108から受付け、仮想機器を作成する。
The
例えば、物理機器103aは、図示しない仮想マシン制御部を有し、仮想マシン104aと、仮想マシン105aとを作成する。また、例えば、物理機器103bは、図示しない仮想マシン制御部を有し、仮想マシン104bと、仮想マシン105bとを作成する。同様に、物理機器103cは、図示しない仮想マシン制御部を有し、仮想マシン104cと、仮想マシン105cとを作成する。なお、物理機器103a〜物理機器103cにおいて、仮想マシン制御部は、例えば、OpenStackであれば、「Nova」機能によって実現される。
For example, the
なお、物理機器103がストレージ装置である場合、例えば、物理機器103は、仮想ボリューム制御部を有し、仮想ボリュームを作成する。また、物理機器103がネットワーク機器である場合、物理機器103は、仮想ネットワーク制御部を有し、仮想L2ネットワーク、仮想ルータ、及び仮想ロードバランサなどを作成する。なお、仮想ネットワーク制御部は、例えば、OpenStackであれば、「Neutron」機能によって実現される。
If the
このような、物理機器103の稼働状態には、「稼働中」、「予備」、「故障中(メンテナンス中)」及び「故障中(復旧処理中)」4つの状態がある。「稼働中」は、物理機器が稼働中であることを示す。「予備」は、物理機器が予備系として設けられ稼働中ではないことを示す。「故障中(メンテナンス中)」は、障害が発生した物理機器の復旧処理が開始されていないことを示す。この「故障中(メンテナンス中)」である状態は、障害が発生した物理機器の完全停止が保障されている状態ではない。「故障中(復旧処理中)」は、障害が発生した物理機器の復旧処理が開始されていることを示す。この「故障中(復旧処理中)」である状態は、障害が発生した物理機器の完全停止が保障されている状態である。なお、仮想機器管理システムにおいて、「予備」の物理機器が設けられなくてもよい。
Such operation states of the
また、物理機器103には、物理資源の容量に応じて、仮想機器を配置するために利用可能な物理資源の容量が定義される。ここで、物理資源には、例えば、物理メモリ、CPU(Central Processing Unit)、ネットワークポートなどが含まれる。なお、仮想マシンは、フレーバー(仮想マシンのスペック指定)に応じてメモリサイズが異なるため、作成する仮想マシンに応じて利用される物理資源の容量は異なる。しかしながら説明の便宜上、以下では、全ての仮想機器1つにつき、使用される物理資源の容量が同じであるものと仮定する。そして、1つの仮想機器を配置するために使用される物理資源の容量を1単位とし、「1スペース」と呼ぶ。言い換えると、1スペースには、1つの仮想機器を配置可能であり、1つの仮想機器を作成する場合には、いずれかの物理機器のスペースが1つ消費される。
In addition, the
また、物理機器内のスペースの状態は、「空き」、「使用中」、及び「障害用バッファ」の3種類で管理されるものとする。ここで、「空き」は、仮想機器が配置されていないスペースであることを示す。「使用中」は、仮想機器が配置されているスペースであることを示す。「障害用バッファ」は、障害復旧用に確保されたスペースであることを示す。 In addition, it is assumed that the state of the space in the physical device is managed by three types of “free”, “in use”, and “failure buffer”. Here, “free” indicates a space where no virtual device is arranged. “In use” indicates a space in which virtual devices are arranged. The “failure buffer” indicates a space reserved for failure recovery.
また、物理機器103aは、仮想マシン監視モジュール106aを備えている。同様に、物理機器103bは、仮想マシン監視モジュール106bを備えており、物理機器103cは、仮想マシン監視モジュール106cを備えている。なお、仮想マシン監視モジュール106a〜106cを区別しない場合には仮想マシン監視モジュール106と記載する。この仮想マシン監視モジュール106は、物理機器103上で動作する。例えば、仮想マシン監視モジュール106は、Libvirt等のイベントを監視するモジュールによって、仮想マシンの障害を検知した場合、後述する仮想機器配置スケジューラ機能部111に仮想マシンの障害を通知する。
The
また、物理機器103aは、高可用ソフトウェア107aを備えている。同様に、物理機器103bは、高可用ソフトウェア107bを備えており、物理機器103cは、高可用ソフトウェア107cを備えている。なお、高可用ソフトウェア107a〜107cを区別しない場合には高可用ソフトウェア107と記載する。この高可用ソフトウェア107には、例えば「Pacemaker」等が利用できる。高可用ソフトウェア107は、物理機器103の障害を検知し、仮想機器管理装置109に物理機器の障害を通知する。かかる場合、物理機器103は、仮想機器を再配置させる指示をクラウドコントローラ108から受付け、障害の生じた物理機器103に配置された仮想機器を再配置する。
In addition, the
なお、「Pacemaker」は、信頼性の高い故障検出メカニズムを備えており、スプリットブレイン対策が確立している。「Pacemaker」は、スプリットブレイン状態(孤立状態)を、Quorumモジュール等による多数決原理で検出する。 Note that “Pacemaker” has a highly reliable failure detection mechanism, and a countermeasure for split brain has been established. “Pacemaker” detects the split brain state (isolated state) based on the majority rule by the Quorum module or the like.
クラウドコントローラ108は、物理機器103と仮想機器管理装置109とに接続されている。このクラウドコントローラ108は、CPU(Central Processing Unit)、メモリ、データ保持領域、及びネットワーク通信機能を有する装置である。クラウドコントローラ108は、仮想機器管理装置109からAPI(Application Programming Interface)経由で仮想機器の作成依頼や削除依頼を受付け、受付けた作成依頼や削除依頼に基づいて、仮想機器の作成や削除を物理機器103に指示する。例えば、クラウドコントローラ108は、OpenStack等である。
The
仮想機器管理装置109は、図示しないネットワークを介して、ユーザ端末101と物理機器103とクラウドコントローラ108とに接続されている。仮想機器管理装置109は、CPU、メモリ、データ保持領域、及びネットワーク通信機能を有する装置であり、例えば、図1に示すように、仮想機器管理装置109は、仮想機器配置スケジューラDB(Data Base)110及び仮想機器配置スケジューラ機能部111を有する。仮想機器管理装置109は、ユーザ端末から仮想機器の作成依頼を受付けた場合、仮想機器配置先を決定してクラウドコントローラへの仮想マシン作成を依頼する。また、仮想機器管理装置109は、高可用ソフトウェア107からの物理機器の故障通知、仮想マシン監視モジュール106からの仮想マシンダウン通知を受付けた場合、仮想機器配置スケジューラDB110の情報を用いて、復旧処理の種類を決定する。そして、仮想機器管理装置109は、仮想機器配置先を決定し、クラウドコントローラへの仮想マシン作成依頼等の復旧処理を行う。
The virtual
仮想機器配置スケジューラDB110は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。仮想機器配置スケジューラDB110は、仮想機器配置情報及び物理資源情報を記憶する。仮想機器配置情報は、各仮想マシンがどの物理機器上に配置されているかと、各仮想マシンの処理の進捗状態とを示す情報である。物理資源情報は、各物理機器の稼働状態と物理機器が有する物理資源の空き容量とを示す情報である。物理機器の稼働状態を示す情報には、例えば、稼働中、予備、故障中(メンテナンス中)、故障中(復旧処理中)があり、物理資源の空き容量を示す情報には、例えば、空き、使用中、障害用バッファがある。なお、仮想機器配置情報の詳細については、図9を用いて後述し、物理資源情報の詳細については、図10を用いて後述する。
The virtual device
仮想機器配置スケジューラ機能部111は、物理機器の稼働状態と物理機器が有する物理資源の使用状態とを参照して、ビジネス要件に応じた仮想機器を配置する。例えば、仮想機器配置スケジューラ機能部111は、ユーザ端末101から、仮想機器の作成を要求された場合、仮想機器の作成要求と仮想機器配置スケジューラDB110の情報とを用いて、仮想機器の作成を仲介する。ここで、仮想機器配置スケジューラ機能部111は、仮想マシンや仮想ルータ等の仮想機器を新規に作成する通常のオペレーション時に、仮想機器を配置する物理機器を決め、クラウドコントローラ108に物理機器を指定して仮想機器の作成を依頼する。
The virtual device arrangement
このように構成される仮想機器管理システムにおいて、仮想機器管理装置109は、仮想マシン監視モジュール106及び高可用ソフトウェア107と連携して動作する。図2から図4を用いて、仮想機器管理システムにおける処理について説明する。
In the virtual device management system configured as described above, the virtual
図2は、仮想機器配置スケジューラ機能部111による仮想機器の作成処理を説明するための図である。図2では、3台の物理機器103a〜103cに、仮想マシンVM#11〜VM#16、VM#21〜VM#26、及びVM#31〜VM#36を仮想機器として作成する場合を示す。なお、3台の物理機器103a〜103cはいずれも稼働中であるものとする。また、図2の例では、仮想機器が仮想マシンである場合を示すが、仮想機器は、仮想ルータ等のその他の仮想機器であってもよい。
FIG. 2 is a diagram for explaining virtual device creation processing by the virtual device placement
図2に示すように、仮想機器配置スケジューラ機能部111は、仮想マシンVM#11〜VM#16の配置先として物理機器103aを選択し、仮想マシンVM#21〜VM#26の配置先として物理機器103bを選択し、仮想マシンVM#31〜VM#36の配置先として物理機器103cを選択する。そして、仮想機器配置スケジューラ機能部111は、クラウドコントローラ108に配置を依頼する。すなわち、仮想機器配置スケジューラ機能部111は、物理機器103aに仮想マシンVM#11〜VM#16を作成するようにクラウドコントローラ108に依頼する。また、仮想機器配置スケジューラ機能部111は、物理機器103bに仮想マシンVM#21〜VM#26を作成するようにクラウドコントローラ108に依頼し、物理機器103cに仮想マシンVM#31〜VM#36を作成するようにクラウドコントローラ108に依頼する。なお、この配置ロジックは、ビジネス要件に応じて各事業者がロジックを設定すればよく、できるだけ分散するようにしても、できるだけ集中するようにしても良い。出来るだけ分散する場合は、ユーザの仮想機器の性能には都合が良く、できるだけ集中する場合は実際に使われる物理機器を減らすことができ事業者の運用コスト低減に都合が良い。
As illustrated in FIG. 2, the virtual device placement
また、仮想機器配置スケジューラ機能部111は、例えば、いずれかの物理機器103に障害が生じた場合に、仮想機器配置スケジューラDB110の情報を用いて、仮想機器の再配置を仲介する。ここで、仮想機器配置スケジューラ機能部111は、高可用ソフトウェア107及びクラウドコントローラ108と連携することで障害復旧時に仮想機器を再配置する。図3は、仮想機器配置スケジューラ機能部111による仮想機器の再配置処理を説明するための図である。図3では、稼働中である3台の物理機器103a〜103cのうち、仮想機器としてVM#21〜VM#26を配置する物理機器103bに障害が生じた場合を示す。
Further, for example, when a failure occurs in any of the
図3に示すように、仮想機器配置スケジューラ機能部111は、物理機器103bに障害が生じたことを検出する。かかる場合、仮想機器配置スケジューラ機能部111は、クラウドコントローラ108に仮想マシンのクリアを依頼する。そして、クラウドコントローラ108は、仮想マシンをクリアする。なお、ここで言う仮想マシンのクリアとは、仮想マシンと仮想マシンにより使用される記憶領域との対応付けを削除することを示す。言い換えると、仮想マシンのクリアとは、仮想マシンとストレージとの紐付けを削除することを示す。
As illustrated in FIG. 3, the virtual device placement
続いて、仮想機器配置スケジューラ機能部111は、仮想機器配置スケジューラDB110の情報を用いて、仮想マシンVM#21〜VM#26の再配置先を決定する。図3に示す例では、仮想機器配置スケジューラ機能部111は、VM#21、VM#23、及びVM#25の再配置先として物理機器103aを選択し、VM#22、VM#24、及びVM#26の再配置先として物理機器103cを選択する。
Subsequently, the virtual device arrangement
そして、仮想機器配置スケジューラ機能部111は、クラウドコントローラ108に再配置を依頼する。すなわち、仮想機器配置スケジューラ機能部111は、物理機器103aに仮想マシンVM#21、VM#23、及びVM#25を作成するようにクラウドコントローラ108に依頼する。また、仮想機器配置スケジューラ機能部111は、物理機器103cに仮想マシンVM#22、VM#24、及びVM#26を作成するようにクラウドコントローラ108に依頼する。
Then, the virtual device placement
この結果、物理機器103aは、仮想マシンVM#21、VM#23、及びVM#25を再構築し、仮想マシンVM#11〜VM#16に加えて、仮想マシンVM#21、VM#23、及びVM#25を配置する。また、物理機器103cは、仮想マシンVM#22、VM#24、及びVM#26を再構築し、仮想マシンVM#31〜VM#36に加えて、仮想マシンVM#22、VM#24、及びVM#26を配置する。
As a result, the
このように、仮想機器配置スケジューラ機能部111は、物理機器103bに障害が生じた場合、物理機器103bに配置されていた仮想マシンVM#21〜VM#26を、物理機器103aと物理機器103cとに再配置する。すなわち、仮想機器配置スケジューラ機能部111は、複数台の物理機器を仮想機器の復旧先として利用するので、物理機器故障時の仮想機器復旧時間を短縮できる。なお、障害時もできるだけ少ない数の物理機器に仮想マシンを配置するロジックを事業者が設定することもでき、その場合は、最も空きが少ないノードから埋めていくようなロジックを設定してもよく、或いは、最も空きが多いノードから埋めていくようなロジックを設定してもよい。
As described above, when a failure occurs in the
また、仮想機器配置スケジューラ機能部111は、例えば、いずれかの仮想マシン104に障害が生じた場合に、仮想機器配置スケジューラDB110の情報を用いて、仮想マシンの再配置を仲介する。ここで、仮想機器配置スケジューラ機能部111は、仮想マシン監視モジュール106及びクラウドコントローラ108と連携することで障害復旧時に仮想マシンを再配置する。図4は、仮想機器配置スケジューラ機能部111による仮想マシンの再配置処理を説明するための図である。図4では、物理機器103bが稼働させている仮想マシンVM#21がダウンした場合を示す。なお、3台の物理機器103a〜103cはいずれも稼働中であるものとする。
Further, for example, when a failure occurs in any of the virtual machines 104, the virtual device placement
図4に示すように、仮想機器配置スケジューラ機能部111は、物理機器103bが稼働させている仮想マシンVM#21に障害が生じたことを検出する。かかる場合、仮想機器配置スケジューラ機能部111は、クラウドコントローラ108に仮想マシンインスタンスの削除を依頼する。そして、クラウドコントローラ108は、仮想マシンのインスタンスを削除する。なお、OpenStack等のクラウドコントローラでは、仮想マシンインスタンス削除のAPI実行で、仮想マシンとストレージの紐付も解除されるため、仮想機器配置スケジューラ機能部111は、仮想マシンインスタンスの削除のAPIを実行すれば、仮想マシンインスタンス削除と仮想マシンとストレージの紐付解除がクラウドコントローラ108に依頼される。
As illustrated in FIG. 4, the virtual device placement
続いて、仮想機器配置スケジューラ機能部111は、仮想機器配置スケジューラDB110の情報を用いて、仮想マシンVM#21の再配置先を決定する。図4に示す例では、仮想機器配置スケジューラ機能部111は、VM#21の再配置先として物理機器103bを選択する。そして、仮想機器配置スケジューラ機能部111は、クラウドコントローラ108に再配置を依頼する。すなわち、仮想機器配置スケジューラ機能部111は、物理機器103bに仮想マシンVM#21を作成するようにクラウドコントローラ108に依頼する。この結果、物理機器103bは、仮想マシンVM#21を再構築する。
Subsequently, the virtual device arrangement
このように、仮想機器配置スケジューラ機能部111は、物理機器103bが稼働させている仮想マシンVM#21に障害が生じた場合、仮想マシンインスタンスを削除した後に、物理機器103bに仮想マシンVM#21を再配置する。
As described above, when a failure occurs in the virtual
このように、仮想機器管理システムでは、物理機器障害時の仮想マシン復旧だけでなく、仮想マシンダウン時の仮想マシン復旧も行えるようにする。また、仮想機器管理システムでは、物理機器故障や仮想マシンダウンの故障通知が複数重複した際に、仮想マシンを安全に復旧することを行うため、クラウドコントローラ108が有するDB上の仮想マシン情報や物理機器上の仮想マシンインスタンスのクリーンアップステップを実施したのち、仮想マシンを新たに配置する。 As described above, in the virtual device management system, not only the virtual machine can be recovered when a physical device fails, but also the virtual machine can be recovered when the virtual machine is down. Further, in the virtual device management system, when a plurality of physical device failure notifications or virtual machine down failure notifications are duplicated, the virtual machine is safely recovered. After performing the virtual machine instance cleanup step on the device, a new virtual machine is placed.
続いて、このような仮想機器管理システムにおける処理動作について、図5から図7を用いて説明する。図5は、仮想機器管理システムにおける仮想機器を作成する処理動作を説明するための図である。 Next, processing operations in such a virtual device management system will be described with reference to FIGS. FIG. 5 is a diagram for explaining a processing operation for creating a virtual device in the virtual device management system.
図5に示すように、ユーザ端末101は、仮想機器作成依頼を、仮想機器配置スケジューラ機能部111に送信する(ステップS1)。仮想機器配置スケジューラ機能部111は、仮想機器配置スケジューラDB110を参照し(ステップS2)、物理資源情報を確認する(ステップS3)。すなわち、仮想機器配置スケジューラ機能部111は、仮想機器配置スケジューラDB110を参照して物理機器空き情報を取得する。これにより仮想機器配置スケジューラ機能部111は、ビジネス要件に基づいて、仮想機器を作成する配置先の物理機器103を決定し、APIパラメータを準備する(ステップS4)。
As shown in FIG. 5, the
次に、仮想機器配置スケジューラ機能部111は、決定した物理機器103に仮想機器を作成させるようにクラウドコントローラ108に依頼する(ステップS5)。例えば、仮想機器配置スケジューラ機能部111は、決めた配置先を指定してクラウドコントローラAPIを呼び出す。続いて、クラウドコントローラ108は、指定された物理機器103に仮想機器の作成を依頼する(ステップS6)。
Next, the virtual device arrangement
そして、物理機器103は、仮想機器を作成し(ステップS7)、仮想機器の作成が完了したことをクラウドコントローラ108に通知する(ステップS8)。続いて、クラウドコントローラ108は、仮想機器の作成が完了したことを仮想機器配置スケジューラ機能部111に通知する(ステップS9)。そして、仮想機器配置スケジューラ機能部111は、仮想機器の作成が完了したことをユーザ端末101に通知する(ステップS10)。
Then, the
図6は、仮想機器管理システムにおける仮想機器を再配置する処理動作を説明するための図である。図6では、いずれかの物理機器103に障害が生じた場合に、仮想機器配置スケジューラ機能部111が仮想機器の再配置を仲介する動作を説明する。図6に示すように、仮想機器管理システムでは、物理機器103a、物理機器103b及び物理機器103cが相互に機器状態を監視している(ステップS21、ステップS22)。例えば、物理機器103a、物理機器103b及び物理機器103cの高可用ソフトウェア17は、Heartbeatでお互いの機器状態を交換している。以下では、物理機器103aに障害が生じた場合について説明する。
FIG. 6 is a diagram for explaining a processing operation for rearranging virtual devices in the virtual device management system. FIG. 6 illustrates an operation in which the virtual device placement
ここで、物理機器103aで障害が起きた際は、物理機器103a上の高可用ソフトウェア107aは物理機器103a上のプロセスを停止し、仮想機器配置スケジューラ機能部111に障害を通知する。物理機器103b及び物理機器103cも同様に物理機器103aの障害を仮想機器配置スケジューラ機能部111に通知する。ここで、物理機器103aが完全に故障している場合は、物理機器103aから仮想機器配置スケジューラ機能部111に障害の発生を通知はできないが、物理機器103b及び物理機器103cは、物理機器103aの故障を仮想機器配置スケジューラ機能部111に通知できる。このため、仮想機器配置スケジューラ機能部111は、物理機器103aの故障を知ることができる。なお図5に示す例では、物理機器103aが完全に故障し、物理機器103aから障害の発生を仮想機器配置スケジューラ機能部111に通知できない場合を示す。
Here, when a failure occurs in the
なお、障害が発生した物理機器が自ら仮想機器配置スケジューラ機能部111に障害を通知することを「自ノード故障通知」と記載し、障害が発生した物理機器とは異なる他の物理機器が仮想機器配置スケジューラ機能部111に障害を通知することを「他ノード故障通知」と記載する。また、自ノード故障通知は信頼性が低いので、仮想機器配置スケジューラ機能部111は、自ノード故障通知を受信した場合、障害が発生した物理機器の「稼働状態」が「稼働中」や「予備」の場合は、「故障中(メンテナンス中)」に変更し、その他の状態の場合は「稼働状態」を変更しない。また、仮想機器配置スケジューラ機能部111は、自ノード故障通知を受信した場合、障害が発生した物理機器の完全停止が保障されているわけではなく、仮想マシンの2重起動の可能性があるので、復旧処理を開始しない。ただし、仮想機器配置スケジューラ機能部111は、「稼働状態」を「故障中(メンテナンス中)」に変更することで、新たに仮想マシンが配置されることを防ぐようにする。一方、仮想機器配置スケジューラ機能部111は、他ノード故障通知を受信した場合、障害が発生した物理機器の「稼働状態」が「稼働中」、「予備」及び「故障中(メンテナンス中)」の場合は、「故障中(復旧処理中)」に変更する。ここで、他ノード故障通知は、後述のSTONITH等により、故障ノードの停止を保証している。このため、仮想機器配置スケジューラ機能部111は、他ノード故障通知を受信した場合、復旧処理に入る。
It is described as “own node failure notification” that a physical device in which a failure has occurred notifies the virtual device placement
図6に示すように、物理機器103bは、物理機器103aに障害が生じたことを仮想機器配置スケジューラ機能部111に通知する(ステップS23)。そして、仮想機器配置スケジューラ機能部111は、物理機器103bからの他ノード故障通知を受ける。ここで、仮想機器配置スケジューラ機能部111は、仮想機器配置スケジューラDB110を参照して通知物理機器103aの稼働状態を確認し、通知物理機器103aの稼働状態が「稼働中」であるため、通知物理機器103aの稼働状態「稼働中」を「故障中(復旧処理中)」に変更する(ステップS24)。そして、仮想機器配置スケジューラ機能部111は、物理機器103bにACK(ACKnowledgement)を応答する(ステップS25)。そして、仮想機器配置スケジューラ機能部111は、復旧処理を開始する。同様に、物理機器103cは、物理機器103aに障害が生じたことを仮想機器配置スケジューラ機能部111に通知する(ステップS26)。そして、仮想機器配置スケジューラ機能部111は、仮想機器配置スケジューラDB110を参照して通知物理機器103aの稼働状態を確認し、通知物理機器103aの稼働状態が「故障中(復旧処理中)」であるため、再送として判断する(ステップS27)。そして、仮想機器配置スケジューラ機能部111は、物理機器103cにACKを応答する(ステップS28)。このように仮想機器配置スケジューラ機能部111は、最初に受信した通知に従って仮想機器の復旧処理を始めるが、2番目以降に受信した通知に対してもACKを応答する。
As illustrated in FIG. 6, the
そして、仮想機器配置スケジューラ機能部111は、故障復旧処理では、まず、物理機器103aで稼働する全ての仮想マシンのクリアをクラウドコントローラ108に依頼する(ステップS29)。続いて、クラウドコントローラ108は、クラウドコントローラ108が有するDB上において、仮想マシンとストレージとの紐付けを削除し(ステップS30)、仮想マシンクリア完了を仮想機器配置スケジューラ機能部111に通知する(ステップS31)。
Then, in the failure recovery process, the virtual device placement
仮想機器配置スケジューラ機能部111は、仮想機器配置スケジューラDB110を参照し(ステップS32)、物理資源情報を確認する(ステップS33)。これにより仮想機器配置スケジューラ機能部111は、物理機器103b及び物理機器103cの物理資源の空き容量を取得して、仮想機器を再配置する物理機器103を決定し、APIパラメータを準備する(ステップS34)。ここで、仮想機器配置スケジューラ機能部111は、複数台の物理機器103を仮想機器の復旧先として選択することで、高速の復旧を可能とする。
The virtual device arrangement
次に、仮想機器配置スケジューラ機能部111は、再配置する仮想機器を物理機器103bに作成させるようにクラウドコントローラ108に依頼する(ステップS35)。続いて、クラウドコントローラ108は、物理機器103bに仮想機器の作成を依頼する(ステップS36)。同様に、仮想機器配置スケジューラ機能部111は、再配置する仮想機器を物理機器103cに作成させるようにクラウドコントローラ108に依頼する(ステップS37)。例えば、仮想機器配置スケジューラ機能部111は、決めた配置先を指定してクラウドコントローラAPIを呼び出す。続いて、クラウドコントローラ108は、物理機器103cに仮想機器の作成を依頼する(ステップS38)。ここで、仮想機器配置スケジューラ機能部111は、選択した配置先を指定してクラウドコントローラ108のAPIを呼び出す。これにより、クラウドコントローラ108は、指定された物理機器103に対して仮想機器作成を依頼する。
Next, the virtual device placement
そして、物理機器103bは、仮想機器を作成し(ステップS39)、仮想機器の作成が完了したことをクラウドコントローラ108に通知する(ステップS40)。続いて、クラウドコントローラ108は、仮想機器の作成が完了したことを仮想機器配置スケジューラ機能部111に通知する(ステップS41)。同様に、物理機器103cは、仮想機器を作成し(ステップS42)、仮想機器の作成が完了したことをクラウドコントローラ108に通知する(ステップS43)。続いて、クラウドコントローラ108は、仮想機器の作成が完了したことを仮想機器配置スケジューラ機能部111に通知する(ステップS44)。なお、図6に示す例では、仮想機器配置スケジューラ機能部111が、物理機器103bと物理機器103cとに再配置する例について説明したが、物理機器103b又物理機器103cのいずれか一方に再配置してもよい。
Then, the
図7は、仮想機器管理システムにおける仮想機器を再配置する処理動作を説明するための図である。図7では、物理機器103aが稼働させている仮想マシンがダウンした場合に、仮想機器配置スケジューラ機能部111が仮想マシンの再配置を仲介する動作を説明する。
FIG. 7 is a diagram for explaining a processing operation for rearranging virtual devices in the virtual device management system. FIG. 7 illustrates an operation in which the virtual device placement
図7に示すように、物理機器103aは、物理機器103a上の仮想マシン監視モジュール106によって、物理機器103a上の仮想マシンダウンを検出する(ステップS51)。そして、物理機器103aは、仮想マシンダウンを仮想機器配置スケジューラ機能部111に通知する(ステップS52)。
As illustrated in FIG. 7, the
仮想機器配置スケジューラ機能部111は、仮想マシンインスタンス削除をクラウドコントローラ108に依頼する(ステップS53)。クラウドコントローラ108は、物理機器103aに仮想マシンインスタンスの削除を依頼する(ステップS54)。物理機器103aは、仮想マシンインスタンスを削除し(ステップS55)、クラウドコントローラ108に仮想マシンインスタンス削除完了を通知する(ステップS56)。続いて、クラウドコントローラ108は、仮想マシンインスタンス削除完了を仮想機器配置スケジューラ機能部111に通知する(ステップS57)。
The virtual device arrangement
仮想マシンインスタンス削除完了の通知を受けた仮想機器配置スケジューラ機能部111は、仮想マシン再配置のため、仮想機器配置スケジューラDB110を参照し(ステップS58)、物理資源情報を確認する(ステップS59)。これにより仮想機器配置スケジューラ機能部111は、物理機器103a、物理機器103b及び物理機器103cの物理資源の空き容量を取得して、仮想マシンを再配置する物理機器103を決定し、APIパラメータを準備する(ステップS60)。なお、図7では、仮想機器配置スケジューラ機能部111は、物理機器103aに仮想マシンを再作成する場合を示す。
The virtual device arrangement
仮想機器配置スケジューラ機能部111は、クラウドコントローラ108に仮想マシン作成を依頼する(ステップS61)。続いて、クラウドコントローラ108は、物理機器103aに仮想マシン作成を依頼する(ステップS62)。そして、物理機器103aは、仮想マシンを作成し(ステップS63)、仮想マシン作成完了をクラウドコントローラ108に通知する(ステップS64)。続いて、クラウドコントローラ108は、仮想マシン作成完了を仮想機器配置スケジューラ機能部111に通知する(ステップS65)。
The virtual device arrangement
続いて、図8を用いて、仮想機器管理装置109が実現する仮想機器配置スケジューラDB110及び仮想機器配置スケジューラ機能部111について説明する。図8は、仮想機器管理装置109が実現する仮想機器配置スケジューラDB110及び仮想機器配置スケジューラ機能部111を説明するための図である。
Next, the virtual device
図8に示すように、仮想機器配置スケジューラDB110は、仮想機器配置情報テーブル110a及び物理資源情報テーブル110bを記憶する。仮想機器配置情報テーブル110aは、各仮想機器がどの物理機器上に配置されているかを示す仮想機器配置情報を記憶する。
As shown in FIG. 8, the virtual device
図9は、仮想機器配置情報テーブル110aのデータ構造の一例を示す図である。図9に示すように、仮想機器配置情報テーブル110aは、「仮想マシンID」と、「物理機器ID」と、「進捗状態」とを対応付けた仮想機器配置情報を記憶する。ここで、仮想機器配置情報テーブル110aが記憶する「仮想マシンID」は、物理機器103に作成された仮想マシンを一意に識別する識別子を示す。例えば、「仮想マシンID」には、「仮想マシン#11」、「仮想マシン#21」等のデータ値が格納される。
FIG. 9 is a diagram illustrating an example of the data structure of the virtual device arrangement information table 110a. As illustrated in FIG. 9, the virtual device arrangement information table 110 a stores virtual device arrangement information in which “virtual machine ID”, “physical device ID”, and “progress state” are associated with each other. Here, the “virtual machine ID” stored in the virtual device arrangement information table 110 a indicates an identifier for uniquely identifying a virtual machine created in the
また、仮想機器配置情報テーブル110aが記憶する「物理機器ID」は、物理機器103を一意に識別する識別子を示す。例えば、「物理機器ID」には、「物理機器#1」、「物理機器#2」等のデータ値が格納される。
The “physical device ID” stored in the virtual device arrangement information table 110a indicates an identifier for uniquely identifying the
また、仮想機器配置情報テーブル110aが記憶する「進捗状態」は、仮想マシンの復旧処理の進捗状態を示す情報を示す。この「進捗状態」は、後述する仮想マシン削除部111dや再作成部111eにより更新される。ここで、「進捗状態」には、仮想マシンの復旧処理の進捗を示す情報として、「稼働中」、「削除中(仮想マシンダウン)」、「削除中(物理機器障害)」、「作成中(仮想マシンダウン)」及び「作成中(物理機器障害)」等が格納される。ここで、「稼働中」は、仮想マシンが稼働中であることを示す。すなわち、「稼働中」は、仮想マシンの復旧処理が開始していないことを示す。
The “progress status” stored in the virtual device arrangement information table 110a indicates information indicating the progress status of the virtual machine recovery process. This “progress state” is updated by a virtual
また、「削除中(仮想マシンダウン)」は、仮想マシンの障害に起因する仮想マシンの復旧処理が実施中であることを示す。「削除中(物理機器障害)」は、物理機器の障害に起因する仮想マシンの復旧処理が実施中であることを示す。ここで、進捗状態が削除中である場合の復旧処理として、仮想マシンと仮想マシンにより使用される記憶領域との対応付けを削除する処理や仮想マシンのインスタンスを削除する処理が実施される。なお、削除中である場合の復旧処理のことを「第1の復旧処理」とも言う。 “Deleting (virtual machine down)” indicates that recovery processing of the virtual machine due to the failure of the virtual machine is being performed. “Deleting (physical device failure)” indicates that virtual machine recovery processing due to a physical device failure is being performed. Here, as a recovery process when the progress state is being deleted, a process of deleting the association between the virtual machine and the storage area used by the virtual machine and a process of deleting the virtual machine instance are performed. Note that the recovery process in the case of deletion is also referred to as “first recovery process”.
「作成中(仮想マシンダウン)」は、仮想マシンの障害に起因する仮想マシンの復旧処理が実施中であることを示す。「作成中(物理機器障害)」は、物理機器の障害に起因する仮想マシンの復旧処理が実施中であることを示す。ここで、進捗状態が作成中である場合の復旧処理として、仮想マシンを稼働させる物理機器を選択し、選択した物理機器に仮想マシンを再作成させる処理が実施される。なお、作成中である場合の復旧処理のことを「第2の復旧処理」とも言う。第2の復旧処理は、第1の復旧処理の終了後に実施される。 “Creating (virtual machine down)” indicates that a virtual machine recovery process due to a failure of the virtual machine is in progress. “Creating (physical device failure)” indicates that a virtual machine recovery process due to a physical device failure is being performed. Here, as recovery processing when the progress state is being created, a physical device that operates the virtual machine is selected, and processing for causing the selected physical device to recreate the virtual machine is performed. Note that the recovery process when it is being created is also referred to as a “second recovery process”. The second recovery process is performed after the end of the first recovery process.
一例をあげると、図9に示す仮想機器配置情報テーブル110aは、識別子が「物理機器#1」である物理機器103には、仮想機器「仮想マシン#11」及び「仮想マシン#12」が配置されており、仮想マシン#11及び仮想マシン#12が仮想マシンのダウンによる復旧処理中であることを示す。ここで、仮想マシン#11は、削除中であり、仮想マシン#12は、作成中である。また、図9に示す仮想機器配置情報テーブル110aは、識別子が「物理機器#2」である物理機器103には、仮想機器「仮想マシン#21」及び「仮想マシン#22」が配置されており、仮想マシン#21及び仮想マシン#22が物理機器#2の障害による復旧処理中であることを示す。ここで、仮想マシン#21及び仮想マシン#22は、削除中である。また、図9に示す仮想機器配置情報テーブル110aは、識別子が「物理機器#3」である物理機器103には、仮想機器「仮想マシン#23」、「仮想マシン#31」及び「仮想マシン#32」が配置されており、仮想マシン#31及び仮想マシン#32が稼働中であり、仮想マシン#23が物理機器#3以外の他の物理機器の障害による復旧処理中であることを示す。なお、図9に示す例では、元々、物理機器#2では、仮想マシン#21、#22、及び#23が動作しており、物理機器#2が故障した場合を示す。このため、仮想マシン#21、#22、及び#23のクリーンアップ処理を行うが、仮想マシン#21、及び#22はまだクリーンアップ中のため物理機器#2に紐付いており削除中と表示される。仮想マシン#23は、クリーンアップが既に終わり、仮想マシン作成を物理機器#3上で既に始めているため、物理機器#3に紐付いて作成中と表示されている。
For example, in the virtual device arrangement information table 110a shown in FIG. 9, the virtual devices “
図8に戻る。物理資源情報テーブル110bは、各物理機器の稼働状態と物理機器が有する物理資源の空き容量とを示す物理資源情報を記憶する。図10は、物理資源情報テーブル110bのデータ構造の一例を示す図である。図10に示すように、物理資源情報テーブル110bは、「物理機器ID」と「稼働状態」と「空き」と「使用中」と「障害用」とを対応付けた物理資源情報を記憶する。 Returning to FIG. The physical resource information table 110b stores physical resource information indicating the operating state of each physical device and the free capacity of the physical resource that the physical device has. FIG. 10 is a diagram illustrating an example of a data structure of the physical resource information table 110b. As illustrated in FIG. 10, the physical resource information table 110b stores physical resource information in which “physical device ID”, “operating state”, “free”, “in use”, and “for failure” are associated with each other.
ここで、物理資源情報テーブル110bが記憶する「物理機器ID」は、物理機器103を一意に識別する識別子を示す。例えば、「物理機器ID」には、「物理機器#1」、「物理機器#2」等のデータ値が格納される。
Here, the “physical device ID” stored in the physical resource information table 110 b indicates an identifier for uniquely identifying the
また、物理資源情報テーブル110bが記憶する「稼働状態」は、物理機器が稼働中であるか否かを示す。この「稼働状態」は、後述する障害判定部111cにより更新される。例えば、物理機器が稼働中である場合、「稼働状態」には「稼働中」が格納される。なお、図8では図示していないが、物理機器が予備系として設けられ稼働中ではない場合、「稼働状態」には「予備」が格納される。また、障害が発生した物理機器の復旧処理が開始されていない場合、「稼働状態」には「故障中(メンテナンス中)」が格納される。また、障害が発生した物理機器の復旧処理が開始されている場合、「稼働状態」には「故障中(復旧処理中)」が格納される。
The “operating state” stored in the physical resource information table 110b indicates whether the physical device is operating. This “operation state” is updated by a
また、「空き」は、物理機器が有する物理資源の容量のうち空き容量を示す。例えば、「空き」には、「3」、「5」、「4」等の値が格納される。また、「使用中」は、物理機器が有する物理資源の容量のうち使用中の容量を示す。例えば、「使用中」には、「1」、「3」、「2」等の値が格納される。また、「障害用」は、物理機器が有する物理資源の容量のうち復旧用に確保された容量を示す。例えば、「障害用」には、「2」等の値が格納される。 “Free” indicates the free capacity of the physical resource capacity of the physical device. For example, values such as “3”, “5”, and “4” are stored in “empty”. Further, “in use” indicates a capacity in use among the capacity of physical resources of the physical device. For example, “in use” stores values such as “1”, “3”, and “2”. Further, “for failure” indicates the capacity reserved for recovery out of the physical resource capacity of the physical device. For example, a value such as “2” is stored in “for failure”.
一例をあげると、図10に示す物理資源情報テーブル110bは、物理機器#1は、稼働中であり、物理資源の空き容量が「3」であり、使用中の容量が「1」であり、復旧用に確保された容量が「2」であることを示す。また、図10に示す物理資源情報テーブル110bは、物理機器#2は、稼働中であり、物理資源の空き容量が「5」であり、使用中の容量が「3」であり、復旧用に確保された容量が「2」であることを示す。同様に、図10に示す物理資源情報テーブル110bは、物理機器#3は、稼働中であり、物理資源の空き容量が「4」であり、使用中の容量が「2」であり、復旧用に確保された容量が「2」であることを示す。
As an example, in the physical resource information table 110b shown in FIG. 10, the
図8に戻る。仮想機器配置スケジューラ機能部111は、作成依頼受付部111aと、配置先選択部111bと、障害判定部111cと、仮想マシン削除部111dと、再作成部111eとを有する。
Returning to FIG. The virtual device placement
作成依頼受付部111aは、仮想機器の作成要求をユーザ端末101から受付ける。作成依頼受付部111aは、受付けた仮想機器の作成要求を配置先選択部111bに受け渡す。
The creation
配置先選択部111bは、仮想機器を新規に作成する際に、仮想機器を配置する物理機器を選択する。ここで、配置先選択部111bは、仮想機器を出来るだけ分散して配置するように物理機器103を選択する。言い換えると、配置先選択部111bは、「稼働中」の「空き」スペースの数が平準化するように仮想機器を配置する。
The placement destination selection unit 111b selects a physical device on which a virtual device is placed when a virtual device is newly created. Here, the placement destination selection unit 111b selects the
図11は、配置先選択部111bによる処理動作を説明するための図である。図11では、物理機器#1〜物理機器#6の6台の物理機器を有する仮想機器管理システムにおいて、仮想機器を新規に作成する場合について説明する。ここで、物理機器#1〜物理機器#5の稼働状態は「稼働中」であり、物理機器#6の稼働状態は「予備」である。また、物理機器#1のスペースの状態は、「空き」2、「使用中」1、「障害用バッファ」2であり、物理機器#2のスペースの状態は、「空き」0、「使用中」3、「障害用バッファ」2であり、物理機器#3のスペースの状態は、「空き」4、「使用中」0、「障害用バッファ」2である。また、物理機器#4のスペースの状態は、「空き」0、「使用中」5、「障害用バッファ」2であり、物理機器#5のスペースの状態は、「空き」2、「使用中」0、「障害用バッファ」2であり、物理機器#6のスペースの状態は、「空き」3、「使用中」0、「障害用バッファ」2である。
FIG. 11 is a diagram for explaining the processing operation by the placement destination selection unit 111b. FIG. 11 illustrates a case where a virtual device is newly created in a virtual device management system having six
例えば、配置先選択部111bは、配置先選択時に、稼働状態が「稼働中」である物理機器の空きスペースの量をチェックし、最も空きスペースが多い稼働中の物理機器を特定する。より具体的には、配置先選択部111bは、作成する仮想機器のうち1つの仮想機器(例えば、仮想機器#1)を選択する。そして、図11に示すスペースの状態である場合には、「空き」が4である物理機器#3を、最も空きスペースが多い稼働中の物理機器に特定する。なお、配置先選択部111bは、「障害用バッファ」を通常オペレーション時には利用しない。そして、配置先選択部111bは、特定した物理機器#3を選択した仮想機器#1の配置先として選択する。
For example, when selecting an arrangement destination, the arrangement destination selection unit 111b checks the amount of free space of a physical device whose operation state is “in operation” and identifies an active physical device with the largest available space. More specifically, the placement destination selection unit 111b selects one virtual device (for example, virtual device # 1) from the virtual devices to be created. Then, in the case of the space state shown in FIG. 11, the
続いて、配置先選択部111bは、配置先として選択する処理を、作成を依頼された全ての仮想機器の配置先を選択するまで繰り返す。一例をあげると、配置先選択部111bは、図11に示す数字順に仮想機器を配置するように物理機器を選択する。このように、配置先選択部111bは、最も空きスペースが多い稼働中の物理機器のスペースの一部を選択することで「空き」スペースの数を平準化する。 Subsequently, the placement destination selection unit 111b repeats the process of selecting the placement destination until the placement destinations of all virtual devices requested to be created are selected. For example, the placement destination selection unit 111b selects physical devices so that virtual devices are placed in the numerical order shown in FIG. In this way, the placement destination selection unit 111b equalizes the number of “free” spaces by selecting a part of the space of the operating physical device that has the most free space.
また、配置先選択部111bは、稼働状態が「稼働中」である物理機器のスペースが全て埋まった場合に、稼働状態が「予備」である物理機器に仮想機器を配置する。このため、配置先選択部111bは、図11に示す8番のスペースまで仮想機器を配置したら、予備の物理機器に仮想機器を配置する。すなわち、配置先選択部111bは、図11に示す例において、仮想機器を9台以上作成する場合には、稼働状態が「予備」である物理機器に仮想機器を配置する。 Further, the arrangement destination selection unit 111b arranges the virtual device in the physical device whose operation state is “standby” when all the space of the physical device whose operation state is “in operation” is filled. For this reason, when the placement destination selecting unit 111b places virtual devices up to the eighth space shown in FIG. 11, the placement destination selecting unit 111b places the virtual devices in the spare physical device. That is, in the example illustrated in FIG. 11, the placement destination selection unit 111 b places virtual devices on physical devices whose operation state is “standby” when nine or more virtual devices are created.
そして、配置先選択部111bは、選択した物理機器103に、仮想機器を作成するようにクラウドコントローラ108に依頼する。
Then, the placement destination selection unit 111b requests the selected
図8に戻る。障害判定部111cは、仮想マシンの障害又は仮想マシンを稼働させる物理機器の障害を検出する。例えば、障害判定部111cは、各物理機器103が有する仮想マシン監視モジュール106及び高可用ソフトウェア107と連携することで、ダウンした仮想マシン104や障害の生じた物理機器103を検出する。そして、障害判定部111cは、仮想マシンの障害又は仮想マシンを稼働させる物理機器の障害を検出した場合に、仮想マシンに対して先行して実施されている復旧処理が存在するか否かを判定する。
Returning to FIG. The
ここではまず、障害判定部111cによる仮想マシンを稼働させる物理機器の障害を検出する処理について説明する。図12は、障害判定部111cによる物理機器の障害を検出する処理動作を説明するための図である。
Here, first, processing for detecting a failure of a physical device that operates a virtual machine by the
図12では、物理機器103a〜103cを図示しており、物理機器103aに障害が発生した場合について説明する。また、図12では、物理機器103が有する機能のうち、物理機器103aには、自装置の障害発生時に機能する構成部を示し、物理機器103b及び物理機器103cには、他装置の障害を検出した場合に機能する構成部を示す。
FIG. 12 illustrates the
図12に示すように、物理機器103の障害の検出には、高可用ソフトウェア107a〜107cが用いられる。全ての物理機器103は、CIB(Cluster Information Base)に、クラスタ内の全物理機器103の状態を保持する。高可用ソフトウェア107は、RA(Resource Agent)を用いて自物理機器の状態を確認する。なお、RAとは、例えば、仮想ボリューム制御部や仮想マシン制御部に相当する。
As illustrated in FIG. 12,
また、高可用ソフトウェア107は、Heartbeatにより、クラスタ内のどの物理機器も他の物理機器の状態を知り得る。このため、高可用ソフトウェア107は、heartbeatパケットを使ってクラスタ内に状態を通知する。この仕組みにより、各物理機器は他の物理機器の状態を知る。高可用ソフトウェア107は、ある物理機器からのHeartbeatパケットが継続的にロストすると、他の物理機器は当該物理機器がダウンしたとみなす。
Further, the
物理機器103は、仮想機器配置スケジューラ機能部111に物理機器に生じた障害を通知するため、通知RAと通知プロセスとを備える。例えば、Pacemakerが自物理機器の故障を検出した場合、通知RAを使用して仮想機器配置スケジューラ機能部111に自物理機器の故障を通知する。一方、通知プロセスは、常駐プロセスとして設定され、CIBの状態を定期的に確認する。そして、通知プロセスは、他物理機器の故障を検出すると、後述のSTONITHにより確実に故障ノードが落ちていることを確認した後、他物理機器に障害が生じたことを仮想機器配置スケジューラ機能部111に通知する。通知RAによる通知及び通知プロセスによる通知は、ACKが仮想機器配置スケジューラ機能部111から返るまで一定回数繰り返される。
The
続いて、仮想機器配置スケジューラ機能部111において、障害判定部111cは、通知を受信したらACKを応答し、仮想マシン削除部111d及び再作成部111eに仮想機器の復旧処理を実行させる。なお、障害判定部111cは、同内容の通知に関しては2通目以降の通知を無視してACKを応答する。ただし、自ノード故障通知と他ノード故障通知は別物として扱う。これにより、複数の物理機器から通知を受けることで冗長化対策をとることができるとともに、復旧処理を繰り返さないようにする。
Subsequently, in the virtual device arrangement
なお、高可用ソフトウェア107は、自物理機器の停止に失敗する場合がある。仮想マシンの場合、復旧により、複数の仮想マシンが同時に存在してしまい、データ領域への同時アクセスによりデータ破壊の可能性が出てしまう。そこで、高可用ソフトウェア107が「Pacemaker」である場合、STONITHモジュールを用いて、確実に故障物理機器を落とす。STONITHは、IPMI(Intelligent Platform Management Interface)経由で、故障物理機器を停止することで、故障物理機器が動作し続けないことを保証する。Quorumで過半数を形成した多数派の物理機器が、STONITHを起動することで、誤発動を防止する。なお、Quorumは過半数で判断するため、クラスタの物理機器数が少ない場合に、ある物理機器が故障したら、正常な物理機器が過半数を確保できなくなる。このため、クラスタから故障物理機器を切り離す減設作業が必要である。また、図12では、高可用ソフトウェア107が、Pacemakerである場合を示しているが、他の高可用ソフトウェアでも同様のメカニズムで障害の発生を検知したり、障害の発生を通知したりすることが可能である。なお、障害判定部111cは、障害の生じた物理機器自ら物理機器の障害の発生を通知された場合、物理資源情報テーブル110bにおいて障害の生じた物理機器に対応する「稼働状態」を「故障中(メンテナンス中)」に更新する。一方、障害判定部111cは、例えば、他の物理機器に生じた障害を物理機器103bから通知された場合、物理資源情報テーブル110bにおいて障害の生じた物理機器に対応する「稼働状態」を「故障中(復旧処理中)」に更新して、仮想マシン削除部111d及び再作成部111eに仮想機器の復旧処理を実行させる。かかる場合、障害判定部111cは、復旧処理が仮想マシンを稼働させる物理機器の障害に起因することを仮想マシン削除部111d及び再作成部111eに通知する。なお、障害判定部111cは、物理機器103bからの通知に続いて他の物理機器に生じた障害を物理機器103cから通知された場合、既に復旧処理を開始しているので無視する。
Note that the
次に、障害判定部111cによる仮想マシンの障害を検出する処理について説明する。物理機器障害で、その上で動作する仮想機器が全て障害になる場合以外に、仮想機器がプロセス障害などでダウンする場合がある。特に仮想マシン障害は、即サービス断につながるため、仮想マシンのユーザにとって影響が大きい。そこで、仮想機器管理システムでは、Pacemaker等の高可用ソフトウェアによる物理機器監視だけでなく、Libvirt等の仮想マシン制御ライブラリによって仮想マシンを監視する。そして、仮想機器配置スケジューラ機能部111は、仮想マシン障害時に、仮想マシンの復旧処理を実施する。
Next, processing for detecting a failure in the virtual machine by the
例えば、OpenStackコミュニティでは、Qemu−KVMが数多く利用されているハイパーバイザ―であり、仮想マシンの制御ライブラリとしてLibvirtが数多く利用されている。そこで、仮想マシン監視モジュール106は、Libvirt等の仮想マシン制御ライブラリからイベントを取得することで仮想マシンがダウンしたことを検知する。そして、仮想マシン監視モジュール106は、仮想マシンがダウンしたことを検知した場合、仮想機器配置スケジューラ機能部111に障害を通知する。Libvirtは、仮想マシン障害だけでなく、仮想マシンゲストOSのシャットダウン、ホストOSのシャットダウン等のイベントも取得可能である。このため、仮想マシン監視モジュール106は、仮想機器配置スケジューラ機能部111に、仮想マシンゲストOSのシャットダウンやホストOSのシャットダウン等のイベントを通知する。また、障害判定部111cは、仮想マシン削除部111d及び再作成部111eに仮想機器の復旧処理を実行させる。かかる場合、障害判定部111cは、復旧処理が仮想マシンのダウンに起因することを仮想マシン削除部111d及び再作成部111eに通知する。
For example, the OpenStack community is a hypervisor in which many Qemu-KVMs are used, and many Libvirts are used as control libraries for virtual machines. Therefore, the virtual machine monitoring module 106 detects that the virtual machine has gone down by acquiring an event from a virtual machine control library such as Libvirt. When the virtual machine monitoring module 106 detects that the virtual machine is down, the virtual machine monitoring module 106 notifies the virtual device arrangement
続いて、障害判定部111cによる、仮想マシンに対して先行して実施されている復旧処理が存在するか否かを判定する処理について説明する。障害判定部111cは、複数の故障通知を受信する可能性がある。言い換えると、故障通知が競合する場合がある。例えば、仮想マシンでは、復旧タイミングを誤り仮想マシンが2重起動されてしまうと、同じデータ領域への2つの仮想マシンからのアクセスによりデータ破壊の可能性が有る。このため、現在の復旧処理の進捗状態に応じて適切な復旧処理を行う必要がある。そこで、障害判定部111cは、Pacemaker等の高可用ソフトウェア107とLibvirt監視モジュール等の仮想マシン監視モジュール106からの故障通知とを統一的に管理し、通知受信時の復旧処理の進捗状況に応じて、実施する復旧処理を判定する。
Next, a process for determining whether or not there is a recovery process that has been performed on the virtual machine in advance by the
例えば、障害判定部111cは、仮想マシンの障害又は仮想マシンを稼働させる物理機器の障害が検出された場合に、仮想マシンに対して実施中の復旧処理が存在するか否かを判定する。例えば、障害判定部111cは、図9に示した仮想機器配置情報テーブル110aを参照して、障害が通知された物理機器で稼働する仮想マシンの進捗状態が削除中や作成中であるか否かを判定する。そして、障害判定部111cは、障害が通知された物理機器で稼働する仮想マシンの進捗状態が削除中や作成中である場合、仮想マシンに対して実施中の復旧処理が存在すると判定する。一方、障害判定部111cは、障害が通知された物理機器で稼働する仮想マシンの進捗状態が削除中や作成中でない場合、仮想マシンに対して実施中の復旧処理が存在しないと判定する。以下では、故障通知が競合する場合をパターン1からパターン4の4つの状況にわけて説明する。
For example, when a failure of a virtual machine or a failure of a physical device that operates the virtual machine is detected, the
パターン1として、仮想マシンを稼働させる物理機器の障害に起因する復旧処理が実施中であるときに物理機器の障害が新たに検出された場合について説明する。言い換えると、障害が新たに検出された物理機器で稼働する仮想マシンの「進捗状態」が「削除中(物理機器障害)」や「作成中(物理機器障害)」である場合を示す。
As
障害判定部111cは、物理機器上の仮想マシンの削除が終わる前であれば、受信した通知を再送として破棄する。より具体的には、障害判定部111cは、仮想機器配置情報テーブル110aにおいて、障害が生じた物理機器で稼働する仮想マシンの「進捗状態」が「削除中(物理機器障害)」である場合、通知が再送であると判定する。すなわち、障害判定部111cは、仮想マシンを稼働させる物理機器の障害に起因する第1の復旧処理が実施中であるときに物理機器の障害が新たに検出された場合、新たに検出された障害に起因する第1の復旧処理を仮想マシン削除部111dに実行させず、新たに検出された障害に起因する第2の復旧処理を再作成部111eに実行させない。
The
また、障害判定部111cは、既に仮想マシンを他の物理機器で仮想マシンインスタンス作成中の場合は、新たに受信した通知を新たなイベントとして物理機器の復旧処理を行う。より具体的には、障害判定部111cは、仮想機器配置情報テーブル110aにおいて、障害が生じた物理機器で稼働する仮想マシンの「進捗状態」が「作成中(物理機器障害)」である場合、新たなイベントとして物理機器の復旧処理を行う。すなわち、障害判定部111cは、仮想マシンを稼働させる物理機器の障害に起因する第2の復旧処理が実施中であるときに物理機器の障害が新たに検出された場合、実施中の第2の復旧処理を中止させる。そして、障害判定部111cは、新たに検出された障害に起因する第1の復旧処理を仮想マシン削除部111dに実行させ、新たに検出された障害に起因する第2の復旧処理を再作成部111eに実行させる。なお、同じ物理機器に対する通知であり、仮想マシンの削除が既に実施されている場合、仮想マシンを新たに削除する処理を省略可能である。
If the virtual machine instance is already being created with another physical device, the
パターン2として、仮想マシンを稼働させる物理機器の障害に起因する復旧処理が実施中であるときに仮想マシンの障害が新たに検出された場合について説明する。言い換えると、ダウンが新たに検出された仮想マシンの「進捗状態」が「削除中(物理機器障害)」や「作成中(物理機器障害)」である場合を示す。
As a
障害判定部111cは、第1の復旧処理が実施中であるときに仮想マシンの障害が新たに検出された場合、新たに検出された障害に起因する第1の復旧処理を仮想マシン削除部111dに実行させず、新たに検出された障害に起因する第2の復旧処理を再作成部111eに実行させない。例えば、物理機器上の仮想マシンクリーンアップはSTONITHで停止後に行われるため基本的には仮想マシンダウン通知が来ることはない。しかしながら、通知が遅延した場合等では、仮想マシンの削除中に仮想マシンダウン通知を受信する場合がある。この場合、ダウンが新たに検出された仮想マシンの「進捗状態」が「削除中(物理機器障害)」である。かかる場合、障害判定部111cは、実施中である仮想マシンの削除処理を継続すると判定する。
If the failure of the virtual machine is newly detected while the first recovery process is being performed, the
また、障害判定部111cは、第2の復旧処理が実施中であるときに仮想マシンの障害が新たに検出された場合、実施中である第2の復旧処理を再作成部111eに中止させる。そして、障害判定部111cは、新たに検出された障害に起因する第1の復旧処理を仮想マシン削除部111dに実行させ、新たに検出された障害に起因する第2の復旧処理を再作成部111eに実行させる。例えば、障害判定部111cは、既に仮想マシンを他の物理機器で仮想マシンインスタンス作成中の場合は、新たに受信した通知を新たな故障通知として扱う。この場合、ダウンが新たに検出された仮想マシンの「進捗状態」が「作成中(物理機器障害)」である。これにより、仮想マシン削除部111dは、第1の復旧処理として、対応付けを削除することに加えて、仮想マシンのインスタンスを削除させる。そして、再作成部111eは、対応付けの削除及び仮想マシンのインタンスの削除後に、第2の復旧処理として、選択した物理機器に仮想マシンを再作成させる。
In addition, when a failure of the virtual machine is newly detected while the second recovery process is being performed, the
パターン3として、仮想マシンの障害に起因する復旧処理が実施中であるときに物理機器の障害が新たに検出された場合について説明する。言い換えると、障害が新たに検出された物理機器で稼働する仮想マシンの「進捗状態」が「削除中(仮想マシンダウン)」や「作成中(仮想マシンダウン)」である場合を示す。かかる場合、障害判定部111cは、仮想マシンの障害に起因する実施中の復旧処理が存在するときに仮想マシンを稼働させる物理機器の障害が新たに検出された場合、実施中の復旧処理を中止させる。そして、障害判定部111cは、新たに検出された障害に起因する第1の復旧処理を仮想マシン削除部111dに実行させ、新たに検出された障害に起因する第2の復旧処理を再作成部111eに実行させる。
As a
例えば、障害が新たに検出された物理機器で稼働する仮想マシンの「進捗状態」が「削除中(仮想マシンダウン)」である場合、物理機器障害により仮想マシンインスタンスの削除が終了しない可能性がある。このため、障害判定部111cは、実施中である仮想マシンインスタンス削除を中断するように仮想マシン削除部111dに指示する。そして、障害判定部111cは、新たに通知された物理機器の復旧処理を仮想マシン削除部111d及び再作成部111eに実行させる。
For example, if the “progress status” of a virtual machine running on a physical device in which a failure is newly detected is “deleting (virtual machine down)”, the deletion of the virtual machine instance may not end due to a physical device failure is there. Therefore, the
また、例えば、障害が新たに検出された物理機器で稼働する仮想マシンの「進捗状態」が「作成中(仮想マシンダウン)」である場合も、物理機器障害により仮想マシンインスタンスの削除が終了しない可能性がある。このため、障害判定部111cは、実施中である仮想マシンインスタンス削除を中断するように仮想マシン削除部111dに指示する。そして、障害判定部111cは、新たに通知された物理機器の復旧処理を仮想マシン削除部111d及び再作成部111eに実行させる。
For example, even when the “progress status” of a virtual machine operating on a physical device in which a failure is newly detected is “Creating (Virtual Machine Down)”, the deletion of the virtual machine instance does not end due to a physical device failure. there is a possibility. Therefore, the
パターン4として、仮想マシンの障害に起因する復旧処理が実施中であるときに仮想マシンの障害が新たに検出された場合について説明する。言い換えると、ダウンが新たに検出された仮想マシンの「進捗状態」が「削除中(仮想マシンダウン)」や「作成中(仮想マシンダウン)」である場合を示す。
As
障害判定部111cは、第1の復旧処理が実施中であるときに仮想マシンの障害が新たに検出された場合、新たに検出された障害に起因する第1の復旧処理を仮想マシン削除部111dに実行させず、新たに検出された障害に起因する第2の復旧処理を再作成部111eに実行させない。例えば、ダウンが新たに検出された仮想マシンの「進捗状態」が「削除中(仮想マシンダウン)」である場合は、障害判定部111cは、新たに受信した通知が再送であるとして破棄し、実施中である仮想マシンインスタンスの削除処理を継続する。
If the failure of the virtual machine is newly detected while the first recovery process is being performed, the
また、障害判定部111cは、第2の復旧処理が実施中であるときに仮想マシンの障害が新たに検出された場合、実施中である第2の復旧処理を再作成部111eに中止させる。そして、障害判定部111cは、新たに検出された障害に起因する第1の復旧処理を仮想マシン削除部111dに実行させ、新たに検出された障害に起因する第2の復旧処理を再作成部111eに実行させる。これにより、仮想マシン削除部111dは、第1の復旧処理として、対応付けを削除することに加えて、仮想マシンのインスタンスを削除させる。例えば、ダウンが新たに検出された仮想マシンの「進捗状態」が「作成中(仮想マシンダウン)」である場合、障害判定部111cは、実施中である仮想マシンインスタンス作成処理を中断するように再作成部111eに指示する。そして、再作成部111eは、対応付けの削除及び仮想マシンのインタンスの削除後に、第2の復旧処理として、選択した物理機器に仮想マシンを再作成させる。
In addition, when a failure of the virtual machine is newly detected while the second recovery process is being performed, the
このように、障害判定部111cは、従来は独立に行われていた物理機器の障害に起因する復旧処理とダウンした仮想マシンの復旧処理とを、統一的に管理することで、仮想マシンの2重起動を防いだ信頼性のある復旧処理を実施することを可能とする。
As described above, the
図8に戻る。仮想マシン削除部111dは、障害判定部111cの指示に応じて、第1の復旧処理として、仮想マシンと仮想マシンにより使用される記憶領域との対応付けを削除する。ここで、仮想マシン削除部111dは、仮想マシンの障害に起因する第1の復旧処理である場合、仮想マシンと仮想マシンにより使用される記憶領域との対応付けを削除することに加えて、仮想マシンのインスタンスを削除する。
Returning to FIG. In response to an instruction from the
例えば、仮想マシン削除部111dは、実施中の復旧処理が存在しない場合に、第1の復旧処理として、仮想マシンと仮想マシンにより使用される記憶領域との対応付けを削除する。また、仮想マシン削除部111dは、障害判定部111cの指示に応じて、実施中である第1の復旧処理を中止する。実施中である第1の復旧処理を中止した場合、仮想マシン削除部111dは、障害判定部111cの指示に応じて、新たに第1の復旧処理を実施する。
For example, when there is no recovery process in progress, the virtual
また、仮想マシン削除部111dは、第1の復旧処理を開始する場合、仮想機器配置情報テーブル110aにおいて、障害の発生した仮想マシンに対応する「進捗状態」を「削除中(仮想マシンダウン)」或いは「削除中(物理機器障害)」に更新する。
Further, when starting the first recovery process, the virtual
第1の復旧処理が終了後、仮想マシン削除部111dは、再作成部111eに第1の復旧処理が終了したことを通知する。
After the first recovery process ends, the virtual
再作成部111eは、障害判定部111cの指示を受信した後、仮想マシン削除部111dから第1の復旧処理が終了したことを通知された場合に、第2の復旧処理として、仮想マシンを稼働させる物理機器を選択し、選択した物理機器に仮想マシンを再作成させる。
The re-creation unit 111e operates the virtual machine as the second recovery process when the virtual
例えば、再作成部111eは、物理機器に生じた障害を通知された場合に、仮想機器を再作成する物理機器を選択する。また、再作成部111eは、仮想マシンのダウンを通知された場合に、ダウンした仮想マシンを再作成する物理機器を選択する。ここで、再作成部111eは、物理機器に生じた障害を通知された場合に、対応付けの削除後に、第2の復旧処理として、選択した物理機器に仮想マシンを再作成させる。また、再作成部111eは、仮想マシンのダウンを通知された場合に、対応付けの削除及び仮想マシンのインタンスの削除後に、第2の復旧処理として、選択した物理機器に仮想マシンを再作成させる。 For example, the re-creation unit 111e selects a physical device for re-creating a virtual device when notified of a failure that has occurred in the physical device. Further, when the re-creation unit 111e is notified of the down of the virtual machine, the re-creation unit 111e selects a physical device for re-creating the down virtual machine. Here, when notified of the failure that has occurred in the physical device, the re-creation unit 111e causes the selected physical device to re-create the virtual machine as a second recovery process after deleting the association. In addition, when the virtual machine is notified that the virtual machine is down, the re-creation unit 111e causes the selected physical device to re-create the virtual machine as a second recovery process after deleting the association and deleting the virtual machine instance. .
以下では、物理機器に生じた障害を通知された場合の再作成部111eの処理について説明する。ここで、再作成部111eは、障害の生じた物理機器以外の物理機器にできるだけ順番に割り振られるように物理機器を選択する。例えば、再作成部111eは、障害の生じた物理機器以外の物理機器のうち物理資源の空き容量のある物理機器を複数特定する。そして、再作成部111eは、特定した複数の物理機器の物理資源を、障害の生じた物理機器に配置された仮想機器の再配置先として選択する。 Hereinafter, processing of the re-creation unit 111e when a failure that has occurred in a physical device is notified will be described. Here, the re-creation unit 111e selects physical devices so that they are allocated in order as much as possible to physical devices other than the failed physical device. For example, the re-creation unit 111e specifies a plurality of physical devices having a physical resource free capacity among physical devices other than the failed physical device. Then, the recreating unit 111e selects the physical resources of the identified plurality of physical devices as the relocation destination of the virtual device that is allocated to the physical device in which the failure has occurred.
図13は、再作成部111eによる処理動作を説明するための図である。図13では、物理機器#1〜物理機器#6の6台の物理機器を有する仮想機器管理システムにおいて、物理機器#4が故障した際の復旧について説明する。ここで、物理機器#1〜物理機器#5の稼働状態は「稼働中」であり、物理機器#6の稼働状態は「予備」である。また、物理機器#1のスペースの状態は、「空き」2、「使用中」1、「障害用バッファ」2であり、物理機器#2のスペースの状態は、「空き」0、「使用中」3、「障害用バッファ」2であり、物理機器#3のスペースの状態は、「空き」4、「使用中」0、「障害用バッファ」2である。また、物理機器#4のスペースの状態は、「空き」0、「使用中」10、「障害用バッファ」2であり、物理機器#5のスペースの状態は、「空き」2、「使用中」0、「障害用バッファ」2であり、物理機器#6のスペースの状態は、「空き」3、「使用中」0、「障害用バッファ」2である。
FIG. 13 is a diagram for explaining the processing operation by the re-creation unit 111e. FIG. 13 illustrates recovery when the
例えば、再作成部111eは、障害の生じた物理機器以外の物理機器のうち物理資源の空き容量のある物理機器を複数特定する。ここで、再作成部111eは、物理機器の障害発生時には、「空き」のスペースに加えて、「障害用バッファ」のスペースも使用する。これにより、再作成部111eは、「空き」が0の物理機器も含めて、より多くの物理機器が復旧処理を分担できるようにする。図13に示す例では、再作成部111eが、稼働中である物理機器#1〜物理機器#3及び物理機器#5を特定した場合を示す。
For example, the re-creation unit 111e specifies a plurality of physical devices having a physical resource free capacity among physical devices other than the failed physical device. Here, the re-creation unit 111e uses the space of the “failure buffer” in addition to the “free” space when a failure of the physical device occurs. As a result, the re-creation unit 111e allows more physical devices to share the recovery process, including physical devices whose “empty” is zero. The example illustrated in FIG. 13 illustrates a case where the re-creation unit 111e identifies
そして、再作成部111eは、特定した複数の物理機器の物理資源を、障害の生じた物理機器#4に配置された仮想機器の再配置先として選択する。例えば、再作成部111eは、特定した複数の物理機器に順序付けを行う。ここで、再作成部111eは、特定した複数の物理機器の物理資源の空き容量が多い順に、特定した複数の物理機器に順序付けを行う。例えば、再作成部111eは、「空き」のスペースと「障害用バッファ」のスペースとの合計スペースを物理資源の空き容量とし、合計スペースが多い順に物理機器に順序付けを行う。図13の例では、再作成部111eが、合計スペースが6である物理機器#3、合計スペースが4である物理機器#1、合計スペースが4である物理機器#5、そして、合計スペースが2である物理機器#2の順で順序付けした場合を示す。
Then, the re-creation unit 111e selects the physical resources of the identified plurality of physical devices as the relocation destination of the virtual device disposed in the
続いて、再作成部111eは、障害の生じた物理機器に配置された仮想機器それぞれの再配置先として、順序に基づいて選択した物理機器の物理資源を選択する処理を繰り返す。一例をあげると、再作成部111eは、図13に示す数字順に仮想機器を再配置するように物理機器を選択する。ここで、再配置時は、空き容量が多い順に入れていくことも出来れば、空き容量がなくなるまで出来るだけ順々に別物理機器に入れていくこともできる。前者の場合は再配置後の空き容量が均等になるようにすることが目的で、後者の場合は出来るだけ多くの物理機器に再配置し速く復旧するが目的である。図13では、後者のロジックを想定した例である。より具体的には、再作成部111eは、物理機器#3、物理機器#1、物理機器#5、そして、物理機器#2の順で選択した物理機器の物理資源を仮想機器の再配置先として選択する処理を繰り返す。ここで、再作成部111eは、「空き」のスペースや「障害用バッファ」のスペースが無くなるまでは、各物理機器に仮想機器を順番に配置する。また、再作成部111eは、スペースが無くなった物理機器は飛ばすようにする。
Subsequently, the re-creation unit 111e repeats the process of selecting the physical resource of the physical device selected based on the order as the relocation destination of each of the virtual devices arranged in the failed physical device. As an example, the re-creation unit 111e selects physical devices so that virtual devices are rearranged in the numerical order shown in FIG. Here, at the time of rearrangement, it can be put in the order of increasing free capacity, or it can be put in different physical devices as much as possible until there is no free capacity. In the former case, the purpose is to make the free space after rearrangement uniform, and in the latter case, the purpose is to rearrange as many physical devices as possible and restore them quickly. FIG. 13 is an example assuming the latter logic. More specifically, the re-creation unit 111e transfers the physical resources of the physical devices selected in the order of
なお、再作成部111eは、稼働状態が「稼働中」である全ての物理機器の「空き」のスペース及び「障害用バッファ」のスペースが満たされるまで、稼働状態が「予備」である物理機器を選択しない。このように、仮想機器配置スケジューラ機能部111は、「空き」のスペースに加えて、仮想機器の作成時には利用されない「障害用バッファ」のスペースを予め準備しておき、障害時に多くの物理機器に仮想機器を再配置することで、高速の復旧を可能とする。また、再作成部111eは、障害が発生した物理機器に配置された仮想機器の全てを再配置可能ではない場合には、特定した物理機器の「空き」のスペースと「障害用バッファ」のスペースとに再配置可能な範囲で、仮想機器ごとに再配置先を選択する。
Note that the re-creation unit 111e has a physical device whose operation state is “standby” until the “free” space and the “failure buffer” space of all physical devices whose operation state is “active” are filled. Do not select. In this way, the virtual device placement
また、Pacemakerのクラスタ構成は、最大8台程度で組み、障害の検知を行う。また、仮想機器配置スケジューラ機能部111は、クラスタを跨いで別物理機器に仮想機器を作成してもよいため、再作成が依頼される物理機器はクラスタのサイズ以上でも良い。また、全てが埋まった際に利用される予備機は存在してもしなくてもよい。クラスタ構成上はN−Act、0−Sbyで、Standby機を準備する必要はないため、物理機器の利用効率を高めることも出来る。
In addition, the cluster configuration of Pacemaker is configured with a maximum of about 8 units to detect a failure. Further, since the virtual device placement
そして、再作成部111eは、選択した物理機器103に、仮想機器を作成するようにクラウドコントローラ108に依頼する。
Then, the re-creation unit 111e requests the selected
まお、再作成部111eは、仮想マシンがダウンした場合には、物理機器に生じた障害を通知された場合と同様に仮想マシンを再作成させる物理機器を選択してもよく、或いは、ダウンした仮想マシンが稼働していた物理機器にダウンした仮想マシンを再作成させてもよい。 Well, when the virtual machine goes down, the re-creation unit 111e may select a physical device that re-creates the virtual machine in the same manner as when a failure occurred in the physical device is notified, or it goes down. The down virtual machine may be recreated on the physical device on which the virtual machine was operating.
また、再作成部111eは、障害判定部111cの指示に応じて、実施中である第2の復旧処理を中止する。実施中である第2の復旧処理を中止した場合、再作成部111eは、障害判定部111cの指示に応じて、新たに第2の復旧処理を実施する。かかる場合も、再作成部111eは、障害判定部111cの指示を受信した後、仮想マシン削除部111dから第1の復旧処理が終了したことを通知された場合に、第2の復旧処理を実施する。
In addition, the re-creation unit 111e stops the second recovery process that is being performed in response to an instruction from the
また、再作成部111eは、第2の復旧処理を開始する場合、仮想機器配置情報テーブル110aにおいて、障害の発生した仮想マシンに対応する「進捗状態」を「作成中(仮想マシンダウン)」或いは「作成中(物理機器障害)」に更新する。また、再作成部111eは、第2の復旧処理が終了した場合、仮想機器配置情報テーブル110aにおいて、障害の発生した仮想マシンに対応する「進捗状態」を「稼働中」に更新する。 Further, when starting the second recovery process, the re-creation unit 111e sets “progress state (virtual machine down)” to “progress state” corresponding to the failed virtual machine in the virtual device arrangement information table 110a or Update to "Creating (physical device failure)". In addition, when the second recovery process is completed, the re-creation unit 111e updates the “progress status” corresponding to the virtual machine in which the failure has occurred to “in operation” in the virtual device arrangement information table 110a.
なお、図13に示す例では、再作成部111eが、特定した複数の物理機器の物理資源の空き容量が多い順に、特定した複数の物理機器に順序付けを行う場合について説明したが、実施形態はこれに限定されるものではない。例えば、再作成部111eは、物理資源の空き容量とは関係なく、特定した複数の物理機器に任意に順序付けを行うようにしてもよい。 In the example illustrated in FIG. 13, a case has been described in which the re-creation unit 111e orders the plurality of identified physical devices in descending order of physical resource capacity of the identified plurality of physical devices. It is not limited to this. For example, the re-creation unit 111e may arbitrarily order the specified plurality of physical devices regardless of the free capacity of the physical resource.
図14は、物理機器障害通知を受信した場合の仮想機器配置スケジューラ機能部111による処理手順を示すフローチャートである。図14に示すように、障害判定部111cは、物理機器障害通知を受信したか否かを判定する(ステップS101)。ここで、障害判定部111cは、物理機器障害通知を受信したと判定した場合(ステップS101、Yes)、仮想マシンに対して実施中の復旧処理が存在するか否かを判定する(ステップS102)。なお、障害判定部111cは、物理機器障害通知を受信しなかったと判定した場合(ステップS101、No)、物理機器障害通知を受信したか否かを判定する。
FIG. 14 is a flowchart illustrating a processing procedure performed by the virtual device arrangement
障害判定部111cは、仮想マシンに対して実施中の復旧処理が存在すると判定しなかった場合(ステップS102、No)、ステップS107に移行する。一方、障害判定部111cは、仮想マシンに対して実施中の復旧処理が存在すると判定した場合(ステップS102、Yes)、仮想マシンに対して実施中の復旧処理が物理機器の障害に起因するか否かを判定する(ステップS103)。ここで、障害判定部111cは、仮想マシンに対して実施中の復旧処理が物理機器の障害に起因すると判定しなかった場合(ステップS103、No)、ステップS106に移行する。
If the
障害判定部111cは、仮想マシンに対して実施中の復旧処理が物理機器の障害に起因すると判定した場合(ステップS103、Yes)、物理機器障害通知が再送か否かを判定する(ステップS104)。例えば、障害判定部111cは、障害が通知された物理機器で稼働する仮想マシンの進捗状態が削除中である場合、物理機器障害通知が再送であると判定する。一方、障害判定部111cは、障害が通知された物理機器で稼働する仮想マシンの進捗状態が削除中でない場合、物理機器障害通知が再送ではないと判定する。すなわち、障害判定部111cは、障害が通知された物理機器で稼働する仮想マシンの進捗状態が稼働中又は作成中である場合、物理機器障害通知が再送ではないと判定する。
If the
障害判定部111cは、物理機器障害通知が再送であると判定した場合(ステップS104、Yes)、通知を破棄して(ステップS105)、処理を終了する。一方、障害判定部111cは、物理機器障害通知が再送であると判定しなかった場合(ステップS104、No)、実施中の処理を中止させる(ステップS106)。そして、障害判定部111cは、仮想マシン削除部111d及び再作成部111eに復旧処理を実施させる(ステップS107)。
If the
図15は、仮想マシンダウン通知を受信した場合の仮想機器配置スケジューラ機能部111による処理手順を示すフローチャートである。図15に示すように、障害判定部111cは、仮想マシンダウン通知を受信したか否かを判定する(ステップS201)。ここで、障害判定部111cは、仮想マシンダウン通知を受信したと判定した場合(ステップS201、Yes)、仮想マシンに対して実施中の復旧処理が存在するか否かを判定する(ステップS202)。なお、障害判定部111cは、仮想マシンダウン通知を受信しなかったと判定した場合(ステップS201、No)、仮想マシンダウン通知を受信したか否かを判定する。
FIG. 15 is a flowchart illustrating a processing procedure performed by the virtual device arrangement
障害判定部111cは、仮想マシンに対して実施中の復旧処理が存在すると判定しなかった場合(ステップS202、No)、ステップS206に移行する。一方、障害判定部111cは、仮想マシンに対して実施中の復旧処理が存在すると判定した場合(ステップS202、Yes)、仮想マシンに対して実施中の復旧処理が第1の復旧処理であるか否かを判定する(ステップS203)。ここで、障害判定部111cは、仮想マシンに対して実施中の復旧処理が第1の復旧処理であると判定しなかった場合(ステップS203、No)、実施中の処理を中止させる(ステップS204)。そして、障害判定部111cは、仮想マシン削除部111d及び再作成部111eに復旧処理を実施させる(ステップS206)。
If the
一方、障害判定部111cは、仮想マシンに対して実施中の復旧処理が第1の復旧処理であると判定した場合(ステップS203、Yes)、通知を破棄して(ステップS205)、処理を終了する。
On the other hand, when the
上述したように、第1の実施形態に係る仮想機器管理装置109は、物理機器故障時と仮想マシンダウン時の復旧方法として統一的手段で行い、物理機器故障と仮想マシンダウンが重複しても、仮想マシンのステータスを管理し、仮想マシンが2重起動しないように復旧を行う。
As described above, the virtual
例えば、第1の実施形態に係る仮想機器管理装置109は、仮想マシンを稼働させる物理機器の障害に起因する第1の復旧処理が実施中であるときに物理機器の障害が新たに検出された場合、通知が再送であると判定し、新たに検出された障害に起因する第1の復旧処理及び第2の復旧処理を実施しない。
For example, the virtual
また、第1の実施形態に係る仮想機器管理装置109は、仮想マシンを稼働させる物理機器の障害に起因する第2の復旧処理が実施中であるときに物理機器の障害が新たに検出された場合、実施中の第2の復旧処理を中止させる。そして、第1の実施形態に係る仮想機器管理装置109は、新たなイベントとして物理機器の復旧処理を実施する。
In addition, the virtual
また、第1の実施形態に係る仮想機器管理装置109は、仮想マシンの障害に起因する実施中の復旧処理が存在するときに仮想マシンを稼働させる物理機器の障害が新たに検出された場合、実施中の復旧処理を中止させる。そして、第1の実施形態に係る仮想機器管理装置109は、新たに検出された障害に起因する第1の復旧処理と第2の復旧処理とを実施する。
Further, the virtual
また、第1の実施形態に係る仮想機器管理装置109は、第1の復旧処理が実施中であるときに仮想マシンの障害が新たに検出された場合、新たに検出された障害に起因する第1の復旧処理と第2の復旧処理とを実行しない。
In addition, when a virtual machine failure is newly detected while the first recovery process is being performed, the virtual
また、第1の実施形態に係る仮想機器管理装置109は、第2の復旧処理が実施中であるときに仮想マシンの障害が新たに検出された場合、実施中である第2の復旧処理を中止させ、新たに検出された障害に起因する第1の復旧処理と第2の復旧処理とを実施する。
Further, the virtual
このように、第1の実施形態に係る仮想機器管理装置109は、物理機器故障と仮想マシンダウンが重複しても、仮想マシンのステータスを管理することで、仮想マシンが2重起動しないように復旧を実施する。この結果、第1の実施形態に係る仮想機器管理装置109は、仮想マシンを安全に復旧することができる。
As described above, the virtual
また、第1の実施形態に係る仮想機器管理装置109は、障害の生じた物理機器以外の物理機器のうち物理資源の空き容量のある物理機器を複数特定する。そして、第1の実施形態に係る仮想機器管理装置109は、特定した複数の物理機器の物理資源を、障害の生じた物理機器に配置された仮想機器の再配置先として選択する。すなわち、第1の実施形態に係る仮想機器管理装置109は、複数台の物理機器を仮想機器の復旧先として利用する。これにより、第1の実施形態に係る仮想機器管理装置109は、仮想機器を復旧するまでの時間を短縮することができる。
In addition, the virtual
より具体的には、従来方式では、N−Act、M−Sbyでクラスタを組み物理機器に障害が起きた際に、Pacemaker等の高可用ソフトウェアの機能によりStandby機にフェールオーバーし、OpenStack等のクラウドコントローラのDBを元に仮想機器を再構築していた。ここで、従来方式では、HAクラスタソフトウェアを用いたフェールオーバーは、1台のStandby機に仮想機器を新たに再構築するため、全仮想機器の復旧に時間がかかるという問題がある。 More specifically, in the conventional method, when a failure occurs in a physical device by combining a cluster with N-Act and M-Sby, the system is failed over to a Standby machine by the function of highly available software such as Pacemaker, and OpenStack or the like. The virtual device was reconstructed based on the cloud controller database. Here, in the conventional method, the failover using the HA cluster software has a problem that it takes time to recover all the virtual devices because a new virtual device is reconstructed in one Standby machine.
一方、第1の実施形態に係る仮想機器管理装置109では、N−Act、0−Sbyでクラスタを組み、物理機器に障害が起きた際は、高可用ソフトウェアの機能により障害を検知するが、フェールオーバーせずに物理機器の障害を仮想機器管理装置109に通知する。仮想機器管理装置109は、各仮想機器に対して、再配置する複数の物理機器を決定し、配置する物理機器を指定してクラウドコントローラ108に再作成依頼を行う。そして、クラウドコントローラ108は、指定された物理機器に仮想機器を作成する。
On the other hand, in the virtual
このように、第1の実施形態に係る仮想機器管理装置109は、故障した物理機器上で動作していた仮想機器を、複数台の物理機器に再作成することで高速に復旧する。言い換えると、仮想機器管理装置109は、複数台の物理機器を復旧先として利用するため、物理機器故障時の仮想機器復旧時間が短縮される。例えば、移行先物理機器が3台の場合は、復旧処理時間が1/3に短縮できる。
As described above, the virtual
また、第1の実施形態に係る仮想機器管理装置109は、Pacemaker等の高可用ソフトウェアでN−Act、0−Sbyでクラスタを組み障害検知を行う。ここで、第1の実施形態に係る仮想機器管理装置109は、クラスタの枠を超えて故障復旧を行うことが出来るため、移行先物理機器の台数をクラスタサイズ以上にとることもできる。これにより、復旧時間をより短縮できる。
Also, the virtual
更に、仮想機器管理システムでは、障害検知のためのクラスタはN−Act、0−Sbyであるため、Standby用の物理機器を準備する必要がなく、物理機器数の増大を抑えることができる。 Furthermore, in the virtual device management system, the failure detection clusters are N-Act and 0-Sby, so there is no need to prepare a physical device for standby, and an increase in the number of physical devices can be suppressed.
なお、上述した実施形態では、配置先選択部111bは、仮想機器を新規に作成する通常のオペレーション時に、仮想機器を出来るだけ分散して配置するように物理機器103を選択するものとして説明したが実施形態はこれに限定されるものではない。例えば、配置先選択部111bは、仮想機器を新規に作成する通常のオペレーション時には、仮想機器を分散させることなく配置するように物理機器103を選択するようにしてもよい。
In the above-described embodiment, the placement destination selection unit 111b has been described as selecting the
(第2の実施形態)
さて、これまで本発明の実施形態について説明したが、本発明は上述した実施形態以外にも、その他の実施形態にて実施されてもよい。そこで、以下では、その他の実施形態を示す。
(Second Embodiment)
Although the embodiments of the present invention have been described so far, the present invention may be implemented in other embodiments besides the above-described embodiments. Therefore, other embodiments will be described below.
(システム構成)
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述の文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
(System configuration)
Also, among the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。 Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part of the distribution / integration may be functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
(プログラム)
また、上記の実施形態に係る仮想機器管理装置109が実行する処理をコンピュータが実行可能な言語で記述した仮想機器管理プログラムを生成することもできる。この場合、コンピュータが仮想機器管理プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる仮想機器管理プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された仮想機器管理プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、図1等に示した仮想機器管理装置109と同様の機能を実現する仮想機器管理プログラムを実行するコンピュータの一例を説明する。
(program)
It is also possible to generate a virtual device management program in which the processing executed by the virtual
図16は、仮想機器管理プログラムを実行するコンピュータ1000を示す図である。図16に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
FIG. 16 is a diagram illustrating a
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
The
ここで、図16に示すように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した仮想機器管理プログラムは、例えばハードディスクドライブ1031やメモリ1010に記憶される。
Here, as shown in FIG. 16, the
また、仮想機器管理プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した障害判定部111cと同様の情報処理を実行する判定手順と、仮想マシン削除部111dと同様の情報処理を実行する削除手順と、再作成部111eと同様の情報処理を実行する再作成手順とが記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
Further, the virtual device management program is stored in, for example, the
また、仮想機器管理プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
Data used for information processing by the virtual device management program is stored as
なお、仮想機器管理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、仮想機器管理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
Note that the
(その他)
なお、本実施形態で説明した仮想機器管理プログラムは、インターネットなどのネットワークを介して配布することができる。また、特定プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
(Other)
Note that the virtual device management program described in this embodiment can be distributed via a network such as the Internet. The specific program can also be executed by being recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, or a DVD, and being read from the recording medium by the computer.
109 仮想機器管理装置
110 仮想機器配置スケジューラDB
110a 仮想機器配置情報テーブル
110b 物理資源情報テーブル
111 仮想機器配置スケジューラ機能部
111a 作成依頼受付部
111b 配置先選択部
111c 障害判定部
111d 仮想マシン削除部
111e 再作成部
1000 コンピュータ
1010 メモリ
1011 ROM
1012 RAM
1020 CPU
1030 ハードディスクドライブインタフェース
1031 ハードディスクドライブ
1040 ディスクドライブインタフェース
1041 ディスクドライブ
1050 シリアルポートインタフェース
1051 マウス
1052 キーボード
1060 ビデオアダプタ
1061 ディスプレイ
1070 ネットワークインタフェース
1080 バス
1091 OS
1092 アプリケーションプログラム
1093 プログラムモジュール
1094 プログラムデータ
109 Virtual
110a Virtual device arrangement information table 110b Physical resource information table 111 Virtual device arrangement
1012 RAM
1020 CPU
1030 Hard
1092
Claims (8)
前記実施中の復旧処理が存在しない場合に、第1の復旧処理として、前記仮想マシンと前記仮想マシンにより使用される記憶領域との対応付けを削除する、又は、前記対応付けと前記仮想マシンの仮想マシンインスタンスとを削除する削除部と、
前記仮想マシンを稼働させる物理機器を選択し、前記対応付けを削除後、又は、前記対応付けと前記仮想マシンインスタンスとを削除後に、第2の復旧処理として、選択した物理機器に前記仮想マシンを再作成させる再作成部と
を備えたことを特徴とする仮想機器管理装置。 A determination unit that determines whether or not there is a recovery process in progress for the virtual machine when a failure of the virtual machine or a failure of a physical device that operates the virtual machine is detected;
When there is no restoration process in progress, as the first restoration process, the association between the virtual machine and the storage area used by the virtual machine is deleted, or the association and the virtual machine A deletion unit for deleting a virtual machine instance;
After selecting the physical device that operates the virtual machine and deleting the association, or after deleting the association and the virtual machine instance, the virtual machine is added to the selected physical device as a second recovery process. A virtual device management apparatus comprising: a re-creation unit for re-creation.
前記削除部は、前記第1の復旧処理として、前記対応付けを削除することに加えて、前記仮想マシンのインスタンスを削除し、
前記再作成部は、前記対応付けと前記仮想マシンインタンスとを削除後に、前記第2の復旧処理として、選択した物理機器に前記仮想マシンを再作成させる
ことを特徴とする請求項1に記載の仮想機器管理装置。 If a failure of the virtual machine is newly detected when the second recovery process is being performed, the determination unit cancels the second recovery process being performed and is newly detected Causing the deletion unit to execute the first recovery process due to a failure, causing the re-creation unit to execute the second recovery process due to a newly detected failure,
The deletion unit deletes the virtual machine instance in addition to deleting the association as the first recovery process,
The re-creation unit causes the selected physical device to re-create the virtual machine as the second recovery process after deleting the association and the virtual machine instance. Virtual device management device.
前記仮想機器管理装置が、
仮想マシンの障害又は前記仮想マシンを稼働させる物理機器の障害が検出された場合に、前記仮想マシンに対して実施中の復旧処理が存在するか否かを判定する判定工程と、
前記実施中の復旧処理が存在しない場合に、第1の復旧処理として、前記仮想マシンと前記仮想マシンにより使用される記憶領域との対応付けを削除する、又は、前記対応付けと前記仮想マシンの仮想マシンインスタンスとを削除する削除工程と、
前記仮想マシンを稼働させる物理機器を選択し、前記対応付けを削除後、又は、前記対応付けと前記仮想マシンインスタンスとを削除後に、第2の復旧処理として、選択した物理機器に前記仮想マシンを再作成させる再作成工程と
を含んだことを特徴とする仮想機器管理方法。 A virtual device management method executed by a virtual device management apparatus,
The virtual device management apparatus is
A determination step of determining whether there is a recovery process in progress for the virtual machine when a failure of the virtual machine or a failure of a physical device that operates the virtual machine is detected;
When there is no restoration process in progress, as the first restoration process, the association between the virtual machine and the storage area used by the virtual machine is deleted, or the association and the virtual machine A deletion step of deleting the virtual machine instance;
After selecting the physical device that operates the virtual machine and deleting the association, or after deleting the association and the virtual machine instance, the virtual machine is added to the selected physical device as a second recovery process. A virtual device management method comprising: a re-creation step for re-creation.
前記実施中の復旧処理が存在しない場合に、第1の復旧処理として、前記仮想マシンと前記仮想マシンにより使用される記憶領域との対応付けを削除する、又は、前記対応付けと前記仮想マシンの仮想マシンインスタンスとを削除する削除手順と、
前記仮想マシンを稼働させる物理機器を選択し、前記対応付けを削除後、又は、前記対応付けと前記仮想マシンインスタンスとを削除後に、第2の復旧処理として、選択した物理機器に前記仮想マシンを再作成させる再作成手順と
をコンピュータに実行させることを特徴とする仮想機器管理プログラム。 A determination procedure for determining whether there is a recovery process in progress for the virtual machine when a failure of the virtual machine or a failure of a physical device that operates the virtual machine is detected;
When there is no restoration process in progress, as the first restoration process, the association between the virtual machine and the storage area used by the virtual machine is deleted, or the association and the virtual machine Deletion procedure to delete the virtual machine instance,
After selecting the physical device that operates the virtual machine and deleting the association, or after deleting the association and the virtual machine instance, the virtual machine is added to the selected physical device as a second recovery process. A virtual device management program that causes a computer to execute a re-creation procedure for re-creation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014187489A JP5855724B1 (en) | 2014-09-16 | 2014-09-16 | Virtual device management apparatus, virtual device management method, and virtual device management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014187489A JP5855724B1 (en) | 2014-09-16 | 2014-09-16 | Virtual device management apparatus, virtual device management method, and virtual device management program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5855724B1 true JP5855724B1 (en) | 2016-02-09 |
JP2016062140A JP2016062140A (en) | 2016-04-25 |
Family
ID=55269195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014187489A Active JP5855724B1 (en) | 2014-09-16 | 2014-09-16 | Virtual device management apparatus, virtual device management method, and virtual device management program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5855724B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113631430A (en) * | 2019-04-09 | 2021-11-09 | 株式会社自动网络技术研究所 | Vehicle-mounted computer, computer execution method, and computer program |
CN115098112A (en) * | 2022-08-25 | 2022-09-23 | 恒丰银行股份有限公司 | Method, equipment and medium for deploying financial cloud application resources |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6653676B2 (en) * | 2017-03-17 | 2020-02-26 | Kddi株式会社 | Optimal container placement system and container recovery method |
JP6856574B2 (en) * | 2018-05-09 | 2021-04-07 | 日本電信電話株式会社 | Service continuation system and service continuation method |
KR102190767B1 (en) * | 2018-06-20 | 2020-12-15 | 숭실대학교산학협력단 | Apparatus and method for network function virtualization |
JP7056460B2 (en) * | 2018-08-10 | 2022-04-19 | 横河電機株式会社 | Control system and control device |
WO2024121952A1 (en) * | 2022-12-06 | 2024-06-13 | 日本電信電話株式会社 | Failure restoration expediting system, failure restoration expediting method, and failure restoration expediting program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11296383A (en) * | 1998-04-14 | 1999-10-29 | Oki Electric Ind Co Ltd | Program start control method |
JP2009199224A (en) * | 2008-02-20 | 2009-09-03 | Hitachi Ltd | System volume reservation method and computer system using same method |
WO2012077235A1 (en) * | 2010-12-10 | 2012-06-14 | 三菱電機株式会社 | Multiplex system and method for switching multiplex system |
JP2013509626A (en) * | 2009-10-30 | 2013-03-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system, and computer program for fault management in a virtual computing environment |
-
2014
- 2014-09-16 JP JP2014187489A patent/JP5855724B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11296383A (en) * | 1998-04-14 | 1999-10-29 | Oki Electric Ind Co Ltd | Program start control method |
JP2009199224A (en) * | 2008-02-20 | 2009-09-03 | Hitachi Ltd | System volume reservation method and computer system using same method |
JP2013509626A (en) * | 2009-10-30 | 2013-03-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system, and computer program for fault management in a virtual computing environment |
WO2012077235A1 (en) * | 2010-12-10 | 2012-06-14 | 三菱電機株式会社 | Multiplex system and method for switching multiplex system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113631430A (en) * | 2019-04-09 | 2021-11-09 | 株式会社自动网络技术研究所 | Vehicle-mounted computer, computer execution method, and computer program |
CN113631430B (en) * | 2019-04-09 | 2024-06-25 | 株式会社自动网络技术研究所 | Vehicle-mounted computer, computer execution method and computer program |
CN115098112A (en) * | 2022-08-25 | 2022-09-23 | 恒丰银行股份有限公司 | Method, equipment and medium for deploying financial cloud application resources |
Also Published As
Publication number | Publication date |
---|---|
JP2016062140A (en) | 2016-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5855724B1 (en) | Virtual device management apparatus, virtual device management method, and virtual device management program | |
EP3252608B1 (en) | Node system, server device, scaling control method, and program | |
US8996477B2 (en) | Multiple node/virtual input/output (I/O) server (VIOS) failure recovery in clustered partition mobility | |
US7849178B2 (en) | Grid computing implementation | |
CN106528327B (en) | A kind of data processing method and backup server | |
CN105095317B (en) | Distributed data base service management system | |
CN103618627B (en) | A kind of manage the method for virtual machine, Apparatus and system | |
CN103176831B (en) | A kind of dummy machine system and management method thereof | |
KR20140025503A (en) | Replaying jobs at a secondary location of a service | |
CN106330523A (en) | Cluster server disaster recovery system and method, and server node | |
JP2014522052A (en) | Reduce hardware failure | |
CN111935244B (en) | Service request processing system and super-integration all-in-one machine | |
CN105471994B (en) | A kind of control method and device | |
CN113872997B (en) | Container group POD reconstruction method based on container cluster service and related equipment | |
CN112395047A (en) | Virtual machine fault evacuation method, system and computer readable medium | |
CN112887367B (en) | Method, system and computer readable medium for realizing high availability of distributed cluster | |
CN110580198A (en) | Method and device for adaptively switching OpenStack computing node into control node | |
JP6277069B2 (en) | Virtual device management apparatus, virtual device management method, and virtual device management program | |
JP2011209811A (en) | Virtual machine system and virtual machine arrangement method | |
CN114363356B (en) | Data synchronization method, system, device, computer equipment and storage medium | |
CN112398668B (en) | IaaS cluster-based cloud platform and node switching method | |
JP2023114665A (en) | Program, information processing method, and information processing system | |
JP5617586B2 (en) | Information processing program, relay device, and relay management device | |
US7558858B1 (en) | High availability infrastructure with active-active designs | |
JP2016057933A (en) | Information processing system, storage device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151209 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5855724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |