treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

システム管理者が一番憂鬱な悪天候は?



なんでしょうか?
大雨、大雪、暴風、雹・霰…

いろいろありますが、
正解は、

です。

雷の影響は恐ろしいです。
他の悪天候は建物というファシリティで概ね守られますが、雷は絶対大丈夫というファシリティはデータセンターぐらいの設備でなければなかなか出会えません。

7月24日、すごい雷でした。
SOHO/小規模企業オフィスにおけるサーバ専用電源や高価なUPSは、コストやAの都合で設置が困難なので、雷は戦々恐々としてしまいます。

そんな近い雷が光っては鳴り響く14:00の時間帯で…一本の電話が。
開口一番
「ファイルサーバが応答なくなりました。」
との報告です。いや障害対処依頼というべきでしょうか。
雷が光って轟音を繰り返していたところで突然のサーバ接続不能の障害、タイミングが良すぎる、きっと雷のせいだ、というある種その場に居たからわかる確信に近いものがあるそうです。

ping監視では応答しているので、ヤブヘビな連絡でしたがssh接続しようとすると応答なし、CIFSも応答なし…。
「こりゃOSのハングですかね?」
そういうと直接コンソールからの動作を確認してもらうよう促しました。

コンソールの前でまず確認をお願いします。
「画面がNo signalとなっています。」
電源の確認をお願いします。「電源はONですね。HDDのアクセスランプは消灯して点滅すらしません。」
的確に確認していただいてありがとうございます。

モニタから本体への接続はこんな風になっています。
<本体>-------<コンソール切替器>-------<モニタ・キーボード・マウス>
モニタにNo signalとなっているので、本体から出力が出ていないかコンソール切替器が故障しているか、のいずれかということになります。
切り分けのためにコンソール切替器に接続されているVGAケーブルを本体に直接接続してもらいます。
「画面がNo signalのまま変わりませんね。」どうやらコンソール切替器は関係ないようです。
なるほど。この時点でできることはなくなりました。電源ボタンを押下しシャットダウンするしかないようです。

シャットダウンから再起動してもらいました。

起動しました。こちらからssh接続を試みます。
はやる現地ユーザが共有フォルダにアクセスしたようです。ssh接続前に「フォルダ見えました!」と電話の向こうから誰か別の方の声が聞こえてきました。
当然何事もなかったかのようにssh接続も成功しました。
さっそくログを確認しましたが、エラーやwarningなどはみつかりませんでした。
ひとまず経過観察となり、本件はいったんクローズします…


…のつもりでしたが、2時間後再度サーバ応答なしと連絡が入りました。
「たぶんメモリですよ。」
電話の向こうでのディスプレイ出力ではメモリ破損と思われるメッセージが表示されているそうです。
サーバは古いPCの転用なのでメモリ規格はDDR400の2枚組2GB、いまでは選べるほどの入手性はないシロモノですので、こういうこともあろうかと予備を用意していました。(持っててよかった予備部品)
覚悟を決めて交換用メモリを携えて急ぎ現地に向かいました。

現地でさっそくコンソールを確認すると、
----------------------------------------------
Debian 8のコンソールメッセージ
----------------------------------------------
Kernel Panic - not syncing: Fatal exception in interrupt
Kernel Offset: 0x0 from 0xc1000000 (relocation range: 0xc0000000-0xf7dfdfff)
drm_kms_helper: panic occurred, switching back to text console
---[ end Kernel panic - not syncing: Fatal exception in interrupt
----------------------------------------------
というメッセージで停止していました。(他にもたくさんメッセージは出ていましたが、関係しそうなのはここです。)
さっそく現地の方から、
「Kernel Offset: 0x0 from ~の行、これってメモリのアドレスですよね?」
と、同意を求められます。
確かに…。interruptが割り込みでFatalが致命的、Fatal exceptionで致命的な例外だから、、、Windowsでもよくハンドルできない例外、とかメッセージが出てきて解消しようがないエラーになることがあるけど、その辺のエラーと似ているんでしょうね。(確信はないが、たぶん…。)
割り込みで致命的な例外のあとに「range: 0xc0000000-0xf7dfdfff」とアドレスの範囲が記録されているので、現地の方の読み通りメモリの問題と判断してよさそうです。

対処を以下のように決定しました。
手順1)メモリを元気な予備部品と交換
手順2)サーバ起動確認、経過観察
手順3)回収したメモリを検査しエラーがあればメモリが原因と断定

手順1実施。静電気に気を付けて問題なく完了、いちおうコンセントから外して電源ボタンを長押し(10秒くらいだった記憶がありますがあいまい)
手順2実施。起動しエラーがないことを確認、syslogやmessage、dmesgでもエラーや警告メッセージはなし。
経過観察、ということで引き揚げます。
戻って、手順3実施。Memtest86+でエラーチェックしてみました。
テスト進捗率19%でErrorsがで27000超過…。
テスト進捗率74%でErrorsの数値が553728エラーとなっています。
(正常値はもちろんError=0です。)
こんなに振り切ったMemtest86+のエラー数値を初めて見ました。
改めて、2枚一組なので1枚づつMemtest86+でエラーチェックしてみました。
2枚のうち1枚は進捗率10%程度でErrors5500超過となりました。もう一枚はNoErrorで2周パスしました。
ひとまず、1枚は無事のようです。(だからと言って気軽に使えるものでもないのですが)

と、このように雷で、障害は発生します。

雨も雪も風も直接室内に入り込んでくるのは”かなりのレアケース”と言えます(風はちょっと怖いかな)が、雷は電気である以上は人間が室内に引き込んでいる電気経路からインフラを破壊する可能性がある悪天候です。

ウチのテーブルタップ、「雷サージ」って書いてあったから大丈夫、
と思ったそこの貴方。
実は私もそう思っていたのですが違っていました。

その理由は翌日にします。

翌日⇒雷被害に遭って分かったこと。 - treedown’s Report