基本情報技術者 2013年 秋期 午前(科目A) 問13
問題文
フォールトトレラントシステムの実現方法の記述のうち、最も適切なものはどれか。
選択肢
ア:システムを1台のコンピュータではなく、複数台のコンピュータで多重化する。(正解)
イ:システムをフェールソフト構造ではなく、フェールセーフ構造にする。
ウ:装置や機器を二重化するのではなく、重要な処理を稼働率が高い装置で処理する。
エ:ハードウェアではなく、ソフトウェアによってフォールトトレラントを実現する。
フォールトトレラントシステムの実現方法【午前2 解説】
要点まとめ
- 結論: フォールトトレラントは単一装置に依存せず、複数台で機能を冗長化して障害時にもサービス継続を実現する設計が基本です。
- 根拠: 冗長化により単一障害点(SPOF)を排除し、フェイルオーバや負荷分散で可用性と復旧性を高めるためです。
- 差がつくポイント: フェールセーフ/フェールソフトの違いや、ハード・ソフト両面の冗長化と切替方式(アクティブ/パッシブ等)を理解すること。
正解の理由
正解は ア です。フォールトトレラント(故障許容)を実現する代表的手法は、システムを1台ではなく複数台のコンピュータで冗長化することです。複数台構成により、あるノードが故障しても他ノードが処理を引き継ぎ、サービスを継続できます。クラスタリングや冗長化構成(アクティブ/パッシブ、アクティブ/アクティブ)、レプリケーション、フェイルオーバ機構はフォールトトレラントの典型例です。
よくある誤解
- フェールセーフにすればフォールトトレラントになる:フェールセーフは「安全に停止」させる設計であり、サービス継続(フォールトトレラント)とは目的が異なります。
- 高信頼装置を1台使えば十分:単一装置の故障は回避できないため、冗長化が必要です。
- ソフトウェアだけで完全に実現できる:ソフト面での冗長化手法はあるが、ハード冗長化や切替基盤が不可欠な場面が多いです。
解法ステップ
- 問題文のキーワードを確認:「フォールトトレラント=故障許容、可用性維持」。
- 各選択肢を定義と照合:冗長化、フェールセーフ、フェールソフト、ソフト/ハードの実現方法の意味を思い出す。
- 単語の目的で選択肢を比較:フォールトトレラントは「継続性」が目的なので「冗長化」説明が該当するかを優先。
- 誤答となる曖昧な対比(安全停止など)は除外して最も直接的な手法を選ぶ。
選択肢別の誤答解説
- ア: システムを1台のコンピュータではなく、複数台のコンピュータで多重化する。→ 正解。冗長化とフェイルオーバにより故障時もサービス継続が可能になる典型的な実現方法です。
- イ: システムをフェールソフト構造ではなく、フェールセーフ構造にする。→ 誤り。フェールセーフは危険を避けるための安全停止を意味し、サービス継続(フォールトトレラント)とは目的が異なります。
- ウ: 装置や機器を二重化するのではなく、重要な処理を稼働率が高い装置で処理する。→ 誤り。高稼働装置の信頼性向上は有益だが、単体故障のリスクを排除できないためフォールトトレラントとは言えません。
- エ: ハードウェアではなく、ソフトウェアによってフォールトトレラントを実現する。→ 誤り。ソフトウェア冗長(例:N-version)や例外処理は役立つが、ハード冗長(複数台)やインフラ側のフェイルオーバ機構が不可欠なことが多く、単独では限定的です。
補足コラム
フォールトトレラントを実装する際は、単に機器を増やせば良いわけではありません。状態同期(セッションやデータのレプリケーション)、心拍(heartbeat)による故障検知、フェイルオーバ時の切替遅延、分散トランザクションの整合性、スプリットブレイン対策(クラスタの分断時)など運用面の設計が重要です。RAIDやロードバランサ、クラスタリングソフト、仮想化環境の冗長構成は実務でよく使われます。
FAQ
Q1: フェールセーフとフェールソフトの違いは何ですか?
A1: フェールセーフは故障時に安全に停止すること、フェールソフトは機能を限定してでも動作を継続する(機能劣化での継続)ことを指します。
A1: フェールセーフは故障時に安全に停止すること、フェールソフトは機能を限定してでも動作を継続する(機能劣化での継続)ことを指します。
Q2: フォールトトレラントと高可用性(HA)は同じですか?
A2: 目的は近く重なる部分がありますが、フォールトトレラントは故障を許容して継続する設計そのもの、HAはダウンタイムを最小化するための広い概念と捉えられます。実運用では両者を組み合わせます。
A2: 目的は近く重なる部分がありますが、フォールトトレラントは故障を許容して継続する設計そのもの、HAはダウンタイムを最小化するための広い概念と捉えられます。実運用では両者を組み合わせます。
Q3: ソフトウェアでの冗長化の例は?
A3: アクティブ/パッシブのレプリケーション、N-versionプログラミング、分散トランザクションとリモートレプリカの利用などがありますが、ハード冗長性と組み合わせることが多いです。
A3: アクティブ/パッシブのレプリケーション、N-versionプログラミング、分散トランザクションとリモートレプリカの利用などがありますが、ハード冗長性と組み合わせることが多いです。
関連キーワード: フォールトトレラント、冗長化、フェイルオーバ、フェールセーフ、フェールソフト、高可用性、クラスタリング、RAID、SPOF

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

