ディスクの故障をイベント・ログで確認する(ハードディスクの壊れかけの兆候に注意する)Tech TIPS

ディスクが故障し、アクセスが失敗すると、エラーの状態がイベント・ログに記録される。ある特定のファイルのアクセスがいつも待たされたり、エラーになったりするようなら、イベント・ログを開き、ディスクにエラーが発生していないかを確認する。エラーが発生している場合は、ディスクの診断を行い、必要ならファイルなどを回収してからディスクを交換する。

» 2007年10月05日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000/Windows XP/Windows Server 2003



解説

 ディスクが故障すると、データが失われたり、システムが起動しなくなったりするなど、その影響は非常に大きい。本TIPSでは、ディスク・エラーの発生を確認する方法についてまとめておく。

●ディスク・エラーの兆候を知る

 ディスクは、コンピュータを構成するパーツの中でも、比較的故障を起こしやすいデバイスである。環境や利用状況にもよるが、何十台もコンピュータがあれば(つまりディスクが何十台もあれば)、年に1台や2台のディスクが故障し、データが読み出せなくなったり、最悪の場合はシステムが起動しなくなったりするなどのトラブルが発生しているのではないだろうか。

 ディスクの故障は予測が困難であり、実際にエラーが発生してから気が付くことが多い。最近のディスクはS.M.A.R.T.機能(Self-Monitoring Analysis and Reporting Technology。ディスクのエラーを予測し、報告する自己テスト機能)を持ち、ディスクのエラーを予測することも不可能ではないが、この機能は一般的にはシステムの起動時(BIOSのPOSTシーケンス時)にしかチェックされないし(ただしWindows OS上から利用できるS.M.A.R.T.ツールもあるし、OSが対応している場合もある。詳細は今後別TIPSで取り上げる)、ディスクの接続方法によっては利用することはできない(例:USB接続時など)。そのため、エラーが発生してから、ディスクの故障に気付くことが多い。

 ディスクにエラーが発生すると、例えばファイルのコピー処理が一時停止したり、アプリケーションでファイルを保存しようとしたときに、スムーズに終了せず、数秒間応答が停止したりする。最悪の場合は、コピーの途中でエラー・メッセージが表示され、中断せざるを得なくなることもある。

 この症状が1回だけなら、ほかのプロセスの影響やネットワークの混雑などが考えられるが、同じ操作を繰り返した場合にやはり同様に再発するようなら、ディスクの故障が考えられる。このような場合は、ディスクにエラーが発生していないかどうかを確認するとよい。

操作方法

●イベント・ログでエラーを確認する

 Windows OSでは、ディスクに回復不可能なエラーが発生した場合、イベント・ログにエラーが記録される。具体的には、次のようなエラーがイベント・ビューアのシステム・ログに記録される。

ディスク・エラーが記録されたイベント・ログの例(その1) ディスク・エラーが記録されたイベント・ログの例(その1)
ディスク・アクセスに回復不可能なエラーが発生した場合、このようなエラーがイベント・ビューアのシステム・ログに記録される。これらのエラーが連続して記録されているようなら、ディスクやディスク周辺回路などに、恒常的で回復不可能な故障が発生していると考えられる。これは、D:ドライブで読み出しエラーが発生した場合の例。
  (1)イベント・ビューアでシステム・ログの内容を確認する。
  (2)「種類」が「エラー」となっているイベントに注目する。
  (3)さらに「ソース」が「disk」や「atapi」など、ディスク(およびその周辺デバイス)になっているイベントを探し、その内容を確認する(ダブルクリックして、詳細な内容を確認する)。
ディスク・エラーが記録されたイベント・ログの例(その2) ディスク・エラーが記録されたイベント・ログの例(その2)
  (4)ログに記録されたディスク・エラーの詳細例。この場合は、D:ドライブのアクセス(コピー)でエラーが発生していた。
  (5)エラーの詳細な内容。「コントローラ エラーを検出しました」のほか、「パリティ エラーを検出しました」「タイムアウト期間内に応答しませんでした」などが表示されることもある。

 Windows OSではディスクのエラーが発生しても、このようにイベント・ログに記録されるだけであり、例えばシステムのビープ音が鳴るなどの機能はない。そのためエラーに気付かないことも多いので、ユーザー自身で注意するしかない。

 特にサーバOSの場合、システムにログオンせずにネットワーク経由で利用することが多いため、デスクトップPCよりも気付きにくい。それでも、ネットワーク経由のアクセス(データの読み書きなど)がいつもより少し待たされるなどの兆候は確認できるので(ただし注意深いユーザーでなければ気付かないかもしれない)、その場合は、サーバのログを確認するなどの措置を取る。またサーバ監視ソフトウェアやイベントのクエリ・ツールなどを使って、diskやatapi関係のエラー・イベントを検出させるのもよいだろう。

 なお、サーバOSの持つソフトウェアRAID機能を使っている場合、エラーが発生してもアクセスを継続できるが(例:RAID1ならば2台のうちの1台が故障しても継続動作できる*1)、やはり特別な警告音などは発生してくれないので(ログには記録される)、管理者は常にシステム・ログに注意を払う必要がある。さもないと、2台目まで壊れてから初めてエラーに気が付くことにもなりかねない。

*1 Windows OSのソフトウェアRAIDの場合、エラーのあったディスクに対して何度か再試行してから、別の正常なディスクへアクセスすることがある(最初にアクセスしたディスクがエラーを起こしていた場合)。そのため(見かけ上)アクセスが非常に待たされ、遅くなる。エラー時にすぐにディスクを無効化して切り離せば、この無駄な再試行がなくなるはずだが、そうはなっていないようだ。

 その点専用ハードウェアRAIDシステムならば、エラー時は速やかにディスクの無効化、切り替えが行われるので、再試行で待たされることはない。また専用RAIDシステムでは、ディスク・エラーが発生するとボード上のブザーを鳴らす機能を持っているものがあるので、エラーの発生が分かりやすくなっている(安価なRAIDボードではこの機能は持っていないものもある)。信頼性や保守/運用性を求めるなら、このようなシステムの導入を検討するとよい。


●詳細なエラーの確認とテスト

 以上のようなイベントがシステム・ログに記録されていれば、ディスク(もしくはディスク周辺回路)に故障が発生していると考えられる。ただし一時的なものかもしれないので、しばらく待ってからもう1度アクセスしてみるとか、システムを再起動してから、もう1度確認するなどの措置を行うべきだろう。またディスク本体の故障ではなく、例えばケーブル(もしくはディスクI/O周りのチップセットなど)が劣化、故障したことも考えられる。ケーブルの交換や、ケーブルの装着方法の再確認なども行っておくとよいだろう(実際手元の古いシステムでは、ケーブルの取り替えでエラーが解消したケースもあった)。

 エラーの発生が確認できた場合は、さらにディスクの詳細なテスト(診断)を行うとよい。ディスクを診断するにはいくつかの方法があるが、例えばシステムによってはBIOSメニューにディスクの診断機能が用意されていることがあるので、それを利用する。そのような機能がない場合は、ディスク・ベンダが提供している診断ツールを利用するとよいだろう。例えばHGST社製ディスクの場合は「Drive Fitness Test」ツール、Seagate社製の場合は「SeaTools」ツールが利用できる。そのほかのベンダや、診断ツールの使い方などに関しては、以下の記事などを参照していただきたい。

●エラーが見つかった場合の処理

 ディスク診断ツールなどを利用して、ディスク自体にエラーが発生していることが確認できたら、そのディスクの使用を中止して、新しいディスクに交換する。経験的にいえば、ディスク自体にエラーが発生した場合、エラーの領域が短期間(数日とか数週間)の間に拡大して、データが読み書きできなくなったり、システムやアプリケーションが正常に利用できなくなったりする。その前に、必要ならば右上の関連記事にある方法などを使って、必要なデータを回収するとよい。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。