全日空システム障害の原因は?評論家は相変わらず何もわかってない!
※ANAの記者会見にて原因が発表されました。原因について追記してます。
全日空のシステムトラブルで連休開けの空港はまさに混乱状態だったみたいですね。
全日空では、22日午前8時20分ごろからシステムトラブルのため、羽田や大阪、それに福岡など各地の空港で、国内線の搭乗手続きができなくなりました。
このため一部の便が欠航したり、出発便に遅れが出たりしていましたが、復旧作業を進めた結果、全日空によりますと午前11時半すぎにシステムが復旧し、順次、搭乗手続きを再開しているということです。全日空は「ご迷惑をおかけし申し訳ない」と話しています。
全日空では先月24日にも同じシステムがダウンし、全国の空港で30分間、搭乗手続きができなくなるトラブルが起きています。全日空によりますと、システムトラブルのため、午後1時40分現在、羽田を発着する便など合わせて116便が欠航し、およそ1万5000人に影響が出ているということです。
引用:http://www3.nhk.or.jp/news/html/20160322/k10010451631000.html
サーバー4台が同時に止まったということですから、アプリケーションというよりは基盤レイヤーの不具合かもしくは人的作業ミスで、閉塞(サービスを受け付けない)してしまったのでしょう。
報道では「サーバー4台を制御する機械に不具合があった」と言っていますから、SLB(負荷分散装置、ロードバランサー)でもいじってたんじゃないでしょうか。詳細な原因はまだ発表されていませんから、わかりませんがおそらくそんなところだと思います。
追記:
その後の報道で、どうもDB(データベース)サーバ間のコネクト障害っぽいです。サーバ4台ってDBサーバのことなんですかね。WEBサーバじゃなかったのか・・・
⇒その後、3月30日に記者会見があり、「サーバーをつなぐ機械の故障」ということが正式に発表されました。
それにしても”機械”ってなんでしょうね?いまどき機械なんて言い方することに驚きですよ。何の機器かぐらいいったほうがいいと思いますけどね。どちらにせよ、機器故障で冗長化してないとか・・・信じられないですけどね。冗長化してたけど、副系に倒れなかったとかいう話でしょうか。
まあ今頃、「サーバーから直接、故障を検知できるよう改善を行う」とか発表している時点でおそまつすぎですけどね。
こういうとき私のようなシステム屋は「ああ、こりゃ現場は大変だろうな」とか思ってしまうのは職業病でしょうね(笑。今頃お祭り騒ぎですよ。システムエンジニアは3日間くらい徹夜で復旧作業でしょうね。ほんと大変なんですよ、復旧したあとも色々とね・・・
実際、その影響よりも裏側のことが気になってしまいます。こういうとき不謹慎かもしれませんが、現場は結構盛り上がっているんですよ。システムエンジニアあるあるなんですが、大障害ほど盛り上がるイベントはありません。(影響が出た方はほんとに大変だと思いますが)
現場の状況は”お祭り騒ぎ”という言葉が一番合ってると思います。コントロールセンターにはたくさんの人が集まっていますし、社内の有識者はほぼ総動員です。こんなにタレントが揃うことはないですよ(笑。そこかしこで大小の会議が行われているし、ホワイトボードには障害の経過が書きこまれ、原因や復旧策についてみんなであーだこーだ言っています。
いつもは静かなオフィスですが、障害のときは異様な盛り上がりを見せるのです。障害を経験するとシステムエンジニアは本当に何段階も成長します。それくらい色んなことが現場で起きています。みんなで一つの目標に向かって、がんばってるわけですからそりゃあ盛り上がりますよね。(後始末はもっと大変なんですけどね・・・)
とまあ、システムエンジニアあるあるを紹介したところで、今回の本題です。
システムは止まる
相変わらずこれを知らないコメンテーターや評論家がワイドショーなどで勝手なこと言ってますね。
「情報化社会の弊害だ!」
「バックアップとかちゃんとしろ!」
「これだけのシステムトラブルは絶対にあってはならない。」
「なぜ繰り返しトラブルを起こすのか!」
とかとか・・・
まあ言いたいことはわかります。本当にシステムを触っていない人は”動いて当然”と思ってますからね。
でもね、システムは止まるんですよ。人が作ったものである以上ね。
あまりシステムに詳しくない人向けに解説しますが、バックアップとか評論家やマスコミの思っている以上にちゃんと考えられていますよ。それこそ最先端の技術でね。
今回は処理するサーバー4台がすべて止まったということですが、4台というのは負荷分散のために、4台用意されています。1台壊れてもサービスが継続できるようにこのような構成にしているんですね。
じゃあそれがすべて止まるってどういうこと?と思うかもしれません。サーバーの中に載っているアプリケーションの不具合ではないでしょうね。アプリケーションが原因だったらこんな止まり方はしません。
では何かしらの機器が壊れたのか?これも違うと思います。機器故障には本当に何重もの冗長構成(簡単に言うとバックアップがたくさんある)を取っているので、故障で止まるというのは最近のシステムではほぼありません。ブレード自体が壊れた可能性もありますが、さすがに冗長構成を取っているでしょう。
それでは一体何が原因でシステムは止まるのでしょうか?
システムベンダーの人的ミスか!?
おそらく、サーバー4台がすべて止まったというレベルの障害ですから、人的作業ミスが原因だと思います。
ハードやソフトはこの手の障害の対策はやりすぎなくらい考えられていますから、サービス停止というのは人的作業くらいしか考えられません。「4台のサーバーを制御する機械に不具合があった」と報道されていますからSLB(負荷分散装置、ロードバランサー)でもいじってたんじゃないですかね。
やっぱり最後は人の手なんですよ。システムを動かすのも止めるのもね。
いくら機械やアプリケーションに対策が施されていても、その使い方や手順を誤れば意味はないということです。さらにどうしてもメンテナンスのために保守作業は定期的に行わなければいけませんから、常にそういった危険はあるわけです。ただ当然、システムを触る作業は手順があり、何重にもレビューされているはずなので、そうそうミスることはないのですが、それでも起きることはあります。
人間がやる以上、どうしてもミスは発生してしまいます。そういったミスが運悪く重なると今回のような大規模障害になってしまうわけです。
開き直るわけではないんですが、システムは止まるんです。
当然、そういったことがないように日々進化していかなければならないのですが、現在の技術水準だとまだまだ人の手による作業が必要なので、こういった障害は一定数起きてしまいます。
この辺の現状を理解しないで、ただただ「けしからん」と言っているマスコミのコメンテーターたち知識のなさを知ってほしいと思います。まあコメンテーターなんてとりあえず批判してりゃあいい人種ですからしょうがないんですけど、こういうときにほんとイラッとしますよね。好き放題いいますしね。知識ないくせに。
復旧しても終わらないシステム障害
さてこの後、全日空のシステムベンダーは大変だと思いますが、がんばってほしいですね。障害は復旧しても、そのあと後始末がたくさんあるんですよ・・・
基盤レイヤーでシステムが復旧したら、その後はアプリケーションチームの登場です。システム障害によって、データの状態はどうなったか、既存のデータは大丈夫か、業務継続に支障はないか等々、確認することが山ほどあります。
まあ2~3日は徹夜でしょうね。不思議とつらくないんですけどね、その理由はさきほどいったお祭り状態が続くからです。クライマーズハイならぬシステムエンジニアハイとでも言いましょうか、テンションはみんな高いです。
その後、障害の是正策の検討とかお詫び行脚が続くんですけどね・・・
システム障害は起こしちゃいけないんですが、起こるということを理解してもらって、ただ責めるだけではなく、動いている状態を当たり前と思わないでいただけるとシステム屋としては幸いです。まあそれにしても今回の件は業務影響が大きすぎますね。これは反省すべきでしょう。
最後まで読んでいただきありがとうございます!この記事が気に入ったらぜひシェアしていただけるとうれしいです。