フォールトトレラントシステム ( Fault tolerant system )は、その構成部品の一部が故障しても正常に処理を続行するシステムである。 Fault Tolerant Systems (Fault tolerant system) is to proceed normally even if some of its components fail the system is. 本項目はフォールトトレラントシステムの特定の実装方法に関して記述する。 This item describes a specific implementation of fault-tolerant systems. 一般的な理論についてはフォールトトレラント設計を参照されたい。 For the general theory of fault-tolerant design , see the.
障害が発生した場合、単純な設計のシステムでは少しの障害でも全体が停止するが、フォールトトレラントシステムでは完全に機能を保ったまま処理を続行するか、障害の重大性に応じて機能を低下させながらも処理を続行する。 If a failure occurs, the system of simple design, but to stop all at fault a little, and fault-tolerant systems is to continue the process while maintaining a fully functional, lowers the function according to the severity of the disorder but to proceed. フォールトトレラント性は連続稼働が求められるシステムや人命に関わるシステムで特に求められる。 Of fault-tolerant systems for required especially in systems that require continuous operation and life.
フォールトトレラント性は個々のマシンの特性というだけではなく、マシン間の連携についての規則の特性でもある。 Of fault is not just an individual machine characteristics, but also the characteristics of rules for cooperation between the machines. 例えば、 TCPはパケット通信ネットワーク内に不完全なリンクや高負荷のリンクがあっても信頼性の高い双方向通信ができるように設計されている。 For example, TCP is a packet that is designed to provide reliable two-way communication link despite a heavy load or broken links in the network. これは受信側でパケット喪失、パケット二重化、順序変更などがあるものとしてプロトコルが設計されているためであり、結果として通信性能が低下してもデータの正確性が損なわれないようになっているのである。 This packet loss at the receiver, packet duplication, and because they are designed protocol such as a change order, which is the accuracy of the data intact even if the performance degradation as a result of the.
データ形式も同様な考え方を当てはめることが出来る。 Ideas can be applied to data format as well. 例えばHTMLは下位互換を維持するよう設計されているため、新たな機能を使ったHTMLを古いブラウザが読み込んだとき、それを処理できないものとして捨てるのではなく理解できる範囲で表示することができる。 For example, HTML is backward compatible because it is designed to maintain, when loaded with new features HTML browser is old, and can not handle the throw as you can see it as possible without understanding.
フォールトトレラントシステムにおける障害復旧はロールフォワード ( roll-forward )とロールバック ( roll-back )に分けられる。 Roll-forward recovery in fault-tolerant systems (roll-forward) and rollback (roll-back) is divided into. システムに障害が発生しエラーとなったとき、ロールフォワード復旧ではその時点のシステム状態で復旧を行い、処理をさらに先に進める。 Error when the system fails, we roll forward recovery while recovering system at that time, proceeding further processing. ロールバック復旧ではシステム状態を少しだけ前に戻して(例えばCheckpointingを使って)そこから処理を再開する。 Rollback recovery back a bit before the system state (eg Checkpointing using) to resume operations from there. ロールバック復旧では、チェックポイント(戻す地点)と障害発生地点との間の処理は冪等 (何度実行しても一回実行したのと同じ)でなければならない。 Rollback recovery, checkpoint (point back) between treatment failure and the point idempotent (same as the one run after running a lot) should be. いくつかのシステムはエラーの種類やエラー発生箇所によってロールフォワードとロールバックを使い分けている。 Some systems that use different kinds of roll forward and roll back the error type and error location.
個々のシステム内では、フォールトトレランス性は例外的な状態を想定してそれに対処できるようにシステムを構築することで実現される。 In each system, with fault tolerance is achieved by constructing a system to handle it assumes that an exceptional condition. また、一般に自己安定性を持たせることによってシステムがエラーのない状態に収斂させることでフォールトトレランス性を実現する。 The general stability of the self to achieve convergence of fault tolerance can be error-free state by having the system. しかし、システム障害が重大でそれに対処するのに非常にコストがかかる場合、よりよい方法は何らかの二重化をすることである。 However, very expensive to deal with it in a critical system failure, a better way is to some redundancy.
フォールトトレラントシステムに求められる基本的特性は以下の通りである。 The basic characteristics required for fault tolerant systems are as follows.
さらに、フォールトトレラントシステムは予定されたサービス停止と予期しないサービス停止の両方を尺度として使うことができる。 In addition, fault-tolerant systems can be used both as a measure of unexpected outages and scheduled outages. 通常、これらはアプリケーションレベルでの話であり、ハードウェアレベルの話ではない。 Typically, they are talking about at the application level, not talking about the hardware level. これらを考慮した値を可用性と呼び、パーセントで表す(つまり、全時間のうち、サービス停止していない時間が何パーセントか)。 Considering these values available , calling to percentage (ie, of all time, what percentage of time do not shut down). 99.999% の可用性を保証されたシステムは、統計的に99.999%の時間稼動し続けるはずである。 99.999% guaranteed availability of systems is statistically should continue running 99.999% of the time.
二重化(多重化、冗長化)によるフォールトトレラント性は三つに分類される。 Redundant (multiplexing, redundancy) the fault is classified by three.
RAIDは冗長性を活用したフォールトトレラントな記憶装置の例である。 RAID is a fault-tolerant redundancy utilizing the storage device is an example.
ロックステップ方式のフォールトトレラントマシンは各部分を多重化して並列して動作させる。 Machine lock-step fault-tolerant scheme is run in parallel and multiplexing each part. 多重化された各部分はどの時点で見ても全く同じ状態でなければならない。 Each part must be multiplexed to see exactly the same state at any time. 同じ入力を与えた場合に同じ出力が得られることが期待される。 Is expected to get the same output when given the same input. 多重化部分の出力は多数決回路に集められ比較される。 Part of the output multiplexing circuit is comparable to the majority being collected. 各部品を二重化したマシンはdual modular redundant (DMR)と呼ばれる。 Each component machine with redundant dual modular redundant (DMR) is called. この場合、多数決回路は結果が異なっているということしか分からないので、復旧は別の方法で行う必要がある。 In this case, known only because the majority circuit that is different from the results, recovery should be done in different ways. 各部品を三重化したマシンはtriple modular redundant (TMR)と呼ばれる。 Each part of the machine triple triple modular redundant (TMR) is called. この場合の多数決回路は比較結果が2対1になったときにエラーを判定するので、正しい(と思われる)結果を出力することができ、エラーと判定された結果を捨てることが出来る。 Since the majority of circuit judges in this case the error was 2 to 1 when the comparison is correct (probably) and can output the results, we can discard the result of the determination error. その後、エラーを発生させた複製部品は故障したものとみなし、多数決回路はDMR状態に移行する。 Then, the error that caused the duplicate parts deemed faulty, the voting circuit DMR transition state. このモデルはもっと多くの複製についても当てはめることが出来る。 This model can be applied for more replication.
ロックステップ方式のフォールトトレラントマシンは簡単に完全同期させることができ、各複製部品は同じクロックで同期して動作する。 Machine lock-step fault-tolerant system can be fully synchronized easily replicated for each component to operate at the same clock synchronization. もちろん、各複製をクロック同期させないロックステップシステムも構築可能である(多数決回路で待ち合わせる)。 Of course, it is possible not to build too Rokkusuteppushisutemu each synchronous replication (meet in the voting circuit.) (訳注:ただし、クロック同期しない場合、故障によって出力を多数決回路に送れなくなった部品をどう扱うかが問題となる。) (Comment: However, if no clock synchronization, the problem is how to handle the majority circuit component output was the failure to lead.)
複製を同期させるには個々の内部状態が一致していなければならない。 To synchronize replicas must match the internal state of the individual. リセット状態などの同じ内部状態からいっせいに動作を開始するのである。 Operation to start simultaneously from the same internal state and reset state. 一方で、複製間で状態をコピーするという方法もある。 On the other hand, there are ways of copying the state between replicas.
DMRの一種にpair-and-spareがある。 DMR in the form of pair-and-spare that. ふたつの複製部品がロックステップで同じ処理を行い、多数決回路が相異を検出したらエラー信号を出力する。 We replicate the same process in two parts that lock-step, the error signal to detect differences if the circuit majority. もうひとつの二重化システムが全く同じ処理をしていて、ふたつの二重化システムの出力を比較してエラーとなっていない方を採用する。 If you have a redundant system is exactly the same process Another way to adopt is not an error to compare the output of two redundant systems. pair-and-spare では云わば四重化であって TMR よりも冗長だが、商用システムで採用された例もある。 pair-and-spare with them to say that it was of a quadruple redundant than TMR, but in some cases been adopted in commercial systems.
システムの障害が発生し、何らかの修理が必要となったとき、修理している最中でもサービスが続行可能でなければならない。 System failure, and when something needs to be repaired, but must be able to continue service while the repairs. あるいは、ソフトウェアの障害でパッチを当てる場合も同様である。 Or, even if the failure to patch the software.
障害が発生したとき、その発生箇所を特定し、隔離できなければならない。 When a failure to identify the occurrences must be able to isolate. このため、独立した障害箇所特定のための機構が必要となる。 This mechanism is needed to separate the specific point of failure.
障害が発生すると、それがシステム全体に伝播していき、システム全体が障害となることがある。 In the event of failure, Iki it propagated to the entire system may hinder the entire system. 例えば、通信関係で障害が発生すると、不正なパケットが大量に発生してネットワーク全体の回線容量を消費し、結果としてサービス不能となる場合がある。 For example, in relation to communication failure, and overall network bandwidth consumption and cause a lot of bad packets, denial of service may be as a result. このような場合に障害箇所を隔離して、システム全体に影響が及ばないようにする必要がある。 Where failure to isolate such a case, you need to affect the entire system.
障害によってはシステム(あるいは操作者や結果)を危険にさらす可能性がある。 The system failure (or operator or results) may be endanger. これを防ぐため、ミッションクリティカルなシステム(兵器システム、油圧機械など)はセーフモードを備える。 To prevent this, mission-critical systems (weapon systems, hydraulic and mechanical) are provided with safe mode. これはインターロック機構やソフトウェアで実装可能である。 This locking mechanism can be implemented in software and interface.