曖昧で、いつも区別がつかないのでメモ。
・フェイルオーバー
・フェイルセーフ
・フェイルソフト
・フェイルバック
フェイルオーバー 【failover】
サーバに障害が発生した場合に、代替サーバが処理やデータを引き継ぐ機能。
平時には二つ以上のサーバが、相互に状態を監視しながらデータの同期をとって動作している。
そして障害が発生した場合には、その処理とデータが直ちに代替サーバに引き継がれるので、利用者は障害による影響を意識せずに済むようになっている。
なお、二つ目以降のサーバに障害が起こった場合にも次々と引き継いでいく「カスケード・フェイルオーバー」という機能も存在し、最近ではこちらの機能を持つソフトウェアも増えつつある。
予備が待機しているのが「フェイルオーバー」
VRRPの「ハートビート」とか。
フェイルセーフ 【fail safe】
故障や操作ミス、設計上の不具合などの障害が発生することをあらかじめ想定し、起きた際の被害を最小限にとどめるような工夫をしておくという設計思想。
例としては、石油ストーブが転倒すると自動的に消火するよう設計されていることや、加圧水型原子炉の制御棒の電源が切れると制御棒が自身の重さで炉内に落下して自動的に炉を停止させるよう設計してあることなどが挙げられる。
障害が発生すると、自動的に停止できる工夫が「フェイルセーフ」
石油ストーブの転倒対策=火事防止とか。
フェイルソフト 【fail soft】
システムの一部に障害が発生した際に、故障した個所を破棄、切り離すなどして障害の影響が他所に及ぼされるのを防ぎ、最低限のシステムの稼動を続けるための技術。
ハードディスクを複数個備え、内容を常にミラーリングしているRAIDシステムや、電源やネットワークカードのコントローラを複数個備えているリダンダント電源やリダンダントネットワークカードなどでは、運用中に一ヶ所に障害が生じても、残された系統で運用を続けることができ、直ちにシステムが停止しないようになっている。
このように、システムの要所に複数系統を用意した冗長化を行ない、さらに故障の自動的な検知、故障に対する対処の自動化を盛り込んだシステムをフェイルソフトと呼ぶ。
トカゲの尻尾切りが「フェイルソフト」
RAIDのミラーリング、UPSとか。
フェイルバック 【failback】
障害から復旧した元のシステムに、代替システムから処理を引き継いで元の状態に戻すこと。
クラスタリングなどで可用性を高めた環境では、稼動系に障害が発生すると、待機系に処理が引き継がれる。これをフェイルオーバーという。その後、元の稼動系の障害を取り除いて復旧した後、待機系から再び処理を引き継ぐのがフェイルバックである。
フェイルオーバー後、元に戻すのが「フェイルバック」
VRRPで壊れたルーターを修復するとか。
フェイルソフトは、フェイルオーバーでもあり、互いに別物というわけじゃなさそう。
重複した概念だから、紛らわしいのかな?
どこを強調したいかで使い分ければOK?
●まとめ
フェイルオーバーとフェイルソフトは、似ているけど違う。
→ フェイルオーバーは、運転の切替が必要。複数台あっても動いているのは1台だけ。他は待機。
→ フェイルソフトは、運転の切替が不要。複数台あれば全部同時に動いている。待機してない。
フェイルバック → フェイルオーバーとセットで使う用語。
フェイルセーフ → 他とはちょっと違う概念、用法。緊急時は停止してもOK。