hylomの日記: 緊急事態発生 11
日記 by
hylom
お気付きの方もいらっしゃるかとは思いますが、昨日の夕方、/.Jが数時間に渡って止まっていました。まず、/.J読者の方にご迷惑をおかけして申し訳ありませんでした。お詫びを申し上げます。
で、何が起こっていたのかというと、どうやら下記のような感じだった模様です。
- /.Jのメインサーバーでプロセスが1個暴走、killも効かない
- →しょうがないので頃合いを見計らってリブートを試みる
- →リブートされない、しかもサーバー本体はデータセンター内なので様子も分からない、コンソールにも繋がらない
- →しょうがないので運営チームデータセンターへ直行
- →現地で直接コンソール叩いて復旧
以下、運営担当HANZUBON氏によるレポート。
- 11月25日の朝からcutコマンドのプロセスがCPUを食いつづけたまま延々と動き続けている。しかし特に何かを出力するわけでもなく、メモリを食うわけでもなく、ただ実際の負荷が上がってる状態
- このcut自体は/etc/init.d/slashdから呼ばれている模様。具体的には「cat /usr/share/slash/slash.sites | cut -d # -f 1」という感じだが、slash.sites は2行しかないテキストファイル。確認した時点でこのpipeの元のcatプロセスはすでにいない
- killであらゆるsignal送ってみたが反応せず
- このcutプロセスにstraceとかgdbを挿してみたが、プロセスにささる状況までいかずにstraceもgdbもハングアップする。/proc経由で該当プロセスを弄ろうとしてもダメ
- このプロセスがCPUリソースを消費しているためこのマシン上で動かしているNFSサーバーが不安定に。
という感じで、KILL signal にも反応しないことからカーネル内で問題が発生しているのではと推測され、普通の手段ではどうにもならないのでリモートからrebootを行う(15:31)。しかしその後反応なし。状態を確認しようと管理コンソールにつなごうとしたがつながらず、リモートでの復旧をあきらめてデータセンターに向かうことに(16:40)。
18:10頃、データセンターに入館して作業開始。shutdownの途中でマシンが止まっていたので電源断して強制停止→再起動。fsckが走って、10分程度後に再起動。その後動作確認、ロードバランサの設定などを行って復旧(18:36)。
ちなみに、なぜこのような問題が起きたかはいまのところ不明。カーネル内で何か起きたようなので、カーネルのバグではないか?
リブートにかかる数分だけ停止する予定だったので特にメンテナンスの案内等も出さなかったのですが、結果として長時間の停止となってしまい申し訳ありませんでした……。
お疲れ様でした (スコア:1)
と、ねぎらいの一言をかけるくらいしかできない一利用者ではありますが、心中お察しいたします。
昨日「メンテナンス中です」の画面が出て「ありゃ? そんなアナウンスあったかな? なかったとすりゃトラブルか?」とは思っていましたが。
KyaTanaka
Re:お疲れ様でした (スコア:1)
昔はこれぐらいの停止当たり前(?)だったのにね(ぉぃぉぃ
# そもそもLB経由でメンテ画面出せるようになったのもつい数年前
Copyright (c) 2001-2012 Parsley, All rights reserved.
お疲れ様でした (スコア:1)
で、その kernel ごと暴走したと思われるマシンの kernel dump は取得されましたか?
さ、みんなで デバッグ祭りだ (^o^)/
fjの教祖様
メモリのソフトエラー (Re: お疲れ様でした) (スコア:2)
# 原因が何にせよWDTとかで自動で再起動(、予備系への代替又は死亡フラグ掲揚)ができないのか? だとしたら∗n∗x系OS(当然Win∗は論外)の家電や軽鯛等への安易な搭載は危険ですね。ましてフェイルセーフが難しい医療や運輸交通やエネルギーや宇宙等への適用は(現時点では)止めですな。
Re:メモリのソフトエラー (Re: お疲れ様でした) (スコア:1)
> WDTとかで自動で再起動(、予備系への代替又は死亡フラグ掲揚)ができないのか?
そー言う展示を今年のITproEXPOで山ほど見てきました。プロセスが死んでるか生きてるか監視して、死んでるのを確認したらプロセス単位で予備系に切り替えるとか、そのプロセスが走ってる仮想サーバを予備系に切り替えるとか、その切戻しとか。
医療用機器のように瞬断がむちゃくちゃクリティカルな現場では採用されてるかどうかわかりませんが、家電のように瞬断程度なら問題ないとこならそれでいいのかも。
KyaTanaka
Re:メモリのソフトエラー (Re: お疲れ様でした) (スコア:1)
カーネルダンプが取れなければ、ハードウェア障害の可能性を疑えばよい。
カーネルダンプが取れる程度の障害なら、ダンプを解析すれば大抵ソフトのバグが見つかる。
もちろん、その中間の「デバイスドライバーの暴走」とかも実際にはありえるが、そのような状態でプロセスが生きているとは思えない。login していろいろ操作できたのだから、スケジューラ周りは生きていたはずだ。
というわけで、十中五六、ダンプは取得可能だったでしょうし、取得したら見つかるのはソフトウェア障害だと思いますよ。
「どうせリブートするのであれば」ダンプを取ろうとしてみる、というのがよいかと。
fjの教祖様
お疲れさまでした。 (スコア:0)
私たちの場合は、ハードにすぐアクセスできるので、電源を入れ直すだけでOKですが、
データセンターに到着までの道中の様子を想像し心中察しいたします。
本当に、本当に、お疲れさまでした。
ACで失礼!
おつかれさまでした。 (スコア:1)
が、そういう機会は早々起こらないし機材は高価だし手が出ませんが…。
なにはともあれ、おつかれさまでした。
おつかれさまでした (スコア:2)
"/login.plへのPOSTは許可されていません"なんてメッセージが出てびっくりしました。何はともあれ、お疲れ様です。
で、
吊るし上げ断罪ヤジウマ記録のためにストーリを一本立てては頂けないでしょうか? アレたまと右サイドバーだけの「緊急事態発生」の表示だけでは、何があったのか分からない人も居そうですし。Re: (スコア:0, オフトピック)
実はストーリーをたてようとしたのですが、ここだけの話(汗)、広告が出ている関係上サイトが長時間止まったことが話題になると問題になる可能性があるとのことで止められました……。
ということでここでひっそりと告知という次第に。
おつかれさまです (スコア:1)
おつかれさまです。
どうもありがとうございました。
SlashPlus [twitter.com] タレコみをつぶやき中