JP5742410B2 - フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム - Google Patents
フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム Download PDFInfo
- Publication number
- JP5742410B2 JP5742410B2 JP2011087745A JP2011087745A JP5742410B2 JP 5742410 B2 JP5742410 B2 JP 5742410B2 JP 2011087745 A JP2011087745 A JP 2011087745A JP 2011087745 A JP2011087745 A JP 2011087745A JP 5742410 B2 JP5742410 B2 JP 5742410B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- snapshot
- memory
- transfer unit
- guest
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
Description
ゲストOSを備える仮想計算機が稼働し、第1のメモリ及び第1の転送部を備える第1の計算機と、第2のメモリ及び前記第1の転送部から転送されたデータを受信する第2の転送部を備える第2の計算機と、を含むフォールトトレラント計算機システムであって、
前記第1の計算機は、
前記第2の計算機での前記ゲストOSの起動のタイミングとは独立に、予め設定された時点における前記ゲストOSの処理内容全体のスナップショットを作成し、前記第1のメモリに保存し、保存された前記スナップショットを、前記第2のメモリに転送する指示を前記第1の転送部に出すと共に、前記第1のメモリに、前記予め設定された時点を起点として設定される複数の第1のタイミングのそれぞれにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの差分情報を保存し、その都度、前記第1の転送部に、前記第1の転送部及び前記第2の転送部を介して前記第1のメモリに保存された前記差分情報を前記第2のメモリに転送する指示を出す第1のスナップショットマネージャと、
前記第1の計算機のエラー情報を取得し、前記第1の転送部に対して、前記エラー情報を前記第2の計算機に転送する指示を出す第1のエラーハンドラと、を備え、
前記第1のタイミングは、前記起点から一定時間毎、前記差分情報の量が所定量に到達した時点毎、及び前記差分情報の量が所定量に到達した時点と前回の前記第1のタイミングからの経過時間が所定の最大時間に達した時点とのいずれか早い方の時間毎のいずれかのタイミングであり、
前記第2の計算機は、
前記第1の転送部及び前記第2の転送部を介して転送された前記エラー情報に基づき、前記第1の計算機の障害発生の有無を判断し、障害発生有と判断したとき、計算機切り換え通知を出力する第2のエラーハンドラと、
前記第1の転送部及び前記第2の転送部を介して前記第2のメモリに転送され保存されている前記スナップショットと最初の前記差分情報とに基づき新たな前記スナップショットを生成し、前記第2のメモリに保存し、2回目以降に転送された前記差分情報の受信の都度、該差分情報と前記第2のメモリに保存されている前記スナップショットとに基づき、更に新たな前記スナップショットを生成し、前記第2のメモリに保存するとともに、前記第2のエラーハンドラが出力した前記計算機切り換え通知を受信したとき、前記第2のメモリに保存された前記スナップショットに基づき、前記第2の計算機でゲストOSを起動する第2のスナップショットマネージャと、
を備える、
ことを特徴とする。
ゲストOSを備える仮想計算機が稼働し、第1のメモリ及び第1の転送部を備える第1の計算機と、第2のメモリ及び前記第1の転送部から転送されたデータを受信する第2の転送部を備える第2の計算機と、を含むフォールトトレラント計算機システムの制御方法であって、
前記第1の計算機が実行する、
前記第2の計算機での前記ゲストOSの起動のタイミングとは独立に、予め設定された時点における前記ゲストOSの処理内容全体のスナップショットを作成し、前記第1のメモリに保存する第1のスナップショット保存ステップと、
前記スナップショットを、前記第1の転送部を介して、前記第2の計算機に転送するスナップショット転送ステップと、
前記第1のメモリに、前記予め設定された時点を起点として設定される複数の第1のタイミングのそれぞれにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの差分情報を保存する第1の差分情報保存ステップと、
前記第1のメモリに保存された前記差分情報を、前記第1の転送部を介して前記第2の計算機に転送する転送ステップと、
前記第1の計算機のエラー情報を取得し、前記第1の転送部を介して、前記エラー情報を前記第2の計算機に転送する指示を出すエラー情報取得ステップと、
前記エラー情報取得ステップでの前記転送する指示により、前記エラー情報を前記第1の転送部を介して前記第2の計算機に転送するエラー情報転送ステップと、
を備え、
前記第1のタイミングは、前記起点から一定時間毎、前記差分情報の量が所定量に到達した時点毎、及び前記差分情報の量が所定量に到達した時点と前回の前記第1のタイミングからの経過時間が所定の最大時間に達した時点とのいずれか早い方の時間毎のいずれかのタイミングであり、
前記第2の計算機が実行する、
前記第1の計算機から転送された前記スナップショットを、前記第2の転送部を介して受信し、受信した前記スナップショットを前記第2のメモリに保存する第2のスナップショット保存ステップと、
前記第2の計算機に転送された前記差分情報を、前記第2の転送部を介して受信し、受信した前記差分情報を前記第2のメモリに保存する第2の差分情報保存ステップと、
前記第1の計算機から転送され、前記第2のメモリに保存された前記スナップショットと最初の前記差分情報とに基づき新たな前記スナップショットを生成し、前記第2のメモリに保存し、2回目以降に転送された前記差分情報の受信の都度、該差分情報と前記第2のメモリに保存された前記スナップショットとに基づき、更に新たな前記スナップショットを生成し、前記第2のメモリに保存するスナップショット生成・保存ステップと、
前記第2の計算機に転送された前記エラー情報を前記第2の転送部を介して受信し、受信した前記エラー情報に基づき、前記第1の計算機の障害発生の有無を判断し、障害発生有と判断したとき、計算機切り換え通知を出力する計算機切り換え通知ステップと、
前記計算機切り換え通知がなされたとき、前記第2のメモリに保存された前記スナップショットに基づき、前記第2の計算機でゲストOSを起動するゲストOS起動ステップと、
を備えることを特徴とする。
ゲストOSを備える仮想計算機が稼働し、第1のメモリ及び第1の転送部を備える第1の計算機と、第2の計算機と、を含むフォールトトレラント計算機システムの制御プログラムであって
前記第2の計算機での前記ゲストOSの起動のタイミングとは独立に、予め設定された時点における前記ゲストOSの処理内容全体のスナップショットを作成し、前記第1のメモリに保存するスナップショット保存ステップと、
前記スナップショットを、前記第1の転送部を介して、前記第2の計算機に転送するスナップショット転送ステップと、
前記第1のメモリに、前記予め設定された時点を起点として設定される複数の前記第1のタイミングのそれぞれにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの差分情報を保存する差分情報保存ステップと、
前記第1のメモリに保存された前記差分情報を、前記第1の転送部を介して前記第2の計算機に転送する転送ステップと、
前記第1の計算機のエラー情報を取得し、前記第1の転送部を介して、前記エラー情報を前記第2の計算機に転送する指示を出すエラー情報取得ステップと、
前記エラー情報取得ステップでの前記転送する指示により、前記エラー情報を前記第1の転送部を介して前記第2の計算機に転送するエラー情報転送ステップと、
を前記第1の計算機に実行させ、
前記第1のタイミングは、前記起点から一定時間毎、前記差分情報の量が所定量に到達した時点毎、及び前記差分情報の量が所定量に到達した時点と前回の前記第1のタイミングからの経過時間が所定の最大時間に達した時点とのいずれか早い方の時間毎のいずれかのタイミングである、
ことを特徴とする。
ゲストOSを備える仮想計算機が稼働する第1の計算機と、該第1の計算機から転送されるデータを受信する第2の転送部及び第2のメモリを備える第2の計算機と、を含むフォールトトレラント計算機システムの制御プログラムであって、
前記第2の計算機での前記ゲストOSの起動のタイミングとは独立に予め設定された時点における前記ゲストOSの処理内容全体のスナップショットであり、前記第1の計算機から転送された前記スナップショットを、前記第2の転送部を介して受信し、受信した前記スナップショットを前記第2のメモリに保存するスナップショット保存ステップと、
前記第1の計算機から転送される差分情報であり、前記予め設定された時点を起点として設定される複数の第1のタイミングのそれぞれにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの前記差分情報を、前記第2の転送部を介して受信し、受信した前記差分情報を前記第2のメモリに保存する差分情報受信・保存ステップと、
前記第1の計算機から転送され、前記第2のメモリに保存された前記スナップショットと最初の前記差分情報とに基づき新たな前記スナップショットを生成し、前記第2のメモリに保存し、2回目以降に転送された前記差分情報の受信の都度、該差分情報と前記第2のメモリに保存された前記スナップショットとに基づき、更に新たな前記スナップショットを生成し、前記第2のメモリに保存するスナップショット生成・保存ステップと、
前記第1の計算機から転送される、前記第1の計算機のエラー情報を、前記第2の転送部を介して受信するエラー情報受信ステップと、
受信した前記エラー情報に基づき、前記第1の計算機の障害発生の有無を判断し、障害発生有と判断したとき、計算機切り換え通知を出力する計算機切り換え通知ステップと、
前記計算機切り換え通知がなされたとき、前記第2のメモリに保存された前記スナップショットに基づき、前記第2の計算機でゲストOSを起動するゲストOS起動ステップと、
を前記第2の計算機に実行させ、
前記第1のタイミングは、前記第1の計算機で設定されたタイミングであり、前記起点から一定時間毎、前記差分情報の量が所定量に到達した時点毎、及び前記差分情報の量が所定量に到達した時点と前回の前記第1のタイミングからの経過時間が所定の最大時間に達した時点とのいずれか早い方の時間毎のいずれかのタイミングである、
ことを特徴とする。
本発明の実施形態に係るフォールトトレラント計算機システムは、少なくとも2台の物理的計算機を有し、各物理的計算機上で仮想計算機が稼働するように構成されている。以下では2台の物理的計算機を有する場合を例に説明する。ここで物理的計算機とは、仮想計算機と区別するために用いるもので、実際の計算機という意味である。図1及び図2は、フォールトトレラント計算機システムの構成例を示す。図1及び図2に示すように、フォールトトレラント計算機システムを構成する2台の物理的計算機の一方をアクティブ系1a、他方をスタンバイ系1bと呼ぶ。アクティブ系1aはユーザにサービスを提供している稼働中の仮想計算機を有する計算機、スタンバイ系1bは、障害発生時に切り替わって稼動を開始するために待機中の仮想計算機を有する計算機である。それぞれの系の仮想計算機に関する構成要素は基本的には同じである。
ゲストOSを備える仮想計算機が稼働し、第1のメモリ及び第1の転送部を備える第1の計算機と、第2のメモリ及び前記第1の転送部から転送されたデータを受信する第2の転送部を備える第2の計算機と、を含むフォールトトレラント計算機システムであって、
前記第1の計算機は、
前記第1のメモリに、所定の第1のタイミングにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの差分情報を保存させ、前記第1の転送部に、前記第1の転送部及び前記第2の転送部を介して前記第1のメモリに保存された前記差分情報を前記第2のメモリに転送する指示を出す第1のスナップショットマネージャを備え、
前記第2の計算機は、
前記第1の転送部及び前記第2の転送部を介して前記第2のメモリに転送された前記差分情報に基づき前記スナップショットを生成し、前記第2のメモリに保存するとともに、所定の第2のタイミングにおいて、前記第2のメモリに保存された前記スナップショットに基づき、前記第2の計算機でゲストOSを起動する第2のスナップショットマネージャを備える、
ことを特徴とするフォールトトレラント計算機システム。
前記第1のメモリ及び前記第2のメモリは、それぞれ、前記第1の計算機の主記憶装置及び前記第2の計算機の主記憶装置である、
ことを特徴とする付記1に記載のフォールトトレラント計算機システム。
前記第1の転送部は、
前記第1の計算機のデータの送信を行う第1のデータ転送部と、
該第1のデータ転送部を制御する第1のRDMAドライバと、を備え、
前記第2の転送部は、
前記第1のデータ転送部を介してデータの受信を行う第2のデータ転送部と、
該第2のデータ転送部を制御する第2のRDMAドライバと、を備え、
前記差分情報は、前記第1のRDMAドライバ及び前記第2のRDMAドライバの制御により前記第1のデータ転送部及び前記第2のデータ転送部を介して、前記第1のメモリから前記第2のメモリに直接転送される、
ことを特徴とする付記1又は2に記載のフォールトトレラント計算機システム。
前記第1の計算機は、
該第1の計算機のエラー情報を取得し、前記第1の転送部に対して、前記エラー情報を前記第2の計算機に転送する指示を出す、第1のエラーハンドラを備え、
前記第2の計算機は、
前記第1の転送部を介して送信され、前記第2の転送部を介して受信した前記エラー情報に基づき、前記第1の計算機の障害発生の有無を判断し、障害発生有と判断した時は計算機切り換え通知を前記第2のスナップショットマネージャに出力する第2のエラーハンドラを備え、
前記第2のタイミングは、前記第2のスナップショットマネージャが前記計算機切り換え通知を受信したときである、
ことを特徴とする付記1乃至3のいずれか1項に記載のフォールトトレラント計算機システム。
前記第1のエラーハンドラ及び前記第2のエラーハンドラはそれぞれ前記第1のデータ転送部及び前記第2のデータ転送部に組み込まれている、
ことを特徴とする付記4に記載のフォールトトレラント計算機システム。
前記エラー情報は、前記第1の計算機が停止したことを判断できる情報である、
ことを特徴とする付記4又は5に記載のフォールトトレラント計算機システム。
前記エラー情報は、前記第1の計算機の停止につながる恐れのある情報を含む、
ことを特徴とする付記4乃至6のいずれか1項に記載のフォールトトレラント計算機システム。
前記差分情報は、前記第1のタイミングにおける、一つ前の前記第1のタイミングからの、前記ゲストOSが利用する前記第1のメモリの保存データの変更内容と、前記ゲストOSの動作を担うCPUのコンテキスト情報とを含む、
ことを特徴とする付記1乃至7のいずれか1項に記載のフォールトトレラント計算機システム。
前記第1のタイミングは、一定時間毎に設定されたものである、
ことを特徴とする付記1乃至8のいずれか1項に記載のフォールトトレラント計算機システム。
前記第1のタイミングは、前記差分情報の量が所定量に到達した時点に設定されたものである、
ことを特徴とする付記1乃至8のいずれか1項に記載のフォールトトレラント計算機システム。
前記第1のタイミングは、前記差分情報の量が所定量に到達した時点及び前回の第1のタイミングからの経過時間が所定の最大時間に達した時点のいずれか早い方の時間に設定されたものである、
ことを特徴とする付記1乃至8のいずれか1項に記載のフォールトトレラント計算機システム。
ゲストOSを備える仮想計算機が稼働し、第1のメモリ及び第1の転送部を備える第1の計算機と、第2のメモリ及び前記第1の転送部から転送されたデータを受信する第2の転送部を備える第2の計算機と、を含むフォールトトレラント計算機システムの制御方法であって、
前記第1のメモリに、所定の第1のタイミングにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの差分情報を保存するスナップショット保存ステップと、
前記第1のメモリに保存された前記差分情報を、前記第1の転送部及び前記第2の転送部を介して前記第2のメモリに転送する転送ステップと、
前記第2のメモリに転送された前記差分情報に基づき前記スナップショットを生成し、前記第2のメモリに保存するスナップショット生成・保存ステップと、
所定の第2のタイミングにおいて、前記第2のメモリに保存された前記スナップショットに基づき、前記第2の計算機でゲストOSを起動するゲストOS起動ステップと、を備える、
ことを特徴とするフォールトトレラント計算機システムの制御方法。
ゲストOSを備える仮想計算機が稼働し、第1のメモリ及び第1の転送部を備える第1の計算機と、第2の計算機と、を含むフォールトトレラント計算機システムの制御プログラムであって
前記第1のメモリに、所定の第1のタイミングにおける、一つ前の第1のタイミングからの前記仮想計算機のスナップショットの差分情報を保存するスナップショット保存ステップと、
前記第1のメモリに保存された前記差分情報を、前記第1の転送部を介して前記第2の計算機に転送する転送ステップと、
を前記第1の計算機に実行させる、
ことを特徴とするフォールトトレラント計算機システムの制御プログラム。
ゲストOSを備える仮想計算機が稼働する第1の計算機と、該第1の計算機から転送されるデータを受信する第2の転送部及び前記転送されたデータを保存する第2のメモリを備える第2の計算機と、を含むフォールトトレラント計算機システムの制御プログラムであって、
前記転送されるデータは前記仮想計算機のスナップショットの差分情報であり、
前記第2のメモリに保存された前記差分情報に基づきスナップショットを生成し、前記第2のメモリに保存するスナップショット生成・保存ステップと、
所定の第2のタイミングにおいて、前記第2のメモリに保存された前記スナップショットに基づき、ゲストOSを起動するゲストOS起動ステップと、
を前記第2の計算機に実行させる、
ことを特徴とするフォールトトレラント計算機システムの制御プログラム。
1b 待機中の仮想計算機を有する計算機(スタンバイ系)
2a、2b ホストOS
3a、3b ゲストOS
4a、4b メモリ
5a、5b FTモジュール
6a、6b RDMAドライバ
7a、7b データ転送部
8a、8b スナップショットマネージャ
9a、9b エラーハンドラ
10a、10b ゲストOSスナップショット
11a、11b 転送部
Claims (10)
- ゲストOSを備える仮想計算機が稼働し、第1のメモリ及び第1の転送部を備える第1の計算機と、第2のメモリ及び前記第1の転送部から転送されたデータを受信する第2の転送部を備える第2の計算機と、を含むフォールトトレラント計算機システムであって、
前記第1の計算機は、
前記第2の計算機での前記ゲストOSの起動のタイミングとは独立に、予め設定された時点における前記ゲストOSの処理内容全体のスナップショットを作成し、前記第1のメモリに保存し、保存された前記スナップショットを、前記第2のメモリに転送する指示を前記第1の転送部に出すと共に、前記第1のメモリに、前記予め設定された時点を起点として設定される複数の第1のタイミングのそれぞれにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの差分情報を保存し、その都度、前記第1の転送部に、前記第1の転送部及び前記第2の転送部を介して前記第1のメモリに保存された前記差分情報を前記第2のメモリに転送する指示を出す第1のスナップショットマネージャと、
前記第1の計算機のエラー情報を取得し、前記第1の転送部に対して、前記エラー情報を前記第2の計算機に転送する指示を出す第1のエラーハンドラと、を備え、
前記第1のタイミングは、前記起点から一定時間毎、前記差分情報の量が所定量に到達した時点毎、及び前記差分情報の量が所定量に到達した時点と前回の前記第1のタイミングからの経過時間が所定の最大時間に達した時点とのいずれか早い方の時間毎のいずれかのタイミングであり、
前記第2の計算機は、
前記第1の転送部及び前記第2の転送部を介して転送された前記エラー情報に基づき、前記第1の計算機の障害発生の有無を判断し、障害発生有と判断したとき、計算機切り換え通知を出力する第2のエラーハンドラと、
前記第1の転送部及び前記第2の転送部を介して前記第2のメモリに転送され保存されている前記スナップショットと最初の前記差分情報とに基づき新たな前記スナップショットを生成し、前記第2のメモリに保存し、2回目以降に転送された前記差分情報の受信の都度、該差分情報と前記第2のメモリに保存されている前記スナップショットとに基づき、更に新たな前記スナップショットを生成し、前記第2のメモリに保存するとともに、前記第2のエラーハンドラが出力した前記計算機切り換え通知を受信したとき、前記第2のメモリに保存された前記スナップショットに基づき、前記第2の計算機でゲストOSを起動する第2のスナップショットマネージャと、
を備える、
ことを特徴とするフォールトトレラント計算機システム。 - 前記第1のメモリ及び前記第2のメモリは、それぞれ、前記第1の計算機の主記憶装置及び前記第2の計算機の主記憶装置である、
ことを特徴とする請求項1に記載のフォールトトレラント計算機システム。 - 前記第1の転送部は、
前記第1の計算機のデータの送信を行う第1のデータ転送部と、
該第1のデータ転送部を制御する第1のRDMAドライバと、を備え、
前記第2の転送部は、
前記第1のデータ転送部を介してデータの受信を行う第2のデータ転送部と、
該第2のデータ転送部を制御する第2のRDMAドライバと、を備え、
前記差分情報は、前記第1のRDMAドライバ及び前記第2のRDMAドライバの制御により前記第1のデータ転送部及び前記第2のデータ転送部を介して、前記第1のメモリから前記第2のメモリに直接転送される、
ことを特徴とする請求項1又は2に記載のフォールトトレラント計算機システム。 - 前記第1のエラーハンドラ及び前記第2のエラーハンドラはそれぞれ前記第1のデータ転送部及び前記第2のデータ転送部に組み込まれている、
ことを特徴とする請求項1乃至3のいずれか1項に記載のフォールトトレラント計算機システム。 - 前記エラー情報は、前記第1の計算機が停止したことを判断できる情報である、
ことを特徴とする請求項1乃至4のいずれか1項に記載のフォールトトレラント計算機システム。 - 前記エラー情報は、前記第1の計算機の停止につながる恐れのある情報を含む、
ことを特徴とする請求項1乃至5のいずれか1項に記載のフォールトトレラント計算機システム。 - 前記差分情報は、前記第1のタイミングにおける、一つ前の前記第1のタイミングからの、前記ゲストOSが利用する前記第1のメモリの保存データの変更内容と、前記ゲストOSの動作を担うCPUのコンテキスト情報とを含む、
ことを特徴とする請求項1乃至6のいずれか1項に記載のフォールトトレラント計算機システム。 - ゲストOSを備える仮想計算機が稼働し、第1のメモリ及び第1の転送部を備える第1の計算機と、第2のメモリ及び前記第1の転送部から転送されたデータを受信する第2の転送部を備える第2の計算機と、を含むフォールトトレラント計算機システムの制御方法であって、
前記第1の計算機が実行する、
前記第2の計算機での前記ゲストOSの起動のタイミングとは独立に、予め設定された時点における前記ゲストOSの処理内容全体のスナップショットを作成し、前記第1のメモリに保存する第1のスナップショット保存ステップと、
前記スナップショットを、前記第1の転送部を介して、前記第2の計算機に転送するスナップショット転送ステップと、
前記第1のメモリに、前記予め設定された時点を起点として設定される複数の第1のタイミングのそれぞれにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの差分情報を保存する第1の差分情報保存ステップと、
前記第1のメモリに保存された前記差分情報を、前記第1の転送部を介して前記第2の計算機に転送する転送ステップと、
前記第1の計算機のエラー情報を取得し、前記第1の転送部を介して、前記エラー情報を前記第2の計算機に転送する指示を出すエラー情報取得ステップと、
前記エラー情報取得ステップでの前記転送する指示により、前記エラー情報を前記第1の転送部を介して前記第2の計算機に転送するエラー情報転送ステップと、
を備え、
前記第1のタイミングは、前記起点から一定時間毎、前記差分情報の量が所定量に到達した時点毎、及び前記差分情報の量が所定量に到達した時点と前回の前記第1のタイミングからの経過時間が所定の最大時間に達した時点とのいずれか早い方の時間毎のいずれかのタイミングであり、
前記第2の計算機が実行する、
前記第1の計算機から転送された前記スナップショットを、前記第2の転送部を介して受信し、受信した前記スナップショットを前記第2のメモリに保存する第2のスナップショット保存ステップと、
前記第2の計算機に転送された前記差分情報を、前記第2の転送部を介して受信し、受信した前記差分情報を前記第2のメモリに保存する第2の差分情報保存ステップと、
前記第1の計算機から転送され、前記第2のメモリに保存された前記スナップショットと最初の前記差分情報とに基づき新たな前記スナップショットを生成し、前記第2のメモリに保存し、2回目以降に転送された前記差分情報の受信の都度、該差分情報と前記第2のメモリに保存された前記スナップショットとに基づき、更に新たな前記スナップショットを生成し、前記第2のメモリに保存するスナップショット生成・保存ステップと、
前記第2の計算機に転送された前記エラー情報を前記第2の転送部を介して受信し、受信した前記エラー情報に基づき、前記第1の計算機の障害発生の有無を判断し、障害発生有と判断したとき、計算機切り換え通知を出力する計算機切り換え通知ステップと、
前記計算機切り換え通知がなされたとき、前記第2のメモリに保存された前記スナップショットに基づき、前記第2の計算機でゲストOSを起動するゲストOS起動ステップと、
を備える、
ことを特徴とするフォールトトレラント計算機システムの制御方法。 - ゲストOSを備える仮想計算機が稼働し、第1のメモリ及び第1の転送部を備える第1の計算機と、第2の計算機と、を含むフォールトトレラント計算機システムの制御プログラムであって
前記第2の計算機での前記ゲストOSの起動のタイミングとは独立に、予め設定された時点における前記ゲストOSの処理内容全体のスナップショットを作成し、前記第1のメモリに保存するスナップショット保存ステップと、
前記スナップショットを、前記第1の転送部を介して、前記第2の計算機に転送するスナップショット転送ステップと、
前記第1のメモリに、前記予め設定された時点を起点として設定される複数の第1のタイミングのそれぞれにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの差分情報を保存する差分情報保存ステップと、
前記第1のメモリに保存された前記差分情報を、前記第1の転送部を介して前記第2の計算機に転送する転送ステップと、
前記第1の計算機のエラー情報を取得し、前記第1の転送部を介して、前記エラー情報を前記第2の計算機に転送する指示を出すエラー情報取得ステップと、
前記エラー情報取得ステップでの前記転送する指示により、前記エラー情報を前記第1の転送部を介して前記第2の計算機に転送するエラー情報転送ステップと、
を前記第1の計算機に実行させ、
前記第1のタイミングは、前記起点から一定時間毎、前記差分情報の量が所定量に到達した時点毎、及び前記差分情報の量が所定量に到達した時点と前回の前記第1のタイミングからの経過時間が所定の最大時間に達した時点とのいずれか早い方の時間毎のいずれかのタイミングである、
ことを特徴とするフォールトトレラント計算機システムの制御プログラム。 - ゲストOSを備える仮想計算機が稼働する第1の計算機と、該第1の計算機から転送されるデータを受信する第2の転送部及び第2のメモリを備える第2の計算機と、を含むフォールトトレラント計算機システムの制御プログラムであって、
前記第2の計算機での前記ゲストOSの起動のタイミングとは独立に予め設定された時点における前記ゲストOSの処理内容全体のスナップショットであり、前記第1の計算機から転送された前記スナップショットを、前記第2の転送部を介して受信し、受信した前記スナップショットを前記第2のメモリに保存するスナップショット保存ステップと、
前記第1の計算機から転送される差分情報であり、前記予め設定された時点を起点として設定される複数の第1のタイミングのそれぞれにおける、一つ前の前記第1のタイミングからの前記仮想計算機のスナップショットの前記差分情報を、前記第2の転送部を介して受信し、受信した前記差分情報を前記第2のメモリに保存する差分情報受信・保存ステップと、
前記第1の計算機から転送され、前記第2のメモリに保存された前記スナップショットと最初の前記差分情報とに基づき新たな前記スナップショットを生成し、前記第2のメモリに保存し、2回目以降に転送された前記差分情報の受信の都度、該差分情報と前記第2のメモリに保存された前記スナップショットとに基づき、更に新たな前記スナップショットを生成し、前記第2のメモリに保存するスナップショット生成・保存ステップと、
前記第1の計算機から転送される、前記第1の計算機のエラー情報を、前記第2の転送部を介して受信するエラー情報受信ステップと、
受信した前記エラー情報に基づき、前記第1の計算機の障害発生の有無を判断し、障害発生有と判断したとき、計算機切り換え通知を出力する計算機切り換え通知ステップと、
前記計算機切り換え通知がなされたとき、前記第2のメモリに保存された前記スナップショットに基づき、前記第2の計算機でゲストOSを起動するゲストOS起動ステップと、
を前記第2の計算機に実行させ、
前記第1のタイミングは、前記第1の計算機で設定されたタイミングであり、前記起点から一定時間毎、前記差分情報の量が所定量に到達した時点毎、及び前記差分情報の量が所定量に到達した時点と前回の前記第1のタイミングからの経過時間が所定の最大時間に達した時点とのいずれか早い方の時間毎のいずれかのタイミングである、
ことを特徴とするフォールトトレラント計算機システムの制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011087745A JP5742410B2 (ja) | 2011-04-11 | 2011-04-11 | フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム |
US13/443,813 US8990617B2 (en) | 2011-04-11 | 2012-04-10 | Fault-tolerant computer system, fault-tolerant computer system control method and recording medium storing control program for fault-tolerant computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011087745A JP5742410B2 (ja) | 2011-04-11 | 2011-04-11 | フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012221321A JP2012221321A (ja) | 2012-11-12 |
JP5742410B2 true JP5742410B2 (ja) | 2015-07-01 |
Family
ID=47007309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011087745A Expired - Fee Related JP5742410B2 (ja) | 2011-04-11 | 2011-04-11 | フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8990617B2 (ja) |
JP (1) | JP5742410B2 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
JP5514794B2 (ja) * | 2011-12-05 | 2014-06-04 | パナソニック株式会社 | 情報処理システム |
US9063721B2 (en) | 2012-09-14 | 2015-06-23 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
JP6291711B2 (ja) * | 2013-01-21 | 2018-03-14 | 日本電気株式会社 | フォールトトレラントシステム |
US10452580B2 (en) * | 2013-03-26 | 2019-10-22 | Vmware, Inc. | Method and system for providing remote direct memory access to virtual machines |
US9146819B2 (en) * | 2013-07-02 | 2015-09-29 | International Business Machines Corporation | Using RDMA for fast system recovery in virtualized environments |
US9280372B2 (en) * | 2013-08-12 | 2016-03-08 | Amazon Technologies, Inc. | Request processing techniques |
US9634965B2 (en) | 2013-09-20 | 2017-04-25 | Oracle International Corporation | System and method for providing a job manager for use with a cloud platform environment |
CN103473142B (zh) * | 2013-10-08 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 一种云计算操作系统下的虚拟机迁移方法及装置 |
JP6237230B2 (ja) * | 2013-12-27 | 2017-11-29 | 富士通株式会社 | メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置 |
EP3090345B1 (en) | 2013-12-30 | 2017-11-08 | Stratus Technologies Bermuda Ltd. | Method of delaying checkpoints by inspecting network packets |
US20150205688A1 (en) * | 2013-12-30 | 2015-07-23 | Stratus Technologies Bermuda Ltd. | Method for Migrating Memory and Checkpoints in a Fault Tolerant System |
WO2015102875A1 (en) | 2013-12-30 | 2015-07-09 | Stratus Technologies Bermuda Ltd. | Checkpointing systems and methods of using data forwarding |
EP3090344B1 (en) | 2013-12-30 | 2018-07-18 | Stratus Technologies Bermuda Ltd. | Dynamic checkpointing systems and methods |
JP6421470B2 (ja) * | 2014-06-17 | 2018-11-14 | 富士通株式会社 | 仮想マシンマイグレーションプログラム、仮想マシンマイグレーションシステムおよび仮想マシンマイグレーション方法 |
US9542108B2 (en) * | 2014-06-30 | 2017-01-10 | Scale Computing, Inc. | Efficient migration of virtual storage devices to a remote node using snapshots |
KR101750673B1 (ko) * | 2015-04-02 | 2017-06-23 | 미쓰비시덴키 가부시키가이샤 | 리던던트 시스템 및 통신 유닛 |
US9924001B2 (en) * | 2015-06-19 | 2018-03-20 | Stratus Technologies, Inc. | Method of selective network buffering in checkpoint systems |
KR102513961B1 (ko) * | 2015-11-11 | 2023-03-27 | 삼성전자주식회사 | 멀티 운영시스템을 지닌 전자장치 및 이의 동적 메모리 관리 방법 |
JP6773533B2 (ja) * | 2016-11-22 | 2020-10-21 | Necプラットフォームズ株式会社 | 動作環境同期装置、動作環境同期システム、動作環境同期方法、及び、動作環境同期プログラム |
JP6882662B2 (ja) * | 2016-11-29 | 2021-06-02 | 富士通株式会社 | マイグレーションプログラム、情報処理装置およびマイグレーション方法 |
US10540200B2 (en) * | 2017-11-10 | 2020-01-21 | Advanced Micro Devices, Inc. | High performance context switching for virtualized FPGA accelerators |
JP7065686B2 (ja) * | 2018-05-08 | 2022-05-12 | 三菱電機株式会社 | 情報処理システム、情報処理装置及びプログラム |
JP7332280B2 (ja) * | 2018-09-10 | 2023-08-23 | 横河電機株式会社 | 冗長化システム、冗長化プログラム、及び情報処理装置 |
US10447273B1 (en) | 2018-09-11 | 2019-10-15 | Advanced Micro Devices, Inc. | Dynamic virtualized field-programmable gate array resource control for performance and reliability |
JP7128419B2 (ja) * | 2019-02-14 | 2022-08-31 | 日本電信電話株式会社 | 二重化運転システム及びその方法 |
CN110209468A (zh) * | 2019-05-24 | 2019-09-06 | 北京百度网讯科技有限公司 | 用于启动虚拟机的方法、装置、设备和介质 |
JP6773345B1 (ja) * | 2019-05-29 | 2020-10-21 | Necプラットフォームズ株式会社 | フォールトトレラントシステム、サーバ、及びそれらの運用方法 |
TWI763331B (zh) | 2021-02-25 | 2022-05-01 | 威聯通科技股份有限公司 | 虛擬機器的備用方法與備用系統 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09223079A (ja) * | 1996-02-16 | 1997-08-26 | Nec Eng Ltd | データ転送システム |
JPH10320223A (ja) * | 1997-05-16 | 1998-12-04 | Toshiba Corp | チェックポイント通信処理システム、チェックポイント通信処理方法及びこの方法を記録した記憶媒体 |
JP2000020490A (ja) * | 1998-07-01 | 2000-01-21 | Fujitsu Ltd | 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 |
GB0112781D0 (en) * | 2001-05-25 | 2001-07-18 | Global Continuity Plc | Method for rapid recovery from a network file server failure |
US7590683B2 (en) * | 2003-04-18 | 2009-09-15 | Sap Ag | Restarting processes in distributed applications on blade servers |
JP2006277690A (ja) * | 2005-03-30 | 2006-10-12 | Nec Corp | クラスタシステム、クラスタ切り替え方法、クラスタ切り替え制御プログラム |
US20070094659A1 (en) * | 2005-07-18 | 2007-04-26 | Dell Products L.P. | System and method for recovering from a failure of a virtual machine |
JP2008033483A (ja) * | 2006-07-27 | 2008-02-14 | Nec Corp | 計算機システム、計算機および計算機動作環境の移動方法 |
EP1962192A1 (en) * | 2007-02-21 | 2008-08-27 | Deutsche Telekom AG | Method and system for the transparent migration of virtual machine storage |
JP2009080692A (ja) * | 2007-09-26 | 2009-04-16 | Toshiba Corp | 仮想計算機システム及び同システムにおけるサービス引き継ぎ制御方法 |
JP4468426B2 (ja) * | 2007-09-26 | 2010-05-26 | 株式会社東芝 | 高可用システム及び実行状態制御方法 |
JP5094460B2 (ja) * | 2008-02-20 | 2012-12-12 | 株式会社日立製作所 | 計算機システム、データ一致化方法およびデータ一致化処理プログラム |
US8117410B2 (en) * | 2008-08-25 | 2012-02-14 | Vmware, Inc. | Tracking block-level changes using snapshots |
US20100082922A1 (en) * | 2008-09-30 | 2010-04-01 | Vmware, Inc. | Virtual machine migration using local storage |
JP5148441B2 (ja) * | 2008-09-30 | 2013-02-20 | 日本電信電話株式会社 | 計算機間相互結合網における通信経路の冗長化と切り替え方法、この方法を実現するサーバ装置、そのサーバモジュール、および、そのプログラム |
US8499297B2 (en) * | 2008-10-28 | 2013-07-30 | Vmware, Inc. | Low overhead fault tolerance through hybrid checkpointing and replay |
JP5124430B2 (ja) * | 2008-12-04 | 2013-01-23 | 株式会社エヌ・ティ・ティ・データ | 仮想マシンの移行方法、サーバ、及び、プログラム |
US8639984B2 (en) * | 2011-08-09 | 2014-01-28 | International Business Machines Corporation | Checkpoint debugging using mirrored virtual machines |
US8484161B2 (en) * | 2011-08-29 | 2013-07-09 | Oracle International Corporation | Live file system migration |
-
2011
- 2011-04-11 JP JP2011087745A patent/JP5742410B2/ja not_active Expired - Fee Related
-
2012
- 2012-04-10 US US13/443,813 patent/US8990617B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012221321A (ja) | 2012-11-12 |
US20120266018A1 (en) | 2012-10-18 |
US8990617B2 (en) | 2015-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5742410B2 (ja) | フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム | |
US11016857B2 (en) | Microcheckpointing with service processor | |
US10579485B2 (en) | Virtual machine fault tolerance | |
EP3211532B1 (en) | Warm swapping of hardware components with compatibility verification | |
US8020041B2 (en) | Method and computer system for making a computer have high availability | |
US8307363B2 (en) | Virtual machine system, restarting method of virtual machine and system | |
US9335998B2 (en) | Multi-core processor system, monitoring control method, and computer product | |
US7574627B2 (en) | Memory dump method, memory dump program and computer system | |
US20110231698A1 (en) | Block based vss technology in workload migration and disaster recovery in computing system environment | |
CN101876926B (zh) | 一种非对称结构的软件三机热备容错方法 | |
JP5392594B2 (ja) | 仮想計算機冗長化システム、コンピュータシステム、仮想計算機冗長化方法、及びプログラム | |
US11947429B2 (en) | Data disaster recovery method and site | |
WO2014199230A2 (en) | Virtual machine backup from storage snapshot | |
US9195553B2 (en) | Redundant system control method | |
US9152491B2 (en) | Job continuation management apparatus, job continuation management method and job continuation management program | |
US10402264B2 (en) | Packet-aware fault-tolerance method and system of virtual machines applied to cloud service, computer readable record medium and computer program product | |
JP2008052407A (ja) | クラスタシステム | |
JP5561334B2 (ja) | データ転送装置 | |
CN111400086B (zh) | 虚拟机容错的实现方法和系统 | |
JP2007080012A (ja) | 再起動方法、システム及びプログラム | |
CN106775846B (zh) | 用于物理服务器的在线迁移的方法及装置 | |
JP6954693B2 (ja) | フォールトトレラントシステム、サーバ、それらの運用方法、及びプログラム | |
JP5335150B2 (ja) | 計算機装置及びプログラム | |
JP2011086316A (ja) | 引継方法、計算機システム及び管理サーバ | |
TWI763331B (zh) | 虛擬機器的備用方法與備用系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150316 |
|
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: 20150407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150420 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5742410 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |