先日お知らせした、ファーストサーバーのデータ消失の実態が徐々に明らかになってきました。
「大規模障害の概要と原因について(中間報告)」として、内容が発表されていますが一般の方々にはさっぱり分からない内容なので、私がわかる範囲で勝手に推測を入れながら簡単に解説してみようと思います。
まず、ファーストサーバーの発表によると、原因は以下の3つ
■ 障害の原因
原因1:脆弱性対策のための更新プログラムの不具合
脆弱性対策のためのメンテナンスが必要となる都度、メンテナンスのための更新プログラムを作成しており、今回も更新プログラムを作成しています。
そのプログラムの記述において、ファイル削除コマンドを停止させるための記述漏れと、メンテナンスの対象となるサーバー群を指定するための記述漏れが発生していました。
原因2:メンテナンス時の検証手順
メンテナンスに際しては、検証環境でまず動作確認を行うという手順が定められていましたが、プログラム実行後の動作確認を行う対象は、あくまでも当該メンテナンス対象サーバー群を確認すれば足りるとされていたため、検証環境下で対象サーバー以外に影響が及んだことの確認がないまま、動作確認上は問題なしと判定され本番環境での実施が行われました。
原因3:メンテナンス仕様
システムを含むデータのバックアップは毎朝6時に取得しております。
しかしながら、脆弱性対策のためのメンテナンスはバックアップをしてあるシステムについても実施しておかないと、メンテナンス実施後にハードウェア障害が発生してバックアップに切り替えた途端に脆弱性対策が講じられていないシステムに戻ってしまうことが過去に発生し、脆弱性対策がなされていないシステムが動き続けていたという反省に立ち、脆弱性対策のメンテナンスに関しては対象サーバー群とそのサーバー群のバックアップ領域に対して同時に更新プログラムを適用するという構造に修正して実施しました。
そのため、今回のメンテナンス実施において、対象サーバー群のデータ消失と同時にバックアップ領域のデータも消失したという事象に至っています。
あーもうわかりづらいですね。
まず原因1
パソコンを使っていると定期的に「Windows Update」が「更新して下さい」とか「再起動してください」とか言ってきますよね?原因1はそれ。
サーバーは「超高性能なパソコン」だと思ってもらうと分かりやすいんですが、このウィルスやら、外部からの攻撃に対して見つかった穴を埋めるアップデートは、OS(システムの根本部分。パソコンだったらWindows)の配布元(パソコンならMicrosoft)から、「欠陥直したんでアップデートして下さいね」という形で配布されます。
但しアップデートするタイミングは、意図しない部分に影響を及ぼす可能性があるので、システム内部のどの機能をいつアップデートするかは管理者の任意になっています。大規模なシステム程、アップデート前に十分に検証する必要があります。
恐らくサーバーの数も多い事でしょうから、それを手動で行うのは大変なのでプログラムを組んで、指定したサーバーに対して自動的にアップデートをしてくれるようにしていたのでしょう。
で、どうも今回は、データを一度削除してから更新する必要があるアップデートであった事に対して、サーバーの指定を間違えたと言う事らしいです。
「データ消す必要あったの?」という疑問もあるかもしれませんが、まぁ、家のリフォームするときって、普通家具とか全部片付けますよね?そんな感じです。
次に原因2
A,B,C,Dのサーバーがあったとして、それぞれのテスト用のサーバーが用意されている状態だとすればAとBだけ更新したい時に、C,Dはあらかじめ対象外だから確認してませんでしたって事ですね。
例としては、メールを複数の人に送った時に、相手に届いたかどうかは確認するけど、アドレス帳内のその他の人たちに間違って送ってないかを確認したりってしませんよね?それと同じ感じ。
そして原因3
昔バックアップから差し戻した時にバックアップが古いままでセキュリティに穴空いたままだったから、バックアップデータにもアップデートかましちゃったってことなんですが、アレですね
例としては、会議に使う資料作成 → PCとUSBメモリに保存 → 誤字脱字発見 → PCのファイルを修正して保存 → PCのファイルを間違って消しちゃう → USBの方のファイルを印刷して会議に提出 → 誤字脱字いっぱい!!
こんな状況があったので、毎回USBメモリにも自動的に保存するようにしました。でもその保存するファイル自体が間違ってました。
こんな感じ。
まぁ今回のは原因1と2がデカイ。コマンドの記述ミスはやらかす危険がある。恐らく一番回避するために必要だったのは原因2。「対象外に影響を及ぼしてないか」これって結構盲点になりがちなんですよね。
ちなみに殆どの顧客はデータ復旧はほぼ不可能な模様です。
バックアップ不要と言っておきながら今は顧客のローカルのバックアップに頼るしかない状況。「明日は我が身かもしれない」と思っているシステム関連のお仕事をされている方々は多いんじゃないでしょうか?w
コメント