ファーストサーバ、大規模障害の中間報告を発表 185
ストーリー by hylom
同様の構成を取っているところは結構あるんじゃないかと思ったり 部門より
同様の構成を取っているところは結構あるんじゃないかと思ったり 部門より
あるAnonymous Coward 曰く、
先日ファーストサーバで大規模な障害が発生しましたが、その概要と原因についてファーストサーバー側が中間報告を公表しました。
バックアップデータまでも消失した原因は、バックアップ環境を待機系のように運用していたためのようです。
バックアップの定義 (スコア:5, すばらしい洞察)
リアルタイムで待機系に反映されるものを、「バックアップ」と称するのはやめた方がいいですね。
ミラーリング/レプリケーションでしょう。
バックアップと言う以上は、ある程度の世代管理がなされていて、任意の世代に戻せないと。
げに恐ろしき言葉のアヤ (スコア:1)
同感。
まさか本当にデータのバックアップを取らずに作業していたとは。
確かに、システムのバックアップではあるが…
Re:バックアップの定義 (スコア:1)
そしてこの問題が周知された後、マスコミが語句の意味が曖昧だと
騒いで経済産業省が待ってましたとばかり財団法人を作って天下り、
各社はimiマークを取得しないと営業できなくなるのだった。
あーみんな不幸がなくなってめでたしめでたし。
合点がいかない (スコア:5, すばらしい洞察)
説明にいくつか合点のいかない点があります。
1. 事前告知無しに午後5時にメンテナンスしている点。
いくら緊急でも午後5時にメンテナンスなんてありえないでしょう。
しかもそんな緊急パッチなら再起動も入るはずで事前告知無しはありえないはずです。
2. 脆弱性対処でファイル削除している点
一体どう言うパッチあてすると、(ディレクトリごと)削除がいるのでしょう?
3. 削除コマンドの停止漏れ
具体的にどういうことなのかわかりません。しかも検証で対象サーバの方は正常に処理が終了して検証をパスしたように書かれていますが、同じ処理がターゲットではうまく行って非ターゲットだけで全損なんてどうやったらありうるのでしょう?
4. 検証環境での検出漏れ
検証環境でも、非ターゲットサーバーはバグにより全損していたはずなのに気づかないとかあるのでしょうか?
もし気づかなかったとしたらなぜでしょう?
5. FSではバックアップは同一サーバー上に置かれる、という説明書きがあったはずですが、なぜ今さら(待機系と思しき)バックアップサーバなんて話を持ち出しているのでしょう?
今後他の管理者が似たようなことをしないよう、ぜひ真実を明らかにして欲しいですね。
起きるべくして起きた人災だと思う(Re:合点がいかない (スコア:5, 興味深い)
たぶん、ポイントは1番で全てな気がする。
中間発表を読むと、
ってことで、たぶん普段から告知無しでメンテナンス当ててると思う。
なんでんな無茶が通ってたかって言うと、できるだけセキュリティパッチは早く当てたいって事と、検証環境があるから油断してるって事じゃないかな。
んで、「2. 脆弱性対処でファイル削除している点」と「3. 削除コマンドの停止漏れ」とはたぶん同じで、パッチを当てるためのスクリプトの雛形に、環境をまっさらにしてから当てる、みたいな無茶なのが入ってるんじゃないかなあ。(ちょっと想像しづらいけど)
んで、「サーバー群を指定するための記述漏れ」ってあるけど、たぶん逆だったんじゃないかなあ。
対象サーバ以外に、当てるってやるになってた。んで、検証対象サーバはパッチが当たってない(当てる前と同じ)ので、動いてる動いてるとスルー。「4. 検証環境での検出漏れ」ね。
# 「5. FSではバックアップは同一サーバー上に置かれる」ってデータと、待機系とはたぶん別なんでしょう。
# さすがにバックアップシステムがなきゃ100%は謳えないと思うので。
暫定対応に色々書いてありますが、待機系はその意味合い上、同時にパッチが当たっても特に問題ないんじゃないかと思います。オペレーションミスへの対応だとか、データの履歴を取るための仕組みじゃないですし。
だから、ポイントは「検証環境があるからと、気楽にシステムに手を入れてる」ところと、「検証環境で何か問題が起きていないかのチェックが形骸化していること」じゃないかなあと。
不注意がおきやすい環境で、チェックも入ってなかったら、そりゃいつか起きるだろうと。
まあ、良い機会だからインフラ関連を刷新するべくみんな稟議を通そうぜ!
いまならまともなディザスタリカバリの仕組みを作り込んでも無駄扱いされることは無かろう:-P
Re:起きるべくして起きた人災だと思う(Re:合点がいかない (スコア:3)
起きるべくして起きたってのは同意です。しかしどんな運用をしていたのかは明らかにしてほしいですね。他にもやってるところあるでしょうし、検証や運用に甘い考えを持った人を納得させるための材料にもなるので。
個人的には、
・メンテナンスは意図的なものだったのか?
・本当に検証環境でテストしたのか?
・そもそも本当に検証環境(と呼んで良いもの)があるのか?
という点を疑っています。
例えば、検証環境と呼んでいるものが、実は本番DMZにあるデモサーバーの事で、そしてそのデモサーバーで検証するつもりが、(kousokubusさんの言うような感じで)デモサーバー以外の本番環境で処理が動いた、というような可能性です。
これなら通常の業務システムでは負荷が高くなりやすい午後5時なんて時間に作業した事も、検証環境で検出できなかった事も説明がつきます。またこれが本当なら、杜撰な管理を責められるため隠そうとしたとしても不思議ではありません。
またバックアップサーバへのパッチ適用は私も同じ考えで、同時に適用する事は問題ないと考えます(Act-Actなクラスタは当然として、Act-Stanbyでもパッチレベルを同一にするのは当然のこと)。
問題なのは作業前にデータをバックアップしていないことであって、待機系に同時適用したことは全く問題じゃないはずです。にも関わらず待機系をバックアップと呼び、話にあげてきたのは、万全を期していた、というような印象を与えたかったと予想します。
ただ、削除については非常に謎が多いです。kousokubusさんの言う「環境をまっさらにする」ならバックアップからコピーで戻すんじゃないですかね。
もともときれいさっぱり何も無い場所に、パッチ当てかメンテかでファイルができ、削除するとまっさらになる、ってのはちょっと考え辛いです。
「削除コマンドの停止漏れ」は考えられるとしたら、
find $TMP/ -type f -exec rm -f {} ¥;
rm -rf $TMP/*
みたいな処理で、if [ -z "$TMP" ]みたいな条件が抜けていた、とかでしょうか。それでも一体何を削除する必要があったのか不明です。
「脆弱性対策」ってのは方便の可能性があるので、話半分に信じるとしても、何をやろうとしたらこんなことが起こるのか、皆目見当がつかないです。
Re:合点がいかない (スコア:3)
2. 脆弱性対処でファイル削除している点
一体どう言うパッチあてすると、(ディレクトリごと)削除がいるのでしょう?
3. 削除コマンドの停止漏れ
具体的にどういうことなのかわかりません。しかも検証で対象サーバの方は正常に処理が終了して検証をパスしたように書かれていますが、同じ処理がターゲットではうまく行って非ターゲットだけで全損なんてどうやったらありうるのでしょう?
私もこの点はよくわかりません。
パッチを当てた後、パッチファイルを削除しようとして rm -rf / tmp とでもやったんでしょうかね?
それでも「削除コマンドの停止漏れ」が意味不明ではありますが。
Winデスクトップ管理な臭い (スコア:1)
CGIとかの修正して、検証環境のディレクトリを全部にxcopyしてしまいました(汗
検証環境=作業者環境
プログラム=コピーバッチファイル
バックアップ環境=待機環境
とか。
説明文面から、UNIX管理者的なプロトコルが通らない気がします。
Re:合点がいかない (スコア:2)
その説明は、
検証環境の対象サーバーは無事だったので検出できなかった
検証環境の非対象サーバーまでみていれば検出できていたがそこまではしていなかった
という風に読み取れますが、本当でしょうか?
検証後、商用への適用まで1日以上置くはずですし、切り戻し手順の確認のため、何度か実行するはずです。
検証環境の他のサーバーが全壊しているのに、その間誰も気づかないとか考え辛いです。
それに検証環境が複数あるなら、商用展開前にまずは検証環境の他のサーバにもパッチを当てようとするはずです。
検証で検出できなかったと言う説明には違和感を感じます。
金言 (スコア:4, 興味深い)
RAIDはバックアップの代替ではない。
バックアップもRAIDの代替ではない。
Re:金言 (スコア:1)
でも全世代を戻すテストをしたことのある技術者は
まずいないのでは
Re:金言 (スコア:1)
本当に"当たり前"なら謝ることはやぶさかではありませんが…
「それを全世代本当に試したのですか?」
「何を根拠に当たり前と言っているのですか?」
というところが焦点なんですけども
(まさかXXという製品だから問題ないとか言いますまいな)。
「歴史は繰り返す」ですね。それで、本当の原因は? (スコア:3)
ジオシティーズは2009年7月にデータ消失やっているし、その遥か昔…あれは20世紀だったか…にも消失をやっている。管理者のスキルが低いなと感じたな。トラブル対応慣れしてない、修羅場をくぐっていないって感じ。ユーザーによるデータバックアップの必要性を説明する代わりに、メリットばかりを強調したために被害が広がった。消失事故後に慌てて”データは各自でバックアップするのが当然です”みたいな説明してたっけ。過去の大ミスから教訓を得ないのは最悪だな。なら、また繰り返すだろう。
今回は、流行のクラウドなんてフリーのサーバー同然の補償しかないというのが「偉い人」への教訓になったんじゃないかな。それにしても疑問なんだが、技術者なら何でサーバーぐらい自分で立てられないのかな。クラウドでコストダウンじゃなくて、クラウドで銭失い&過労死&倒産、だろう。
Re:「歴史は繰り返す」ですね。それで、本当の原因は? (スコア:3, すばらしい洞察)
ここが変だよファーストサーバー (スコア:2, 興味深い)
・脆弱性対策のためのメンテナンスが必要となる都度、メンテナンスのための更新プログラムを作成
・ファイル削除コマンドを停止させるための記述漏れ
・メンテナンスの対象となるサーバー群を指定するための記述漏れ
・検証環境下で対象サーバー以外に影響が及んだことの確認がないまま、動作確認上は問題なしと判定
・脆弱性対策のためのメンテナンスはバックアップをしてあるシステムについても実施しておかないと、
メンテナンス実施後にハードウェア障害が発生してバックアップに切り替えた途端に脆弱性対策が講じられていないシステムに戻ってしまうことが過去に発生
・脆弱性対策のメンテナンスに関しては対象サーバー群とそのサーバー群のバックアップ領域に対して同時に更新プログラムを適用
Re:ここが変だよファーストサーバー (スコア:2)
待機系だよなぁ、やっぱり。 (スコア:2)
バックアップ環境を待機系のように運用していたためのようです。
「のように」というよりは、普通の待機系にしか見えないんだけど...。じゃなきゃ、
脆弱性対策のためのメンテナンスはバックアップをしてあるシステムについても実施しておかないと、メンテナンス実施後にハードウェア障害が発生してバックアップに切り替えた途端に脆弱性対策が講じられていないシステムに戻ってしまうことが過去に発生し、脆弱性対策がなされていないシステムが動き続けていたという反省に立ち、脆弱性対策のメンテナンスに関しては対象サーバー群とそのサーバー群のバックアップ領域に対して同時に更新プログラムを適用するという構造に修正して実施しました。
なんて話は出てこないと思うんだが...。
Re:待機系だよなぁ、やっぱり。 (スコア:1)
Re:待機系だよなぁ、やっぱり。 (スコア:1)
パッチ適用の有無関係ないよ。
スルースキル:Lv2
Keep It Simple, Stupid!
Re:待機系だよなぁ、やっぱり。 (スコア:1)
Re:待機系だよなぁ、やっぱり。 (スコア:2)
Re:待機系だよなぁ、やっぱり。 (スコア:2)
activeとスタンバイを同時にってのがちょっと・・・ (スコア:2)
ステージング環境まで用意しろとは言えないけど、擬似とはいえスタンバイとアクティブの両方にやっちゃうってのは致命的かも。
せめて片方ずつという運用にしとかないと・・・。
もしかしてそれが範囲に関するミスってことなんだろうか。
# 自分は一度環境作ったらもうひとつ同じ環境つくって、予算が可能であればハードディスクぶっこ抜いたりして切り替えや復帰が出来るか確認してるんだけどそういうのってあんまりやんないのかな
Re:activeとスタンバイを同時にってのがちょっと・・・ (スコア:1)
# 自分は一度環境作ったらもうひとつ同じ環境つくって、予算が可能であればハードディスクぶっこ抜いたりして切り替えや復帰が出来るか確認してるんだけどそういうのってあんまりやんないのかな
普通、SIの現場なんかだと、テストの一環として、障害の検出とかがちゃんとできるとか、
障害時に系切り替えがちゃんとできるかとかは、一通りやると思います。
テストの9割は異常系と、教わってきました。
バックアップサービスとかあるみたいだけど (スコア:1)
そのオプションを選んでてもインチキやってバックアップ取ってなかったってこと?詐欺じゃん。
Re:バックアップサービスとかあるみたいだけど (スコア:4, すばらしい洞察)
普段のバックアップはオプションサービスのうちだとしても、
メンテ前のバックアップは契約内容に依らない、メンテ手順に含まれるものじゃないの。
管理会社の不手際でのデータロストに備えてオプションサービス契約しろっておかしいじゃん。
Re:バックアップサービスとかあるみたいだけど (スコア:1)
メンテナンスウインドウとバックアップウインドウが用意してあり、世代数も任意で設定できます #aws
ISMSってなんでょう? (スコア:1)
Re:ISMSってなんでょう? (スコア:1)
障害を起こさないようにするルールの定義(一般化されてるルールの中から取捨とカスタマイズ)
障害が起きた際のルールの定義(一般化されてるルールの中から取捨とカスタマイズ)
それらの学習ルールの定義(一般化されてるルールの中から取捨とカスタマイズ)
それらの監視ルールの定義一般化されてるルールの中から取捨とカスタマイズ)
といった俺々ルールですよ?
しかもそこで作られた自分ルールさえも中小の偉い人は守りません。
監査システムなんてもはや飾りです。
誰も書いてないようなので (スコア:1)
ささやき えいしょう いのり ねんじろ
おおっと
Re:システム系バックアップとユーザーデータバックアップ (スコア:5, 参考になる)
ここの問題は、バックアップという名前の、疑似RAID1だったってこと。
カタログスペックと聞いた話でしか僕はわからないけど:
この2通りで、疑似ミラーリングしていたわけです
本番系がたとえば朝5時59分に落ちた場合、
自動で待機系に切り替えるようになっていたようで、
この場合は23時間59分ぶんのデータがまるっと無くなる仕組みです。
いままでは
だったわけですが、これはバックアップではなく
1世代だけある待機系に切り替わっただけです。
この間にエンジニアがえっちらおっちら待機系から
クローニングして、あらたな待機系をぶら下げていたと推測します。
任意タイミングでとったスナップショットがないので、
結果10日前に戻るとかそういうのも出来なかったのでしょう。
つまり、バックアップ機能搭載!と謳ってないサービスは
スタンドアロン運用だということで、ただの領域貸しですね。
#しまった 出遅れた
( ´・ω・`)いままでとこれからを比べる生活
ぱんかれ
今時じゃないのかも (スコア:2)
Re:システム系バックアップとユーザーデータバックアップ (スコア:3)
VPSの様なソリューションってデータバックアップはしないのが普通なんでしょうかね。
100歩譲って(安いんだから)定期的にデータバックアップしてないのは許せるとしても
環境変更時は最悪元に戻せるように事前にバックアップ取るのが普通じゃないのかなぁ。
何かあった時に復旧できない。
まあコスト削減のためにリスクを多く取り過ぎたってことなんだろうけど。
Re:システム系バックアップとユーザーデータバックアップ (スコア:1)
あとは利用者がバックアップを取れるようにしてくれればよかったんだけど。
# っていうか利用者がバックアップ取れないのにその規約はどうなの
Re:システム系バックアップとユーザーデータバックアップ (スコア:1)
取れるようになってたんじゃないでしょうか。
事後のアナウンスにもバックアップのとり方が示されてますし。
事前にバックアップを取るように十分にアナウンスしていたとしたら、結構大きな企業の担当者が慌てる事態になったとも思えませんが。
Re:システム系バックアップとユーザーデータバックアップ (スコア:3, 興味深い)
「※外部サーバーからのデータベース連携はできません。
※シェル(TELNET、SSHなど)はご利用いただけません。 」
どうやって取りましょうかね?
Re:システム系バックアップとユーザーデータバックアップ (スコア:2)
Q. どうやって取りましょうかね?
A. CGIにSQLインジェクションを埋め込む。
さらに、脆弱性があることを周知すれば何もせずとも第3者がデータバックアップをどんどんしてくれるという。
データバックアップの取得は不正アクセス禁止法違反による家宅捜索で押収。
まさにクラウド。
Re:システム系バックアップとユーザーデータバックアップ (スコア:1)
規約にはそのようにかいてありましたがバックアップを(露骨に)謳ってたので(専門じゃなので間違ってるかもしれませんが)誇大広告とか不当表示防止法とかひっかかりそうな法律が結構あるので規約より法律が勝ちそうなきがします。
Re:ちょいとわかんないんですが (スコア:2)
なので、元から無かったか消えたのか区別できなかったと。
Re:担当者 (スコア:1)
なんで Google や Amazon のクラウドサービスつかわないで、わけわからない日本人が管理してるサーバを使う気になったのか、わけがわかりません。Google のデータストア機構なら、データ書き込んだときに非同期に3台のコンピューターにコピーされて、最近の仕様のでは別のコンピューターどころか別のデータセンターにコピーされるっていうじゃないですか。価格だってじゅうぶん安い。
Re:担当者 (スコア:1)
Re:担当者 (スコア:1)
新小岩もなかなか
Re:こんな話をしていると (スコア:2)
TimeMachineよく壊れるのよ、sparse fileが。
-- gonta --
"May Macintosh be with you"
Re:こんな話をしていると (スコア:2)
ZFS が最きょ……最凶? [sakura.ad.jp]
Re:ここまで想定外というコメントなし (スコア:2)
Re:ここまで想定外というコメントなし (スコア:2)
Re:ここまで想定外というコメントなし (スコア:1)
Re:安全神話を信じていたのでしょうか? (スコア:1)
まとめサイトやここのコメントを見る限り、バックアップを取りづらい構成のようです。
少なくとも自動でバックアップするのは無理っぽいですね。
Re:rootがオペミスしても顧客のデータは守れる仕組み (スコア:3, 興味深い)
とあるVPSなホスティングサービスでは,VPS内部のデータは1日1回バックアップされて1ヶ月前まで遡れるようになっている上に,一度バックアップされたデータはVPSのrootだろうが,VPSを提供している物理サーバのrootだろうがいじれません.というように,技術的には可能.別にSELinuxは必要ありません.ホットスタンバイ系をバックアップとして使っていたこと,かつ,バックアップ系を同時に書き換えてしまう,という2つのべからずを同時にやってしまったことが本質ではないかなあと思っています.バックアップ系はやはり絶対に書き換えないという原則を守るべき(そうしないと,rootがバックアップを破壊できてしまうので)で,それを達成するためにはホットスタンバイ系とバックアップ系を分離する必要があるという事ではないかと.
Re:rootがオペミスしても顧客のデータは守れる仕組み (スコア:1)
パッチ当てに限って言えば、事前にユーザ領域のHDDをアンマウントする。じゃだめ?
#存在自体がホラー