問題 No.2490
ある企業で稼働しているデュプレックスシステムの運用において、主系システムで発生した障害を検知して待機系システムへ処理を引き継ぐフェイルオーバーを実施したところ、待機系システム側に引き継がれたデータの一部が最新の状態に更新されておらず、業務データに不整合が生じるトラブルが発生した。このトラブルの再発を防止するための対策として、最も適切なものはどれか。
【正解の解説】
主系と待機系の間でデータ更新情報の同期方式や頻度を見直し、フェイルオーバー時におけるデータ損失を最小限に抑える設計に変更する。
これは二人羽織で片方がメモを取る作業に似ています。主系が受け取ったメモの控えを待機系に渡すスピードが遅いと、主系が倒れたときに最新情報が消えてしまいます。そのため、データの受け渡し頻度を上げて常に最新状態を共有しておくことが、データ不整合を防ぐ鍵となります。
スポンサーリンク
【その他の選択肢の解説】
主系と待機系の切り替え速度をさらに高速化させるため、ハートビートの監視間隔を短縮して瞬間的なネットワーク負荷を軽減する設計に変更する。
ハートビートの監視間隔を短くすると、お互いの生存確認の回数が増えるため、かえってネットワークやシステムの負荷が大きくなります。切り替え速度を上げることと、データが最新に同期されているかは別の問題であるため、今回のデータ不整合の根本的な解決にはなりません。
主系システムで障害が発生した際に自動切り替えを行わず、必ず管理者の目視確認による手動でのフェイルオーバーへ全面移行する。
管理者が目視で確認して手動で切り替えると、夜間や休日などに障害が発生した際の復旧が大幅に遅れてしまいます。システムのダウンタイムを最小限にするというデュプレックスシステムの本来の目的やメリットを損なってしまうため、適切な再発防止策とは言えません。
主系システムの運用を継続しながら待機系システム側のOSやミドルウェアを定期的に再起動し、常時クリーンな状態を維持する。
OSやミドルウェアをクリーンに保つことはシステム全体の安定稼働に役立ちますが、主系から送られてくるデータの同期遅延や不整合という根本的な問題を解決するものではありません。データの同期方式そのものを見直さないと、障害時に同じデータ損失トラブルが再発してしまいます。