古いウイルス対策ソフトウェアによるWindowsサーバクラッシュ:Windowsサーバクラッシュの3大原因とその回避策(前編)
Windowsサーバをクラッシュさせる3つの原因について詳しく説明し、それらの回避に必要なベストプラクティスを紹介する。
Windowsサーバのクラッシュにはさまざまなタイプがあるが、大部分のクラッシュの原因は3つに大別される。すなわち「古いウイルス対策ソフトウェア」「互換性のないストレージドライバ」「多過ぎるフィルタドライバ」だ。私はこの10年間に世界中から依頼を受けて1000件近くのクラッシュを分析してきたが、その経験からいえるのは、これらは回避すべき問題だということだ。
以下では、サーバをクラッシュさせるこれら3つの一般的な原因について詳しく説明し、それらの回避に必要なベストプラクティスを紹介する。
古いウイルス対策ソフトウェア
Windowsサーバのクラッシュは、「古いウイルス対策ソフトウェアが原因で発生する」ものが断然多い。ウイルス対策ソフトウェアはいずれも、I/O(読み書き)要求を途中で受信して付加的なチェックを行うデバイスドライバ(より具体的に言えば、“フィルタドライバ”)を使用する。ウイルス対策ドライバは、定義ファイルに含まれる既知のウイルスのパターンと検査対象ファイルを照合する。感染ファイルを検出し、感染が広がらないようにするためだ。
フィルタドライバは、低レベルのカーネル関数とデータ構造を介してOSとやりとりするカーネルモードコードから成る。これらの関数とデータ構造には、あらかじめ定義された一連の引数とデータ型が含まれている。これらは、対応するデバイスドライバからの呼び出し時に、存在すると想定されている引数とデータ型だ。関数に誤ったデータ型や不正な数の引数が渡されると、エラーが発生し、カーネルモードでシステムクラッシュを引き起こす可能性がある。
Copyright © ITmedia, Inc. All Rights Reserved.