フォールトトレランス
システムの一部に故障が発生しても、冗長化などによって、システム全体としては正常な機能を維持し続けられるようにする設計の考え方。
イマシルちゃんの解説
大事な試合で、選手がケガをしても、控えの選手がすぐに交代すれば、チームは同じ力で戦い続けられるよね。
フォールトトレランスは、コンピュータに「控えの選手」を用意しておく考え方なんだ。
サーバやディスクを2つ以上用意しておいて、1つが壊れても、もう1つがすぐに代わりをする。
利用者は、壊れたことに気づかないくらいなんだよ!
より深い解説
定義
フォールトトレランス(fault tolerance:耐故障性)は、構成要素の一部が故障しても、システムとしての機能を損なわずに動作を続ける性質、またはそのための設計の考え方である。主に、ハードウェアやソフトウェアの多重化(冗長化)によって実現する。
信頼性を高める2つのアプローチ
| アプローチ | 考え方 | 主な手段 |
|---|---|---|
| フォールトアボイダンス(故障回避) | 故障そのものが起きないようにする | 高品質な部品、十分なテスト、予防保守 |
| フォールトトレランス(耐故障) | 故障が起きることを前提に、故障しても動き続けるようにする | 多重化、誤り訂正、自動切り替え |
どれほど品質を高めても、故障を完全になくすことはできない。そのため、重要なシステムでは、フォールトアボイダンスとフォールトトレランスを組み合わせる。
実現する技術
| 技術 | 内容 |
|---|---|
| デュアルシステム | 2系統で同じ処理を行い、結果を照合する。一方が故障したら、もう一方で処理を続ける |
| デュプレックスシステム | 現用系と待機系を用意し、現用系が故障したら待機系に切り替える |
| RAID 1、RAID 5など | ディスクを冗長化し、1台が故障してもデータを失わない |
| 誤り訂正符号(ECC) | メモリのビットの誤りを、自動で訂正する(フォールトマスキング) |
| 冗長電源 | 電源ユニットを2つ以上持ち、1つが故障しても給電を続ける |
| ネットワークの冗長化 | 機器や回線を二重化し、VRRPやリンクアグリゲーションなどで切り替える |
関連する考え方の比較
| 考え方 | 故障や誤りが起きたときの動作 |
|---|---|
| フォールトトレランス | 正常な機能を維持する |
| フェールソフト | 機能を縮小して運転を続ける |
| フェールセーフ | 安全な状態に移す |
| フールプルーフ | 人が誤った操作をしても、誤動作を防ぐ |
誤った入力を見つけて利用者に知らせ、入力し直してもらう仕組みは、故障ではなく人の誤りへの対策なので、フォールトトレランスではなくフールプルーフに当たる。
可用性との関係
フォールトトレランスは、システムの稼働率(可用性)を高めるための手段である。たとえば、稼働率0.9の装置を2台並列にすると、両方が同時に故障しない限り動き続けるため、全体の稼働率は 1 − (1 − 0.9)² = 0.99 に上がる。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和6年度 春期 午前Ⅱ 問24
- ネットワークスペシャリスト 令和4年度 春期 午前Ⅱ 問24
- ネットワークスペシャリスト 令和3年度 春期 午前Ⅱ 問24
- ネットワークスペシャリスト 平成30年度 秋期 午前Ⅱ 問22