基本情報技術者 2009年 春期 午前(科目A) 問15
問題文
フォールトトレラントシステムの説明として、適切なものはどれか。
選択肢
ア:システムが部分的に故障しても、システム全体としては必要な機能を維持するシステム(正解)
イ:地域的な災害などの発生に備えて、遠隔地に予備を用意しておくシステム
ウ:複数のプロセッサがネットワークを介して接続され、資源を共有するシステム
エ:複数のプロセッサで一つのトランザクションを並行して処理し、結果を照合するシステム
🔒 解説は解答すると表示されます
フォールトトレラント【午前解説】
正解の理由
フォールトトレラントとは、システムの一部に故障(フォールト)が発生しても、システム全体として所定の機能やサービスを継続できる設計・仕組みを指します。選択肢アは「システムが部分的に故障しても、システム全体としては必要な機能を維持するシステム」と記述され、用語の定義に一致します。フォールトトレラントは冗長化(ハードウェア、ソフトウェア、データ複製)、故障検出、フェイルオーバー、マスク(隠蔽)などの技術で実現されます。
解法ステップ
- 問題文(設問の意図)を「フォールトトレラント=何を達成する仕組みか」で読み替える:部分故障があっても機能維持。
- 各選択肢のキーワードを確認する:
- 「部分的に故障しても機能維持」:フォールトトレラント。
- 「遠隔地に予備」:ディザスタリカバリ(災害対策/事業継続)。
- 「プロセッサがネットワークで資源共有」:分散システム/クラスター。
- 「並行処理して結果を照合」:冗長化の一手法(例:TMR)だが定義全体ではない。
- 最も一般的で定義に合う記述を選ぶ:ア。
選択肢別の誤答解説
-
ア(正解)
システム全体の機能維持がフォールトトレラントの本質。冗長化やフェイルオーバーなどで部分障害を吸収し、利用者にサービス継続を提供する。 -
イ(誤り)
「遠隔地に予備を用意しておく」はディザスタリカバリ(災害復旧)やサイトレプリケーションの説明であり、フォールトトレラントの一部の手段(地理的冗長)にはなり得るが、設問の定義としては限定的。ディザスタリカバリは大規模災害からの復旧や事業継続計画(BCP)寄りの概念。 -
ウ(誤り)
「複数のプロセッサがネットワークを介して接続され、資源を共有する」は分散システムやクラスタリングの定義。分散システムはフォールトトレラント技術を使うことがあるが、同義ではない。 -
エ(誤りだが注意)
「複数のプロセッサで同一トランザクションを並行処理し結果を照合する」は、トリプル・モジュラー・リダンダンシ(TMR)などの冗長化・トリプル投票によるフォールトマスキングの具体例に当たる。したがって「フォールトトレラントの実現手法の一つ」ではあるが、問題が問う「フォールトトレラントの定義」としては、選択肢アがより適切である。
よくある誤解
-
フォールトトレラント=単にバックアップや遠隔サイトを用意すること
→ バックアップやディザスタリカバリは重要だが、フォールトトレラントは故障時に継続的にサービスを提供することに重点がある。復旧(recovery)と継続(continuity)は異なる視点。 -
分散システムなら自動的にフォールトトレラントである
→ 分散化は冗長性を確保しやすいが、適切な障害検出・フェイルオーバー・整合性維持の設計がなければフォールトトレラントとは言えない。 -
冗長化すればすべての障害に対応できる(ビザンチン障害の見落とし)
→ 単純な冗長化(多数決やTMR)は停止故障やソフトエラーに有効でも、誤動作や悪意ある振る舞い(ビザンチン障害)には専用のBFT(Byzantine Fault Tolerance)プロトコルが必要。
補足コラム
フォールトトレラント実現の代表的技術:
- 冗長化の種類:ハードウェア冗長(冗長電源、冗長サーバ)、ソフトウェア冗長(レプリケーション)、データ冗長(RAID、分散ストレージ)
- 実装手法:ホットスタンバイ/コールドスタンバイ、アクティブ-スタンバイ、アクティブ-アクティブ、TMR(トリプル・モジュラー・リダンダンシ)
- 合意と整合性:分散システムではPaxos/Raft等のコンセンサスアルゴリズムにより状態を一致させ、フォールト時の整合性保持と可用性を両立する。
- ビザンチン障害対策:悪意や任意の異常動作を扱うにはPBFTなどのBFTアルゴリズムが必要。
FAQ
Q1: フォールトトレラントと高可用性(HA)は同じですか?
A1: 概念は近いが焦点が異なる。HAはシステムの稼働率を高めること全般(短時間の切替や冗長)を指し、フォールトトレラントは部分故障があっても継続的に機能を保持することにより可用性を実現する一手段/設計理念と考えられます。
A1: 概念は近いが焦点が異なる。HAはシステムの稼働率を高めること全般(短時間の切替や冗長)を指し、フォールトトレラントは部分故障があっても継続的に機能を保持することにより可用性を実現する一手段/設計理念と考えられます。
Q2: TMRはフォールトトレラントの代表例ですか?
A2: はい。TMR(トリプル・モジュラー・リダンダンシ)は出力を多数決して故障モジュールをマスクする手法で、特にハードウェア機器や安全クリティカルなシステムで使われます。ただしTMRはビザンチン障害に対しては限定的です。
A2: はい。TMR(トリプル・モジュラー・リダンダンシ)は出力を多数決して故障モジュールをマスクする手法で、特にハードウェア機器や安全クリティカルなシステムで使われます。ただしTMRはビザンチン障害に対しては限定的です。
Q3: ディザスタリカバリ(遠隔地の予備)は不要ですか?
A3: 不要ではありません。ディザスタリカバリは大規模災害やサイト全体の障害に備える別の層の対策で、フォールトトレラントと組み合わせて総合的な可用性と事業継続を設計します。
A3: 不要ではありません。ディザスタリカバリは大規模災害やサイト全体の障害に備える別の層の対策で、フォールトトレラントと組み合わせて総合的な可用性と事業継続を設計します。
関連キーワード: フォールトトレラント、冗長化、フェイルオーバ、トリプル・モジュラー・リダンダンシ(TMR)、ビザンチン障害、分散システム、ディザスタリカバリ

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

