JP6464704B2 - Fault tolerant system, active device, standby device, failover method, and failover program - Google Patents
Fault tolerant system, active device, standby device, failover method, and failover program Download PDFInfo
- Publication number
- JP6464704B2 JP6464704B2 JP2014243699A JP2014243699A JP6464704B2 JP 6464704 B2 JP6464704 B2 JP 6464704B2 JP 2014243699 A JP2014243699 A JP 2014243699A JP 2014243699 A JP2014243699 A JP 2014243699A JP 6464704 B2 JP6464704 B2 JP 6464704B2
- Authority
- JP
- Japan
- Prior art keywords
- active
- virtual machine
- memory area
- failure
- standby
- 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
Description
本発明は、仮想マシンのフォールトトレランスを実現する技術に関する。 The present invention relates to a technique for realizing fault tolerance of a virtual machine.
サービスを提供するサーバシステムでは、サーバに障害が発生してもサービスを継続するフォールトトレランスが求められる。そのため、そのようなサーバシステムでは、稼働系サーバおよび待機系サーバからなる冗長構成が採用される。サーバが仮想マシンである場合も、稼働系の仮想マシンが動作するサーバとは異なるサーバに待機系の仮想マシンを動作させることにより、フォールトトレランスを実現する技術が知られている。 In a server system that provides a service, fault tolerance is required to continue the service even if a failure occurs in the server. Therefore, in such a server system, a redundant configuration including an active server and a standby server is employed. Even when the server is a virtual machine, a technique for realizing fault tolerance by operating a standby virtual machine on a server different from the server on which the active virtual machine operates is known.
例えば、特許文献1には、待機系サーバを必要としない仮想マシンのフォールトトレラントシステムが記載されている。この関連技術は、複数のサーバ上でそれぞれ複数の仮想マシンを動作させる。詳細には、各サーバは、1つ以上のプライマリの仮想マシンと、1つ以上のセカンダリの仮想マシンとを動作させる。また、あるサーバで稼働するプライマリの仮想マシンに対して、ペアとなるセカンダリの仮想マシンは、他のサーバで動作するよう構成される。そして、プライマリの仮想マシンのデータが動作するサーバから、ペアとなるセカンダリの仮想マシンが動作するサーバに対して、プライマリの仮想マシンのデータを定期的に送信する。これにより、この関連技術は、待機系サーバを必要とせずに、各サーバで稼働する仮想マシンのフォールトトレランスを実現している。
For example,
また、特許文献2には、稼働系の仮想マシンおよび待機系の仮想マシン間でのデータ転送量を削減する技術が記載されている。この関連技術は、稼働系の仮想マシンが動作するマシンおよび待機系の仮想マシンが動作するマシン間でストレージを共有することを前提とする。そして、稼働系の仮想マシンは、共有ストレージに読み出し命令が発生すると、読み出し命令の読み込み位置、読み出し位置および読み出しサイズを記憶する。そして、稼働系の仮想マシンは、読み込み位置、読み出し位置および読み出しサイズを待機系に転送する。また、待機系の仮想マシンは、受信した読み込み位置、読み出し位置および読み出しサイズにしたがって、仮想マシンメモリに、共有ストレージ上のデータを読み込む。これにより、この関連技術は、稼働系および待機系の仮想マシン間で、仮想マシンメモリの内容そのものを転送する必要がなく、データ転送量を削減している。
また、特許文献2には、この関連技術が、複数の仮想マシンに対するフォールトトレランスの実現にも適用可能であることが記載されている。この関連技術は、ある稼働系マシンで動作する仮想マシンに同期する仮想マシンと、他の稼働系マシンで動作する仮想マシンに同期する仮想マシンとを、1つの待機系装置上で動作させる。
しかしながら、特許文献1および特許文献2に記載されたものは、待機系の仮想マシンを動作させるためのコストが高いという課題がある。以下、待機系の仮想マシンを動作させるためのコストを、単に、待機系にかかるコストとも記載する。
However, those described in
例えば、特許文献1に記載された関連技術は、N個の稼働系の仮想マシンに対して同数の待機系の仮想マシンを必要とする。さらに、この関連技術は、合計N×2個の仮想マシンを分散して動作させるため、複数の仮想マシンの動作を可能にする複数のマシンを必要とする。ここで、複数の仮想マシンを動作させることが可能なマシンは、一般にコストが高くなる。そのため、この関連技術は、稼働系の仮想マシン数が多いほど、待機系にかかるコストを増大させる。
For example, the related technology described in
また、特許文献2に記載された関連技術は、N個の稼働系の仮想マシンに対して同数の待機系のマシンを必要とする。そのため、この関連技術は、稼働系の仮想マシンの数が多いほど、より多くの待機系装置が必要となり、待機系にかかるコストを増大させる。
Further, the related art described in
あるいは、特許文献2に記載された関連技術は、N個の稼働系の仮想マシンに対して、N個の仮想マシンの動作を可能にする待機系のマシンを必要とする。上述のように、複数の仮想マシンを動作させることが可能なマシンは、一般にコストが高い。また、稼働系の仮想マシンの数が多いほど、待機系のマシンは、より多くの仮想マシンを動作させるためにより多くのリソースを必要とする。そのため、この関連技術は、稼働系の仮想マシンの数が多いほど、待機系にかかるコストを増大させる。
Alternatively, the related technology described in
このように、上述の関連技術では、システムの規模が大きくなるほど、待機系の仮想マシンを動作させるためのマシンまたはリソースが増えて行く。そのため、待機系にかかるコスト(マシン費用、メンテナンス費用、電力費用等)が増大するという課題があった。 As described above, in the related technology described above, the machine or the resource for operating the standby virtual machine increases as the scale of the system increases. For this reason, there is a problem that the cost (machine cost, maintenance cost, power cost, etc.) required for the standby system increases.
本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、仮想マシンによって構成されるサーバシステムの規模が増大しても、待機系にかかるコストを抑えてフォールトトレランスを実現する技術を提供することを目的とする。 The present invention has been made to solve the above-described problems. That is, an object of the present invention is to provide a technique for realizing fault tolerance while suppressing the cost of a standby system even when the scale of a server system configured by virtual machines increases.
本発明のフォールトトレラントシステムは、稼働系装置および待機系装置によって共有される共有ストレージと、前記稼働系装置上で動作する稼働系仮想マシンの仮想マシン用メモリ領域の内容(メモリ領域データ)を前記稼働系装置から前記共有ストレージに転送して二重化するメモリ領域データ二重化部と、前記稼働系装置の障害発生を検出する障害検出部と、前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データを前記共有ストレージから前記待機系装置に転送するメモリ領域データ取得部と、前記障害検出部により障害発生が検出されると、前記メモリ領域データ取得部によって取得されたメモリ領域データを用いて、前記待機系装置において待機系仮想マシンを動作させるとともに、前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンの機能を前記待機系仮想マシンで継続するよう切り替える切替部と、を備える。 The fault-tolerant system of the present invention includes a shared storage shared by an active system device and a standby system device, and contents (memory area data) of a virtual machine memory area of an active virtual machine operating on the active system device. A memory area data duplexing unit that transfers data from the active device to the shared storage and duplicates it, a failure detection unit that detects a failure in the active device, and an active system that operates in the active device in which the failure is detected A memory area data acquisition unit that transfers memory area data of a virtual machine from the shared storage to the standby system device, and a memory area acquired by the memory area data acquisition unit when a failure occurrence is detected by the failure detection unit The standby virtual machine is operated in the standby system using the data, and the failure is Generation and a switching section for switching so as to continue the function of operating system virtual machine operating in operating system device detected by the standby virtual machine.
また、本発明の稼働系装置は、上述のフォールトトレラントシステムにおいて、前記メモリ領域データ二重化部を有する。 Moreover, the active system apparatus of this invention has the said memory area data duplication part in the above-mentioned fault tolerant system.
また、本発明の待機系装置は、上述のフォールトトレラントシステムにおいて、前記メモリ領域データ取得部と、前記切替部と、を有する。 Further, the standby system apparatus of the present invention includes the memory area data acquisition unit and the switching unit in the fault tolerant system described above.
また、本発明のフェイルオーバー方法は、稼働系装置および待機系装置によって共有される共有ストレージを用いて、前記稼働系装置上で動作する稼働系仮想マシンの仮想マシン用メモリ領域の内容(メモリ領域データ)を前記稼働系装置から前記共有ストレージに転送して二重化し、前記稼働系装置の障害発生を検出すると、前記障害発生を検出した稼働系装置において動作する稼働系仮想マシンのメモリ領域データを前記共有ストレージから前記待機系装置に転送し、前記待機系装置において、前記共有ストレージから転送されたメモリ領域データを用いて待機系仮想マシンを動作させ、前記障害発生を検出した稼働系装置において動作する稼働系仮想マシンの機能を前記待機系仮想マシンで継続するよう切り替える。 In addition, the failover method of the present invention uses the shared storage shared by the active device and the standby device, and uses the contents of the virtual machine memory area (memory area) of the active virtual machine operating on the active device. Data) is transferred from the active device to the shared storage and duplicated, and when the occurrence of a failure in the active device is detected, the memory area data of the active virtual machine that operates in the active device that has detected the failure is Transfer from the shared storage to the standby system device, operate the standby virtual machine using the memory area data transferred from the shared storage in the standby system, and operate in the active system device that detected the failure occurrence The function of the active virtual machine to be switched is switched to continue with the standby virtual machine.
また、本発明の他のフェイルオーバー方法は、待機系装置が、稼働系装置上で動作する稼働系仮想マシンの仮想マシン用メモリ領域の内容(メモリ領域データ)が二重化された共有ストレージを用いて、前記稼働系装置の障害発生が検出されると、前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データを前記共有ストレージから取得し、前記共有ストレージから取得したメモリ領域データを用いて待機系仮想マシンを動作させ、前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンの機能を前記待機系仮想マシンで継続するよう切り替える。 In addition, another failover method of the present invention uses a shared storage in which the contents of the virtual machine memory area (memory area data) of the active virtual machine operating on the active system are duplicated by the standby system. When the occurrence of a failure in the active device is detected, the memory area data of the active virtual machine operating in the active device in which the failure has been detected is acquired from the shared storage, and the memory acquired from the shared storage The standby virtual machine is operated using the area data, and the function of the active virtual machine operating in the active device in which the occurrence of the failure is detected is switched to continue in the standby virtual machine.
また、本発明のフェイルオーバープログラムは、稼働系装置上で動作する稼働系仮想マシンの仮想マシン用メモリ領域の内容(メモリ領域データ)が二重化された共有ストレージを用いて、前記稼働系装置の障害1発生が検出されると、前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データを前記共有ストレージから取得するメモリ領域データ取得ステップと、前記メモリ領域データ取得ステップで取得されたメモリ領域データを用いて待機系仮想マシンを動作させる待機系仮想マシン動作ステップと、前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンの機能を前記待機系仮想マシンで継続するよう切り替える切替ステップと、を待機系装置に実行させる。 In addition, the failover program of the present invention uses the shared storage in which the contents (memory area data) of the virtual machine memory area of the active virtual machine operating on the active system are duplicated, and the failure of the active system When one occurrence is detected, a memory region data acquisition step for acquiring memory region data of an active virtual machine operating in the active device in which the failure has been detected from the shared storage; and a memory region data acquisition step A standby virtual machine operation step for operating the standby virtual machine using the acquired memory area data, and a function of the active virtual machine that operates in the active device in which the occurrence of the failure is detected are described in the standby virtual machine. The standby system device executes the switching step for switching to continue.
また、本発明の他のフェイルオーバー方法は、稼働系装置が、自装置および待機系装置によって共有される共有ストレージに、自装置上で動作する稼働系仮想マシンの仮想マシン用メモリ領域の内容(メモリ領域データ)を転送して二重化する。 In addition, according to another failover method of the present invention, the active system device stores the contents of the virtual machine memory area of the active virtual machine operating on the own device in the shared storage shared by the own device and the standby system device ( (Memory area data) is transferred and duplicated.
また、本発明の他のフェイルオーバープログラムは、自装置および待機系装置によって共有される共有ストレージに、自装置上で動作する稼働系仮想マシンの仮想マシン用メモリ領域の内容(メモリ領域データ)を転送して二重化するメモリ領域データ二重化ステップを、稼働系装置に実行させる。 In addition, another failover program of the present invention stores the contents (memory area data) of the virtual machine memory area of the active virtual machine operating on the own apparatus in the shared storage shared by the own apparatus and the standby apparatus. The operating system apparatus is caused to execute a memory area data duplexing step for transferring and duplicating.
本発明は、仮想マシンによって構成されるサーバシステムの規模が増大しても、待機系にかかるコストを抑えてフォールトトレランスを実現する技術を提供することができる。 The present invention can provide a technique for realizing fault tolerance while suppressing the cost of a standby system even when the scale of a server system configured by virtual machines increases.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(第1の実施の形態)
本発明の第1の実施の形態としてのフォールトトレラントシステム1の構成を図1に示す。図1において、フォールトトレラントシステム1は、1つ以上の稼働系装置10と、待機系装置20と、共有ストレージ30と、障害検出装置40とを備える。なお、図1には、3つの稼働系装置、1つの待機系装置、1つの共有ストレージ、および、1つの障害検出装置を示しているが、本発明のフォールトトレラントシステムが含む各装置の数を限定するものではない。稼働系装置10および待機系装置20は、それぞれ、ネットワークを介して共有ストレージ30と通信可能に接続される。また、稼働系装置10および待機系装置20は、それぞれ、ネットワークを介して障害検出装置40と通信可能に接続される。
(First embodiment)
FIG. 1 shows the configuration of a fault
図2に、フォールトトレラントシステム1を構成する各装置のハードウェア構成の一例を示す。
FIG. 2 shows an example of the hardware configuration of each device constituting the fault
図2において、稼働系装置10は、CPU(Central Processing Unit)1001、メモリ1002、ローカルストレージ1003、および、ネットワークインタフェース1004等のハードウェア要素を含むコンピュータ装置によって構成可能である。メモリ1002は、RAM(Random Access Memory)およびROM(Read Only Memory)等によって構成される。ローカルストレージ1003は、仮想マシン制御プログラムおよび稼働系フォールトトレラントプログラム等を記憶している。ネットワークインタフェース1004は、ネットワークに接続するインタフェースである。
2, the
CPU1001は、ローカルストレージ1003から仮想マシン制御プログラムを読み込んで実行する。これにより、メモリ1002上で、ハイパーバイザー101が動作する。また、ハイパーバイザー101は、メモリ1002上に仮想マシン100を構築して動作させる。以降、稼働系装置10上で動作する仮想マシン100を、稼働系仮想マシン100とも記載する。稼働系仮想マシン100は、メモリ1002内に確保される仮想マシン用メモリ領域102を用いて動作する。また、稼働系仮想マシン100のローカルデータは、共有ストレージ30内に保存される。
The
また、CPU1001は、ローカルストレージ1003から稼働系フォールトトレラントプログラムを読み込んで実行する。これにより、CPU1001は、ネットワークインタフェース1004を制御しながら、稼働系装置10上に後述の機能ブロックを実現する。
Further, the
待機系装置20は、CPU2001、メモリ2002、ローカルストレージ2003、および、ネットワークインタフェース2004等を含むコンピュータ装置によって構成可能である。メモリ2002は、RAMおよびROM等によって構成される。ローカルストレージ2003は、仮想マシン制御プログラムおよび待機系フォールトトレラントプログラム等を記憶している。ネットワークインタフェース2004は、ネットワークに接続するインタフェースである。
The
CPU2001は、メモリ2002から仮想マシン制御プログラムを読み込んで実行する。これにより、メモリ2002上で、ハイパーバイザー201が動作する。また、ハイパーバイザー201は、メモリ2002上に仮想マシン200を構築して動作させることが可能である。ただし、いずれの稼働系装置10にも障害が発生していない通常時において、待機系装置20の仮想マシン200は停止している。以降、待機系装置20上で動作し得る仮想マシン200を、待機系仮想マシン200とも記載する。待機系仮想マシン200は、メモリ2002内に確保される仮想マシン用メモリ領域202を用いて動作する。また、待機系仮想マシン200は、共有ストレージ30内に保存されるいずれかの稼働系仮想マシン100のローカルデータを用いて動作することが可能となるよう構成される。
The
また、CPU2001は、メモリ2002から待機系フォールトトレラントプログラムを読み込んで実行する。これにより、CPU2001は、ネットワークインタフェース2004を制御しながら、待機系装置20上における後述の機能ブロックを実現する。
Further, the
共有ストレージ30は、ネットワークに接続され、稼働系装置10および待機系装置20によって共有される。なお、共有ストレージ30をネットワークに接続するためのネットワークインタフェースおよびその動作を制御するプロセッサ、メモリ等のハードウェア要素については、図示を省略している。例えば、共有ストレージ30は、SAN(Storage Area Network)システムまたはNAS(Network Attached Storage)によって構成されていてもよい。また、共有ストレージ30は、RAID(Redundant Arrays of Inexpensive Disks)として機能する装置であってもよい。
The shared
障害検出装置40は、CPU4001、メモリ4002、ローカルストレージ4003、および、ネットワークインタフェース4004等のハードウェア要素を含むコンピュータ装置によって構成可能である。メモリ4002は、RAMおよびROM等によって構成される。ローカルストレージ4003は、本実施の形態の障害検出装置40を動作させるためのプログラムを記憶している。ネットワークインタフェース4004は、ネットワークに接続するインタフェースである。CPU4001は、ローカルストレージ4003からプログラムを読み込んで実行することにより、ネットワークインタフェース4004を制御しながら、障害検出装置40の後述の機能を実現する。
The
なお、フォールトトレラントシステム1を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
Note that the hardware configuration of each device and each functional block constituting the fault-
次に、フォールトトレラントシステム1の機能ブロック構成を図3に示す。図3において、稼働系装置10は、メモリ領域データ二重化部11を有する。また、待機系装置20は、メモリ領域データ取得部21と、切替部22とを有する。また、障害検出装置40は、障害検出部41を有する。
Next, the functional block configuration of the fault
メモリ領域データ二重化部11は、稼働系仮想マシン100によって利用される仮想マシン用メモリ領域102の内容(メモリ領域データ)を共有ストレージ30に記憶させることによってデータを二重化する。メモリ領域データには、稼働系仮想マシン100によって利用される仮想的なメモリ(主記憶装置)のデータ、CPUコンテキスト、ネットワーク送信用バッファ内容等が含まれている。なお、メモリ領域データ二重化部11は、メモリ領域データを、自装置上の仮想マシンの情報であることを識別可能に、共有ストレージ30に記憶させる。例えば、メモリ領域データ二重化部11は、共有ストレージ30に、稼働系仮想マシン100の識別情報に対応付けてメモリ領域データを記憶させてもよい。また、例えば、メモリ領域データ二重化部11は、メモリ領域データを、所定タイミング毎に共有ストレージ30に遅延コピーしてもよい。また、例えば、メモリ領域データ二重化部11は、メモリ領域データのうちダーティページを遅延コピーするようにしてもよい。なお、メモリ領域データ二重化部11は、メモリ領域データを共有ストレージ30に記憶させて二重化する手法として、各種公知の技術を採用可能である。
The memory area data duplexing unit 11 duplexes data by storing the contents (memory area data) of the virtual
共有ストレージ30は、稼働系仮想マシン100毎に、それぞれのメモリ領域データを記憶する。
The shared
障害検出部41は、稼働系装置10における障害の発生を検出する。稼働系装置10における障害発生を検出する手法としては、コンピュータ装置の物理的な障害を検出する各種公知の手法を採用することが可能である。また、障害検出部41は、稼働系装置10における障害発生を示す検出情報を、待機系装置20に通知する。例えば、障害検出部41は、障害が発生した稼働系装置10を識別する情報を、検出情報として待機系装置20に通知してもよい。
The
メモリ領域データ取得部21は、障害発生が検出された稼働系装置10において動作する稼働系仮想マシン100のメモリ領域データを、共有ストレージ30から取得する。例えば、メモリ領域データ取得部21は、取得したメモリ領域データを、自装置のメモリ2002内の仮想マシン用メモリ領域202に保存する。以降、障害発生が検出された稼働系装置10において動作する稼働系仮想マシン100を、単に、「障害が発生した稼働系仮想マシン100」とも記載する。
The memory area
切替部22は、障害検出部41により障害発生が検出されると、メモリ領域データ取得部21によって取得されたメモリ領域データを用いて、待機系仮想マシン200を動作させる。例えば、切替部22は、障害が発生した稼働系仮想マシン100のメモリ領域データが保存された自装置の仮想マシン用メモリ領域202を用いて動作するよう、待機系仮想マシン200を起動すればよい。また、切替部22は、障害が発生した稼働系仮想マシン100のローカルデータとして共有ストレージ30に保存された情報をローカルデータとして用いるよう、待機系仮想マシン200を起動すればよい。
When the
そして、切替部22は、障害発生が発生した稼働系仮想マシン100の機能を、自装置上で起動した待機系仮想マシン200で継続するよう切り替える処理(フェイルオーバ)を行う。
Then, the switching
以上のように構成されたフォールトトレラントシステム1の動作について、図面を参照して説明する。
The operation of the fault
まず、フォールトトレラントシステム1のメモリ領域データ二重化動作を図4に示す。
First, the memory area data duplication operation of the fault
図4では、まず、稼働系装置10のメモリ領域データ二重化部11は、自装置上で動作する稼働系仮想マシン100によって利用中のメモリ領域データを、共有ストレージ30に記憶させる(ステップS1)。
In FIG. 4, first, the memory area data duplication unit 11 of the
前述のように、メモリ領域データ二重化部11は、メモリ領域データのうちダーティページを共有ストレージ30に記憶させてもよい。また、メモリ領域データ二重化部11は、メモリ領域データを、自装置の情報であることを識別可能に、共有ストレージ30に記憶させる。
As described above, the memory area data duplication unit 11 may store the dirty page in the memory area data in the shared
以上の動作を、メモリ領域データ二重化部11は、所定間隔毎に繰り返す。これにより、共有ストレージ30には、各稼働系装置10上で動作する稼働系仮想マシン100毎にメモリ領域データが二重化される。
The memory area data duplication unit 11 repeats the above operation at predetermined intervals. As a result, memory area data is duplicated in the shared
次に、フォールトトレラントシステム1の障害検出動作を図5に示す。
Next, the fault detection operation of the fault
図5では、まず、障害検出装置40の障害検出部41は、各稼働系装置10に障害が発生しているか否かを確認する(ステップS11)。
In FIG. 5, first, the
ここで、障害が発生している稼働系装置10がある場合、障害検出部41は、その稼働系装置10を表す情報を、待機系装置20に通知する(ステップS12)。
Here, when there is an
以上の動作を、障害検出部41は、所定間隔毎に繰り返す。
The
次に、フォールトトレラントシステム1のフェイルオーバー動作を図6に示す。
Next, the failover operation of the fault
図6では、まず、待機系装置20は、障害検出装置40から障害発生を通知されると(ステップS21でY)、以下の動作を開始する。
In FIG. 6, first, the
ここでは、まず、メモリ領域データ取得部21は、共有ストレージ30から、障害が発生した稼働系仮想マシン100について記憶されているメモリ領域データを取得する(ステップS22)。そして、メモリ領域データ取得部21は、取得したメモリ領域データを、自装置の仮想マシン用メモリ領域202に展開する。
Here, first, the memory area
次に、切替部22は、自装置の仮想マシン用メモリ領域202を用いて動作するよう待機系仮想マシン200を起動する(ステップS23)。
Next, the switching
次に、切替部22は、稼働系仮想マシン100の機能を待機系仮想マシン200で継続するよう切り替えを行う(ステップS24)。
Next, the switching
以上で、フェイルオーバー動作の説明を終了する。 This is the end of the description of the failover operation.
次に、本発明の第1の実施の形態の効果について述べる。 Next, effects of the first exemplary embodiment of the present invention will be described.
本発明の第1の実施の形態としてのフォールトトレラントシステムは、仮想マシンによって構成されるサーバシステムの規模が増大しても、待機系にかかるコストを抑えてフォールトトレランスを実現することができる。 The fault-tolerant system as the first embodiment of the present invention can realize fault tolerance while suppressing the cost of the standby system even if the scale of the server system configured by virtual machines increases.
その理由は、それぞれの稼働系装置のメモリ領域データ二重化部が、稼働系仮想マシンのメモリ領域データを、共有ストレージに記憶させることによって二重化するからである。そして、障害検出装置によって稼働系装置の障害が検出されると、待機系装置のメモリ領域データ取得部が、共有ストレージから、障害発生が検出された稼働系装置上の仮想マシンのメモリ領域データを取得する。そして、待機系装置の切替部が、取得したメモリ領域データを用いて待機系仮想マシンを起動し、障害が発生した稼働系仮想マシンの機能を待機系仮想マシンで継続するよう切り替えるからである。 This is because the memory area data duplication unit of each active system device duplicates the memory area data of the active virtual machine by storing it in the shared storage. When a failure of the active device is detected by the failure detection device, the memory area data acquisition unit of the standby device acquires the memory area data of the virtual machine on the active device where the failure is detected from the shared storage. get. This is because the switching unit of the standby system starts the standby virtual machine using the acquired memory area data, and switches the function of the active virtual machine in which the failure has occurred to continue in the standby virtual machine.
このように、本実施の形態は、共有ストレージに各稼働系仮想マシンのメモリ領域データを記憶することによって二重化し、障害発生時に、該当する稼働系仮想マシンのメモリ領域データを待機系装置に転送して稼働系仮想マシンを起動し切替を行う。そのため、本実施の形態は、稼働系仮想マシンと同数の待機系仮想マシンを待機させておく必要がなく、少なくとも1台の待機系装置があればよい。また、待機系装置は、少なくとも1つの待機系仮想マシンを動作可能な性能があればよく、大量のリソースを必要としない。例えば、待機系装置は、稼働系装置と略同性能であればよい。その結果本実施の形態は、稼働系仮想マシン数に関わらず、待機系にかかるコストを抑えてフォールトトレランスを実現することができる。例えば、本実施の形態は、障害の発生がそれほど頻繁でなく、稼働系と待機系とが1対1の場合では待機系が待機状態となっていることが多いシステムにおいて、特に効果を奏する。 As described above, in this embodiment, the memory area data of each active virtual machine is stored in the shared storage to be duplicated, and the memory area data of the corresponding active virtual machine is transferred to the standby system when a failure occurs. Then start and switch the active virtual machine. Therefore, in the present embodiment, it is not necessary to wait for the same number of standby virtual machines as active virtual machines, and it is sufficient if there is at least one standby system device. In addition, the standby apparatus only needs to be capable of operating at least one standby virtual machine, and does not require a large amount of resources. For example, the standby system device may have substantially the same performance as the active system device. As a result, according to the present embodiment, it is possible to realize fault tolerance while suppressing the cost of the standby system regardless of the number of active virtual machines. For example, the present embodiment is particularly effective in a system in which failures frequently occur and the standby system is often in a standby state when the active system and the standby system are on a one-to-one basis.
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。本発明の第1の実施の形態では、本発明の障害検出部の一実施形態である障害検出装置が、稼働系装置の障害を検出して待機系装置に通知する構成について説明した。本実施の形態では、本発明の障害検出部の一実施形態を、稼働系装置および待機系装置に分散して配置する例について説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. In the first embodiment of the present invention, the configuration has been described in which the failure detection device, which is an embodiment of the failure detection unit of the present invention, detects a failure in the active device and notifies the standby device. In the present embodiment, an example will be described in which one embodiment of the failure detection unit of the present invention is distributed and arranged in an active system device and a standby system device.
なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。 Note that, in each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configuration and steps that operate in the same manner as in the first embodiment of the present invention, and the detailed description in the present embodiment. Description is omitted.
まず、本発明の第2の実施の形態としてのフォールトトレラントシステム2の構成を図7に示す。図7において、フォールトトレラントシステム2は、本発明の第1の実施の形態としてのフォールトトレラントシステム1に対して、稼働系装置10に替えて稼働系装置50と、待機系装置20に替えて待機系装置60とを備え、障害検出装置40を含まない点が異なる。なお、フォールトトレラントシステム2のハードウェア構成は、図2に示した本発明の第1の実施の形態のハードウェア要素のうち、障害検出装置40を除いたハードウェア要素によって構成可能である。ただし、フォールトトレラントシステム2を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
First, FIG. 7 shows a configuration of a fault
稼働系装置50は、本発明の第1の実施の形態としての稼働系装置10と同一の構成に加えて、障害検出部52を備える。
The
障害検出部52は、自装置が正常に動作していることを確認する処理を行う。また、障害検出部52は、自装置が正常に動作していることを確認した場合、正常動作していることを表す情報(確認情報)を、待機系装置60に送信する。例えば、障害検出部52は、自装置が共有メモリを更新したか否かを所定間隔毎に確認してもよい。この場合、障害検出部52は、共有メモリの更新を確認した場合、自装置が正常に動作しているとして、その旨を表す確認情報を、待機系装置60に送信する。
The
待機系装置60は、本発明の第1の実施の形態としての待機系装置20と同一の構成に加えて、障害検出部63を備える。
The
障害検出部63は、稼働系装置50からの確認情報の受信状況に基づいて、稼働系装置50における障害発生を検出する。例えば、障害検出部63は、稼働系装置50から定期的に送信されるはずの確認情報を、所定期間受信していない場合に、その稼働系装置50において障害が発生したと判断してもよい。
The
以上のように構成されたフォールトトレラントシステム2の動作について、図面を参照して説明する。なお、フォールトトレラントシステム2のメモリ領域データ二重化動作およびフェイルオーバー動作については、図4および図6を参照して説明した本発明の第1の実施の形態の動作と同様であるため、本実施の形態における説明を省略する。ここでは、フォールトトレラントシステム2の障害検出動作を、図8に示す。なお、図8では、左図は稼働系装置50の動作を示し、右図は待機系装置60の動作を示す。また、左右を結ぶ破線の矢印は、データの流れを示すものとする。
The operation of the fault
図8において、まず、稼働系装置50の障害検出部52は、自装置が正常動作しているか否かを確認し、確認情報を待機系装置60に送信する(ステップS31)。
In FIG. 8, first, the
なお、稼働系装置50が正常動作していない場合、このステップは実行されない。
Note that this step is not executed when the
そして、障害検出部52は、所定間隔毎に、ステップS31の動作を繰り返す。
And the
次に、待機系装置60の障害検出部63は、稼働系装置50から確認情報を受信する(ステップS33)。
Next, the
次に、障害検出部63は、前回の確認情報の受信からの経過時間が所定時間以上となっている稼働系装置50があるか否かを判断する(ステップS34)。
Next, the
ここで、前回の確認情報の受信からの経過時間が所定時間以上となっている稼働系装置50がある場合、障害検出部63は、その稼働系装置50に障害が発生したと判断する。そして、障害検出部63は、障害が発生した稼働系装置50を、切替部22に通知する(ステップS35)。
Here, when there is an
以上で、フォールトトレラントシステム2は、障害検出動作を終了する。
Thus, the fault
そして、障害の発生を通知された切替部22は、メモリ領域データ取得部21を用いて、図6におけるステップS22〜S24を実行し、フェイルオーバーを実施する。
Then, the switching
なお、本実施の形態において、各稼働系装置50の障害検出部52は、自装置が正常動作していることを表す確認情報を、待機系装置60だけでなく、さらに他の稼働系装置50に送信してもよい。この場合、障害検出部52は、他の稼働系装置50からの確認情報の受信状況に基づいて、他の稼働系装置50における障害発生を検出する。例えば、障害検出部52は、他の稼働系装置50から定期的に送信されるはずの確認情報を、所定期間受信していない場合に、その稼働系装置50において障害が発生したと判断してもよい。そして、この場合、障害検出部52は、障害発生を検出した他の稼働系装置50を表す情報を、待機系装置60に送信すればよい。
In the present embodiment, the
また、さらに、本実施の形態において、待機系装置60の障害検出部63は、自装置が正常動作していることを表す確認情報を、稼働系装置50に送信してもよい。この場合、稼働系装置50の障害検出部52は、待機系装置60からの確認情報の受信状況に基づいて、待機系装置60における障害発生を検出する。そして、待機系装置60に障害発生を検出した場合、稼働系装置50は、その旨を出力してもよい。あるいは、フォールトトレラントシステム2が複数の待機系装置60を備える場合、稼働系装置50の障害検出部52は、障害発生の待機系装置60を他の待機系装置60に通知してもよい。これにより、障害が発生していない待機系装置60が、フェイルオーバーを実施可能となる。
Further, in the present embodiment, the
次に、本発明の第2の実施の形態の効果について述べる。 Next, the effect of the second exemplary embodiment of the present invention will be described.
本発明の第2の実施の形態としてのフォールトトレラントシステムは、仮想サーバによって構成されるサーバシステムにおいて、待機系にかかるコストを抑えてフォールトトレランスを実現する際に、稼働系装置の障害をより確実に検出することができる。 The fault tolerant system according to the second embodiment of the present invention is a server system constituted by virtual servers. When the fault tolerance is realized while reducing the cost of the standby system, the failure of the active system apparatus is more sure. Can be detected.
その理由は、稼働系装置の障害検出部が、自装置の正常動作を確認すると確認情報を待機系装置に送信し、待機系装置の障害検出部が、稼働系装置からの確認情報の受信状況に基づいて、稼働系装置における障害発生を検出するからである。 The reason is that the failure detection unit of the active device sends confirmation information to the standby device when the normal operation of the own device is confirmed, and the failure detection unit of the standby device receives the confirmation information from the active device. This is because the occurrence of a failure in the active system is detected based on the above.
また、さらには、稼働系装置の障害検出部が、他の稼働系装置との間で確認情報を送受信することにより他の稼働系装置における障害発生を検出する構成をとる場合の効果について説明する。この場合、本実施の形態は、稼働系装置の障害発生をさらに精度よく検出してフェイルオーバーを実施可能となる。なぜなら、待機系装置は、ある稼働系装置Aからの確認情報の受信状況に加えて、他の稼働系装置Bからの稼働系装置Aに関する障害発生の通知に基づいて、稼働系装置Aの障害を検出可能となるからである。例えば、ある稼働系装置Aが正常動作していても、待機系装置および稼働系装置A間のネットワークに障害が発生する場合がある。このような場合、待機系装置は、稼働系装置Aからの確認情報の受信状況に基づくだけでは、稼働系装置Aに障害が発生していると判断することになる。このとき、稼働系装置Bからの稼働系装置Aに関する障害発生の通知がなければ、待機系装置は、ネットワーク障害であると判断可能になるからである。 Furthermore, an effect in the case where the failure detection unit of the active device is configured to detect the occurrence of a failure in the other active device by transmitting / receiving confirmation information to / from another active device will be described. . In this case, according to the present embodiment, it is possible to detect the occurrence of a failure in the active system apparatus with higher accuracy and perform failover. This is because the standby system device detects the failure of the active system device A based on the notification of the occurrence of the failure related to the active system device A from the other active system device B in addition to the reception status of the confirmation information from the active system device A. This is because it can be detected. For example, even if a certain active device A is operating normally, a failure may occur in the network between the standby device and the active device A. In such a case, the standby apparatus determines that a failure has occurred in the active apparatus A based only on the reception status of the confirmation information from the active apparatus A. At this time, if there is no notification from the active system device B regarding the occurrence of the fault related to the active system device A, the standby system device can determine that there is a network fault.
また、さらには、待機系装置の障害検出部が、自装置が正常動作していることを表す確認情報を稼働系装置に送信し、稼働系装置が待機系装置の障害発生を検出する構成をとる場合の効果について説明する。この場合、本実施の形態は、待機系装置における障害発生を利用者に報知することができる。また、本実施の形態は、複数の待機系装置のうち正常動作している待機系装置を用いて、より確実にフェイルオーバーを実施することができる。 Furthermore, the failure detection unit of the standby device transmits confirmation information indicating that the device is operating normally to the active device, and the active device detects the occurrence of a failure of the standby device. The effect of taking this will be described. In this case, the present embodiment can notify the user of the occurrence of a failure in the standby system device. In addition, according to the present embodiment, failover can be more reliably performed using a standby system device that is operating normally among a plurality of standby system devices.
このように、本実施の形態は、障害検出部を各稼働系装置および待機系装置に分散配置して互いに正常動作を確認することにより、より精度よく、より確実にフォールトトレランスを実現することができる。 As described above, according to the present embodiment, fault tolerance can be more accurately and more reliably realized by distributing failure detection units to each active system device and standby system device and confirming normal operations with each other. it can.
(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。本発明の第1および第2の実施の形態では、共有ストレージ30上にある稼働系仮想マシンのメモリ領域データを、待機系の仮想マシン用メモリ領域へ書き込む処理を、フェイルオーバーを発生させるタイミングで行っていた。このため、本発明の第1および第2の実施の形態は、通常時から待機系を動作させておくシステムに比べて、待機系にかかるコストを削減できる代わりに、フェイルオーバーで発生するダウンタイムが増加するという課題があった。本実施の形態では、このような第1および第2の実施の形態の課題に対する対策を施す例について説明する。
(Third embodiment)
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. In the first and second embodiments of the present invention, the processing of writing the memory area data of the active virtual machine on the shared
なお、本実施の形態の説明において参照する各図面において、本発明の第1および第2の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。 Note that, in each drawing referred to in the description of the present embodiment, the same configurations and steps that operate in the same manner as in the first and second embodiments of the present invention are denoted by the same reference numerals, and the present embodiment. The detailed description in is omitted.
まず、本発明の第3の実施の形態としてのフォールトトレラントシステム3の構成を図9に示す。図9において、フォールトトレラントシステム3は、本発明の第2の実施の形態としてのフォールトトレラントシステム2に対して、待機系装置60に替えて待機系装置70を備える点が異なる。また、待機系装置70は、本発明の第2の実施の形態における待機系装置60に対して、メモリ領域データ取得部21に替えてメモリ領域データ取得部71を備える点が異なる。なお、フォールトトレラントシステム3のハードウェア構成は、図2に示した本発明の第1の実施の形態のハードウェア要素のうち、障害検出装置40を除いたハードウェア要素によって構成可能である。ただし、フォールトトレラントシステム3を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
First, FIG. 9 shows a configuration of a fault
メモリ領域データ取得部71は、稼働系装置50に障害が発生していない通常時に、共有ストレージ30に記憶される各稼働系仮想マシン100のメモリ領域データについて、それぞれの一部を取得しておく。詳細には、メモリ領域データ取得部71は、通常時において、所定タイミング毎に、各メモリ領域データの一部を取得し更新すればよい。また、メモリ領域データ取得部71は、取得した各稼働系仮想マシン100のメモリ領域データの一部を、自装置のメモリ2002内の仮想マシン用メモリ領域202に書き込んでおく。つまり、仮想マシン用メモリ領域202には、各稼働系仮想マシン100のメモリ領域データの一部が、保存され更新されることになる。各メモリ領域データのうち取得する一部分のサイズについては、あらかじめ定められていてもよい。例えば、各稼働系仮想マシン100に割り当てられた仮想マシン用メモリ領域102のサイズが3GB(ギガバイト)である場合、メモリ領域データ取得部71は、そのうち1GBずつを所定タイミング毎に取得・更新してもよい。
The memory area
また、例えば、メモリ領域データのうち取得する一部の内容は、更新頻度に基づき決定されてもよい。例えば、メモリ領域データ取得部71は、共有ストレージ30上に記憶されている稼働系仮想マシン100のメモリ領域データのうち、更新頻度の少ない部分を優先して取得してもよい。具体的には、メモリ領域データ取得部71は、共有ストレージ30上に記憶されている稼働系仮想マシン100のメモリ領域データのうち、所定の低頻度更新条件を満たすデータを取得してもよい。あるいは、メモリ領域データ取得部71は、共有ストレージ30上に記憶されている稼働系仮想マシン100のメモリ領域データのうち、その更新頻度の低い方から順に所定サイズまでのデータを取得してもよい。
Further, for example, some contents to be acquired from the memory area data may be determined based on the update frequency. For example, the memory area
そして、メモリ領域データ取得部71は、障害発生時には、障害発生が検出された稼働系装置50において動作する稼働系仮想マシン100のメモリ領域データの残りを、共有ストレージ30から取得する。例えば、前述のように、各稼働系仮想マシン100のメモリ領域データ3GBのうち1GBずつを仮想マシン用メモリ領域202にロードしていた場合について説明する。この場合、メモリ領域データ取得部71は、仮想マシン用メモリ領域202にロードされているデータのうち、障害が発生していない稼働系仮想マシン100のメモリ領域データを破棄する。そして、メモリ領域データ取得部71は、障害が発生した稼働系仮想マシン100のメモリ領域データの残り2GBを、共有ストレージ30から取得して仮想マシン用メモリ領域202にロードすればよい。
Then, when a failure occurs, the memory area
以上のように構成されたフォールトトレラントシステム3の動作について、図面を参照して説明する。なお、メモリ領域データ二重化動作については、図4を参照して説明した本発明の第1の実施の形態と同様であるため、本実施の形態における説明を省略する。また、障害検出動作については、図8を参照して説明した本発明の第2の実施の形態と同様であるため、本実施の形態における説明を省略する。
The operation of the fault
ここでは、フォールトトレラントシステム3のフェイルオーバー動作を図10に示す。なお、待機系装置70は、各稼働系装置50について、以下の動作を実行するものとする。
Here, the failover operation of the fault
図10において、まず、メモリ領域データ取得部71は、通常時において、共有ストレージ30に記憶される稼働系仮想マシン100のメモリ領域データについて、その一部を取得する(ステップS41)。
In FIG. 10, first, the memory area
次に、メモリ領域データ取得部71は、障害検出部63により障害発生が検出されたか否かを判断する(ステップ42)。
Next, the memory area
ここで、この稼働系装置50に障害が発生していなければ、メモリ領域データ取得部71は、所定間隔経過後に、ステップS41からの動作を繰り返す。
If no failure has occurred in the
一方、この稼働系装置50に障害が発生した場合、メモリ領域データ取得部71は、次のように動作する。すなわち、メモリ領域データ取得部71は、障害発生が検出されたこの稼働系装置50において動作する稼働系仮想マシン100のメモリ領域データの残りを、共有ストレージ30から取得する(ステップS44)。
On the other hand, when a failure occurs in the
以降、待機系装置70は、ステップS23〜S24まで本発明の第1の実施の形態と同様に動作する。これにより、障害が発生した稼働系仮想マシン100のメモリ領域データを用いて、待機系仮想マシン200が起動される。そして、稼働系仮想マシン100から待機系仮想マシン200に運用が切り替えられる。
Thereafter, the
以上で、フェイルオーバー動作の説明を終了する。 This is the end of the description of the failover operation.
次に、本発明の第3の実施の形態の効果について述べる。 Next, effects of the third exemplary embodiment of the present invention will be described.
本発明の第3の実施の形態としてのフォールトトレラントシステムは、仮想サーバによって構成されるサーバシステムにおいて、待機系にかかるコストを抑えてフォールトトレランスを実現しながら、フェイルオーバー時のダウンタイムを短縮することができる。 The fault tolerant system according to the third embodiment of the present invention reduces the downtime at the time of failover in the server system constituted by virtual servers while realizing the fault tolerance while suppressing the cost of the standby system. be able to.
その理由について説明する。本実施の形態では、それぞれの稼働系装置のメモリ領域データ二重化部が、稼働系仮想マシンのメモリ領域データを、共有ストレージに記憶させることによって二重化する。そして、待機系装置のメモリ領域データ取得部が、通常時に、共有ストレージから各稼働系仮想マシンのメモリ領域データの一部を取得する。そして、稼働系装置に障害が検出されると、メモリ領域データ取得部が、障害を発生した稼働系装置上の仮想マシンのメモリ領域データの残りを、共有ストレージから取得するからである。そして、待機系装置の切替部が、通常時に取得しておいた一部および障害発生時に取得した残りを合わせたメモリ領域データを用いて待機系仮想マシンを起動し、障害が発生した稼働系仮想マシンの機能を待機系仮想マシンで継続するよう切り替えるからである。 The reason will be described. In the present embodiment, the memory area data duplication unit of each active system device duplicates the memory area data of the active virtual machine by storing it in the shared storage. Then, the memory area data acquisition unit of the standby system apparatus acquires a part of the memory area data of each active virtual machine from the shared storage at the normal time. When a failure is detected in the active device, the memory area data acquisition unit acquires the remaining memory area data of the virtual machine on the active device in which the failure has occurred from the shared storage. Then, the switching unit of the standby device starts up the standby virtual machine using the memory area data that combines the part acquired during normal operation and the rest acquired when a failure occurs, and the active virtual machine in which the failure occurred This is because the function of the machine is switched to continue in the standby virtual machine.
このように、本実施の形態は、共有ストレージに各稼働系仮想マシンのメモリ領域データを二重化しておき、障害発生時に、該当する稼働系仮想マシンを起動し切替を行うので、本発明の第1の実施の形態と同様に、少なくとも1台の待機系装置があればよい。さらに、本実施の形態は、障害が発生した稼働系仮想マシンのメモリ領域データを、全て障害発生時に待機系装置に転送するのではなく、通常時に一部を転送しておき、障害発生時には残りを転送する。これにより、本実施の形態は、待機系にかかるコストを削減しながらも、障害発生時に転送が必要となるメモリ領域データ量を減らして、ダウンタイムを短縮することができる。 As described above, in this embodiment, the memory area data of each active virtual machine is duplicated in the shared storage, and the corresponding active virtual machine is started and switched when a failure occurs. As in the first embodiment, it is sufficient that there is at least one standby system device. Furthermore, this embodiment does not transfer all the memory area data of the active virtual machine in which a failure has occurred to the standby system when a failure occurs, but transfers a part of it in the normal state and remains in the event of a failure. Forward. As a result, the present embodiment can reduce the downtime by reducing the amount of memory area data that needs to be transferred when a failure occurs, while reducing the cost of the standby system.
さらに、本実施の形態は、待機系装置のメモリ領域データ取得部が、通常時に共有ストレージから取得するメモリ領域データの一部として、更新頻度の少ないものを優先する場合、待機系装置の通常時におけるメモリ領域データの取得負荷を減らすことができる。 Furthermore, in the present embodiment, when the memory area data acquisition unit of the standby system device gives priority to a part of the memory area data acquired from the shared storage that is less frequently updated at normal time, The memory area data acquisition load can be reduced.
(第4の実施の形態)
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。本実施の形態では、本発明の第1および第2の実施の形態におけるフェイルオーバー時のダウンタイム増加という前述の課題に対して、本発明の第3の実施の形態とは異なる対策を施す例について説明する。
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described in detail with reference to the drawings. In the present embodiment, an example in which measures different from those in the third embodiment of the present invention are applied to the above-described problem of increased downtime at the time of failover in the first and second embodiments of the present invention. Will be described.
なお、本実施の形態の説明において参照する各図面において、本発明の第1および第2の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。 Note that, in each drawing referred to in the description of the present embodiment, the same configurations and steps that operate in the same manner as in the first and second embodiments of the present invention are denoted by the same reference numerals, and the present embodiment. The detailed description in is omitted.
まず、本発明の第4の実施の形態としてのフォールトトレラントシステム4の構成を図11に示す。図11において、フォールトトレラントシステム4は、本発明の第2の実施の形態としてのフォールトトレラントシステム2に対して、待機系装置60に替えて待機系装置80を備える点が異なる。また、待機系装置80は、本発明の第2の実施の形態における待機系装置60に対して、メモリ領域データ取得部21に替えてメモリ領域データ取得部81と、障害検出部63に替えて障害検出部83とを備える点が異なる。なお、フォールトトレラントシステム4のハードウェア構成は、図2に示した本発明の第1の実施の形態のハードウェア要素のうち、障害検出装置40を除いたハードウェア要素によって構成可能である。ただし、フォールトトレラントシステム4を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
First, FIG. 11 shows a configuration of a fault tolerant system 4 as a fourth embodiment of the present invention. In FIG. 11, the fault tolerant system 4 is different from the fault
障害検出部83は、稼働系装置50における障害発生の検出に加えて、稼働系装置50における障害発生の兆候を検出する。具体的には、障害検出部83は、各稼働系装置50について、前回の確認情報受信からの経過時間に基づいて、障害発生の兆候および障害発生を判断すればよい。
The
例えば、障害検出部83は、各稼働系装置50について、前回の確認情報受信からの経過時間が第1閾値を超えると、障害発生の兆候を検出したと判断してもよい。この場合、障害検出部83は、経過時間がさらに第2閾値を超えると、障害発生を検出したと判断してもよい。ただし、この場合、第2閾値は、第1閾値より大きい値である。また、第1閾値は、確認情報が送信されるよう定められた所定間隔より大きい値である。
For example, the
具体例として、稼働系装置50が正常動作している場合は、その共有メモリが100ミリ秒ごとに更新されるよう設計されている場合を想定する。この場合、稼働系装置50の障害検出部52は、自装置の共有メモリ領域が更新されているか否かを確認する処理を、100ミリ秒ごとに実施し、確認情報を送信するよう構成されているとする。また、第1閾値として400ミリ秒、第2閾値として800ミリ秒が設定されているとする。この場合、障害検出部83は、400ミリ秒以上確認情報を受信していない稼働系装置50に、障害発生の兆候を検出したと判断する。また、障害検出部83は、さらに400ミリ秒(合計800ミリ秒)以上確認情報を受信していない稼働系装置50に、障害発生を検出したと判断する。
As a specific example, when the
メモリ領域データ取得部81は、障害検出部83により障害発生の兆候が検出されると、次のように動作するよう構成される。すなわち、この場合、メモリ領域データ取得部81は、障害発生の兆候が検出された稼働系装置50において動作する稼働系仮想マシン100について、共有ストレージ30に記憶されるメモリ領域データの取得を開始する。以降、障害発生の兆候が検出された稼働系装置50において動作する稼働系仮想マシン100を、単に「障害発生の兆候が検出された稼働系仮想マシン100」とも記載する。その後、障害発生の兆候が検出された稼働系装置50についてさらに障害発生が検出されると、メモリ領域データ取得部81は、次のように動作するよう構成される。すなわち、この場合、メモリ領域データ取得部81は、障害発生が検出された稼働系仮想マシン100のメモリ領域データの取得を、継続して完了する。
The memory area
なお、障害発生の兆候が検出された稼働系装置50において障害発生が検出されなかった場合、メモリ領域データ取得部81は、障害発生の兆候が検出された稼働系仮想マシン100のメモリ領域データの取得を中止すればよい。例えば、メモリ領域データ取得部81は、障害発生の兆候が検出されてから、前述の第2閾値となる経過時間を過ぎても障害発生が検出されない場合、該当する稼働系仮想マシン100のメモリ領域データの取得を中止すればよい。
When no failure occurrence is detected in the
以上のように構成されたフォールトトレラントシステム4の動作について、図面を参照して説明する。なお、メモリ領域データ二重化動作については、図4を参照して説明した本発明の第1の実施の形態と同様であるため、本実施の形態における説明を省略する。 The operation of the fault tolerant system 4 configured as described above will be described with reference to the drawings. Note that the memory area data duplication operation is the same as that of the first embodiment of the present invention described with reference to FIG.
ここでは、フォールトトレラントシステム4の障害検出・フェイルオーバー動作を図12に示す。なお、待機系装置80は、各稼働系装置50について、以下の動作を実行するものとする。
Here, the fault detection / failover operation of the fault tolerant system 4 is shown in FIG. Note that the
図12では、まず、待機系装置80の障害検出部83は、この稼働系装置50について、障害発生の兆候があるか否かを確認する(ステップS51)。例えば、前述のように、障害検出部83は、前回の確認情報受信からの経過時間が第1閾値を超えたか否かを判断してもよい。
In FIG. 12, first, the
ここで、障害発生の兆候があると判断した場合、メモリ領域データ取得部81は、障害発生の兆候が検出された稼働系仮想マシン100について、共有ストレージ30からメモリ領域データの取得を開始する(ステップS52)。
If it is determined that there is a failure occurrence sign, the memory area
次に、障害検出部83は、障害発生の兆候があるこの稼働系装置50について、障害が発生しているか否かを確認する(ステップS53)。例えば、前述のように、障害検出部83は、該当する稼働系装置50について、前回の確認情報受信からの経過時間が第2閾値を超えたか否かを判断してもよい。
Next, the
ここで、障害が発生していると判断した場合、メモリ領域データ取得部81は、該当する稼働系仮想マシン100のメモリ領域データの取得を継続して完了する(ステップS64)。
If it is determined that a failure has occurred, the memory area
なお、この稼働系装置50において障害発生が検出されなかった場合、メモリ領域データ取得部81は、該当する稼働系仮想マシン100のメモリ領域データの取得を中止すればよい。
If no failure is detected in the
以降、待機系装置60は、ステップS23〜S24まで本発明の第1の実施の形態と同様に動作する。これにより、障害発生が検出された稼働系仮想マシン100のメモリ領域データを用いて、待機系仮想マシン200が起動される。そして、稼働系仮想マシン100から待機系仮想マシン200に運用が切り替えられる。
Thereafter, the
以上で、フェイルオーバー動作の説明を終了する。 This is the end of the description of the failover operation.
次に、本発明の第4の実施の形態の効果について述べる。 Next, effects of the fourth exemplary embodiment of the present invention will be described.
本発明の第4の実施の形態としてのフォールトトレラントシステムは、仮想マシンによって構成されるサーバシステムにおいて、待機系にかかるコストを抑えてフォールトトレランスを実現しながら、フェイルオーバー時のダウンタイムを短縮することができる。 The fault tolerant system as the fourth embodiment of the present invention reduces downtime at the time of failover in a server system constituted by virtual machines while realizing fault tolerance while reducing the cost of the standby system. be able to.
その理由について説明する。本実施の形態では、それぞれの稼働系装置のメモリ領域データ二重化部が、稼働系仮想マシンのメモリ領域データを、共有ストレージに記憶させることによって二重化する。そして、障害検出部が、各稼働系装置について障害の兆候を確認する。そして、障害発生の兆候が検出されると、待機系装置のメモリ領域データ取得部が、障害発生の兆候が検出された稼働系仮想マシンのメモリ領域データについて、共有ストレージからの取得を開始するからである。そして、さらに、障害発生の兆候が検出された待機系装置に障害発生が検出されると、該当するメモリ領域データの取得を継続して完了するからである。そして、切替部が、取得が完了したメモリ領域データを用いて待機系仮想マシンを起動し、障害発生装置上の稼働系仮想マシンの機能を待機系仮想マシンで継続するよう切り替えるからである。 The reason will be described. In the present embodiment, the memory area data duplication unit of each active system device duplicates the memory area data of the active virtual machine by storing it in the shared storage. Then, the failure detection unit confirms a failure sign for each active device. When a failure occurrence sign is detected, the memory area data acquisition unit of the standby device starts acquiring from the shared storage the memory area data of the active virtual machine where the failure occurrence sign is detected. It is. Further, when the occurrence of a failure is detected in the standby system apparatus in which the failure occurrence sign is detected, the acquisition of the corresponding memory area data is continuously completed. This is because the switching unit starts the standby virtual machine using the acquired memory area data, and switches the function of the active virtual machine on the failure occurrence device to be continued in the standby virtual machine.
このように、本実施の形態は、共有ストレージに各稼働系仮想マシンのメモリ領域データを二重化しておき、障害発生時に、該当する稼働系仮想マシンを起動し切替を行うので、本発明の第1の実施の形態と同様に、少なくとも1台の待機系装置があればよい。さらに、本実施の形態は、障害発生が検出された稼働装置上の稼働系仮想マシンのメモリ領域データを、障害が発生してから全て待機系装置に転送するのではなく、障害発生の兆候を検出した時点で、その取得を開始する。そして、本実施の形態は、障害発生時には、該当するメモリ領域データの取得を継続して完了する。これにより、本実施の形態は、待機系装置にかかるコストを削減しながらも、障害発生してから転送が必要となるメモリ領域データ量を減らして、ダウンタイムを短縮することができる。 As described above, in this embodiment, the memory area data of each active virtual machine is duplicated in the shared storage, and the corresponding active virtual machine is started and switched when a failure occurs. As in the first embodiment, it is sufficient that there is at least one standby system device. Furthermore, this embodiment does not transfer all the memory area data of the active virtual machine on the active device in which the failure has been detected to the standby device after the failure has occurred, but displays an indication of the failure. When it is detected, the acquisition is started. In this embodiment, when a failure occurs, the acquisition of the corresponding memory area data is continuously completed. As a result, the present embodiment can reduce the downtime by reducing the amount of memory area data that needs to be transferred after a failure occurs, while reducing the cost of the standby system.
(第5の実施の形態)
次に、本発明の第5の実施の形態について図面を参照して詳細に説明する。本実施の形態では、本発明の第3および第4の実施の形態を組み合わせる例について説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第3および第4の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described in detail with reference to the drawings. In this embodiment, an example in which the third and fourth embodiments of the present invention are combined will be described. In each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configurations and steps that operate in the same manner as in the third and fourth embodiments of the present invention. The detailed description in is omitted.
まず、本発明の第5の実施の形態としてのフォールトトレラントシステム5の構成を図13に示す。図13において、フォールトトレラントシステム5は、本発明の第4の実施の形態としてのフォールトトレラントシステム4に対して、待機系装置80に替えて待機系装置90を備える点が異なる。待機系装置90は、本発明の第4の実施の形態における待機系装置80に対して、メモリ領域データ取得部81に替えてメモリ領域データ取得部91を備える点が異なる。なお、フォールトトレラントシステム5のハードウェア構成は、図2に示した本発明の第1の実施の形態のハードウェア要素のうち、障害検出装置40を除いたハードウェア要素によって構成可能である。ただし、フォールトトレラントシステム5を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
First, FIG. 13 shows a configuration of a fault
メモリ領域データ取得部91は、通常時には、本発明の第3の実施の形態におけるメモリ領域データ取得部71と同様に構成される。つまり、メモリ領域データ取得部91は、稼働系装置50に障害が発生していない通常時において、共有ストレージ30に記憶される各稼働系仮想マシン100のメモリ領域データについて、それぞれの一部を取得しておく。そして、メモリ領域データ取得部91は、取得した各稼働系仮想マシン100のメモリ領域データを、自装置のメモリ2002内の仮想マシン用メモリ領域202に書き込んでおく。
The memory area
また、メモリ領域データ取得部91は、障害検出部83により障害発生の兆候が検出されると、次のように動作するよう構成される。この場合、メモリ領域データ取得部91は、障害発生の兆候が検出された稼働系仮想マシン100について、共有ストレージ30に記憶されるメモリ領域データのうち、通常時に取得されていない残りのデータの取得を開始する。その後、障害発生の兆候が検出された稼働系装置50についてさらに障害発生が検出されると、メモリ領域データ取得部91は、メモリ領域データの取得を継続し完了すればよい。
The memory area
以上のように構成されたフォールトトレラントシステム5の動作について、図面を参照して説明する。なお、フォールトトレラントシステム5のメモリ領域データ二重化動作については、図4を参照して説明した本発明の第1の実施の形態と同様であるため、本実施の形態における説明を省略する。ここでは、フォールトトレラントシステム5の障害検出・フェイルオーバー動作を図14に示す。なお、待機系装置90は、各稼働系装置50について、以下の動作を実行するものとする。
The operation of the fault
図14では、まず、メモリ領域データ取得部91は、この稼働系装置50上で動作する稼働系仮想マシン100について、共有ストレージ30に記憶されるメモリ領域データの一部を取得する(ステップS41)。
In FIG. 14, first, the memory area
次に、メモリ領域データ取得部91は、この稼働系装置50において、障害発生の兆候が検出されたか否かを判断する(ステップS51)。
Next, the memory area
ここで、障害発生の兆候が検出されていなければ、メモリ領域データ取得部91は、所定間隔経過後に、ステップS41からの動作を繰り返す。
Here, if no sign of failure has been detected, the memory area
一方、この稼働系装置50に障害発生の兆候が検出された場合、メモリ領域データ取得部91は、次のように動作する。すなわち、メモリ領域データ取得部91は、障害発生の兆候が検出された稼働系仮想マシン100のメモリ領域データのうち、通常時に取得されていない残りについて、共有ストレージ30からの取得を開始する(ステップS61)。
On the other hand, when a failure occurrence sign is detected in the
以降、待機系装置90は、本発明の第4の実施の形態としての待機系装置80と同様に、ステップS53、S54、S23、S24を実行する。これにより、待機系装置90は、障害発生の兆候が検出された稼働系装置50についてさらに障害発生が検出された場合、該当する稼働系仮想マシン100のメモリ領域データの取得を継続して完了する。そして、障害発生が検出された稼働系仮想マシン100のメモリ領域データを用いて、待機系仮想マシン200が起動される。そして、稼働系仮想マシン100から待機系仮想マシン200に運用が切り替えられる。
Thereafter, the
以上で、フェイルオーバー動作の説明を終了する。 This is the end of the description of the failover operation.
次に、本発明の第5の実施の形態の効果について述べる。 Next, effects of the fifth exemplary embodiment of the present invention will be described.
本発明の第5の実施の形態としてのフォールトトレラントシステムは、仮想マシンによって構成されるサーバシステムにおいて、待機系にかかるコストを抑えてフォールトトレランスを実現しながら、フェイルオーバー時のダウンタイムをより短縮することができる。 The fault tolerant system according to the fifth embodiment of the present invention is a server system constituted by virtual machines, further reducing the downtime during failover while realizing fault tolerance while reducing the cost of the standby system. can do.
その理由について説明する。本実施の形態では、待機系装置のメモリ領域データ取得部が、通常時に各稼働系装置のメモリ領域データの一部を取得しておく。そして、メモリ領域データ取得部が、障害発生の兆候の検出時に、兆候が検出された稼働系仮想マシンについて、通常時に取得されていなかったメモリ領域データの残りの取得を開始する。そして、障害発生の兆候が検出された稼働系装置における障害発生が検出されると、メモリ領域データ取得部が、メモリ領域データの残りの取得を継続して完了し、切替部が、待機系仮想マシンを起動して運用の切り替えを行うからである。 The reason will be described. In the present embodiment, the memory area data acquisition unit of the standby system apparatus acquires a part of the memory area data of each active system apparatus at the normal time. Then, the memory area data acquisition unit starts acquiring the remaining memory area data that has not been acquired at the normal time for the active virtual machine in which the sign has been detected, when the failure occurrence sign is detected. Then, when a failure occurrence is detected in the active system device in which the failure occurrence sign is detected, the memory area data acquisition unit continuously acquires the remaining memory area data, and the switching unit This is because the machine is started and the operation is switched.
このように、本実施の形態は、本発明の第3および第4の実施の形態におけるダウンタイム短縮のための構成を組み合わせることにより、さらに、ダウンタイムを短縮することができる。 Thus, this embodiment can further reduce the downtime by combining the configurations for reducing the downtime in the third and fourth embodiments of the present invention.
なお、上述した本発明の第4および第5の実施の形態において、障害検出部は、障害発生の兆候から障害発生までを第1閾値および第2閾値の2段階で検出する例について説明した。これに限らず、障害検出部は、障害発生の兆候から障害発生までを3段階以上に分けて検出してもよい。 In the above-described fourth and fifth embodiments of the present invention, the example in which the failure detection unit detects from the failure occurrence sign to the failure occurrence in two stages of the first threshold value and the second threshold value has been described. However, the present invention is not limited to this, and the failure detection unit may detect a failure occurrence sign to a failure occurrence in three or more stages.
また、上述した本発明の第2から第5の実施の形態において、各稼働系装置の障害検出部が、共有メモリの更新の有無を確認することによって正常動作しているか否かを確認する例について説明した。これに限らず、各実施の形態における障害検出部は、稼働系装置の障害を検出する各種公知の技術を採用しても実現可能である。 In the second to fifth embodiments of the present invention described above, an example in which the failure detection unit of each active device confirms whether or not the shared memory is operating normally by confirming whether or not the shared memory has been updated. Explained. Not only this but the failure detection part in each embodiment is realizable also if various well-known techniques which detect the failure of an active system apparatus are employ | adopted.
また、上述した本発明の各実施の形態において、フォールトトレラントシステムが、複数台の稼働系装置に対して1台の待機系装置を有する例を中心に説明した。これに限らず、フォールトトレラントシステムは、N台(N>1)の待機系装置を備えていてもよい。この場合、各実施の形態は、N台の稼働系装置に同時に障害が発生した場合にも対応可能となる。具体的には、この場合、各待機系装置は、障害発生装置上の稼働系仮想マシンのそれぞれに対するフェイルオーバーを実施可能となる。このように構成した場合、各実施の形態は、複数の稼働系装置で同時に発生する障害にも対応することができ、信頼性を向上させる。なお、この場合であっても、各実施の形態は、稼働系仮想マシンと同数の待機系仮想マシンを必要とせず、稼働系仮想マシンより少ない数の待機系仮想マシンを動作させることが可能であればよい。したがって、この場合であっても、各実施の形態は、待機系にかかるコストを削減できる。 Further, in each of the embodiments of the present invention described above, the fault tolerant system has been described mainly with respect to an example in which one standby system device is provided for a plurality of active system devices. However, the present invention is not limited to this, and the fault tolerant system may include N (N> 1) standby devices. In this case, each embodiment can deal with a case where a failure occurs simultaneously in N active devices. Specifically, in this case, each standby device can perform failover for each of the active virtual machines on the failure generating device. When configured in this way, each embodiment can cope with failures that occur simultaneously in a plurality of active devices, and improves reliability. Even in this case, each embodiment does not require the same number of standby virtual machines as the active virtual machines, and can operate a smaller number of standby virtual machines than the active virtual machines. I just need it. Therefore, even in this case, each embodiment can reduce the cost for the standby system.
また、上述した本発明の各実施の形態において、稼働系装置および待機系装置は、それぞれ1つずつの仮想マシンを動作させる例を中心に説明した。これに限らず、各実施の形態は、複数の仮想マシンを動作させることが可能な稼働系装置または待機系装置を含んでいてもよい。このような場合であっても、各実施の形態は、稼働系仮想マシンと同数の待機系仮想マシンを必要とせず、稼働系仮想マシンより少ない数の待機系仮想マシンを動作させることが可能であればよい。したがって、この場合であっても、各実施の形態は、待機系にかかるコストを削減できる。 Further, in each of the above-described embodiments of the present invention, the active system apparatus and the standby system apparatus have been described focusing on an example in which one virtual machine is operated. However, the present invention is not limited to this, and each embodiment may include an active device or a standby device capable of operating a plurality of virtual machines. Even in such a case, each embodiment does not require the same number of standby virtual machines as the active virtual machines, and can operate a smaller number of standby virtual machines than the active virtual machines. I just need it. Therefore, even in this case, each embodiment can reduce the cost for the standby system.
また、上述した本発明の各実施の形態において、稼働系装置のローカルデータが共有ストレージに記憶され、フェイルオーバー時には、待機系仮想マシンが、共有ストレージ上で稼働系仮想マシンが用いていたローカルデータを引き継ぐものとして説明した。これに限らず、各稼働系仮想マシンのローカルデータは、待機系仮想マシンによって引き継ぎ可能な場所に記憶されていればよい。例えば、待機系装置が、各稼働系仮想マシンが利用するローカルデータを全て記憶可能な容量のストレージを有していてもよい。この場合、待機系装置のストレージを、drdb(Distributed Replicated Block Device)等の分散ストレージシステムとして機能させてもよい。これにより、稼働系仮想マシンは、そのローカルデータを待機系装置のストレージに記憶させることが可能となる。そして、この場合、フェイルオーバー時には、待機系仮想マシンが、自身が動作する待機系装置のストレージにおいて該当する稼働系仮想マシンのローカルデータを引き継げばよい。 In each embodiment of the present invention described above, the local data of the active system is stored in the shared storage, and the local data used by the active virtual machine on the shared storage is used by the standby virtual machine at the time of failover. It was explained as taking over. Not limited to this, the local data of each active virtual machine only needs to be stored in a location that can be taken over by the standby virtual machine. For example, the standby apparatus may have a storage with a capacity capable of storing all local data used by each active virtual machine. In this case, the storage of the standby device may function as a distributed storage system such as drdb (Distributed Replicated Block Device). Thereby, the active virtual machine can store the local data in the storage of the standby system device. In this case, at the time of failover, the standby virtual machine may take over the local data of the corresponding active virtual machine in the storage of the standby apparatus on which it operates.
また、上述した本発明の各実施の形態において、稼働系装置における障害発生によりフェイルオーバーを実施した後は、待機系装置が、本発明の稼働系装置として動作してもよい。また、この場合、障害から復旧した稼働系装置は、本発明の待機系装置として動作してもよい。このような場合、各実施の形態の稼働系装置は、待機系装置の機能ブロックをさらに有していればよい。また、各実施の形態の待機系装置は、稼働系装置の機能ブロックをさらに有していればよい。また、この場合、フォールトトレラントシステムに含まれる装置のうちいずれの装置が待機系装置となるかを表す情報は、共有ストレージ上に保存されていてもよい。 In each of the above-described embodiments of the present invention, the standby system device may operate as the active system device of the present invention after failover is performed due to the occurrence of a failure in the active system device. In this case, the active system device recovered from the failure may operate as the standby system device of the present invention. In such a case, the active system apparatus of each embodiment should just have the functional block of a standby system apparatus. Moreover, the standby system apparatus of each embodiment should just have the functional block of an active system apparatus. In this case, information indicating which of the devices included in the fault-tolerant system is the standby device may be stored on the shared storage.
また、上述した本発明の各実施の形態において、フォールトトレラントシステムを構成する各装置の各機能ブロックが、記憶装置またはROMに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。 In each of the above-described embodiments of the present invention, each functional block of each device constituting the fault-tolerant system is mainly implemented by a CPU that executes a computer program stored in a storage device or ROM. explained. However, the present invention is not limited to this, and some, all, or a combination of each functional block may be realized by dedicated hardware.
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した各装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータの記憶装置(記憶媒体)に格納しておいてもよい。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。 In the above-described embodiments of the present invention, the operations of the respective devices described with reference to the respective flowcharts may be stored in a computer storage device (storage medium) as the computer program of the present invention. . Then, the computer program may be read and executed by the CPU. In such a case, the present invention is constituted by the code of the computer program or a storage medium.
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。 Moreover, each embodiment mentioned above can be implemented in combination as appropriate.
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。 The present invention is not limited to the above-described embodiments, and can be implemented in various modes.
1、2、3、4、5 フォールトトレラントシステム
10、50 稼働系装置
11 メモリ領域データ二重化部
20、60、70、80、90 待機系装置
21、71、81、91 メモリ領域データ取得部
22 切替部
30 共有ストレージ
40 障害検出装置
41 障害検出部
52、63、83 障害検出部
100 稼働系仮想マシン
200 待機系仮想マシン
101、201 ハイパーバイザー
102、202 仮想マシン用メモリ領域
1001、2001、4001 CPU
1002、2002、4002 メモリ
1003、2003、4003 ローカルストレージ
1004、2004、4004 ネットワークインタフェース
1, 2, 3, 4, 5 Fault
1002, 2002, 4002
Claims (7)
前記稼働系装置上で動作する稼働系仮想マシンの仮想マシン用メモリ領域の内容(メモリ領域データ)を前記稼働系装置から前記共有ストレージに転送して二重化するメモリ領域データ二重化部と、
前記稼働系装置の障害発生を検出する障害検出部と、
前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データを前記共有ストレージから前記待機系装置に転送するメモリ領域データ取得部と、
前記障害検出部により障害発生が検出されると、前記メモリ領域データ取得部によって取得されたメモリ領域データを用いて、前記待機系装置において待機系仮想マシンを動作させるとともに、前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンの機能を前記待機系仮想マシンで継続するよう切り替える切替部と、
を備え、
前記メモリ領域データ取得部は、前記障害検出部により障害発生が検出されていない通常時に、前記共有ストレージに記憶される稼働系仮想マシンのメモリ領域データについてその一部を前記待機系装置に転送しておき、前記障害検出部により障害発生が検出されると、検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データの残りを、前記共有ストレージから前記待機系装置に転送することを特徴とするフォールトトレラントシステム。 Shared storage shared by active and standby devices,
A memory area data duplication unit for transferring and duplicating the contents (memory area data) of a virtual machine memory area of an active virtual machine operating on the active system apparatus from the active system apparatus to the shared storage;
A failure detection unit for detecting occurrence of a failure in the active device;
A memory area data acquisition unit that transfers memory area data of an active virtual machine that operates in the active apparatus in which the failure occurrence is detected, from the shared storage to the standby apparatus;
When a failure occurrence is detected by the failure detection unit, a standby virtual machine is operated in the standby system device using the memory area data acquired by the memory area data acquisition unit, and the occurrence of the failure is detected. A switching unit that switches the function of the active virtual machine that operates in the active system to continue in the standby virtual machine;
Equipped with a,
The memory area data acquisition unit transfers a part of the memory area data of the active virtual machine stored in the shared storage to the standby system device at a normal time when a failure occurrence is not detected by the failure detection unit. In addition, when a failure occurrence is detected by the failure detection unit, the remaining memory area data of the active virtual machine operating in the detected active device is transferred from the shared storage to the standby device. Features a fault tolerant system.
前記メモリ領域データ取得部は、前記障害検出部により前記障害発生の兆候が検出されると、検出された稼働系装置において動作する稼働系仮想マシンについて前記共有ストレージに記憶されるメモリ領域データの前記待機系装置への転送を開始し、その後、前記障害発生の兆候が検出された稼働系装置について障害発生が検出されると、該メモリ領域データの転送を継続して完了することを特徴とする請求項1に記載のフォールトトレラントシステム。 In addition to detecting the occurrence of failure in the active device, the failure detection unit detects a failure occurrence sign in the active device,
When the failure detection unit detects the failure occurrence, the memory area data acquisition unit stores the memory area data stored in the shared storage for the active virtual machine operating in the detected active device. The transfer to the standby system apparatus is started, and thereafter, when the occurrence of a failure is detected for the active system apparatus in which the failure occurrence sign is detected, the transfer of the memory area data is continuously completed. The fault tolerant system according to claim 1 .
前記稼働系装置上で動作する稼働系仮想マシンの仮想マシン用メモリ領域の内容(メモリ領域データ)を前記稼働系装置から前記共有ストレージに転送して二重化し、
前記稼働系装置の障害発生を検出すると、
前記障害発生を検出した稼働系装置において動作する稼働系仮想マシンのメモリ領域データを前記共有ストレージから前記待機系装置に転送し、
前記待機系装置において、前記共有ストレージから転送されたメモリ領域データを用いて待機系仮想マシンを動作させ、
前記障害発生を検出した稼働系装置において動作する稼働系仮想マシンの機能を前記待機系仮想マシンで継続するよう切り替え、
稼働系装置の障害発生が検出されていない通常時に、前記共有ストレージに記憶される稼働系仮想マシンのメモリ領域データについてその一部を前記待機系装置に転送しておき、
前記稼働系装置の障害発生が検出されると、検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データの残りを、前記共有ストレージから前記待機系装置に転送することを特徴とするフェイルオーバー方法。 Using shared storage shared by active and standby devices,
The contents (memory area data) of the virtual machine memory area of the active virtual machine operating on the active system device are transferred from the active system device to the shared storage and duplicated,
When the occurrence of a failure of the active device is detected,
Transfer the memory area data of the active virtual machine that operates in the active device that detected the occurrence of the failure from the shared storage to the standby device,
In the standby system device, operate the standby virtual machine using the memory area data transferred from the shared storage,
Switch to continue the function of the active virtual machine that operates in the active device that detected the failure occurrence in the standby virtual machine ,
During normal times when failure of the active device is not detected, a part of the memory area data of the active virtual machine stored in the shared storage is transferred to the standby device,
When the occurrence of a failure in the active device is detected, the remaining memory area data of the active virtual machine operating in the detected active device is transferred from the shared storage to the standby device. Failover method.
稼働系装置上で動作する稼働系仮想マシンの仮想マシン用メモリ領域の内容(メモリ領域データ)が二重化された共有ストレージを用いて、
前記稼働系装置の障害発生が検出されると、
前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データを前記共有ストレージから取得し、
前記共有ストレージから取得したメモリ領域データを用いて待機系仮想マシンを動作させ、
前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンの機能を前記待機系仮想マシンで継続するよう切り替え、
前記稼働系装置の障害発生が検出されていない通常時に、前記共有ストレージに記憶される稼働系仮想マシンのメモリ領域データについてその一部を前記待機系装置に転送しておき、
前記稼働系装置の障害発生が検出されると、障害発生が検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データの残りを、前記共有ストレージから取得すする
ことを特徴とするフェイルオーバー方法。 Standby device
Using shared storage in which the contents of the virtual machine memory area (memory area data) of the active virtual machine running on the active system are duplicated,
When a failure occurrence of the active device is detected,
Obtaining memory area data of the active virtual machine operating in the active device in which the failure occurrence is detected from the shared storage;
Operate the standby virtual machine using the memory area data acquired from the shared storage,
Switching so that the function of the active virtual machine operating in the active system in which the failure occurrence is detected is continued in the standby virtual machine ,
During normal time when the occurrence of a failure of the active device is not detected, a part of the memory area data of the active virtual machine stored in the shared storage is transferred to the standby device,
When the occurrence of a failure in the active device is detected, the remaining memory area data of the active virtual machine operating in the active device in which the failure is detected is acquired from the shared storage.
A failover method characterized by that .
前記稼働系装置の障害発生が検出されると、前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データを前記共有ストレージから取得するメモリ領域データ取得ステップと、
前記メモリ領域データ取得ステップで取得されたメモリ領域データを用いて待機系仮想マシンを動作させる待機系仮想マシン動作ステップと、
前記障害発生が検出された稼働系装置において動作する稼働系仮想マシンの機能を前記待機系仮想マシンで継続するよう切り替える切替ステップと、
前記稼働系装置の障害発生が検出されていない通常時に、前記共有ストレージに記憶される稼働系仮想マシンのメモリ領域データについてその一部を前記待機系装置に転送しておく転送ステップと、
前記稼働系装置の障害発生が検出されると、障害発生が検出された稼働系装置において動作する稼働系仮想マシンのメモリ領域データの残りを、前記共有ストレージから取得する取得ステップと
を待機系装置に実行させるフェイルオーバープログラム。 Using shared storage in which the contents of the virtual machine memory area (memory area data) of the active virtual machine running on the active system are duplicated,
When a failure occurrence of the active device is detected, a memory region data acquisition step of acquiring memory region data of an active virtual machine operating in the active device where the failure occurrence is detected from the shared storage;
A standby virtual machine operation step of operating a standby virtual machine using the memory area data acquired in the memory area data acquisition step;
A switching step for switching the function of the active virtual machine operating in the active system in which the failure occurrence is detected to continue in the standby virtual machine;
A transfer step of transferring a part of the memory region data of the active virtual machine stored in the shared storage to the standby device at a normal time when the occurrence of a failure of the active device is not detected;
An acquisition step of acquiring, from the shared storage, the remaining memory area data of the active virtual machine operating in the active device in which the occurrence of the failure is detected when the occurrence of a failure in the active device is detected; Failover program that causes the standby system device to execute
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014243699A JP6464704B2 (en) | 2014-12-02 | 2014-12-02 | Fault tolerant system, active device, standby device, failover method, and failover program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014243699A JP6464704B2 (en) | 2014-12-02 | 2014-12-02 | Fault tolerant system, active device, standby device, failover method, and failover program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016110173A JP2016110173A (en) | 2016-06-20 |
JP6464704B2 true JP6464704B2 (en) | 2019-02-06 |
Family
ID=56124267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014243699A Active JP6464704B2 (en) | 2014-12-02 | 2014-12-02 | Fault tolerant system, active device, standby device, failover method, and failover program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6464704B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109561025B (en) * | 2017-09-27 | 2022-04-05 | 华为技术有限公司 | Information processing method and related equipment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009080692A (en) * | 2007-09-26 | 2009-04-16 | Toshiba Corp | Virtual machine system and service taking-over control method for same system |
-
2014
- 2014-12-02 JP JP2014243699A patent/JP6464704B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016110173A (en) | 2016-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990617B2 (en) | Fault-tolerant computer system, fault-tolerant computer system control method and recording medium storing control program for fault-tolerant computer system | |
US7793060B2 (en) | System method and circuit for differential mirroring of data | |
JP5851503B2 (en) | Providing high availability for applications in highly available virtual machine environments | |
US9916216B2 (en) | Selectively coupling a PCI host bridge to multiple PCI communication paths | |
US20060143497A1 (en) | System, method and circuit for mirroring data | |
US8782464B2 (en) | Method and system for using a standby server to improve redundancy in a dual-node data storage system | |
JP2008225753A (en) | Computer system, access control method and management computer | |
JP2011170589A (en) | Storage control device, storage device, and storage control method | |
JP2005196490A (en) | System and method for data duplication | |
JP2012208896A (en) | Disk array device, connection path control method, and connection path control program | |
JP5287974B2 (en) | Arithmetic processing system, resynchronization method, and farm program | |
JP6540202B2 (en) | INFORMATION PROCESSING SYSTEM, CONTROL DEVICE, AND CONTROL PROGRAM | |
JP6464704B2 (en) | Fault tolerant system, active device, standby device, failover method, and failover program | |
JP2012133456A (en) | Storage device and control method of storage device | |
JP6708923B2 (en) | Storage system | |
JP2006114064A (en) | Storage subsystem | |
JP2005122763A (en) | Storage device | |
JP2008276281A (en) | Data synchronization system, method, and program | |
JP4572138B2 (en) | Server apparatus, server system, and system switching method in server system | |
JP5251690B2 (en) | Remote copy system and remote copy method | |
JP2009169469A (en) | Computer system | |
JP2009075719A (en) | Redundancy configuration device and self-diagnostic method thereof | |
JP7056868B2 (en) | System, computer, system control method and program | |
JP2013207674A (en) | Network monitoring system, network monitoring method, and control device and program | |
JP2018206233A (en) | Information processing device, process switching method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180727 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180807 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181005 |
|
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: 20181211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181224 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6464704 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |