(57)【要約】【課題】共有ディスクアレイ装置を不要としつつ、フォールトトレランスを実現可能とする。【解決手段】第１サーバ１１及び第２サーバ１２は、ディスクイメージ３１を記憶するストレージ２１のストレージ同期エリアを、仮想アドレスを用いてＮＦＳでマウントする。第１サーバ１１は、運用系として稼動した仮想システムのメモリの内容のスナップショットを取得し、第２サーバ１２に送信する。また、第１サーバ１１は、ストレージ２１のストレージ同期エリアの内容をストレージ２２のストレージ同期エリアに複製する。第２サーバ１２は、第１サーバ１１に障害が発生した場合、ストレージ２２に仮想アドレスを設定し、その仮想アドレスを用いて、ＮＦＳでストレージ２２のストレージ同期エリアをマウントする。第２サーバ１２は、第１サーバ１１から受信したスナップショットを用いて、仮想システム４２上でアプリケーション５２を実行する。【選択図】図１
2020194430.tif 000002
【特許請求の範囲】
【請求項１】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する第１ストレージを有する第１サーバと、
第２ストレージを有する第２サーバとを有し、
前記第１ストレージの前記ストレージ同期エリアに仮想アドレスが設定されており、前記第１サーバ及び前記第２サーバは、それぞれ、前記仮想アドレスを用いて、ＮＦＳ（Network File System）で前記第１ストレージのストレージ同期エリアをマウントし、
前記第１サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、かつ、前記仮想システムのメモリの内容のスナップショットを取得して前記第２サーバに送信し、
前記第２サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記第１サーバから前記スナップショットを受信して記憶し、
前記第１サーバは、前記第１ストレージのストレージ同期エリアの内容を前記第２ストレージのストレージ同期エリアに複製し、
前記第２サーバは、前記第１サーバに障害が発生した場合、前記第２ストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで前記第２ストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するフォールトトレラントシステム。
【請求項２】
前記第２サーバは、前記第１サーバを監視し、前記第１サーバに障害が発生した場合、前記第２サーバのストレージを待機系から運用系に切り替える請求項１に記載のフォールトトレラントシステム。
【請求項３】
前記第１サーバ及び前記第２サーバは、それぞれ前記第１サーバ及び前記第２サーバのそれぞれの上で稼動する仮想システム上で動作するアプリケーションの実行を監視し、
前記第２サーバは、前記第１サーバ上で稼動する仮想システム上で動作するアプリケーションの実行に障害が発生した場合、前記第２サーバ上で稼動する仮想システム上で動作するアプリケーションを、待機状態から動作状態に切り替える請求項１又は２に記載のフォールトトレラントシステム。
【請求項４】
前記第１ストレージのストレージ同期エリアの内容は、ＤＲＢＤ（Distributed Replicated Block Device）のシングルプライマリモードを用いて前記第２ストレージのストレージ同期エリアに複製される請求項１から３何れか１項に記載のフォールトトレラントシステム。
【請求項５】
前記アプリケーションは、前記第１サーバ及び第２サーバとネットワークを介して接続される電話機能を有する装置の呼を制御する呼制御アプリケーションである請求項１から４何れか１項に記載のフォールトトレラントシステム。
【請求項６】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶するストレージと、
前記仮想システム上で動作するアプリケーションとを有し、
前記ストレージのストレージ同期エリアに設定された仮想アドレスを用いて、ＮＦＳ（Network File System）で前記ストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上で前記アプリケーションを実行し、
前記仮想システムのメモリの内容のスナップショットを取得して、前記仮想アドレスを用いて前記ストレージのストレージ同期エリアをマウントする他のサーバに送信し、
前記ストレージのストレージ同期エリアの内容を前記他のサーバのストレージのストレージ同期エリアに複製する、
サーバ。
【請求項７】
ストレージと、
サーバ仮想化機構を用いて構築される仮想システム上で動作するアプリケーションとを有し、
前記仮想システムのディスクイメージをストレージ同期エリアに記憶する他のサーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記他のサーバのストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、
前記他のサーバから、前記ディスクイメージを用いて前記他のサーバ上で運用系として稼動され、該運用系として稼動するシステム上でアプリケーションが実行される仮想システムのメモリの内容のスナップショットを受信して記憶し、
前記他のサーバに障害が発生した場合、前記他のサーバのストレージのストレージ同期エリアの内容が複製される自サーバのストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで自サーバのストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行する、
サーバ。
【請求項８】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する第１ストレージを有する第１サーバ、及び第２ストレージを有する第２サーバが、それぞれ、前記第１ストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記第１ストレージのストレージ同期エリアをマウントし、
前記第１サーバが、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、かつ、前記仮想システムのメモリの内容のスナップショットを取得して前記第２サーバに送信し、
前記第２サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記第１サーバから受信したスナップショットを記憶し、
前記第１サーバは、前記第１ストレージのストレージ同期エリアの内容を前記第２ストレージのストレージ同期エリアに複製し、
前記第２サーバは、前記第１サーバに障害が発生した場合、前記第２ストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで前記第２ストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するフォールトトレラントシステムの運用方法。
【請求項９】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する自サーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記ストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、
前記仮想システムのメモリの内容のスナップショットを取得して、前記仮想アドレスを用いて前記ストレージのストレージ同期エリアをマウントする他のサーバに送信し、
前記ストレージのストレージ同期エリアの内容を前記他のサーバのストレージのストレージ同期エリアに複製するサーバの運用方法。
【請求項１０】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する他のサーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記他のサーバのストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、
前記他のサーバから、前記ディスクイメージを用いて前記他のサーバ上で運用系として稼動され、該運用系として稼動されたシステム上でアプリケーションが実行される仮想システムのメモリの内容のスナップショットを受信して記憶し、
前記他のサーバに障害が発生した場合、前記他のサーバのストレージのストレージ同期エリアの内容が複製される自サーバのストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで自サーバのストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するサーバの運用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、フォールトトレラントシステム、サーバ、及びそれらの運用方法に関する。
【背景技術】
【０００２】
可用性を高めた計算機システムとして、アクティブ／スタンバイ方式のＨＡ（High Availability）クラスタが知られている。ＨＡクラスタは、相互に接続された複数のサーバを有する。複数のサーバは、運用系のサーバと待機系のサーバとを含む。通常時、運用系のサーバは処理を実行しており、運用系のサーバに障害が生じた場合、待機系のサーバが処理の実行を引き継ぐ。このようにすることで、クラスタ全体としては異常なく稼動し続けているように見える。
【０００３】
ここで、仮想化技術を用いたＨＡクラスタとして、例えば特許文献１に記載のシステムが知られている。特許文献１に記載のシステムは、運用系サーバ、待機系サーバ、管理サーバ、及びディスクアレイ装置を有する。運用系サーバ及び待機系サーバ上では、仮想サーバを提供するサーバ仮想化機構が稼動している。管理サーバは、運用系サーバのサーバ仮想化機構の上で稼動している仮想サーバのメモリイメージのスナップショットを取得し、ディスクアレイ装置に格納する。
【０００４】
管理サーバは、運用系サーバに障害が検出された場合、障害が発生した運用系サーバが使用していたディスクアレイ装置内のＯＳ（Operating System）起動ディスクを、待機系サーバに割り当てる処理を行う。管理サーバは待機系サーバの電源をオンにし、待機系サーバはＯＳ起動ディスクを用いて起動する。管理サーバは、運用系サーバ上で稼動していた仮想サーバのメモリイメージを用いて、待機系サーバ上で稼動中のサーバ仮想化機構の上に、運用系サーバで稼動していた仮想サーバを起動させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２１１８１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、運用系サーバに割り当てられていたＯＳ起動ディスクを待機系サーバに割り当てることで、待機系サーバにおいて仮想サーバを起動することができる。しかしながら、特許文献１に記載のシステムは、運用系サーバ及び待機系サーバの双方からアクセスが可能な共有ディスクアレイ装置が必要である。このため、特許文献１に記載のシステムは、共有ディスクアレイ装置を用いずに、運用系サーバ及び待機系サーバが個別に有するストレージを用いる構成には適用できない。
【０００７】
ここで、ＨＡクラスタにおいて使用できる分散ストレージシステムとして、ＤＲＢＤ（Distributed Replicated Block Device）が知られている。ＤＲＢＤは、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）ネットワークを通じて、複数のサーバ間のブロックデバイス（パーティション）をミラーリングする。ＤＲＢＤは、シングルプライマリモードとデュアルプライマリモードとを有する。シングルプライマリモードでは、複数のサーバのうちの１つがプライマリとなり、プライマリのみがデータを更新できる。これに対し、デュアルプライマリモードでは、全てのサーバがプライマリとなり、各サーバはデータを更新することができる。
【０００８】
ＤＲＢＤのシングルプライマリモードを使用したＨＡクラスタでは、ストレージ内にあるＤＲＢＤのストレージ同期エリアには、データベースのようなデータが保存される。仮想化技術を用いたＨＡクラスタにおいて、プライマリサーバがダウンした場合、セカンダリサーバ側のストレージ及び仮想システムが待機系から運用系に切り替わる。運用系となったセカンダリサーバの仮想システム上のアプリケーションは、ＤＲＢＤによりストレージ同期されている自身のストレージ上のデータベースを参照して処理を実行する。このようにすることで、システムの運用状態を継続可能である。
【０００９】
しかしながら、上記ＨＡクラスでは、プライマリサーバの仮想化システムのメモリの内容はセカンダリサーバの仮想化システムには引き継がれない。このため、システム状態がデータベース化されておらず、仮想化システムのメモリ上で状態を保持するリアルタイムシステム（アプリケーション）においては、フォールトトレランスを実現することができない。
【００１０】
仮想化システムのメモリを同期するためには、プライマリサーバ及びセカンダリサーバが同一のディスクイメージを使用して仮想化システムを起動する必要がある。しかしながら、ＤＲＢＤのシングルプライマリモードでは、待機系においてＤＲＢＤのストレージ同期エリアをマウントすることができない。このため、待機系であるセカンダリサーバ側でディスクイメージを参照することができず、仮想システム（待機系）を起動することができない。
【００１１】
本開示は、上記に鑑み、システム状態がデータベース化されない場合でも、共有ディスクアレイ装置を不要としつつ、フォールトトレランスを実現できるフォールトトレラントシステム、サーバ、及びそれらの運用方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本開示は、第１の態様として、サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する第１ストレージを有する第１サーバと、第２ストレージを有する第２サーバとを有し、前記第１ストレージの前記ストレージ同期エリアに仮想アドレスが設定されており、前記第１サーバ及び前記第２サーバは、それぞれ、前記仮想アドレスを用いて、ＮＦＳ（Network File System）で前記第１ストレージのストレージ同期エリアをマウントし、前記第１サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、かつ、前記仮想システムのメモリの内容のスナップショットを取得して前記第２サーバに送信し、前記第２サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記第１サーバから前記スナップショットを受信して記憶し、前記第１サーバは、前記第１ストレージのストレージ同期エリアの内容を前記第２ストレージのストレージ同期エリアに複製し、前記第２サーバは、前記第１サーバに障害が発生した場合、前記第２ストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで前記第２ストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するフォールトトレラントシステムを提供する。
【００１３】
本開示は、第２の態様として、サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶するストレージと、前記仮想システム上で動作するアプリケーションとを有し、前記ストレージのストレージ同期エリアに設定された仮想アドレスを用いて、ＮＦＳ（Network File System）で前記ストレージのストレージ同期エリアをマウントし、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上で前記アプリケーションを実行し、前記仮想システムのメモリの内容のスナップショットを取得して、前記仮想アドレスを用いて前記ストレージのストレージ同期エリアをマウントする他のサーバに送信し、前記ストレージのストレージ同期エリアの内容を前記他のサーバのストレージのストレージ同期エリアに複製する、サーバを提供する。
【００１４】
本開示は、第３の態様として、ストレージと、サーバ仮想化機構を用いて構築される仮想システム上で動作するアプリケーションとを有し、前記仮想システムのディスクイメージをストレージ同期エリアに記憶する他のサーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記他のサーバのストレージのストレージ同期エリアをマウントし、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記他のサーバから、前記ディスクイメージを用いて前記他のサーバ上で運用系として稼動され、該運用系として稼動するシステム上でアプリケーションが実行される仮想システムのメモリの内容のスナップショットを受信して記憶し、前記他のサーバに障害が発生した場合、前記他のサーバのストレージのストレージ同期エリアの内容が複製される自サーバのストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで自サーバのストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行する、サーバを提供する。
【００１５】
本開示は、第４の態様として、サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する第１ストレージを有する第１サーバ、及び第２ストレージを有する第２サーバが、それぞれ、前記第１ストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記第１ストレージのストレージ同期エリアをマウントし、前記第１サーバが、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、かつ、前記仮想システムのメモリの内容のスナップショットを取得して前記第２サーバに送信し、前記第２サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記第１サーバから受信したスナップショットを記憶し、前記第１サーバは、前記第１ストレージのストレージ同期エリアの内容を前記第２ストレージのストレージ同期エリアに複製し、前記第２サーバは、前記第１サーバに障害が発生した場合、前記第２ストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで前記第２ストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するフォールトトレラントシステムの運用方法を提供する。
【００１６】
本開示は、第５の態様として、サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する自サーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記ストレージのストレージ同期エリアをマウントし、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、前記仮想システムのメモリの内容のスナップショットを取得して、前記仮想アドレスを用いて前記ストレージのストレージ同期エリアをマウントする他のサーバに送信し、前記ストレージのストレージ同期エリアの内容を前記他のサーバのストレージのストレージ同期エリアに複製するサーバの運用方法を提供する。
【００１７】
本開示は、第６の態様として、サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する他のサーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記他のサーバのストレージのストレージ同期エリアをマウントし、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記他のサーバから、前記ディスクイメージを用いて前記他のサーバ上で運用系として稼動され、該運用系として稼動されたシステム上でアプリケーションが実行される仮想システムのメモリの内容のスナップショットを受信して記憶し、前記他のサーバに障害が発生した場合、前記他のサーバのストレージのストレージ同期エリアの内容が複製される自サーバのストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで自サーバのストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するサーバの運用方法を提供する。
【発明の効果】
【００１８】
本開示のフォールトトレラントシステム、サーバ、及びそれらの運用方法は、システム状態がデータベース化されない場合でも、共有ディスクアレイ装置を不要としつつ、フォールトトレランスを実現することができる。
【図面の簡単な説明】
【００１９】
【図１】本開示に係るフォールトレラントシステムの概略構成を示すブロック図。
【図２】本開示の一実施形態に係るフォールトトレラントシステムを示すブロック図。
【図３】通常時におけるフォールトトレラントシステムを示すブロック図。
【図４】プライマリサーバに障害が発生した場合のフォールトトレラントシステムを示すブロック図。
【図５】プライマリサーバにおける通常時の動作手順を示すフローチャート。
【図６】セカンダリサーバにおける通常時の動作手順を示すフローチャート。
【図７】プライマリサーバにおいて呼制御アプリの動作に障害が発生した場合の動作手順を示すフローチャート。
【図８】プライマリサーバに障害が発生した場合の動作手順を示すフローチャート。
【図９】サーバ装置の構成例を示すブロック図。
【発明を実施するための形態】
【００２０】
本開示の実施の形態の説明に先立って、本開示の概要を説明する。図１は、本開示に係るフォールトレラントシステムの概略構成を示す。フォールトトレラントシステム１０は、第１サーバ１１と第２サーバ１２とを有する。第１サーバ１１は、ストレージ２１を有する。ストレージ２１は、ストレージ同期エリアを有する。ストレージ同期エリアは、サーバ仮想化機構を用いて構築される仮想システムのディスクイメージ３１を記憶する。
【００２１】
第２サーバ１２は、ストレージ２２を有する。第１サーバ１１は、自身のストレージ２１のストレージ同期エリアの内容を第２サーバ１２のストレージ２２のストレージ同期エリアに複製する。ストレージ同期エリアの内容が複製されることで、第２サーバ１２のストレージ２２には、第１サーバ１１のストレージ２１に記憶される仮想システムのディスクイメージ３１と同じ内容のディスクイメージ３２が記憶される。
【００２２】
ストレージ２１のストレージ同期エリアには仮想アドレスが設定されている。第１サーバ１１及び第２サーバ１２は、それぞれ仮想アドレスを用いて、ＮＦＳでストレージ２１のストレージ同期エリアをマウントする。
【００２３】
第１サーバ１１は、マウントしたストレージ同期エリアのディスクイメージ３１を用いて仮想システム４１を運用系として稼動する。第１サーバ１１は、稼動した仮想システム４１上でアプリケーション５１を実行する。第１サーバ１１は、仮想システム４１のメモリの内容のスナップショットを取得し、取得したスナップショットを第２サーバ１２に送信する。
【００２４】
第２サーバ１２は、マウントしたストレージ同期エリアのディスクイメージ３１を用いて仮想システム４２を待機系として稼動する。第２サーバ１２は、稼動した仮想システム４２上でアプリケーション５２の実行を待機する。第２サーバ１２は、第１サーバ１１から、仮想システム４１のメモリの内容のスナップショットを受信し、記憶する。
【００２５】
第２サーバ１２は、第１サーバ１１に障害が発生した場合、自身のストレージ２２のストレージ同期エリアに仮想アドレスを設定する。第２サーバ１２は、設定した仮想アドレスを用いて、ＮＦＳでストレージ２２のストレージ同期エリアをマウントする。また、第２サーバ１２は、第１サーバ１１から受信して記憶したスナップショットを用いて、仮想システム４２上でアプリケーション５２を実行する。
【００２６】
本開示では、第１サーバ１１のストレージ２１は、仮想システムのディスクイメージ３１をストレージ同期エリアに記憶する。第１サーバ１１及び第２サーバ１２は、それぞれ、ストレージ２１のストレージ同期エリアに設定された仮想アドレスを用いて、ＮＦＳでストレージ２１のストレージ同期エリアをマウントする。第１サーバ１１は、ストレージ同期エリアの内容を、第２サーバ１２にストレージ２２に複製する。このようにすることで、第１サーバ１１のストレージ２１の仮想システムのディスクイメージ３１と、第２サーバ１２のストレージ２２の仮想システムのディスクイメージ３２とを同期させることができる。
【００２７】
ここで、例えば、ストレージ同期エリアの同期にＤＲＢＤのシングルプライマリモードが用いられる場合、第２サーバ１２は、ＤＲＢＤの待機系である、自身のストレージ２２のストレージ同期エリアをマウントすることができない。本開示では、第２サーバ１２は、仮想アドレスを用いて第１サーバ１１のストレージ２１のストレージ同期エリアをマウントしている。このようにすることで、第２サーバ１２は、自身のストレージ２２を直接にマウントすることができなくても、第１サーバ１１において仮想システム４１の起動に用いられるディスクイメージ３１を使用して、仮想システム４２を起動できる。また、本開示では、第２サーバ１２は第１サーバ１１のストレージ２１のストレージ同期エリアをＮＦＳでマウントしているため、双方のサーバから共通にアクセスが可能な共有ディスクアレイ装置などは必要ない。
【００２８】
また、本開示では、第１サーバ１１は、仮想システム４１のメモリの内容のスナップショットを取得する。第２サーバ１２は、第１サーバ１１からスナップショットを受信し、記憶する。第２サーバ１２は、第１サーバ１１で障害が発生した場合、自身のストレージ２２のストレージ同期エリアに仮想アドレスを設定し、仮想アドレスを用いて、ＮＦＳでストレージ２２のストレージ同期エリアをマウントする。また、第２サーバ１２は、第１サーバ１１から受信したスナップショットを用いてアプリケーション５２を実行し、第１サーバ１１の仮想システム４１において実行されていたアプリケーション５１の実行を引き継ぐ。このようにすることで、システム状態がデータベース化されない場合でも、共有ディスクアレイ装置を不要としつつ、フォールトトレランスを実現することができる
【００２９】
以下、図面を参照しつつ、本開示の実施の形態を詳細に説明する。図２は、本開示の一実施形態に係るフォールトトレラントシステムを示す。フォールトトレラントシステム１００は、プライマリサーバ１１０、及びセカンダリサーバ１３０を有する。フォールトトレラントシステム１００は図１のフォールトトレラントシステム１０に対応する。プライマリサーバ１１０は図１の第１サーバ１１に対応し、セカンダリサーバ１３０は図１の第２サーバ１２に対応する。
【００３０】
本実施形態において、フォールトトレラントシステム１００は、ホット−スタンバイ構成のシステムとして構成される。通常時、プライマリサーバ１１０は運用系として動作する。セカンダリサーバ１３０は、待機系として用いられ、運用系であるプライマリサーバ１１０に障害が発生した場合に、プライマリサーバ１１０で提供されていた処理を引き継いで実施する。
【００３１】
プライマリサーバ１１０は、ハードウェア１１１として、ネットワークインタフェースカード（ＮＩＣ：Network Interface Card）１１８及び１１９と、ストレージ１２０とを有する。ハードウェア１１１は、プロセッサ及びメモリなども含む。ＮＩＣ１１８は、呼制御ネットワークを介して、電話機２０１などに接続される。ＮＩＣ１１９は、ＦＴ（Fault Tolerance）ネットワークを介して、セカンダリサーバ１３０に接続される。ストレージ１２０は、プライマリサーバ１１０上に構築される仮想システムのディスクイメージを含む。ストレージ１２０は、図１のストレージ２１に対応する。
【００３２】
セカンダリサーバ１３０の構成は、プライマリサーバ１１０と同様である。セカンダリサーバ１３０は、ハードウェア１３１として、ＮＩＣ１３８及び１３９と、ストレージ１４０とを有する。ハードウェア１３１は、プロセッサ及びメモリなども含む。ＮＩＣ１３８は、呼制御ネットワークを介して、電話機２０１などに接続される。ＮＩＣ１３９は、ＦＴネットワークを介して、プライマリサーバ１１０に接続される。ストレージ１４０は、図１のストレージ２２に対応する。
【００３３】
なお、図２では図面簡略化のために電話機２０１が１つのみ示されているが、プライマリサーバ１１０及びセカンダリサーバ１３０は、呼制御ネットワークを介して複数の電話機２０１に接続され得る。また、呼制御ネットワークに接続される装置は、電話機能を有する装置であればよく、電話機２０１には限定されない。
【００３４】
ここで、ストレージ１２０及びストレージ１４０はストレージ同期エリアを有し、ストレージ同期エリアの内容は同期される。ストレージの同期には、例えばストレージのレプリケーションのためのソフトウェアであるＤＲＢＤが用いられる。ＤＲＢＤは、ＴＣＰ／ＩＰネットワークを通じて複数のサーバのストレージ（ブロックデバイス）をリアルタイムでレプリケートするソフトウェアである。本実施形態では、特に、ＤＲＢＤのシングルプライマリモードを使用して、プライマリサーバ１１０とセカンダリサーバ１３０との間でストレージ同期エリア（ブロックストレージ）の内容がミラーリングされる。
【００３５】
本実施形態において、ＤＲＢＤの運用系に仮想ＩＰアドレス（以下、ＡＣＴ  ＩＰ）とも呼ぶ）が設定される。通常時、プライマリサーバ１１０のストレージ１２０がＤＲＢＤの運用系として用いられ、セカンダリサーバ１３０のストレージ１４０がＤＲＢＤの待機系として用いられる。プライマリサーバ１１０及びセカンダリサーバ１３０は、それぞれ、ＡＣＴ  ＩＰを用いて、ＮＦＳでストレージ１２０のストレージ同期エリアをマウントする。
【００３６】
プライマリサーバ１１０で動作するホストＯＳ１１２は、ハイパーバイザ１２１を含む。ホストＯＳ１１２には、例えばＬｉｎｕｘ（登録商標）系のＯＳが用いられる。ハイパーバイザ１２１には、例えばＫＶＭ（Kernel-based Virtual Machine）が用いられる。ホストＯＳ１１２上では、ＱＥＭＵ１１３、ＤＲＢＤ１１６、及び監視アプリケーション１１７が動作する。ＱＥＭＵ（Quick Emulator）１１３は、オープンソースのエミュレータである。ＱＥＭＵ１１３は、仮想ハードウェアを提供し、ホストＯＳ１１２（ハイパーバイザ１２１）上に仮想マシン（仮想システム）を構築する。ＱＥＭＵ１１３上には、ＬｉｎｕｘなどのゲストＯＳ１１４が動作している。
【００３７】
ここで、プライマリサーバ１１０上で稼動する仮想システムでは、システム状態がデータベース化されず、メモリ上でシステムを管理するリアルタイムシステム（アプリケーション）が稼動する。特に、本実施形態では、そのようなリアルタイムアプリケーションとして、呼制御アプリケーション（以下、呼制御アプリとも呼ぶ）１１５が稼動する。呼制御アプリ１１５は、ゲストＯＳ１１４上で動作する。呼制御アプリ１１５は、外線と内線、或いは内線同士を接続する呼制御を実施するアプリケーションソフトウェアである。なお、仮想システム上で実行されるアプリケーションは呼制御アプリ１１５には限定されず、他のアプリケーションであってもよい。
【００３８】
プライマリサーバ１１０は、呼制御アプリ１１５に動作に応じて変化し得る仮想システムのメモリの内容を、セカンダリサーバ１３０に送信する。プライマリサーバ１１０は、例えばＫＶＭのライブマイグレーション機能（ｖｍｏｔｉｏｎ機能）を利用して、仮想システムのメモリの内容をセカンダリサーバ１３０に送信する。例えば、プライマリサーバ１１０は、所定時間間隔、例えば数百ミリ秒から数秒程度の間隔で、仮想システムのメモリの内容のスナップショットを取得する。プライマリサーバ１１０は、取得したスナップショットを、ＮＩＣ１１９を通じてセカンダリサーバ１３０に送信する。セカンダリサーバ１３０は、ＮＩＣ１３９を通じて、プライマリサーバ１１０からスナップショットを受信する。セカンダリサーバ１３０は、受信したスナップショットを記憶装置に記憶する。セカンダリサーバ１３０は、例えば受信したスナップショットを記憶装置に上書き保存する。
【００３９】
ＤＲＢＤ１１６は、ストレージ１２０内のストレージ同期エリアの内容を、セカンダリサーバ１３０のストレージ１４０にレプリケートする。ＤＲＢＤ１１６は、ストレージ１２０のストレージ同期エリアの内容が変更される場合、その変更の内容をセカンダリサーバ１３０に送信する。ストレージ１２０は、ストレージ同期エリアに、仮想システムのディスクイメージを記憶する。ＤＲＢＤを用いることで、プライマリサーバ１１０のストレージ１２０と、セカンダリサーバ１３０のストレージ１４０に記憶される仮想システムのディスクイメージの内容が同じ内容に保たれる。
【００４０】
監視アプリケーション（以下、監視アプリとも呼ぶ）１１７は、ゲストＯＳ１１４上で動作する呼制御アプリ１１５の動作を監視する。監視アプリ１１７は、呼制御アプリ１１５が正常に動作していない場合、その旨を、ＮＩＣ１１９を通じてセカンダリサーバ１３０に通知する。また、監視アプリケーション１１７は、ＮＩＣ１１９を通じて、セカンダリサーバ１３０を監視する。
【００４１】
セカンダリサーバ１３０で動作するホストＯＳ１３２は、ハイパーバイザ１４１を含む。ホストＯＳ１３２には、例えばＬｉｎｕｘ系のＯＳが用いられる。ハイパーバイザ１４１には、例えばＫＶＭが用いられる。ホストＯＳ１３２上では、ＱＥＭＵ１３３、ＤＲＢＤ１３６、及び監視アプリケーション１３７が動作する。ＱＥＭＵ１３３は、仮想ハードウェアを提供する。ＱＥＭＵ１３３は、ホストＯＳ１３２（ハイパーバイザ１４１）上に仮想マシン（仮想システム）を構築する。
【００４２】
ＱＥＭＵ１３３上には、ＬｉｎｕｘなどのゲストＯＳ１３４が動作している。呼制御アプリ１３５は、ゲストＯＳ１３４上で動作する。呼制御アプリ１３５は、外線と内線、或いは内線同士を接続する呼制御を実施するアプリケーションソフトウェアである。プライマリサーバ１１０において呼制御アプリ１１５が正常に動作している場合、セカンダリサーバ１３０において呼制御アプリ１３５は動作していない。
【００４３】
ＤＲＢＤ１３６は、プライマリサーバ１１０のストレージ１２０のストレージ同期エリアの内容を、セカンダリサーバ１３０のストレージ１４０にレプリケートする。プライマリサーバ１１０のストレージ１２０においてストレージ同期エリアの内容が変更された場合、ＤＲＢＤ１３６は、プライマリサーバ１１０からその変更の内容を受信する。ＤＲＢＤ１３６は、セカンダリサーバ１３０のストレージ１４０に、プライマリサーバ１１０から受信した変更の内容を反映させる。
【００４４】
監視アプリ１３７は、ゲストＯＳ１３４上で動作する呼制御アプリ１３５の動作を監視する。監視アプリ１３７は、呼制御アプリ１３５が正常に動作していない場合、その旨を、ＮＩＣ１３９を通じてプライマリサーバ１１０に通知する。また、監視アプリ１３７は、ＮＩＣ１３９を通じてプライマリサーバ１１０を監視する。プライマリサーバ１１０に障害が発生した場合、セカンダリサーバ１３０は、ストレージ１４０のストレージ同期エリアをＤＲＢＤの運用系に切り替える。その際、セカンダリサーバ１３０は、ストレージ１４０のストレージ同期エリアにＡＣＴ  ＩＰを設定する。セカンダリサーバ１３０は、ＡＣＴ  ＩＰを用いて、ＮＦＳでストレージ１４０のストレージ同期エリアをマウントする。
【００４５】
セカンダリサーバ１３０は、プライマリサーバ１１０から呼制御アプリ１１５が正常に動作していない旨が通知された場合、及びプライマリサーバ１１０に障害が発生した場合、自サーバ上で稼動する仮想システムを運用系に切り替える。セカンダリサーバ１３０は、運用系に切り替えた仮想システム上で、プライマリサーバ１１０から受信し、記憶していたスナップショットを用いて、呼制御アプリ１３５を実行する。呼制御アプリ１３５は、プライマリサーバ１１０の呼制御アプリ１１５で実行していた処理を引き継ぐ。このようにすることで、プライマリサーバ１１０が障害でダウンした場合でも、セカンダリサーバ１３０が、プライマリサーバ１１０で提供されていたサービスを、ほぼ途切れることなく提供し続けることができる。
【００４６】
図３は、通常時におけるフォールトトレラントシステム１００を示す。プライマリサーバ１１０のストレージ１２０は、ＤＲＢＤの運用系であるストレージ同期エリア１２２を有する。ストレージ同期エリア１２２は、例えば「/drbd_share」などの所定のフォルダに設定される。ストレージ同期エリア１２２である「/drbd_share」には、仮想システムのディスクイメージ（以下、単にディスクイメージとも呼ぶ）１２３が記憶される。ディスクイメージ１２３は、図１のディスクイメージ３１に対応する。
【００４７】
また、セカンダリサーバ１３０のストレージ１４０は、ＤＲＢＤの待機系であるストレージ同期エリア１４２を有する。ストレージ同期エリア１４２は、例えば「/drbd_share」などの所定のフォルダに設定される。プライマリサーバ１１０のＤＲＢＤ１１６（図２を参照）は、ストレージ同期エリア１２２に記憶されるディスクイメージ１２３をセカンダリサーバ１３０に送信する。セカンダリサーバ１３０のＤＲＢＤ１３６は、ストレージ同期エリア１４２である「/drbd_share」に、プライマリサーバ１１０から受信したディスクイメージ１２３を複製したディスクイメージ１４３を記憶する。プライマリサーバ１１０において、ディスクイメージ１２３に変更が生じると、その変更はセカンダリサーバ１３０のディスクイメージ１４３にも反映される。ディスクイメージ１４３は、図１のディスクイメージ３２に対応する。
【００４８】
プライマリサーバ１１０のストレージ同期エリア１２２には、例えばＡＣＴ  ＩＰ「１７２．３１．０．１０」が設定される。プライマリサーバ１１０は、ＡＣＴ  ＩＰを用いて、ＮＦＳで、ストレージ同期エリア１２２をマウントする。プライマリサーバ１１０において、ストレージ同期エリア１２２は、例えば「/mnt/nfs-client/」などの所定のマウントポイント１２４にマウントされる。また、セカンダリサーバ１３０は、ＡＣＴ  ＩＰを用いて、ＮＦＳで、ストレージ同期エリア１２２をマウントする。セカンダリサーバ１３０において、ストレージ同期エリア１２２は、例えば「/mnt/nfs-client/」などの所定のマウントポイント１４４にマウントされる。
【００４９】
プライマリサーバ１１０は、ＮＦＳでマウントしたストレージ同期エリア１２２のディスクイメージ１２３を用いて、仮想システム１２５を起動する。プライマリサーバ１１０は、仮想システム１２５を運用系として稼動させる。プライマリサーバ１１０は、仮想システム１２５上で、ゲストＯＳ１１４と呼制御アプリ１１５とを稼動させる。プライマリサーバ１１０は、定期的に仮想システム１２５のメモリの内容のスナップショットを取得し、セカンダリサーバ１３０に送信する。仮想システム１２５は、図１の仮想システム４１に対応する。
【００５０】
また、セカンダリサーバ１３０は、ＮＦＳでマウントしたストレージ同期エリア１２２のディスクイメージ１２３を用いて、仮想システム１４５を待機系として起動する。セカンダリサーバ１３０は、仮想システム１４５上で、ゲストＯＳ１３４及び呼制御アプリ１３５の実行を待機する。仮想システム１４５は、図１の仮想システム４２に対応する。セカンダリサーバ１３０は、プライマリサーバ１１０から、仮想システム１２５のメモリの内容のスナップショットを定期的に受信し、記憶する。セカンダリサーバ１３０は、例えば新たなスナップショットを受信するたびに、前回受信したスナップショットを新たに受信したスナップショットで上書きする。
【００５１】
図４は、プライマリサーバ１１０に障害が発生した場合のフォールトトレラントシステム１００を示す。監視アプリ１３７（図２を参照）は、例えば何らかの原因でプライマリサーバ１１０との通信が途絶えた場合、プライマリサーバ１１０の障害を検出する。監視アプリ１３７がプライマリサーバ１１０の障害を検出した場合、セカンダリサーバ１３０は、ＤＲＢＤの運用系を自サーバのストレージ１４０に切り替える。セカンダリサーバ１３０は、自身のストレージ１４０のストレージ同期エリア１４２にＡＣＴ  ＩＰ「１７２．３１．０．１０」を設定する。セカンダリサーバ１３０は、ＡＣＴ  ＩＰ「１７２．３１．０．１０」を用いて、ＮＦＳでストレージ同期エリア１４２をマウントポイント１４４にマウントする。
【００５２】
また、セカンダリサーバ１３０は、監視アプリ１３７がプライマリサーバ１１０の障害を検出した場合、仮想システム１４５を待機系から運用系に切り替える。セカンダリサーバ１３０は、障害発生前に受信していたスナップショットを用いて、最後にスナップショットが取得されたときの仮想システム１４５内のメモリの内容を、仮想システム１４５に再現する。運用系に切り替えられた仮想システム１４５において、呼制御アプリ１３５は、再現されたメモリの内容を参照しつつ、プライマリサーバ１１０の仮想システム１２５が提供していた呼制御処理を引き継ぐ。このようにすることで、プライマリサーバ１１０がダウンした場合でも、電話機２０１（図２を参照）に対して、呼制御を継続して提供することができる。
【００５３】
続いて、フォールトトレラントシステム及びサーバの運用方法を含む動作手順を説明する。図５は、プライマリサーバ１１０における通常時の動作手順を示す。プライマリサーバ１１０は、ＡＣＴ  ＩＰを用いて、ストレージ１２０のストレージ同期エリア１２２をＮＦＳでマウントポイント１２４にマウントする（ステップＳ１１）。プライマリサーバ１１０は、マウントしたストレージ同期エリア１２２に記憶されるディスクイメージ１２３を使用して、仮想システム１２５を運用系として起動する。（ステップＳ１２）。
【００５４】
プライマリサーバ１１０は、仮想システム１２５において、ゲストＯＳ１１４を起動し、ゲストＯＳ１１４上で呼制御アプリ１１５を実行する（ステップＳ１３）。プライマリサーバ１１０は、仮想システム１２５内のメモリの内容のスナップショットを取得する（ステップＳ１４）。プライマリサーバ１１０は、例えば所定のチェックポイント周期が経過したか否かを判断し、チェックポイント周期が経過するたびにスナップショットを取得する。プライマリサーバ１１０は、スナップショットの取得では、前回のスナップショット取得から変更があったメモリの内容を取得する。プライマリサーバ１１０は、取得したスナップショットをセカンダリサーバ１３０に送信する（ステップＳ１５）。プライマリサーバ１１０は、スナップショットの取得及び送信と並行して、ストレージ１２０のストレージ同期エリア１２２の内容に変更が生じた場合は、その変更内容をセカンダリサーバ１３０に送信する。
【００５５】
図６は、セカンダリサーバ１３０における通常時の動作手順を示す。セカンダリサーバ１３０は、ＡＣＴ  ＩＰを用いて、プライマリサーバ１１０のストレージ１２０のストレージ同期エリア１２２をＮＦＳでマウントポイント１４４にマウントする（ステップＳ２１）。セカンダリサーバ１３０は、マウントしたストレージ同期エリア１２２に記憶されるディスクイメージ１２３を使用して、仮想システム１４５を待機系として起動する。（ステップＳ２２）。
【００５６】
セカンダリサーバ１３０は、仮想システム１４５において、ゲストＯＳ１３４を起動し、ゲストＯＳ１３４上で呼制御アプリ１３５の実行を待機する（ステップＳ２３）。セカンダリサーバ１３０は、プライマリサーバ１１０から、仮想システム１２５内のメモリの内容のスナップショットを受信する（ステップＳ２４）。セカンダリサーバ１３０は、受信したスナップショットを記憶する。セカンダリサーバ１３０は、スナップショットの受信と並行して、ストレージ１２０のストレージ同期エリア１２２の変更内容を受信する。セカンダリサーバ１３０は、ストレージ１４０のストレージ同期エリア１４２の内容を、ストレージ１２０のストレージ同期エリア１２２の内容と同期させる。
【００５７】
図７は、プライマリサーバ１１０において呼制御アプリ１１５の動作に障害が発生した場合の動作手順を示す。プライマリサーバ１１０は、監視アプリ１１７（図２を参照）を用いて、ゲストＯＳ１１４上で実行される呼制御アプリ１１５の動作を監視する（ステップＳ３１）。プライマリサーバ１１０は、呼制御アプリ１１５の動作が異常であるか否かを判断する（ステップＳ３２）。プライマリサーバ１１０は、呼制御アプリ１１５の動作が異常ではないと判断した場合、ステップＳ３１に戻り、呼制御アプリ１１５の動作を継続して監視する。プライマリサーバ１１０は、ステップＳ３２で呼制御アプリ１１５の動作が異常と判断した場合、セカンダリサーバ１３０に動作異常を通知する（ステップＳ３３）。
【００５８】
セカンダリサーバ１３０は、プライマリサーバ１１０から動作異常が通知された場合、仮想システム１４５（図４を参照）を、待機系から運用系に変更する（ステップＳ３４）。このとき、プライマリサーバ１１０自体の動作に異常がなく、セカンダリサーバ１３０がストレージ１２０のストレージ同期エリア１２２に正常にアクセスできる場合、ＤＲＢＤの運用系の切替えは実施されない。セカンダリサーバ１３０は、運用系に切り替えた仮想システム１４５において、図６のステップＳ２４で受信していたスナップショットを用いて、呼制御アプリ１３５を実行する（ステップＳ３５）。
【００５９】
図８は、プライマリサーバ１１０に障害が発生した場合の動作手順を示す。セカンダリサーバ１３０は、監視アプリ１３７（図２を参照）を用いて、プライマリサーバ１１０を監視する（ステップＳ４１）。セカンダリサーバ１３０は、プライマリサーバ１１０に異常が発生したか否かを判断する（ステップＳ４２）。セカンダリサーバ１３０は、プライマリサーバ１１０が異常ではないと判断した場合、ステップＳ４１に戻り、プライマリサーバ１１０を継続して監視する。
【００６０】
セカンダリサーバ１３０は、ステップＳ４２でプライマリサーバ１１０が異常と判断した場合、ＤＲＢＤの運用系を切り替える（ステップＳ４３）。セカンダリサーバ１３０は、ステップＳ４３では、ＤＲＢＤの運用系を、プライマリサーバ１１０のストレージ１２０のストレージ同期エリア１２２から、セカンダリサーバ１３０のストレージ１４０のストレージ同期エリア１４２に切り替える。その際、セカンダリサーバ１３０は、ストレージ同期エリア１４２に、仮想アドレスを設定する（ステップＳ４４）。セカンダリサーバ１３０は、仮想アドレスを用いて、ストレージ同期エリア１４２をＮＦＳでマウントポイント１４４にマウントする（ステップＳ４５）。
【００６１】
セカンダリサーバ１３０は、仮想システム１４５を待機系から運用系に変更する（ステップＳ４６）。セカンダリサーバ１３０は、運用系に切り替えた仮想システム１４５において、図６のステップＳ２４で受信していたスナップショットを用いて、呼制御アプリ１３５を実行する（ステップＳ４７）。ストレージ同期エリア１４２に記憶されるディスクイメージ１４３は、プライマリサーバ１１０においてストレージ同期エリア１２２に記憶されるディスクイメージ１２３と同期されている。従って、呼制御アプリ１３５は、プライマリサーバ１１０側の呼制御アプリ１１５から、正常に呼制御処理を引き継ぐことができる。
【００６２】
本実施形態では、プライマリサーバ１１０のストレージ１２０及びセカンダリサーバ１３０のストレージ１４０のストレージ同期エリアは、ＤＲＢＤのシングルプライマリモードを用いて同期される。本実施形態において、ＤＲＢＤのシングルプライマリモードは、一般的な使用方法であるデータの同期ではなく、仮想システムを起動するためのディスクイメージを同期させるために使用される。本実施形態では、通常動作時は、プライマリサーバ１１０側のストレージ同期エリアをＤＲＢＤの運用系とし、セカンダリサーバ１３０側のストレージ同期エリアを待機系とする。このようにすることで、システム運用中に、ストレージ同期エリアの内容を同期させることができる。
【００６３】
本実施形態では、通常動作時は、プライマリサーバ１１０側の仮想システムのディスクイメージを記憶するストレージ同期エリアに仮想アドレスが設定される。プライマリサーバ１１０及びセカンダリサーバ１３０は、それぞれプライマリサーバ１１０側のストレージ同期エリアを、仮想アドレスを用いてＮＦＳでマウントする。このようにすることで、ＤＲＢＤの待機系であるセカンダリサーバ１３０においても、プライマリサーバ１１０と同一のディスクイメージを使用して、仮想システムを起動することが可能となる。本実施形態では、セカンダリサーバ１３０は、プライマリサーバ１１０側のストレージ同期エリアを、仮想アドレスを用いてＮＦＳでマウントしている。このため、共有ディスクアレイ装置などの外部ディスク装置は不要である。
【００６４】
本実施形態では、ライブマイグレーション機能などを使用して、プライマリサーバ１１０側の仮想システムのメモリの内容と、セカンダリサーバ１３０側の仮想システムのメモリの内容とが同期される。プライマリサーバ１１０に障害が発生した場合、セカンダリサーバ１３０側のストレージ同期エリアがＤＲＢＤの運用系となり、セカンダリサーバ１３０側のストレージ同期エリアに仮想アドレスが設定される。このようにすることで、セカンダリサーバ１３０において、ＮＦＳのマウント状態を維持でき、仮想システムの運用状態を停止することなく、仮想システムの運用系をセカンダリサーバ１３０側に切り替えることができる。
【００６５】
上記において、セカンダリサーバ１３０は、起動している仮想システムに対して、プライマリサーバ１１０側のディスクイメージで起動していた状態のまま、ＮＦＳのマウント状態を維持できる。従って、セカンダリサーバ１３０は、仮想システムが参照するディスクイメージがプライマリサーバ１１０側からセカンダリサーバ１３０側に切り替わったことを意識せずに、ＮＦＳマウント状態を維持することができる。本実施形態において、ハイパーバイザ上に構築される仮想システムでは、システム状態がデータベース化されておらず、メモリ上で状態を保持するリアルタイムアプリケーションが動作している。このような場合でも、ストレージ同期に、仮想システム内のメモリ同期を併用することで、プライマリサーバ１１０に障害が発生し、ＤＲＢＤの運用系が切り替えられた後も、セカンダリサーバ１３０で仮想システムの稼動状態を継続することができる。
【００６６】
なお、プライマリサーバ１１０及びセカンダリサーバ１３０には、仮想化技術に対応した一般的なサーバ装置を用いることができる。図９は、サーバ装置の構成例を示す。サーバ装置３００は、ＣＰＵ（Central Processing Unit）３０１、メインメモリ３０２、記憶装置３０３、入力インターフェイス３０４、表示コントローラ３０５、データリーダ／ライタ３０６、通信インターフェイス３０７、及び通信インターフェイス３０８を備える。サーバ装置３００において、これら要素は、バス３０９を介して、互いにデータ通信可能に接続される。
【００６７】
ＣＰＵ３０１は、記憶装置３０３に格納された、プログラム（コード）をメインメモリ３０２に展開し、プログラムを実行することで、各種の演算を実施する。メインメモリ３０２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性の記憶装置である。サーバ装置３００をプライマリサーバ１１０又はセカンダリサーバ１３０として機能させるためのプログラムは、例えば、コンピュータ読み取り可能な記録媒体３２０に格納された状態で提供される。プログラムは、インターネットなどのネットワークを通じて提供されてもよい。
【００６８】
上記プログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータ（サーバ装置）に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体を含む。非一時的なコンピュータ可読媒体の例は、例えばフレキシブルディスク、磁気テープ、又はハードディスクなどの磁気記録媒体、例えば光磁気ディスクなどの光磁気記録媒体、ＣＤ（compact disc）、又はＤＶＤ（digital versatile disk）などの光ディスク媒体、及び、マスクＲＯＭ（read only memory）、ＰＲＯＭ（programmable ROM）、ＥＰＲＯＭ（erasable PROM）、フラッシュＲＯＭ、又はＲＡＭ（random access memory）などの半導体メモリを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６９】
記憶装置３０３、例えばハードディスクドライブなどディスク装置、或いはフラッシュメモリなどの半導体記憶装置として構成される。記憶装置３０３は、プライマリサーバ１１０のストレージ１２０、又はセカンダリサーバ１３０のストレージ１４０に対応する。入力インターフェイス３０４は、ＣＰＵ３０１と、キーボード及びマウスといった入力機器３１０との間のデータ伝送を仲介する。表示コントローラ３０５は、表示装置３３０と接続され、表示装置３３０での表示を制御する。データリーダ／ライタ３０６は、ＣＰＵ３０１と記録媒体３２０との間のデータ伝送を仲介する。データリーダ／ライタ３０６は、例えば記録媒体３２０からプログラムを読み出し、読み出したプログラムをＣＰＵ３０１に伝送する。
【００７０】
通信インターフェイス３０７及び３０８は、ＣＰＵ３０１と、他の装置又はネットワークとの間のデータ伝送を仲介する。例えば、通信インターフェイス３０７はプライマリサーバ１１０のＮＩＣ１１８に対応し、通信インターフェイス３０８はプライマリサーバ１１０のＮＩＣ１１９に対応する。あるいは、通信インターフェイス３０７はセカンダリサーバ１３０のＮＩＣ１３８に対応し、通信インターフェイス３０８はセカンダリサーバ１３０のＮＩＣ１３９に対応する。
【００７１】
以上、本開示の実施形態を詳細に説明したが、本開示は、上記した実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本開示に含まれる。
【００７２】
例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００７３】
［付記１］
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する第１ストレージを有する第１サーバと、
第２ストレージを有する第２サーバとを有し、
前記第１ストレージの前記ストレージ同期エリアに仮想アドレスが設定されており、前記第１サーバ及び前記第２サーバは、それぞれ、前記仮想アドレスを用いて、ＮＦＳ（Network File System）で前記第１ストレージのストレージ同期エリアをマウントし、
前記第１サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、かつ、前記仮想システムのメモリの内容のスナップショットを取得して前記第２サーバに送信し、
前記第２サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記第１サーバから前記スナップショットを受信して記憶し、
前記第１サーバは、前記第１ストレージのストレージ同期エリアの内容を前記第２ストレージのストレージ同期エリアに複製し、
前記第２サーバは、前記第１サーバに障害が発生した場合、前記第２ストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで前記第２ストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するフォールトトレラントシステム。
【００７４】
［付記２］
前記第１サーバは、所定時間間隔で前記スナップショットを取得して前記第２サーバに送信する付記１に記載のフォールトトレラントシステム。
【００７５】
［付記３］
前記第２サーバは、前記第１サーバを監視し、前記第１サーバに障害が発生した場合、前記第２サーバのストレージを待機系から運用系に切り替える付記１又は２に記載のフォールトトレラントシステム。
【００７６】
［付記４］
前記第１サーバ及び前記第２サーバは、それぞれ前記第１サーバ及び前記第２サーバのそれぞれの上で稼動する仮想システム上で動作するアプリケーションの実行を監視し、
前記第２サーバは、前記第１サーバ上で稼動する仮想システム上で動作するアプリケーションの実行に障害が発生した場合、前記第２サーバ上で稼動する仮想システム上で動作するアプリケーションを、待機状態から動作状態に切り替える付記１から３何れか１つに記載のフォールトトレラントシステム。
【００７７】
［付記５］
前記第１ストレージのストレージ同期エリアの内容は、ＤＲＢＤ（Distributed Replicated Block Device）のシングルプライマリモードを用いて前記第２ストレージのストレージ同期エリアに複製される付記１から４何れか１つに記載のフォールトトレラントシステム。
【００７８】
［付記６］
前記アプリケーションは、前記第１サーバ及び第２サーバとネットワークを介して接続される電話機能を有する装置の呼を制御する呼制御アプリケーションである付記１から５何れか１つに記載のフォールトトレラントシステム。
【００７９】
［付記７］
前記アプリケーションは、システム状態をデータベース化せず、システム状態をメモリ上で管理する付記１から６何れか１つに記載のフォールトトレラントシステム。
【００８０】
［付記８］
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶するストレージと、
前記仮想システム上で動作するアプリケーションとを有し、
前記ストレージのストレージ同期エリアに設定された仮想アドレスを用いて、ＮＦＳ（Network File System）で前記ストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上で前記アプリケーションを実行し、
前記仮想システムのメモリの内容のスナップショットを取得して、前記仮想アドレスを用いて前記ストレージのストレージ同期エリアをマウントする他のサーバに送信し、
前記ストレージのストレージ同期エリアの内容を前記他のサーバのストレージのストレージ同期エリアに複製する、
サーバ。
【００８１】
［付記９］
所定時間間隔で前記スナップショットを取得して前記他のサーバに送信する付記８に記載のサーバ。
【００８２】
［付記１０］
前記ストレージのストレージ同期エリアの内容は、ＤＲＢＤ（Distributed Replicated Block Device）のシングルプライマリモードを用いて前記他のサーバのストレージのストレージ同期エリアに複製される付記８又は９に記載のサーバ。
【００８３】
［付記１１］
ストレージと、
サーバ仮想化機構を用いて構築される仮想システム上で動作するアプリケーションとを有し、
前記仮想システムのディスクイメージをストレージ同期エリアに記憶する他のサーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記他のサーバのストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、
前記他のサーバから、前記ディスクイメージを用いて前記他のサーバ上で運用系として稼動され、該運用系として稼動するシステム上でアプリケーションが実行される仮想システムのメモリの内容のスナップショットを受信して記憶し、
前記他のサーバに障害が発生した場合、前記他のサーバのストレージのストレージ同期エリアの内容が複製される自サーバのストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで自サーバのストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行する、
サーバ。
【００８４】
［付記１２］
前記他のサーバを監視し、前記他のサーバに障害が発生した場合、自サーバのストレージを待機系から運用系に切り替える付記１１に記載のサーバ。
【００８５】
［付記１３］
前記他のサーバ上で稼動する仮想システム上で動作するアプリケーションの実行を監視し、
前記他のサーバ上で稼動する仮想システム上で動作するアプリケーションの実行に障害が発生した場合、自サーバ上で稼動する仮想システム上で動作するアプリケーションを、待機状態から動作状態に切り替える付記１１又は１２に記載のサーバ。
【００８６】
［付記１４］
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する第１ストレージを有する第１サーバ、及び第２ストレージを有する第２サーバが、それぞれ、前記第１ストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記第１ストレージのストレージ同期エリアをマウントし、
前記第１サーバが、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、かつ、前記仮想システムのメモリの内容のスナップショットを取得して前記第２サーバに送信し、
前記第２サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記第１サーバから受信したスナップショットを記憶し、
前記第１サーバは、前記第１ストレージのストレージ同期エリアの内容を前記第２ストレージのストレージ同期エリアに複製し、
前記第２サーバは、前記第１サーバに障害が発生した場合、前記第２ストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで前記第２ストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するフォールトトレラントシステムの運用方法。
【００８７】
［付記１５］
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する自サーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記ストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、
前記仮想システムのメモリの内容のスナップショットを取得して、前記仮想アドレスを用いて前記ストレージのストレージ同期エリアをマウントする他のサーバに送信し、
前記ストレージのストレージ同期エリアの内容を前記他のサーバのストレージのストレージ同期エリアに複製するサーバの運用方法。
【００８８】
［付記１６］
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する他のサーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記他のサーバのストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、
前記他のサーバから、前記ディスクイメージを用いて前記他のサーバ上で運用系として稼動され、該運用系として稼動されたシステム上でアプリケーションが実行される仮想システムのメモリの内容のスナップショットを受信して記憶し、
前記他のサーバに障害が発生した場合、前記他のサーバのストレージのストレージ同期エリアの内容が複製される自サーバのストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで自サーバのストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するサーバの運用方法。
【００８９】
［付記１７］
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する自サーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記ストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、
前記仮想システムのメモリの内容のスナップショットを取得して、前記仮想アドレスを用いて前記ストレージのストレージ同期エリアをマウントする他のサーバに送信し、
前記ストレージのストレージ同期エリアの内容を前記他のサーバのストレージのストレージ同期エリアに複製する処理をサーバに実行させるためのプログラム。
【００９０】
［付記１８］
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する他のサーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記他のサーバのストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、
前記他のサーバから、前記ディスクイメージを用いて前記他のサーバ上で運用系として稼動され、該運用系として稼動されたシステム上でアプリケーションが実行される仮想システムのメモリの内容のスナップショットを受信して記憶し、
前記他のサーバに障害が発生した場合、前記他のサーバのストレージのストレージ同期エリアの内容が複製される自サーバのストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで自サーバのストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行する処理をサーバに実行させるためのプログラム。
【符号の説明】
【００９１】
１０：フォールトトレラントシステム
１１：第１サーバ
１２：第２サーバ
２１、２２：ストレージ
３１、３２：ディスクイメージ
４１、４２：仮想システム
５１、５２：アプリケーション
１００：フォールトトレラントシステム
１１０：プライマリサーバ
１１１、１３１：ハードウェア
１１２、１３２：ホストＯＳ
１１３、１３３：ＱＥＭＵ
１１４、１３４：ゲストＯＳ
１１５、１３５：呼制御アプリケーション
１１６、１３６：ＤＲＢＤ
１１７、１３７：監視アプリケーション
１１８、１１９、１３８、１３９：ＮＩＣ
１２０、１４０：ストレージ
１２１、１４１：ハイパーバイザ
１２２、１４２：ストレージ同期エリア
１２３、１４３：仮想システムのディスクイメージ
１２４、１４４：マウントポイント
１２５、１４５：仮想システム
１３０：セカンダリサーバ
【図１】
2020194430.tif 000003
【図２】
2020194430.tif 000004
【図３】
2020194430.tif 000005
【図４】
2020194430.tif 000006
【図５】
2020194430.tif 000007
【図６】
2020194430.tif 000008
【図７】
2020194430.tif 000009
【図８】
2020194430.tif 000010
【図９】
2020194430.tif 000011
【手続補正書】
【提出日】令和2年8月21日(2020.8.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する第１ストレージを有する第１サーバと、
第２ストレージを有する第２サーバとを有し、
前記第１ストレージの前記ストレージ同期エリアに仮想アドレスが設定されており、前記第１サーバ及び前記第２サーバは、それぞれ、前記仮想アドレスを用いて、ＮＦＳ（Network File System）で前記第１ストレージのストレージ同期エリアをマウントし、
前記第１サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、かつ、前記仮想システムのメモリの内容のスナップショットを取得して前記第２サーバに送信し、
前記第２サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記第１サーバから前記スナップショットを受信して記憶し、
前記第１サーバは、前記第１ストレージのストレージ同期エリアの内容を前記第２ストレージのストレージ同期エリアに複製し、
前記第２サーバは、前記第１サーバに障害が発生した場合、前記第２ストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで前記第２ストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するフォールトトレラントシステム。
【請求項２】
前記第２サーバは、前記第１サーバを監視し、前記第１サーバに障害が発生した場合、前記第２サーバのストレージを待機系から運用系に切り替える請求項１に記載のフォールトトレラントシステム。
【請求項３】
前記第１サーバ及び前記第２サーバは、それぞれ前記第１サーバ及び前記第２サーバのそれぞれの上で稼動する仮想システム上で動作するアプリケーションの実行を監視し、
前記第２サーバは、前記第１サーバ上で稼動する仮想システム上で動作するアプリケーションの実行に障害が発生した場合、前記第２サーバ上で稼動する仮想システム上で動作するアプリケーションを、待機状態から動作状態に切り替える請求項１又は２に記載のフォールトトレラントシステム。
【請求項４】
前記第１ストレージのストレージ同期エリアの内容は、ＤＲＢＤ（Distributed Replicated Block Device）のシングルプライマリモードを用いて前記第２ストレージのストレージ同期エリアに複製される請求項１から３何れか１項に記載のフォールトトレラントシステム。
【請求項５】
前記アプリケーションは、前記第１サーバ及び第２サーバとネットワークを介して接続される電話機能を有する装置の呼を制御する呼制御アプリケーションである請求項１から４何れか１項に記載のフォールトトレラントシステム。
【請求項６】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶するストレージと、
前記仮想システム上で動作するアプリケーションとを有し、
前記ストレージのストレージ同期エリアに設定された仮想アドレスを用いて、ＮＦＳ（Network File System）で前記ストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上で前記アプリケーションを実行し、
前記仮想システムのメモリの内容のスナップショットを取得し、該取得したスナップショットを、前記仮想アドレスを用いて前記ストレージのストレージ同期エリアをマウントし、該マウントしたストレージ同期エリアの前記ディスクイメージを用いて仮想システムを待機系として稼動し、該稼動した仮想システム上でアプリケーションの実行を待機する他のサーバに送信し、
前記ストレージのストレージ同期エリアの内容を前記他のサーバのストレージのストレージ同期エリアに複製する、
サーバ。
【請求項７】
ストレージと、
サーバ仮想化機構を用いて構築される仮想システム上で動作するアプリケーションとを有し、
前記仮想システムのディスクイメージをストレージ同期エリアに記憶する他のサーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記他のサーバのストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、
前記他のサーバから、前記ディスクイメージを用いて前記他のサーバ上で運用系として稼動され、該運用系として稼動するシステム上でアプリケーションが実行される仮想システムのメモリの内容のスナップショットを受信して記憶し、
前記他のサーバに障害が発生した場合、前記他のサーバのストレージのストレージ同期エリアの内容が複製される自サーバのストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで自サーバのストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行する、
サーバ。
【請求項８】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する第１ストレージを有する第１サーバ、及び第２ストレージを有する第２サーバが、それぞれ、前記第１ストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記第１ストレージのストレージ同期エリアをマウントし、
前記第１サーバが、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、かつ、前記仮想システムのメモリの内容のスナップショットを取得して前記第２サーバに送信し、
前記第２サーバは、前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、前記第１サーバから受信したスナップショットを記憶し、
前記第１サーバは、前記第１ストレージのストレージ同期エリアの内容を前記第２ストレージのストレージ同期エリアに複製し、
前記第２サーバは、前記第１サーバに障害が発生した場合、前記第２ストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで前記第２ストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するフォールトトレラントシステムの運用方法。
【請求項９】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する自サーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記ストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを運用系として稼動し、該稼動した仮想システム上でアプリケーションを実行し、
前記仮想システムのメモリの内容のスナップショットを取得し、該取得したスナップショットを、前記仮想アドレスを用いて前記ストレージのストレージ同期エリアをマウントし、該マウントしたストレージ同期エリアの前記ディスクイメージを用いて仮想システムを待機系として稼動し、該稼動した仮想システム上でアプリケーションの実行を待機する他のサーバに送信し、
前記ストレージのストレージ同期エリアの内容を前記他のサーバのストレージのストレージ同期エリアに複製するサーバの運用方法。
【請求項１０】
サーバ仮想化機構を用いて構築される仮想システムのディスクイメージをストレージ同期エリアに記憶する他のサーバのストレージの前記ストレージ同期エリアに設定される仮想アドレスを用いて、ＮＦＳ（Network File System）で前記他のサーバのストレージのストレージ同期エリアをマウントし、
前記マウントしたストレージ同期エリアの前記ディスクイメージを用いて前記仮想システムを待機系として稼動し、前記稼動した仮想システム上でアプリケーションの実行を待機し、
前記他のサーバから、前記ディスクイメージを用いて前記他のサーバ上で運用系として稼動され、該運用系として稼動されたシステム上でアプリケーションが実行される仮想システムのメモリの内容のスナップショットを受信して記憶し、
前記他のサーバに障害が発生した場合、前記他のサーバのストレージのストレージ同期エリアの内容が複製される自サーバのストレージのストレージ同期エリアに仮想アドレスを設定し、該仮想アドレスを用いて、前記ＮＦＳで自サーバのストレージのストレージ同期エリアをマウントし、記憶した前記スナップショットを用いて、前記仮想システム上で前記アプリケーションを実行するサーバの運用方法。