【ふぉーるとますきんぐ】
フォールトマスキング とは?
💡 壊れても気づかせない、裏方の職人技
📌 このページのポイント
- 障害を検知して自動的に正常な系統に切り替えることで、ユーザーへの影響をゼロにする
- TMR(三重モジュラ冗長)やECC メモリなどがフォールトマスキングの代表例
- フォールトトレランス(障害耐性)を実現する手法の一つ
- 障害が隠蔽されるため、根本原因の発見が遅れるリスクもある
フォールトマスキングって、エラーを無視するってこと?
無視じゃなくて「隠蔽」だよ。裏側では障害を検知して対処しているんだけど、表側のユーザーには何事もなかったかのように見せる技術なんだ。飛行機のエンジンが1基止まっても残りで飛び続けるようなイメージだね
具体的にはどうやるの?
代表的なのはTMR(三重モジュラ冗長)だよ。同じ処理を3つの系統で同時に実行して、多数決で結果を決める。1つが壊れても残り2つが正しい答えを出すから、外から見ると障害がなかったように見えるんだ
メモリにもそういう仕組みがあるって聞いたけど?
フェイルオーバーとは違うの?
フェイルオーバーは障害が起きてから切り替える仕組みで、切り替え中に一瞬ダウンタイムが生じることもある。フォールトマスキングは障害が起きた瞬間に自動的に結果を補正するから、理論上はダウンタイムがゼロなんだ。より高いレベルの障害耐性と言えるね
デメリットはないの?
いい質問だね。障害が隠蔽されるから、管理者が気づかないうちに冗長性が減っていることがあるんだ。3系統のうち1つが壊れてマスキングで隠されているのに放置すると、もう1つ壊れた瞬間に一気に落ちる。だから障害をマスキングしつつ、裏でアラートを上げて修理する運用が重要だよ
まとめ:ざっくりこれだけ覚えればOK!
「フォールトマスキング」って出てきたら「障害が起きてもユーザーに気づかせない仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Fault Masking」 = 障害隠蔽
💬 fault(障害)をmask(隠す)する、つまり障害の存在をマスクで覆い隠すイメージだよ