説明

フォールトトレラントシステム及び仮想マシン構築方法

【課題】物理マシンから仮想マシンへの移行において、コストを低減することができ、かつ、業務停止時間を低減することができるフォールトトレラントシステム及び仮想マシン構築方法を提供すること
【解決手段】本発明のにかかるフォールトトレラントシステムは、プログラム40を実行する第1のシステム20と、第1のシステム20と同期してプログラム41を実行する第2のシステム21を備える。また、第1のシステム20は、第2のシステム21との同期を解除する第1の同期制御部32と、第2のシステム21との同期が解除された場合に、当該第1のシステム20にプログラム40を実行する仮想マシンを構築する第1の処理実行部30を有する。第2のシステム21は、第1のシステム20との同期が解除された場合に、第1のシステム20と独立してプログラム41の実行を継続する第2の処理実行部31を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フォールトトレラントシステム及び仮想マシン構築方法に関する。
【背景技術】
【0002】
近年、コンピュータは社会生活の基盤を担っており、故障によるサービスの停止は大きな損失を招く恐れがある。そのため、障害発生時においてもサービスを継続させることが要求されている。そこで、システムを二重化するフォールトトレラント技術が注目されている。
【0003】
フォールトトレラント技術を採用したコンピュータとして、フォールトトレラントサーバが知られている。以下、フォールトトレラントサーバを「FT(Fault Tolerant)サーバ」とする。FTサーバは、システムを構成するハードウェアコンポーネントが二重化されており、2つのCPU(Central Processing Unit)サブシステムが同一クロックで同期動作するように制御されている。そして、一方のシステムに障害が発生した場合、障害が発生したシステムは論理的に切り離され、正常に動作しているシステムが処理を続行することにより、耐障害性を向上させている。
【0004】
一方、サーバ統合やIT(Information Technology)資産を有効に活用する手段という観点においては、仮想化技術が注目を集めており、仮想化環境を実現するソフトウェアが発表され多くのサービスが提供されている。一般に、現在稼動中の物理マシンの環境を仮想化環境へ移行するには、特許文献1に開示されているように、仮想化環境構築用のサーバを別途1台用意して仮想マシンを作成し、仮想化ソフトウェアのコンバータ機能を使用して、物理マシンから仮想マシンへの移行を行う。このように、物理マシンから仮想マシンへの移行を行うことを、「P2V(Physical to Virtual)」という。
【0005】
しかし、仮想化環境では複数のOS(Operating System)が搭載されることになるため、ハードウェア障害で機能が停止した場合、搭載される全てのOSが停止することになり、影響範囲が大きくなる。そのため、移行先のサーバはFTサーバのような耐障害性の高いものを準備することが望まれる。しかし、この種の機能を備えたサーバは通常サーバよりも高価であるため、別途1台用意してP2Vを行うと非常にコストがかかってしまうという問題がある。
【0006】
それに対して、現在使用している物理マシンを仮想化環境用のサーバとして利用することで、新たに移行先のサーバを準備することなく仮想マシンを作成することもできる。しかし、これには、バックアップを作成し、システムを停止させ、仮想化ソフトウェアをインストール後に、仮想マシンを作成し、バックアップした情報を用いてリストアするといった作業が必要となる。そのため、サーバにおける業務を停止する時間が長くなってしまうという問題がある。これらの問題を解決するためには、仮想化環境の耐障害性を確保し、移行にかかる費用をなるべく抑え、移行中の業務停止時間を最小限にする技術が求められる。
【0007】
なお、特許文献2には、オペレータによって分離又は結合の指示が与えられると、その指示に応じて、第1及び第2のプロセッサ装置を分離してマルチコンピュータシステムを形成し、あるいは結合してフォールトレラントコンピュータシステムを形成する二重化コンピュータシステムが開示されている。これによって、故障発生時等に、分離後にマルチコンピュータシステムとして動作させて、ソフトウェアの入れ替えを、システムを停止させることなく行えるようにしている。しかし、特許文献2は、仮想マシンを構築する場合における技術を開示したものではない。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特表2009−536762号公報
【特許文献2】特開平10−293697号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
背景技術として説明したように、仮想マシンを構築するためのサーバを別途用意すると非常にコストがかかってしまうという問題がある。また、現在使用しているサーバで、仮想マシンを構築しようとすると、サーバにおける業務を停止する時間が長くなってしまうという問題がある。
【0010】
本発明の目的は、上述したような課題を解決するために、物理マシンから仮想マシンへの移行において、コストを低減することができ、かつ、業務停止時間を低減することができるフォールトトレラントシステム及び仮想マシン構築方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明の第1の態様にかかるフォールトトレラントシステムは、プログラムを実行する第1のシステムと、前記第1のシステムと同期して前記プログラムを実行する第2のシステムと、を備えたフォールトトレラントシステムであって、前記第1のシステムは、前記第2のシステムとの同期を解除する第1の同期制御部と、前記第2のシステムとの同期が解除された場合に、当該第1のシステムに前記プログラムを実行する仮想マシンを構築する第1の処理実行部と、を有し、前記第2のシステムは、前記第1のシステムとの同期が解除された場合に、前記第1のシステムと独立して前記プログラムの実行を継続する第2の処理実行部を有するものである。
【0012】
本発明の第2の態様にかかる仮想マシン構築方法は、プログラムを実行する第1のシステムと、前記第1のシステムと同期して前記プログラムを実行する第2のシステムと、を備えたフォールトトレラントシステムにおける仮想マシン構築方法であって、前記第1のシステムと前記第2のシステムとの前記プログラムの実行の同期を解除するステップと、 前記第1のシステムに前記プログラムを実行する仮想マシンを構築するステップと、前記第2のシステムにおいて前記第1のシステムと独立して前記プログラムの実行を継続するステップと、を備えたものである。
【発明の効果】
【0013】
上述した本発明の各態様により、物理マシンから仮想マシンへの移行において、コストを低減することができ、かつ、業務停止時間を低減することができるフォールトトレラントシステム及び仮想マシン構築方法を提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の実施の形態にかかるフォールトトレラントシステムの構成図である。
【図2】本発明の実施の形態にかかるフォールトトレラントサーバの構成図である。
【図3】本発明の実施の形態にかかる仮想マシン構築後のフォールトトレラントサーバの構成図である。
【図4】本発明の実施の形態にかかるフォールトトレラントサーバの処理を示すフローチャートである。
【発明を実施するための形態】
【0015】
図1を参照して、本発明の実施の形態にかかるFTサーバの概要となるフォールトトレラントシステムについて説明する。図1は、本発明の実施の形態にかかるフォールトトレラントシステムの概要を示す構成図である。
【0016】
フォールトトレラントシステム2は、第1のシステム20及び第2のシステム21を有する。
第1のシステム20は、第1の処理実行部30及び第1の同期制御部32を有する。
第2のシステム21は、第2の処理実行部31を有する。
第1の処理実行部30は、第2のシステム21と同期してプログラム40を実行する。
第2の処理実行部31は、第1のシステム20と同期してプログラム41を実行する。
第1の同期制御部32は、第1のシステム20と第2のシステム21との同期を制御する。
【0017】
続いて、本発明の実施の形態にかかるフォールトトレラントシステムの処理について説明する。
第1の同期制御部32は、第2のシステム21との同期を解除する。
第1の処理実行部30は、第2のシステム21との同期が解除された場合、第1のシステム20にプログラム40を実行する仮想マシンを構築する。
第2の処理実行部31は、第1のシステム20との同期が解除された場合、第1のシステム20と独立してプログラム41の実行を継続する。
【0018】
続いて、図2を参照して、本発明の実施の形態にかかるFTサーバの構成について説明する。図2は、本発明の実施の形態にかかるFTサーバの構成図である。
【0019】
FTサーバ1は、#0側のシステム10と、#1側のシステム11とを備える。
#0側のシステム10は、CPUサブシステム100、FT(Fault Tolerant)コントローラ110及びIO(Input/Output)サブシステム120を有する。IOサブシステム120は、HDD(hard disk drive)130を含む。
#1側のシステム11は、CPUサブシステム101、FTコントローラ111及びIOサブシステム121を有する。IOサブシステム121は、HDD131を含む。
【0020】
CPUサブシステム100は、OS200及びAP(Application Program)210を含むプログラムを実行する。CPUサブシステム100は、それぞれ1つ又は複数のCPUを含む。CPUサブシステム100は、第2の処理実行部31として機能する。OS200及びAP210は、プログラム41に相当する。
CPUサブシステム101は、OS201及びAP211を含むプログラムを実行する。CPUサブシステム101は、それぞれ1つ又は複数のCPUを含む。CPUサブシステム101は、第1の処理実行部30として機能する。OS201及びAP211は、プログラム40に相当する。
【0021】
FTコントローラ110及びFTコントローラ111は、CPUサブシステム100とCPUサブシステム101が同一のクロックで同期して動作するように制御する。つまり、CPUサブシステム100とCPUサブシステム101は、相互にロックステップ同期して動作する。FTコントローラ110、111は、他方のFTコントローラに同期命令又は同期解除命令を出力することによって、同期開始又は同期解除を行う。FTコントローラ111は、第1の同期制御部32に相当する。FTコントローラ110は、第2の同期制御部に相当する。
【0022】
IOサブシステム120は、CPUサブシステム100と、HDD130との間のデータの入出力を制御する。また、IOサブシステム120は、#0側のシステム10と、インターネット、イントラネット又は電話回線網等の通信網9とを介した外部装置との間でデータの送受信を行う。ここで、外部装置とは、例えば、PC(Personal Computer)やサーバ等の情報処理装置である。
IOサブシステム121は、#1側のシステム11と、HDD131との間のデータの入出力を制御する。また、IOサブシステム121は、#1側のシステム11と、外部の通信網9を介した外部装置との間でデータの送受信を行う。
【0023】
ここで、FTサーバ1では、#0側のシステム10と#1側のシステム11には、同一の通常運用用IP(Internet Protocol)アドレスが設定されている。#0側のシステム10と#1側のシステム11は、同期して同一の処理を実行しているため、いずれかのシステムが通信網9を介した通信を行っている。
【0024】
HDD130、131は、CPUサブシステム100、101のそれぞれが実行するFT(Fault Tolerant)制御ソフトウェア(図示せず)によって二重化制御される。FT制御ソフトウェアは、HDD130とHDD131の内容をミラーリングして一致させるプログラムである。
【0025】
FT制御ソフトウェアは、例えば、CPUサブシステム100とCPUサブシステム101が同期して動作を開始する場合に、不一致となっているHDD130とHDD131の内容を一致させる。その後は、CPUサブシステム100、101が同期してHDD130とHDD131を更新することになるため、HDD130とHDD131の内容の一致が保障される。なお、FT制御ソフトウェアは、IOサブシステム120とIOサブシステム121間のデータ転送用のバス(図示せず)を介して、データを送受信することで、HDD130とHDD131の内容を一致させる。
【0026】
本実施の形態では、#0側のシステムである物理マシンを変換した仮想マシンを、#0側のシステムに構築する。また、#1側のシステムである物理マシンを変換した仮想マシンを、#1側のシステムに構築する。
【0027】
続いて、図3を参照して、本発明の実施の形態にかかる仮想マシン構築後のFTサーバの構成について説明する。図3は、本発明の実施の形態にかかる仮想マシン構築後のFTサーバの構成図である。
【0028】
本実施の形態では、1台のFTサーバ1をそのまま仮想マシンに移行するため、仮想マシン構築後のFTサーバ1のハードウェア100、101、110、111、120、121、130、131の構成は、図2に示す仮想マシン構築前のFTサーバ1と同様である。仮想マシン構築後のFTサーバ1は、仮想化ソフトウェア300、301を実行して、仮想マシン310、311を動作させる点が、仮想マシン構築前のFTサーバ1と異なる。以下、仮想マシン構築前のFTサーバ1と異なる点について述べる。
【0029】
CPUサブシステム100は、仮想化ソフトウェア300を実行する。CPUサブシステム100は、仮想化ソフトウェア300を実行することによって、仮想マシン310を動作させる。仮想マシン310は、OS200及びAP210を含むプログラムを実行する。つまり、CPUサブシステム100は、仮想化ソフトウェア300を利用することによって、OS200及びAP210を実行する。仮想HDD(hard disk drive)320は、HDD130を仮想化したものになる。
【0030】
CPUサブシステム101は、仮想化ソフトウェア301を実行する。CPUサブシステム101は、仮想化ソフトウェア301を実行することによって、仮想マシン311を動作させる。仮想マシン311は、OS201及びAP211を含むプログラムを実行する。つまり、CPUサブシステム101は、仮想化ソフトウェア301を利用することによって、OS201及びAP211を実行する。仮想HDD(hard disk drive)320は、HDD130を仮想化したものになる。
【0031】
続いて、図4を参照して、本発明の実施の形態にかかるFTサーバの処理について説明する。図4は、本発明の実施の形態にかかるFTサーバの処理を示すフローチャートである。以下、1台のFTサーバ1で、物理マシンから仮想マシンに移行する処理について説明する。より具体的には、#0側のシステム10で業務を継続し、#1側のシステム11で仮想化環境を作成して、#0側のシステム10から#1側のシステム11の環境に移行(P2V)する場合について説明する。
【0032】
まず、通常運用時には、#0側のシステム10と#1側のシステム11は、同期して動作している(S400、S500)。つまり、CPUサブシステム100とCPUサブシステム101は、FTコントローラ110、111によって、同期してOS200、201及びAP210、211を実行している。
【0033】
#1側のシステムを仮想マシンに移行する場合、CPUサブシステム101は、仮想マシンへの移行の開始をFTコントローラ111に通知する。例えば、CPUサブシステム101が、仮想マシンへの移行を制御するAPを実行するようにして、FTサーバ1の利用者が、このAPにマウスやキーボード等の入力装置(図示せず)を介して、仮想マシンに移行する旨を入力したことをトリガとして通知するようにする。
【0034】
FTコントローラ111は、CPUサブシステム101から、仮想マシンへの移行の開始の通知を受けると、仮想マシンへの移行の開始を通知するソフト更新通知をFTコントローラ110に送信する(S501)。
FTコントローラ110は、FTコントローラ111からのソフト更新通知を受信すると(S401)、CPUサブシステム100がCPUサブシステム101と正常に同期しているか否かを判定する。
【0035】
正常に同期している場合、FTコントローラ110は、同期解除命令をFTコントローラ111に送信する(S402)。
正常に同期できていない場合、CPUサブシステム100及びCPUサブシステム101のいずれかが正常に動作していない可能性がある。このまま#1側のシステムの仮想マシンへの移行を開始すると、#0側のシステム10で正常に業務を継続できない、又は、#1側のシステム11で仮想マシンへの移行が正常に行えないといった可能性がある。そのため、この場合、FTコントローラ110は、同期解除命令をFTコントローラ111に送信しない。
【0036】
FTコントローラ111は、FTコントローラ110からの同期解除命令を受信すると、CPUサブシステム101のCPUサブシステム100との同期を解除する(S502)。これにより、#0側のシステム10と#1側のシステム11は切り離され、それぞれが独立した動作を行うことができる。
【0037】
#1側のシステム11は、仮想化環境を構築するためにシステムを停止する(S503)。つまり、CPUサブシステム101は、OS201及びAP211の実行を停止する。
そして、CPUサブシステム101は、仮想化ソフトウェア301のインストールを行う(S504)。ここでの仮想化ソフトウェア301のインストールは、通信網9を介して仮想化ソフトウェア301のデータを受信することでインストールを行う。また、この際に、#1側のシステムは、仮想化環境構築用のIPアドレスを一時的に設定して、このIPアドレスによって通信することで、仮想化ソフトウェア301のデータを受信する。仮想化ソフトウェア301は、インストールによって、HDD131に格納される。
【0038】
#0側のシステム10は、#1側のシステムが仮想化環境を構築している間、業務を継続している(S403)。つまり、#0側のシステムは、#1側のシステム11が仮想化環境を構築している間も、OS200及びAP210を実行する。
#0側のシステム10は、#1側のシステム11へ物理マシンから仮想マシンへの環境移行作業(P2V)を行う(S404、S505)。この移行作業は、予め#0側のシステム10のHDD130にインストールされているコンバータソフト(図示せず)によって行われる。
【0039】
より具体的は、CPUサブシステム100は、コンバータソフトを実行して、#0側システム10の構成に基づいて、仮想マシン311のイメージデータを作成する。ここで、FTサーバ1では、#0側のシステム10と#1側のシステム11が同じハードウェア構成となっている。そのため、#0側のシステム10のハードウェア構成に基づいて、#1側のシステム11用の仮想マシン311のイメージデータを作成しても、#1側のシステム11のハードウェア構成に基づいて作成したものと同じの仮想マシン311のイメージデータを作成することができる。
【0040】
CPUサブシステム100は、仮想マシン311のイメージデータを作成すると、作成した仮想マシン311のイメージデータを、通信網9を介して、#1側のシステム11に送信する。CPUサブシステム101は、#0側のシステム10から仮想マシン311のイメージデータを受信すると、受信したイメージデータをHDD131に格納する。
【0041】
また、CPUサブシステム100は、HDD130に格納されているOS200及びAP210を、通信網9を介して、#1側のシステム11に送信する。ここで、FTサーバ1では、OS200とOS201、AP210とAP211は、同じプログラムとなる。そのため、CPUサブシステム101は、#0側のシステム10からOS200及びAP210を受信すると、受信したOS200をOS201として、受信したAP210をAP211として、仮想HDD321に格納する。これによって、CPUサブシステム101は、OS201及びAP211をインストールする。このインストールによって、OS201が仮想マシン311で起動するために必要なドライバのインストール等のシステムの再構成が行われる。このように、ステップS404、S505の処理によって、仮想マシン321の動作に必要な情報が、HDD131に格納されることになる。
【0042】
なお、#1側のシステム11は、仮想化環境構築用のIPアドレスによる通信によって、仮想マシン311のイメージデータ、OS200及びAP210を受信する。また、仮想HDD321の実体は、HDD131に格納されていることになる。仮想化環境の構築が完了すると、#1側のシステム11は、図3に示す状態となる。
【0043】
CPUサブシステム101は、移行作業が成功したか否かを確認する(S506)。そして、CPUサブシステム101は、移行作業の実行結果を、通信網9を介して、#0側のシステム10に送信する。つまり、仮想化ソフトウェア301、OS201又はAP211のインストールに失敗した場合等のように移行作業に失敗した場合、移行作業の実行結果は、失敗を示す失敗通知として、#0側のシステム10に送信される(S507)。
【0044】
CPUサブシステム100は、移行作業の実行結果を受信すると、受信した移行作業の実行結果が成功を示しているか、失敗を示しているかを判定する(S405)。
移行作業の実行結果が成功を示している場合(S405:No)、CPUサブシステム100は、AP210の実行を停止して、業務の実行を停止する。そして、CPUサブシステム100は、通信網9を介して、業務の引き継ぎに必要なデータを#1側のシステム11に送信する。CPUサブシステム101は、#0側のシステム10から受信したデータを、仮想HDD321に格納する。これによって、#1側のシステム11は、#0側のシステム10が実行していた業務を引き継いで実行可能となる。
【0045】
一方、移行作業の実行結果が失敗を示している場合(S405:Yes)、CPUサブシステム100は、AP210の実行を継続する。つまり、#0側のシステム10は、業務の実行を継続する。この場合、再度、物理マシンから仮想マシンへの環境移行作業(P2V)を実行してもよい(S404、S505)。または、CPUサブシステム100において、FT制御ソフトウェアを実行して、HDD130の内容をHDD131にコピーすることによって、#1側のシステムを仮想環境構築開始前の状態に戻してもよい。
【0046】
#1側のシステム11は、業務引き継ぎ完了後、業務を継続して実行する(S509)。具体的には、CPUサブシステム11は、仮想化ソフトウェア301の実行を開始する。これによって、仮想マシン311が動作する。CPUサブシステム11は、仮想マシン311によって、OS201及びAP211を実行することによって、業務を実行する。このとき、#1側のシステム11は、IPアドレスは、通常運用用IPアドレスを設定して、通信網9を介した通信を行う。
【0047】
一方、#0側のシステムは、仮想化環境を構築するためにシステムを停止する(S407)。つまり、CPUサブシステム100は、OS200の実行を停止する。
そして、CPUサブシステム101は、FT制御ソフトウェアを実行して、HDD131の内容をHDD130にコピーする。
【0048】
ここで、FTサーバ1では、#0側のシステム10と#1側のシステム11が同じハードウェア構成となっており、OS200とOS201、AP210とAP211は、同じプログラムとなる。そのため、#0側のシステム10のハードウェア構成、OS200及びAP210に基づいて、#0側のシステム10に仮想化環境を構築した場合と、HDD131の内容をHDD130にコピーして仮想化環境を構築した場合は同じとなる。したがって、HDD131に格納される仮想化ソフトウェア301、仮想マシン311のイメージデータ、OS201及びAP211がそれぞれ、#0側のシステム10における仮想化ソフトウェア300のイメージデータ、OS200及びAP210としてHDD130に格納される。仮想化環境の構築が完了すると、#0側のシステム10は、図3に示す状態となる。
【0049】
CPUサブシステム101は、#0側のシステム10で仮想環境の構築が完了すると、CPUサブシステム101との同期開始を、FTコントローラ111に通知する。FTコントローラ111は、CPUサブシステム101からの同期開始の通知を受けると、システム10、11を同期状態とするための同期命令をFTコントローラ110に送信する(S510)。
【0050】
FTコントローラ110は、FTコントローラ111から同期命令を受信すると、CPUサブシステム101との同期開始を、CPUサブシステム100に通知する。CPUサブシステム100は、FTコントローラ110からの同期開始の通知を受けると、システムを起動する。具体的には、CPUサブシステム10は、仮想化ソフトウェア300の実行を開始する。これによって、仮想マシン310が動作する。CPUサブシステム10は、仮想マシン310によって、OS200及びAP210を実行する。また、CPUサブシステム100は、FT制御ソフトウェアを実行して、HDD130の内容をHDD131の内容と一致させる。FTコントローラ110は、CPUサブシステム100のCPUサブシステム101との同期を再開する(S408)。
【0051】
CPUサブシステム100、101の同期と、HDD130、131の同期(ミラーリング完了)が完了した時点で、#0側のシステム10と#1側のシステム11は同期状態となる(S409、S511)。これによって、耐障害性が確保される。
【0052】
以上に説明したように、本発明の実施の形態によれば、#0側のシステム10と#1側のシステム11との同期を解除して、それぞれを独立して動作させることによって、#0側のシステム10ではプログラムを実行して業務を継続し、#1側のシステム11では仮想マシン311を構築することができるようにしている。これによって、物理マシンから仮想マシン311への移行を1台のFTサーバ1で行うことができるため、コストを低減することができる。また、仮想マシン311を構築している間でも、業務を継続することができるため、業務停止時間を低減することができる。
【0053】
また、このように、1台のFTサーバ1で物理マシンから仮想マシン311に移行することは、例えば、他の物理マシンで運用されているシステムを同時に仮想マシンとしてFTサーバ1に統合したい場合にも有益である。例えば、本実施の形態において、#1側のシステム11において、仮想マシン311のイメージデータをHDD131に格納する場合に、他の物理マシンに基づいて作成した仮想マシンのイメージデータをHDD131に格納することができる。これによって、仮想マシン構築後のFTサーバ1において、仮想マシン311と、他の物理マシンに基づいて作成した仮想マシンを動作させることができる。
【0054】
本発明の他の実施の形態.
上述した実施の形態では、移行元の物理マシンの稼働中にP2Vを行う方法(ホットクローニング)について例示したが、移行元の物理マシンを停止させてからP2Vを行う方法(コールドクローニング)も可能である。
【0055】
以下、コールドクローニングによってP2Vを行う場合について説明する。
この場合、#0側のシステム10から#1側のシステム11へのP2Vを行う(S404、S505)の前に、#0側のシステム10を停止させる。その後、#0側のシステム10において、CPUサブシステム100がコンバータソフトをブートディスクから起動して、仮想マシン311のイメージデータを作成する。なお、ブートディスクは、例えば、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)又はBD(Blu-ray Disc)(登録商標)等の光ディスクや、フロッピー(登録商標)ディスク等である。
【0056】
そして、CPUサブシステム100は、作成した仮想マシン311のイメージデータと、HDD130に格納されているOS200及びAP210とを、#1側のシステム11に送信する。CPUサブシステム101は、#0側のシステム10から送信された仮想マシン311のイメージデータをHDD131に格納し、OS200及びAP211をOS201及びAP211として仮想HDD321に格納する。以降は、上述した実施の形態と同様の処理を行うことで、仮想化環境を構築する。
【0057】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、本実施の形態では、#0側のシステム10で業務を継続し、#1側のシステム11で仮想化環境を作成して、#0側のシステム10から#1側のシステム11の環境に移行する場合について例示したが、#1側のシステム11で業務を継続し、#0側のシステム10で仮想化環境を作成して、#1側のシステム11から#0側のシステム10の環境に移行するようにしてもよい。
【符号の説明】
【0058】
1 FTサーバ
2 フォールトトレラントシステム
10 #0側システム
11 #1側システム
20 第1のシステム
21 第2のシステム
30 第1の処理実行部
31 第2の処理実行部
32 第1の同期制御部
40、41 プログラム
100、101 CPUサブシステム
110、111 FTコントローラ
120、121 IOサブシステム
130、131 HDD
200、201 OS
210、211 AP
300、301 仮想化ソフトウェア
310、311 仮想マシン
320、321 仮想HDD

【特許請求の範囲】
【請求項1】
プログラムを実行する第1のシステムと、前記第1のシステムと同期して前記プログラムを実行する第2のシステムと、を備えたフォールトトレラントシステムであって、
前記第1のシステムは、
前記第2のシステムとの同期を解除する第1の同期制御部と、
前記第2のシステムとの同期が解除された場合に、当該第1のシステムに前記プログラムを実行する仮想マシンを構築する第1の処理実行部と、を有し、
前記第2のシステムは、
前記第1のシステムとの同期が解除された場合に、前記第1のシステムと独立して前記プログラムの実行を継続する第2の処理実行部を有する
フォールトトレラントシステム。
【請求項2】
前記第1の処理実行部は、前記仮想マシンの構築後に、当該仮想マシンを動作させることによって、前記第2のシステムから引き継いで前記プログラムを実行する請求項1に記載のフォールトトレラントシステム。
【請求項3】
前記第2の処理実行部は、前記第1の処理実行部が前記プログラムの実行を引き継いだ場合に、前記第2のシステムに前記プログラムを実行する仮想マシンを構築して動作させ、
前記第2のシステムは、前記第1のシステムと同期して前記プログラムの実行を開始する第2の同期制御部をさらに有する請求項2に記載のフォールトトレラントシステム。
【請求項4】
前記第1の処理実行部は、前記第1の処理実行部による仮想マシンの構築が成功したか否かを示す構築結果情報を前記第2のシステムに出力し、
前記第2の処理実行部は、前記第1の処理実行部から出力された構築結果情報が成功を示している場合に、前記第1の処理実行部に前記プログラムの実行を引き継ぐ請求項2又は3に記載のフォールトトレラントシステム。
【請求項5】
前記第1のシステムは、前記仮想マシンの構築によって、前記仮想マシンの動作に必要な情報が格納される第1の記憶部をさらに有し、
前記第2のシステムは、第2の記憶部をさらに有し、
前記第1の処理実行部は、前記仮想マシンの構築によって、前記仮想マシンの動作に必要な情報を前記第1の記憶部に格納して、当該第1の記憶部の内容を前記第2のシステムに出力し、
前記第2の処理実行部は、前記第1の処理実行部から出力された前記第1の記憶部の内容を前記第2の記憶部に格納することによって、前記仮想マシンを構築する請求項3に記載のフォールトトレラントシステム。
【請求項6】
前記第2の処理実行部は、前記第2のシステムの構成に基づいて、前記仮想マシンを構築するための仮想マシン構築情報を生成して、生成した仮想マシン構築情報を前記第1のシステムに出力し、
前記第1の処理実行部は、前記第2の処理実行部から出力された仮想マシン構築情報に基づいて、前記仮想マシンを構築する請求項1乃至5のいずれか1項に記載のフォールトトレラントシステム。
【請求項7】
前記第1のシステム及び前記第2のシステムは、前記プログラムの実行中に、同一のIP(Internet Protocol)アドレスが割り当てられており、当該IPアドレスによって外部との通信を行い、
前記第1の処理実行部は、前記仮想マシンを構築する場合に、前記第1のシステムに前記IPアドレスと異なるIPアドレスを設定し、当該IPアドレスによる前記第2のシステムとの通信によって、前記第2の処理実行部から仮想マシン構築情報の出力を受ける請求項6に記載のフォールトトレラントシステム。
【請求項8】
前記第1の処理実行部及び前記第2の処理実行部は、CPU(Central Processing Unit)サブシステムを含む請求項1乃至8のいずれか1項に記載のフォールトトレラントシステム。
【請求項9】
プログラムを実行する第1のシステムと、前記第1のシステムと同期して前記プログラムを実行する第2のシステムと、を備えたフォールトトレラントシステムにおける仮想マシン構築方法であって、
前記第1のシステムと前記第2のシステムとの前記プログラムの実行の同期を解除するステップと、
前記第1のシステムに前記プログラムを実行する仮想マシンを構築するステップと、
前記第2のシステムにおいて前記第1のシステムと独立して前記プログラムの実行を継続するステップと、
を備えた仮想マシン構築方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate