システム障害のなかでも原因の特定が難しいものに「panic障害」があります。panic障害とは、ここでは、OSやミドルウェア、アプリケーションがpanicというエラーを出してシステムが停止し、サービスが提供できなくなる現象を指しています。
LinuxなどのUNIX系のOSでは、OSが回復不能なエラーに遭遇したときにカーネルパニックが発生します。カーネルパニックはWindows OSで言うブルースクリーンのような状態です。事前に設定して置かなければ自動的にOSが再起動されることはありませんし、エラー表示も標準出力(コンソール画面)に出力されるだけです。
panic障害への対応がやっかいなのは、なぜパニックが発生するのか再現条件がはっきりしないことです。ログをメモリダンプとして取得し、パニックが発生したタイミングでどんなアプリケーションが動作していたかを確認していくことはできます。また、メモリダンプから問題が発生したプロセスやスレッドを見つけることもできます。しかし、そのようにして時間をかけて調査しても、それがなぜパニックにつながるかははっきりしないことがほとんどです。
ある企業では、Linuxで構築したWebサーバーが突然カーネルパニックを起こし、停止するというpanic障害に悩まされていました。メモリダンプの解析からWebサーバーのメモリがセグメンテーション違反を起こしているところまでは特定したのですが、その先にどういった対策をとればよいかまではわかりませんでした。
そこでこの担当者は、WebサーバーやOSのバージョンアップを施し、Webサーバーを冗長化したうえで、パニックが発生したら自動でOSごと再起動することで凌ぐことにしたそうです。LinuxやWebサーバーをソースコードレベルで見るスキルも時間もありませんでしたし、そもそもハードウェアの組み合わせの問題である可能性もあります。調査に時間をかけるのは時間的にもコスト的にも非効率すぎるという判断でした。
ただ、この担当者は、原因が特定できない障害がビジネスリスクになることも懸念していました。そこで、システムリプレースを機に監視方法を刷新します。まず、ネットワーク監視やサーバー監視といったコンポーネントだけの監視に加えて、アプリケーションやネットワークトラフィックの監視を行うようにしました。また、専門業者の力を借りながら、障害が発生したときに、どんなプロセスやスレッドがどんな影響をもたらしているかを把握できるようにしました。
その結果、障害が発生した場合にもスムーズに対処できるようになり、ビジネスの継続性を保つことができるようになったそうです。
panic障害への対処は、さまざまな領域にわたるスキルやノウハウが必要です。自力で対処しようとすると膨大な時間がかかってしまいます。社外のサービスをうまく使って対応していくのがポイントなのです。
監修:シーティーシー・テクノロジー
シーティーシー・テクノロジーは、伊藤忠テクノソリューションズ(CTC)グループで、ITシステムの保守サポート、運用サービス、教育事業を提供する企業。1972年に創業し、全国に保守拠点を持つ。サポートする機器は契約台数約30万台に及び、年間約6万7,000件の障害対応を行うなど、トラブルシューティングのスペシャリスト集団である。
シーティーシー・テクノロジーのHPはこちら
同社が提供するトラブルシューティングサービス「Avail-ProE」の詳細はこちら
[PR]提供:シーティーシー・テクノロジー