みずほ銀行の障害原因について
2021/8/20に発生したみずほ銀行の障害原因について、整理する。
(1)ハードディスクが1台故障:問題点1
(2)ほぼ同時に、もう1台故障:問題点2
→ハードディスクの2台故障に備えていなかった:問題点2-1
(3)バックアップデータの複製に失敗した:問題点3
(4)災対切替に時間がかかった:問題点4
表層的な問題点だけでも4つ挙げたがが、個人的見解として重要視すべきは問題点3の「バックアップデータの複製に失敗した」である。
(3)バックアップデータの複製に失敗した:問題点3
なぜ、バックアップデータの複製に失敗したのか?
それは、データの複製中に壊れたからである。:問題点3ー1
例として1TBデータの複製に1分かかるとしよう。複製開始から30秒経過した時に、複製元が故障すると、複製先のデータが中途半端な状態に陥ってしまう。
データの書き込み途中に強制電源オフすると、読みだせなくなってしまうのと同じである。
では、なぜデータの複製中に壊れること想定しなかったのか:問題点3ー1ー1
それは、二重障害は対象外とする仕様に基づいて設計したからである。
ここからの原因分析は重要である。
・なぜ、二重障害は対象外とする仕様としたのか:問題点3ー1ー1ー1
・なぜ、二重障害は対象外とする仕様の例外として、備えなかったのか:問題点3ー1ー1ー2
さて、話は一旦脇道に逸れる。
良くあるRPO(※1)=24時間=毎朝4時の時点に戻せば良いという場合、
毎日4時の時点をバックアップすれば良いかというと、それは間違いである。
※1:RPO=目標復旧時点
なぜなら4時の時点のバックアップには処理時間が必要であり、
バックアップ中に故障が発生した場合は、前日の4時のデータからしか戻せないからである。
例えば、火曜日4時の時点のバックアップに30分かかるとし、
4時20分の時点で障害が発生した場合、
バックアップから戻せるのは月曜日の4時のデータである。
つまり、RPO=24時間20分となる。
整理すると、RPOにはバックアップ時間(データ複製時間)を考慮しなければならない。
システム→バックアップ→災対へのデータ複製に1時間かかるのであれば、
RPOは24時間とせずに25時間でなければならない。
また、RPOはデータ複製時間(上記例では1時間)以内に設定することは不可能である。
では、みずほ銀行のRPOが1時間と設定されていたらどうだろう。
もしくは業務上の制限でRPO=5秒と設定されていたらどうだろう。
(以下、未整理)