JP2015194847A - フォールトトレラントサーバ、同期化方法、及びプログラム - Google Patents

フォールトトレラントサーバ、同期化方法、及びプログラム Download PDF

Info

Publication number
JP2015194847A
JP2015194847A JP2014071899A JP2014071899A JP2015194847A JP 2015194847 A JP2015194847 A JP 2015194847A JP 2014071899 A JP2014071899 A JP 2014071899A JP 2014071899 A JP2014071899 A JP 2014071899A JP 2015194847 A JP2015194847 A JP 2015194847A
Authority
JP
Japan
Prior art keywords
cpu
cpu subsystem
subsystem
synchronization
power cycle
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.)
Granted
Application number
JP2014071899A
Other languages
English (en)
Other versions
JP6056801B2 (ja
Inventor
政彦 岡田
Masahiko Okada
政彦 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014071899A priority Critical patent/JP6056801B2/ja
Publication of JP2015194847A publication Critical patent/JP2015194847A/ja
Application granted granted Critical
Publication of JP6056801B2 publication Critical patent/JP6056801B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】FTサーバのCPUサブシステムの同期化処理に失敗した場合、同期化するために利用者に負担がかかる。【解決手段】 判定手段851は、第1のCPUサブシステム82と第2のCPUサブシステム84とが同期して動作しているか否かを判定する。パワーサイクル手段852が、判定手段851で同期して動作していないと判定された場合、第2のCPUサブシステム84に対してパワーサイクルをかける。コピー手段853は、パワーサイクル手段852が第2のCPUサブシステム84に対してパワーサイクルをかけた後、第1のCPUサブシステム82のコンテキストを第2のCPUサブシステム84にコピーする。同期手段854は、コピー手段853によるコピーが完了した後、第1のCPUサブシステム82および第2のCPUサブシステム84に対し、同期リセットをかける。【選択図】図8

Description

本発明は、ハードウェアを二重化して同期動作させるフォールトトレラントサーバ、同期化方法、およびプログラムに関する。
近年、コンピュータは社会生活の基盤を担っており、障害によるサービスの停止は、大きな損失を招く恐れがある。そのため、障害発生時においてもサービスを継続させることが要求されている。このような要求を満たす技術としてシステムを二重化するフォールトトレラント技術が注目されており、フォールトトレラント技術を採用したコンピュータとしてフォールトトレラントサーバが知られている(例えば、特許文献1参照)。なお、以下の説明ではフォールトトレラントサーバをFTサーバと記す場合がある。
FTサーバは、二重化されたサブシステムを備えており、各系のサブシステムは、それぞれCPUサブシステムと、I/Oサブシステムと、二重化制御回路(FTコントローラ)とを備えている。CPUサブシステムは、CPUやメモリを備えており、各系のCPUサブシステムは、クロック単位で完全に同期して動作するように、二重化制御回路によって制御される。このような方式は、ロックステップ方式と呼ばれる。また、各系のI/Oサブシステムは、HDDやLANコントローラ等を備えており、ホットスタンバイの形態をとる。
特開2006−178616号公報
FTサーバにおいては、運用開始時などに、両系のCPUサブシステムを同期させて動作させるため、同期化処理を行う。同期化処理は、システムの電源ONを契機に開始され、先ず、一方の系(例えば、#0系)のCPUサブシステムを起動する。次に、他方の系(例えば、#1系)のCPUサブシステムを起動し、#0系のCPUサブシステムのコンテキストを#1系のCPUサブシステムにコピーする。ここで、コンテキストとは、メモリやCPUのレジスタの内容である。そして、#0系と#1系のCPUサブシステムの状態が完全に一致したら同期リセットをかける。
上記した同期化処理を行うことにより、通常は、#0系と#1系のCPUサブシステムを同期して動作させることができる。しかし、ごく稀に、上記した同期化処理を行っても同期ずれが発生してしまう場合がある。#0系のCPUサブシステムと#1系のCPUサブシステムとを同期化できない場合、従来は、利用者がシステム全体の電源をOFF,ONして、再度、同期化処理を行わせるようにしている。このため、利用者に負担がかかるという問題がある。
[発明の目的]
そこで、本発明の目的は、CPUサブシステムの同期化に失敗した場合、CPUサブシステムを同期化するために利用者に負担がかかるという課題を解決したFTサーバを提供することにある。
本発明に係るフォールトトレラントサーバは、
第1のCPUと第1のメモリとを有する第1のCPUサブシステムを備えた第1のサブシステムと、第2のCPUと第2のメモリとを有する第2のCPUサブシステムを備えた第2のサブシステムとを同期して動作させるフォールトトレラントサーバであって、
前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作していない場合、前記第2のCPUサブシステムに対して電源をオフ、オンするパワーサイクルをかけるパワーサイクル手段と、
該パワーサイクル手段が前記第2のCPUサブシステムに対してパワーサイクルをかけた後、第1のCPUサブシステムのコンテキストを前記第2のCPUサブシステムにコピーするコピー手段と、
該コピー手段によるコピーが完了した後、前記第1のCPUサブシステムおよび前記第2のCPUサブシステムに対し、同期リセットをかける同期手段とを備える。
本発明に係る同期化方法は、
第1のCPUと第1のメモリとを有する第1のCPUサブシステムを備えた第1のサブシステムと、第2のCPUと第2のメモリとを有する第2のCPUサブシステムを備えた第2のサブシステムとを同期して動作させるフォールトトレラントサーバの同期化方法であって、
パワーサイクル手段が、前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作していない場合、前記第2のCPUサブシステムに対して電源をオフ、オンするパワーサイクルをかけ、
コピー手段が、前記パワーサイクル手段が前記第2のCPUサブシステムに対してパワーサイクルをかけた後、前記第1のCPUサブシステムのコンテキストを前記第2のCPUサブシステムにコピーし、
同期手段が、前記コピー手段によるコピーが完了した後、前記第1のCPUサブシステムおよび前記第2のCPUサブシステムに対し、同期リセットをかける。
本発明に係るプログラムは、
第1のCPUと第1のメモリとを有する第1のCPUサブシステムを備えた第1のサブシステムと、第1のCPUと第1のメモリとを有する第2のCPUサブシステムを備えた第2のサブシステムとを同期して動作させるフォールトトレラントサーバを、
前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作していない場合、前記第2のCPUサブシステムに対して電源をオフ、オンするパワーサイクルをかけるパワーサイクル手段、
該パワーサイクル手段が前記第2のCPUサブシステムに対してパワーサイクルをかけた後、前記第1のCPUサブシステムのコンテキストを前記第2のCPUサブシステムにコピーするコピー手段、
該コピー手段によるコピーが完了した後、前記第1のCPUサブシステムおよび前記第2のCPUサブシステムに対し、同期リセットをかける同期手段として機能させる。
本発明によれば、FTサーバのCPUサブシステムの同期化処理に失敗した場合に利用者にかかる負担を低減することができる。
本発明の第1の実施の形態に係るFTサーバの構成例を示すブロック図である。 本発明の第1の実施の形態で使用する二重化制御回路の構成例を示すブロック図である。 本発明の第1の実施の形態で行う同期化処理の一例の一部を示すフローチャートである。 本発明の第1の実施の形態で行う同期化処理の一例の残りの部分を示すフローチャートである。 位相ずれが発生する回路の一例を示すブロック図である。 図5の回路が正常動作しているときのタイミングチャートである。 図5の回路に位相ずれが発生したときのタイミングチャートである。 本発明の第2の実施の形態に係るFTサーバの構成例を示すフローチャートである。
次に、図面を参照して本発明の実施の形態について詳細に説明する。
[本発明の第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態に係るFTサーバは、同一構成の#0系のサブシステム1と#1系のサブシステム2とを備えており、両系のサブシステム1,2は、クロックや外部信号に対して完全に同期して動作するように構成されている。
#0系のサブシステム1は、CPU111及びメモリ112を含む#0系のCPUサブシステム11と、HDD121、LANコントローラ122及び増設カード123を含む#0系のI/Oサブシステム12と、二重化制御回路13とを備えている。また、#1系のサブシステム2は、CPU211及びメモリ212を含む#1系のCPUサブシステム21と、HDD221、LANコントローラ222及び増設カード223を含む#1系のI/Oサブシステム22と、二重化制御回路23とを備えている。
#0系のサブシステム1内のCPUサブシステム11とI/Oサブシステム12とは、二重化制御回路13を介して互いにアクセス可能に接続され、#1系のサブシステム2内のCPUサブシステム21とI/Oサブシステム22とは、二重化回路23を介して互いにアクセス可能に接続されている。また、#0系のCPUサブシステム11と#1系のCPUサブシステム21とは、二重化制御回路13,23およびクロスリンクにより互いにアクセス可能に接続されている。
図2を参照すると、二重化制御回路13,23は、起動手段131,231と、コピー手段132,232と、同期手段133,233と、パワーサイクル手段134,234と、判定手段135,235と、エラー検出手段136,236と、スイッチ手段137,237と、主系記憶部138,238と、制御手段139,239とを備えている。
起動手段131,231は、自系のCPUサブシステム11,21を起動する機能を有する。
コピー手段132,232は、自系のCPUサブシステム11,21のコンテキストを他系のCPUサブシステム21,11にコピーする機能を有する。ここで、#0系のCPUサブシステム11のコンテキストとは、CPU111のレジスタの内容や、メモリ112の内容であり、#1系のCPUサブシステム21のコンテキストとは、CPU211のレジスタの内容や、メモリ212に内容である。
同期手段133,233は、自系のCPUサブシステム11,21に同期リセットをかける機能を有する。
パワーサイクル手段134,234は、自系のCPUサブシステム11,21にパワーサイクル(電源のOFF、ON)をかける機能を有する。
判定手段135,235は、#0系、#1系のCPUサブシステムが同期して動作しているか否かを判定する機能を有する。より具体的には、判定手段135,235は、自系のサブシステム1,2内のバス上の信号(アドレス、データ、コマンド、実行結果など)と他系のサブシステム2,1内のバス上の信号がタイミングを含めて一致しているか否かを判定することにより、#0系,#1系のCPUサブシステム11,21が同期しているか否かを判定する。
エラー検出手段136,236は、CPUサブシステム11,21にエラーが発生したことを検出する機能を有する。より具体的には、CPUサブシステム11,21は、自身にエラーが発生した場合、そのことを示すエラー信号を出力し、エラー検出手段136,236は、CPUサブシステム11,21から出力されるエラー信号に基づいて、CPUサブシステム11,21にエラーが発生したことを検出する。なお、CPUサブシステム11,21がエラー信号を出力するエラーは、部品の交換など修理が必要なエラーである。
スイッチ手段137,237は、自系のCPUサブシステム11,21や、自系のI/Oサブシステム12,22などをシステムから切り離したり、システムに接続したりする機能を有する。
主系記憶部138,238には、#0系と#1系との内のどちらを主系として動作させかを示す主系情報が記録される。なお、以下の説明では、主系でない系を従系と記す。
制御手段139,239は、二重化制御回路13,23内の各手段131〜137,231〜237を制御する機能を有する。
なお、二重化制御回路13内の各手段131〜137,139は、CPUによって実現可能であり、その場合は、例えば、次のようにする。CPUを手段131〜137,139として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、CPUに上記プログラムを読み取らせる。CPUは、読み取ったプログラムに従って自身の動作を制御することにより、自CPU上に手段131〜137,139を実現する。
次に、本実施の形態の動作について詳細に説明する。
FTサーバの運用開始時や、部品交換時などに#0系,#1系のCPUサブシステム11,21を同期動作させる場合、利用者はFTサーバの電源をONにする。これにより、#0系,#1系の二重化制御回路13,23内の制御手段139,239が図3,図4のフローチャートに示す処理を実行する。
制御手段139,239は、先ず、主系記憶部138,238を参照し、自系が主系になっているか否かを判定する(図3のステップS31)。今、例えば、主系記憶部138,238に、#0系を主系として動作させることを示す主系情報が記録されているとする。
#0系の制御手段139は、自系が主系であるので(ステップS31がYes)、ステップS32の処理を行い、#1系の制御手段239は、自系が従系であるので(ステップS31がNo)、図4のステップS49に移行し、主系からの指示待ち状態になる。
主系の制御手段139は、ステップS32において、起動手段131に対して自系のCPUサブシステム11を起動することを指示する。これにより、起動手段131は、自系のCPUサブシステム11を起動する。
次に、主系の制御手段139は、従系(#1系)の制御手段239に対して従系のCPUサブシステム21を起動することを指示する(ステップS33)。これにより、制御手段239は、自系の起動手段231に対して自系のCPUサブシステム21を起動することを指示し、この指示に従って、起動手段231は、自系のCPUサブシステム21を起動する(図4のステップS49がYes、ステップS50)。
その後、主系の制御手段139は、自系のコピー手段132に対して、自系のCPUサブシステム11のコンテキストを他系のCPUサブシステム21にコピーすることを指示する。これにより、主系のコピー手段132は、CPUサブシステム11のコンテキスト(CPU111のレジスタの内容とメモリ112の内容を含む)を他系のサブシステム2へ転送すると共に、他系の制御手段239に対して、上記コンテキストをCPUサブシステム21にコピーすることを指示する(ステップS34)。この指示に応答して従系の制御手段239は、自系のコピー手段232に対して、主系から送られてきたコンテキストを自系のCPUサブシステム21にコピーすることを指示し、この指示に従ってコピー手段232は、CPUサブシステム11のコンテキストを自系のCPUサブシステム21にコピーする(ステップS49がYes、ステップS50)。
その後、主系の制御手段139は、自系の同期手段133に対して自系のCPUサブシステム11をリセットすることを指示すると共に、従系の制御手段239に対して従系のCPUサブシステム21をリセットすることを指示する(ステップS35)。主系の同期手段133は、制御手段139の指示に従ってCPUサブシステム11をリセットする。また、従系の制御手段239は、主系の制御手段139からの指示に従って、同期手段233に対してCPUサブシステム21のリセットを指示し、同期手段233は、この指示に従ってCPUサブシステム21をリセットする(ステップS49がYes、ステップS50)。つまり、ステップS35,S49,S50により、同期リセットが行われたことになる。
その後、主系の制御手段139は、自系の判定手段135に対して、両系のCPUサブシステム11,21が同期動作しているか否か(同じ動作をしているか否か)を判定することを指示し、判定手段135は、この指示に従って両系のCPUサブシステム11,21が同期動作しているか否かを判定する(ステップS36)。より具体的には、判定手段135は、#0系のサブシステム1内のバス上の信号(アドレス、データ、コマンド、処理結果など)と、#1系のサブシステム2内のバス上の信号とを比較し、両者が一致している場合は、同期動作していると判定し、不一致の場合は、同期動作していないと判定する。
ここで、両系が同期動作しない原因の1つとして、PLL(Phase Locked Loop)の出力が期待値と異なる位相にロックされてしまうことが挙げられる。
図5は、PLLを利用したシリアルインタフェースの構成例を示すブロック図であり、このようなシリアルインタフェースは、CPUサブシステムと二重化制御回路との間や、二重化制御回路とI/Oサブシステムとの間でデータを送受信するために使用される。図5を参照すると、シリアルインタフェースは、送信側装置3と受信側装置4とから構成されている。
送信側装置3は、PLLを利用したシンセサイザ31と、分周回路32と、位相調整ディレイ回路33と、パラレルシリアル変換器34とを備えている。また、受信側装置4は、シリアルパラレル変換器41と、リカバリクロック生成回路42と、FIFO(First In First Out)43と、PLL44とを備えている。
送信側装置3では、PLLを利用したシンセサイザ31がコアクロックを逓倍し、分周回路32がシンセサイザ31から出力されたクロックを分周し、位相調整ディレイ回路33が分周回路32から出力されたクロックを遅延させることにより、送信クロックを作成する。そして、パラレルシリアル変換器34が、送信クロックに従って送信データをシリアルデータに変換し、受信側装置4へ送信する。
また、受信側装置4では、リカバリクロック生成回路42が送信側装置3から送られてくるデータに基づいてリカバリクロックを生成し、シリアルパラレル変換器41が上記リカバリクロックに従って受信データをパラレルデータに変換する。このパラレルデータは、リカバリクロックに従ってFIFO43に書き込まれ、FIFO43に書き込まれたデータは、PLL44から出力されるクロックに従って読み出される。
図6は、PLLを利用したシンセサイザ31が正常動作したときのシリアルインタフェースの動作を示すタイムチャート、図7は、シンセサイザ31の出力の位相が期待値からずれた場合の動作を示すタイミングチャートである。
図7に示すように、送信クロックが図6に比較して少し後ろにずれた場合、受信データをFIFO43に取り込むタイミングが丁度1クロック分後ろにずれる形となる。つまり、図7のように送信クロックの位相が期待値からずれた場合、正常動作時とはデータの受信タイミングが異なるものとなってしまう。以上が両系が同期動作しない理由の1つである。
そして、判定手段135において、CPUサブシステム11,21が同期動作していると判定された場合(ステップS36がYes)は、主系の制御手段139は従系の制御手段239に対して同期化完了を通知した後(ステップS52)、同期化処理を終了する。また、従系の制御手段239は、主系から同期化完了が通知されると、同期化処理を終了する。
これに対して、同期動作していないと判定された場合(ステップS36がNo)は、主系の制御手段139は、エラー検出手段136によってCPUサブシステム11,21のエラーが検出されているか否かを判定する(ステップS37)。
そして、エラーが検出されている場合(ステップS37がYes)は、エラーの発生しているCPUサブシステムをシステムから切り離す(ステップS38)。より具体的には、主系の制御手段139は、自系のCPUサブシステム11にエラーが発生している場合は、自系のスイッチ手段137に対してCPUサブシステム11を切り離すことを指示し、他系のCPUサブシステム21にエラーが発生している場合は、他系の制御手段239に対して他系のCPUサブシステム切り離すことを指示する。他系の制御手段239は、上記指示に応答してスイッチ手段237に対してCPUサブシステム21を切り離すことを指示し、この指示に従ってスイッチ手段237は、CPUサブシステム21をシステムから切り離す。
エラーが発生したCPUサブシステムをシステムから切り離すと、主系の制御手段139は、従系の制御手段239に対して同期化失敗を通知し(図4のステップS53)、その後、同期化処理を終了する。また、従系の制御手段239も、主系から同期化失敗が通知されると、同期化処理を終了する。
これに対して、エラーが発生していない場合(ステップS37がNo)は、主系の制御手段139は、従系の制御手段239に対して従系のCPUサブシステム21の切り離しを指示する(図4のステップS41)。この指示に応答して、従系の制御手段239は、自系のスイッチ手段237に対して自系のCPUサブシステム21を切り離すことを指示し、スイッチ手段237は、この指示に従ってCPUサブシステム21を切り離す(ステップS49がYes、ステップS50)。
その後、主系の制御手段139は、従系の制御手段239に対して、CPUサブシステム21にパワーサイクル(電源のOFF、ON)をかけるように指示する(ステップS42)。この指示に応答して従系の制御手段239は、自系のパワーサイクル手段234に対して自系のCPUサブシステム21にパワーサイクルをかけることを指示し、この指示に従って、パワーサイクル手段234は、CPUサブシステム21に対するパワーサイクルを実行し、CPUサブシステム21を起動する。パワーサイクルを実行することにより、PLLの位相ずれなど、CPUサブシステム内の位相ずれをかなりの確率で解消することができる。
その後、主系の制御手段139は、前述したステップS34と同様の処理を行うことにより、主系のCPUサブシステム11のコンテキストを従系のCPUサブシステム21にコピーする(ステップS43)。
更に、主系の制御手段139は、前述したステップS35と同様の処理を行うことにより、両系のCPUサブシステム11,21に同期リセットをかける(ステップS44)。
その後、主系の制御手段139は、前述したステップS36と同様の処理を行うことにより、両系のCPUサブシステム11,21が同期動作しているか否かを判定する(ステップS45)。
そして、同期動作している場合(ステップS45がYes)は、主系の制御手段139は、従系の制御手段239に対して同期化完了を通知した後(ステップS52)、同期化処理を終了する。従系の制御手段239は、上記通知に応答して、同期化処理を終了する。
これに対して、同期動作していない場合(ステップS45がNo)は、カウント値iをインクリメント(+1)し、その後、カウント値iが予め定められている値N(ここではN=2とする)が以上であるか否かを判定する(ステップS46,S47)。ここで、カウント値iの初期値は「0」である。また、従系のCPUサブシステム11に対してパワーサイクルをかけても同期動作しなかったので、同期動作しない原因が主系のCPUサブシステム11内の位相ずれにあると想定される。そこで、現時点において主系のCPUサブシステム11にパワーサイクルをかけるため、主系の制御手段139は、主系と従系とを入れ替える(ステップS48)。より具体的には、現時点において主系の制御手段139は、自系の主系記憶部138に記録されている主系情報を#1系を示すものに変更すると共に、現時点において従系の制御手段239に対して主系記憶部238に記録されている主系情報を#1系を示すものに変更することを指示する。この指示に従って、従系の制御手段239は、主系記憶部238に記録されている主系情報を#1系を示すものに変更する(ステップS49がYes、ステップS50)。以上の処理により、#0系が従系、#1系が主系に変更される。また、ステップS48では、現在のカウント値iを他系の制御手段239に通知する処理も行い、通知を受けた制御手段239は、ステップS46においてカウント値iをインクリメントする際には、通知されたカウント値iをインクリメントする。
そして、新たに従系になった#0系の制御手段139は、主系からの指示待ち状態に移行する(ステップS51がNo、ステップS49)。
一方、新たに主系となった#1系の制御手段239は、ステップS51の判定結果がYesとなるので、ステップS41の処理を行う。これ以降、前述したステップS42〜S45と同様の処理が行われる(但し、主系と従系とが入れ替わっている)。
そして、ステップS45において、両系のCPUサブシステム11,21が同期して動作していると判定した場合は、主系の制御手段239は、従系の制御手段139に対して同期化完了を通知した後(ステップS52)、同期化処理を終了する。また、従系の制御手段139は、同期化完了が通知されると、同期化処理を終了する。
これに対して、両系のCPUサブシステム11,21が同期動作していないと判定した場合(ステップS45がNo)は、主系の制御手段239は、制御手段139から通知されているカウント値i=「1」を+1する(ステップS47がYes)。この結果、カウント値i=「2」=Nとなるので(ステップS47がYes)、主系の制御手段239は、従系の制御手段139に対して同期化失敗を通知し(ステップS53)、その後、同期化処理を終了する。また、従系の制御手段139も、同期化失敗が通知されると、同期化処理を終了する。
なお、上述した実施の形態では、N=「2」としたが、Nは「1」以上であれば、任意の値とすることができる。
[第1の実施の形態の効果]
本実施の形態によれば、FTサーバのCPUサブシステムの同期化処理に失敗した場合であっても、システム停止を伴わず、且つ利用者に負担をかけることなく、CPUサブシステムを同期化することができる。その理由は、両系のCPUサブシステムが同期して動作していない場合、一方の系のCPUサブシステムにパワーサイクルをかけるようにしているからである。
また、本実施の形態では、一方の系のCPUサブシステムにパワーサイクルをかけても両系のCPUサブシステムを同期させることができなかった場合、他系のCPUサブシステムにパワーサイクルをかけるようにしているので、CPUサブシステムを同期化できる確率が高まる。
また、本実施の形態では、エラー検出手段によって、エラーが検出されたCPUサブシステムをシステムから切り離すようにしているので、エラーの影響がFTサーバ全体に及ばないようにすることができる。
[本発明の第2の実施の形態]
次に、本発明の第2の実施の形態について詳細に説明する。
図8を参照すると、本実施の形態に係るFTサーバは、第1のCPUサブシステム82を備えた第1のサブシステム81と、第2のCPUサブシステム84を備えた第2のサブシステム83とを備えており、両CPUサブシステム82,84は、同期して動作する。第1、第2のCPUサブシステム82,84は、それぞれ第1、第2のCPUと、第1、第2のメモリとを有する。
判定手段851は、第1のCPUサブシステム82と第2のCPUサブシステム84とが同期して動作しているか否かを判定する。パワーサイクル手段852が、判定手段851で同期して動作していないと判定された場合、第2のCPUサブシステム84に対して電源をOFF、ONするパワーサイクルをかける。コピー手段853は、パワーサイクル手段852が第2のCPUサブシステム84に対してパワーサイクルをかけた後、第1のメモリの内容と第1のCPUのレジスタの内容とを含む第1のCPUサブシステム82のコンテキストを第2のCPUサブシステム84にコピーする。同期手段854は、コピー手段853によるコピーが完了した後、第1のCPUサブシステム82および第2のCPUサブシステム84に対し、同期リセットをかける。
[第2の実施の形態の効果]
本実施の形態によれば、FTサーバのCPUサブシステムの同期化処理に失敗した場合に利用者に係る負担を低減することができる。その理由は、第1、第2のCPUサブシステムが同期して動作していない場合、第2の出力サブシステムに対してパワーサイクルをかけるようにしているからである。
<付記>
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
(付記1)
第1のCPUと第1のメモリとを有する第1のCPUサブシステムを備えた第1のサブシステムと、第2のCPUと第2のメモリとを有する第2のCPUサブシステムを備えた第2のサブシステムとを同期して動作させるフォールトトレラントサーバであって、
前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作していない場合、前記第2のCPUサブシステムに対して電源をオフ、オンするパワーサイクルをかけるパワーサイクル手段と、
該パワーサイクル手段が前記第2のCPUサブシステムに対してパワーサイクルをかけた後、第1のCPUサブシステムのコンテキストを前記第2のCPUサブシステムにコピーするコピー手段と、
該コピー手段によるコピーが完了した後、前記第1のCPUサブシステムおよび前記第2のCPUサブシステムに対し、同期リセットをかける同期手段とを備えたことを特徴とするフォールトトレラントサーバ。
(付記2)
付記1記載のフォールトトレラントサーバにおいて、
前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作しているか否かを判定する判定手段を備えたことを特徴とするフォールトトレラントサーバ。
(付記3)
付記2記載のフォールトトレラントサーバにおいて、
前記判定手段は、前記同期手段による同期リセットが行われた後、前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作しているか否かを判定することを特徴とするフォールトトレラントサーバ。
(付記4)
付記1,2または3記載のフォールトトレラントサーバにおいて、
前記第1のCPUサブシステムにエラーが発生したことを検出するエラー検出手段と、
前記判定手段で同期動作していないと判定され、且つ、前記エラー検出手段で前記第1のCPUサブシステムのエラーが検出された場合、前記第1のCPUサブシステムを切り離すスイッチ手段を備えたことを特徴とするフォールトトレラントサーバ。
(付記5)
付記4記載のフォールトトレラントサーバにおいて、
前記エラー検出手段は、前記第2のCPUサブシステムにエラーが発生したことを検出し、
前記スイッチ手段は、前記判定手段で同期動作していないと判定され、且つ、前記エラー検出手段で前記第2のCPUサブのエラーが検出された場合、前記第2のCPUサブシステムを切り離すことを特徴とするフォールトトレラントサーバ。
(付記6)
付記2乃至5の何れか1付記に記載のフォールトトレラントサーバにおいて、
前記判定手段は、前記第1のサブシステム内のバス上の信号と、前記第2のサブシステム内のバス上の信号とが一致しているか否かに基づいて同期動作しているか否かを判定することを特徴とするフォールトトレラントサーバ。
(付記7)
付記1乃至6の何れか1項に記載のフォールトトレラントサーバにおいて、
前記第1のCPUサブシステムのコンテキストは、前記第1のメモリの内容と前記第1のCPUのレジスタの内容とを含むことを特徴とするフォールトトレラントサーバ。
(付記8)
第1のCPUと第1のメモリとを有する第1のCPUサブシステムを備えた第1のサブシステムと、第2のCPUと第2のメモリとを有する第2のCPUサブシステムを備えた第2のサブシステムとを同期して動作させるフォールトトレラントサーバの同期化方法であって、
パワーサイクル手段が、前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作していない場合、前記第2のCPUサブシステムに対して電源をオフ、オンするパワーサイクルをかけ、
コピー手段が、前記パワーサイクル手段が前記第2のCPUサブシステムに対してパワーサイクルをかけた後、前記第1のCPUサブシステムのコンテキストを前記第2のCPUサブシステムにコピーし、
同期手段が、前記コピー手段によるコピーが完了した後、前記第1のCPUサブシステムおよび前記第2のCPUサブシステムに対し、同期リセットをかけることを特徴とする同期化方法。
(付記9)
付記8記載の同期化方法において、
判定手段が、前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作しているか否かを判定することを特徴とする同期化方法
(付記10)
付記9記載の同期化方法において、
前記判定手段が、前記同期手段による同期リセットが行われた後、前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作しているか否かを判定することを特徴とする同期化方法。
(付記11)
付記8,9または10記載の同期化方法において、
エラー検出手段が、前記第1のCPUサブシステムにエラーが発生したことを検出し、
前記スイッチ手段が、前記判定手段で同期動作していないと判定され、且つ、前記エラー検出手段で前記第1のCPUサブシステムのエラーが検出された場合、前記第1のCPUサブシステムを切り離すことを特徴とする同期化方法。
(付記12)
第1のCPUと第1のメモリとを有する第1のCPUサブシステムを備えた第1のサブシステムと、第1のCPUと第1のメモリとを有する第2のCPUサブシステムを備えた第2のサブシステムとを同期して動作させるフォールトトレラントサーバを、
前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作していない場合、前記第2のCPUサブシステムに対して電源をオフ、オンするパワーサイクルをかけるパワーサイクル手段、
該パワーサイクル手段が前記第2のCPUサブシステムに対してパワーサイクルをかけた後、前記第1のCPUサブシステムのコンテキストを前記第2のCPUサブシステムにコピーするコピー手段、
該コピー手段によるコピーが完了した後、前記第1のCPUサブシステムおよび前記第2のCPUサブシステムに対し、同期リセットをかける同期手段として機能させるためのプログラム。
(付記13)
付記12記載のプログラムにおいて、
前記フォールトトレラントサーバを、
前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作しているか否かを判定する判定手段として機能させるためのプログラム。
(付記14)
付記13記載のプログラムにおいて、
前記判定手段は、前記同期手段による同期リセットが行われた後、前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作しているか否かを判定することを特徴とするプログラム。
(付記15)
付記12,13または14記載のプログラムにおいて、
前記フォールトトレラントサーバを、
前記第1のCPUサブシステムにエラーが発生したことを検出するエラー検出手段、
前記判定手段で同期動作していないと判定され、且つ、前記エラー検出手段で前記第1のCPUサブシステムのエラーが検出された場合、前記第1のCPUサブシステムを切り離すスイッチ手段として機能させるためのプログラム。
1,2・・・サブシステム
11,21・・・CPUサブシステム
111,211・・・CPU
112,212・・・メモリ
12,22・・・I/Oサブシステム
121,221・・・HDD
122,222・・・LANコントローラ
123,223・・・増設カード
13,23・・・二重化制御回路
131,231・・・起動手段
132,232・・・コピー手段
133,233・・・同期手段
134,234・・・パワーサイクル手段
135,235・・・判定手段
136,236・・・エラー検出手段
137,237・・・スイッチ手段
138,238・・・主系記憶部
139,239・・・制御手段
3・・・送信側装置
31・・・シンセサイザ
32・・・分周回路
33・・・位相調整ディレイ回路
34・・・パラレルシリアル変換器
4・・・送信側装置
41・・・シリアルパラレル変換器
42・・・リカバリクロック生成回路
43・・・FIFO
44・・・PLL

Claims (9)

  1. 第1のCPUと第1のメモリとを有する第1のCPUサブシステムを備えた第1のサブシステムと、第2のCPUと第2のメモリとを有する第2のCPUサブシステムを備えた第2のサブシステムとを同期して動作させるフォールトトレラントサーバであって、
    前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作していない場合、前記第2のCPUサブシステムに対して電源をオフ、オンするパワーサイクルをかけるパワーサイクル手段と、
    該パワーサイクル手段が前記第2のCPUサブシステムに対してパワーサイクルをかけた後、第1のCPUサブシステムのコンテキストを前記第2のCPUサブシステムにコピーするコピー手段と、
    該コピー手段によるコピーが完了した後、前記第1のCPUサブシステムおよび前記第2のCPUサブシステムに対し、同期リセットをかける同期手段とを備えたことを特徴とするフォールトトレラントサーバ。
  2. 請求項1記載のフォールトトレラントサーバにおいて、
    前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作しているか否かを判定する判定手段を備えたことを特徴とするフォールトトレラントサーバ。
  3. 請求項2記載のフォールトトレラントサーバにおいて、
    前記判定手段は、前記同期手段による同期リセットが行われた後、前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作しているか否かを判定することを特徴とするフォールトトレラントサーバ。
  4. 請求項1,2または3記載のフォールトトレラントサーバにおいて、
    前記第1のCPUサブシステムにエラーが発生したことを検出するエラー検出手段と、
    前記判定手段で同期動作していないと判定され、且つ、前記エラー検出手段で前記第1のCPUサブシステムのエラーが検出された場合、前記第1のCPUサブシステムを切り離すスイッチ手段を備えたことを特徴とするフォールトトレラントサーバ。
  5. 請求項4記載のフォールトトレラントサーバにおいて、
    前記エラー検出手段は、前記第2のCPUサブシステムにエラーが発生したことを検出し、
    前記スイッチ手段は、前記判定手段で同期動作していないと判定され、且つ、前記エラー検出手段で前記第2のCPUサブのエラーが検出された場合、前記第2のCPUサブシステムを切り離すことを特徴とするフォールトトレラントサーバ。
  6. 請求項2乃至5の何れか1項に記載のフォールトトレラントサーバにおいて、
    前記判定手段は、前記第1のサブシステム内のバス上の信号と、前記第2のサブシステム内のバス上の信号とが一致しているか否かに基づいて同期動作しているか否かを判定することを特徴とするフォールトトレラントサーバ。
  7. 請求項1乃至6の何れか1項に記載のフォールトトレラントサーバにおいて、
    前記第1のCPUサブシステムのコンテキストは、前記第1のメモリの内容と前記第1のCPUのレジスタの内容とを含むことを特徴とするフォールトトレラントサーバ。
  8. 第1のCPUと第1のメモリとを有する第1のCPUサブシステムを備えた第1のサブシステムと、第2のCPUと第2のメモリとを有する第2のCPUサブシステムを備えた第2のサブシステムとを同期して動作させるフォールトトレラントサーバの同期化方法であって、
    パワーサイクル手段が、前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作していない場合、前記第2のCPUサブシステムに対して電源をオフ、オンするパワーサイクルをかけ、
    コピー手段が、前記パワーサイクル手段が前記第2のCPUサブシステムに対してパワーサイクルをかけた後、前記第1のCPUサブシステムのコンテキストを前記第2のCPUサブシステムにコピーし、
    同期手段が、前記コピー手段によるコピーが完了した後、前記第1のCPUサブシステムおよび前記第2のCPUサブシステムに対し、同期リセットをかけることを特徴とする同期化方法。
  9. 第1のCPUと第1のメモリとを有する第1のCPUサブシステムを備えた第1のサブシステムと、第1のCPUと第1のメモリとを有する第2のCPUサブシステムを備えた第2のサブシステムとを同期して動作させるフォールトトレラントサーバを、
    前記第1のCPUサブシステムと前記第2のCPUサブシステムとが同期して動作していない場合、前記第2のCPUサブシステムに対して電源をオフ、オンするパワーサイクルをかけるパワーサイクル手段、
    該パワーサイクル手段が前記第2のCPUサブシステムに対してパワーサイクルをかけた後、前記第1のCPUサブシステムのコンテキストを前記第2のCPUサブシステムにコピーするコピー手段、
    該コピー手段によるコピーが完了した後、前記第1のCPUサブシステムおよび前記第2のCPUサブシステムに対し、同期リセットをかける同期手段として機能させるためのプログラム。
JP2014071899A 2014-03-31 2014-03-31 フォールトトレラントサーバ、同期化方法、及びプログラム Active JP6056801B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014071899A JP6056801B2 (ja) 2014-03-31 2014-03-31 フォールトトレラントサーバ、同期化方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014071899A JP6056801B2 (ja) 2014-03-31 2014-03-31 フォールトトレラントサーバ、同期化方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015194847A true JP2015194847A (ja) 2015-11-05
JP6056801B2 JP6056801B2 (ja) 2017-01-11

Family

ID=54433816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014071899A Active JP6056801B2 (ja) 2014-03-31 2014-03-31 フォールトトレラントサーバ、同期化方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6056801B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019159609A (ja) * 2018-03-09 2019-09-19 Necプラットフォームズ株式会社 基盤装置、情報処理システム、制御方法及び情報処理システムの構成方法。

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58125103A (ja) * 1982-01-20 1983-07-26 Hitachi Ltd 多重系演算処理同期システムの復旧方法
JPS59114648A (ja) * 1982-12-22 1984-07-02 Hitachi Ltd 診断装置
JPH10260855A (ja) * 1997-03-18 1998-09-29 Nec Corp 二重化構成装置
JP2010049589A (ja) * 2008-08-25 2010-03-04 Kyoto Univ 多重化実行に対してスケーラブルなパイプラインプロセッサシステム
JP2013045154A (ja) * 2011-08-22 2013-03-04 Nec Corp 情報処理装置、情報処理システム、情報処理装置の異常兆候検出方法、及び異常兆候検出プログラム
JP2013206278A (ja) * 2012-03-29 2013-10-07 Nec Corp 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58125103A (ja) * 1982-01-20 1983-07-26 Hitachi Ltd 多重系演算処理同期システムの復旧方法
JPS59114648A (ja) * 1982-12-22 1984-07-02 Hitachi Ltd 診断装置
JPH10260855A (ja) * 1997-03-18 1998-09-29 Nec Corp 二重化構成装置
JP2010049589A (ja) * 2008-08-25 2010-03-04 Kyoto Univ 多重化実行に対してスケーラブルなパイプラインプロセッサシステム
JP2013045154A (ja) * 2011-08-22 2013-03-04 Nec Corp 情報処理装置、情報処理システム、情報処理装置の異常兆候検出方法、及び異常兆候検出プログラム
JP2013206278A (ja) * 2012-03-29 2013-10-07 Nec Corp 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016015423; 岡田 政彦 他: '「Express5800/ftサーバ」' NEC技報 第58巻 第1号, 20050125, 25頁-29頁, 日本電気株式会社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019159609A (ja) * 2018-03-09 2019-09-19 Necプラットフォームズ株式会社 基盤装置、情報処理システム、制御方法及び情報処理システムの構成方法。
JP7120599B2 (ja) 2018-03-09 2022-08-17 Necプラットフォームズ株式会社 情報処理システム及び制御方法

Also Published As

Publication number Publication date
JP6056801B2 (ja) 2017-01-11

Similar Documents

Publication Publication Date Title
US9262257B2 (en) Providing boot data in a cluster network environment
JP2004046611A (ja) フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
WO2016018262A1 (en) Storage transactions
JP2010160764A (ja) バックアップ制御装置、ストレージシステム、バックアップ制御プログラム及びバックアップ制御方法
CN102890716A (zh) 分布式文件系统和分布式文件系统的数据备份方法
US20130262913A1 (en) Information processing apparatus, system time synchronization method and computer readable medium
JP2013206278A (ja) 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム
JP5561334B2 (ja) データ転送装置
WO2016008094A1 (zh) 一种数据复制方法、装置以及系统
JP2006178636A (ja) フォールトトレラントコンピュータ、およびその制御方法
JP5287974B2 (ja) 演算処理システム、再同期方法、およびファームプログラム
CN111078352A (zh) 一种基于kvm虚拟化系统的双机热备部署方法及系统
JP6056801B2 (ja) フォールトトレラントサーバ、同期化方法、及びプログラム
TWI224256B (en) Information processing apparatus
KR101533081B1 (ko) 저전력과 신뢰성을 동시에 확보하기 위한 이중화 대응 장치, 이중화 시스템 및 이중화 구성 설정 방법
JP2009098988A (ja) フォルトトレラントコンピュータシステム
JP6056408B2 (ja) フォールトトレラントシステム
CN114531394B (zh) 一种数据同步方法及装置
JP5702651B2 (ja) 仮想マシン同期方法及びシステム及び運用系の仮想マシン及びプログラム
JP2009003631A (ja) 冗長構成サーバシステム、同期処理方法、及びプログラム
JPH08202627A (ja) 二重化された共用メモリの等価性回復処理方法および装置
JP2011028481A (ja) フォールトトレラントサーバ、プロセッサ切り替え方法およびプロセッサ切り替えプログラム
JP6540113B2 (ja) フォールトトレラントサーバおよび同期化方法、並びにコンピュータ・プログラム
JP2011048441A (ja) 二重化システム、及び、二重化方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160606

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: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161121

R150 Certificate of patent or registration of utility model

Ref document number: 6056801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150