ハードディスクは監視しておこう

故障はある日突然に・・・

 
レモちゃん
た、た、大変よ〜〜!!
 
かなえ
どうしたの?レモちゃん。
そんなに慌てて・・・。
 
 
レモちゃん
ハードディスクが壊れちゃった!!
1テラバイト以上データが保存されてたのにぃ・・・!?
 
かなえ
ええっ!?けれど、バックアップはしていたのでしょう?
 
レモちゃん
ううん。あんまり・・・。
 
 
かなえ
え・・・・・・!?

実は、私ども「ちでソフト」内で実際に発生した出来事なんです。
業務用に使用していた内蔵ハードディスクを一つ、見事にクラッシュさせてしまいました・・・。

まさか当面は故障はしないだろうと、また(過去の経験から)故障したとしても、一部のデータの破損が生じるものの、大半のデータを退避させる時間くらいは存分に取れるだろうと、たかをくくっていました。
しかし、今回は異常に気づいてから、あっという間に全データにアクセスできなくなってしまいました。
「カチカチ」と異音がする症状から、磁気ヘッドの故障が考えられるのですが、OSからは全く認識がされない状態です。

 
レモちゃん

え〜ん。何年分ものデータを保存していたのに〜〜。
 
かなえ
う〜ん、これはけっこう痛いわねぇ。不必要になったデータも含まれているでしょうけれど、ショックよねぇ。


はい・・・。もちろん、本当に重要なデータは2重3重とバックアップしておりましたが、貯めていたフリー素材や、過去の大小の開発資産などが消え失せてしまいました。けっこう痛いです。。

ハードディスクはいつか必ず壊れる――― 変化変化で不確実だらけの時代にあって、これは確かな事実だと頭の中ではわかっていたつもりでしたが、どこか他人事だったのでしょうね。

イベントビューアーを確認してみる

 
かなえ
最近PCを使用していて、何か心当たりはなかったのかしら?
いつも以上に異音がするとか、アクセスが遅くなったとか・・・。
 
レモちゃん
うん、実はおとといパソコンが起動しなくなる事態が1回だけ起こったの。電源を入れ直したらWindowsは起動したんだけど、一部のアプリが動作しなかったりしたわ。でも再起動したら治ったように見えたから、そのまま使っていたんだけど・・・。
 
かなえ
それ以前にははっきりと体感できる症状はなかったのね?
じゃあ、「イベントビューアー」を確認してみましょうか。
 
レモちゃん
うん。
 
かなえ
ああっ、やっぱり!!
2日ほど前から大量のディスクエラーの警告が記録されているわね。
 
レモちゃん
ええっ!?
 
かなえ
「ページング操作中にデバイス \Device\Harddisk1\DR1 上でエラーが検出されました。」とのことだけど、どのディスクなのかは「ディスクの管理」の画面で照会できそうね。
 
レモちゃん
Harddisk1、つまりディスク1ということね。うん、まさに壊れた内蔵ハードディスクよ!

Windowsに搭載されている「イベントビューアー」の「システム」を確認しますと、故障がハッキリとわかる少し以前の日時から「警告 ソース:disk/イベント ID:51」がたくさん記録されていました。

この警告に気づいていれば、もっと適切な手が打てたのではないかと悔やむばかりです。
しかし、Windowsの標準設定では、記録はされるものの、特別なメッセージウィンドウが表示されたりするわけではないんですよね。

障害を通知するタスクを設定してみよう

 
かなえ
じゃあ再発防止として、警告のメッセージボックスを自作してみましょうか。
クヨクヨしているくらいなら、何か行動をしたほうが心は健全になるでしょう?
 
レモちゃん

ウン、そうだけど。でもどうやるの・・・?
 
かなえ
簡単よ。イベントビューアーに特定のIDが記録されたら、実行ファイルが自動的に作動するようにタスクを組み込むといいのよ。
 
レモちゃんのスライドランド

PR

実行ファイルの作成方法

 
レモちゃん
実行ファイルかぁ。どんなのがいいかな?
 
かなえ
そうね。メールが送信されるとかのがいいけれど、今回はメッセージボックスが表示されるだけの簡易的なものにしておきましょうか。

タスクに指定する「実行ファイル」の内容につきましては、各自要件が異なるかと存じます。
ここではメッセージボックスを表示させる程度の、簡易的な実行ファイル(VBスクリプト)の作成方法をご紹介します。

1.[スタート]ボタンをクリックして、[すべてのアプリ]から[メモ帳]を起動します。

2.[メモ帳]が起動したら、以下の内容を記述します(日本語の文字の部分は任意に書き換えてOKです)。

MsgBox "ハードディスクに障害が発生",vbExclamation

3. [ファイル]→[名前を付けて保存]をクリック。

4.[ファイルの種類]プルダウンから[すべてのファイル(*.*)]を選択してから、任意でファイル名を付けてください。なお、ファイル名の末尾には[.vbs]と入力して拡張子を明示的に指定してください。
例)mesdiskerror.vbs

5. [エンコード]プルダウンから[ANSI]を選択してから、保存先を指定して[保存]をクリック。

※ANSIを選択しないと、文字化けする可能性があります。

6. 保存した上記のファイルをダブルクリックして、メッセージボックスが表示されることを確認してください。

以上

 
レモちゃん
ネットで検索すれば、もっと機能が豊富な実行ファイルの作成方法が紹介されているわよ。ぜひチャレンジしてみてね。
 
かなえ
次は、この実行ファイルを特定の条件が満たされたら自動的に実行されるように設定するわよ。
 
PR

タスクの設定方法

1.[スタート]ボタンを右クリックして、メニューの中から[コンピューターの管理]をクリック。

2. 左ペインにある[タスク スケジューラ]をクリック。

3.右ペインにある[基本タスクの作成]をクリック。

4.[基本タスクの作成ウィザード]が起動します。
[名前]と[説明]欄に、任意で内容を入力してください。
例)ディスク障害通知
入力を終えたら[次へ]をクリック。

5. [特定イベントのログへの記録時]を選択して[次へ]をクリック。

6. [ログ]のプルダウンから[システム]を選択、
[ソース]のプルダウンから[disk]を選択、
[イベントID]欄に半角数字で[51]と入力して[次へ]をクリック。

7.[プログラムの開始]を選択して[次へ]をクリック。

 
かなえ
「プログラムの開始」の他に選択肢として「電子メールの送信(非推奨)」「メッセージの表示(非推奨)」が存在しますが、最近のWindowsでは非推奨どころか設定することができなくなっています。

8.[参照]をクリックして[プログラム/スクリプト]欄に用意した「実行ファイル」を指定して、[次へ]をクリック。

9. 内容を確認して[完了]をクリック。

以上

 
かなえ
タスクのテストを行ってみたい場合は、他の条件などを指定してみて、実行ファイルが動作するか確認してみてください。
 
レモちゃん
ログを[システム]、ソースを[Winlogon]、イベント IDを[7001]に指定してみると、ログオン時に動作するわよ。
 
かなえ
テストで作成したタスクは忘れずに削除してね。[タスクスケジューラ]直下にリストが表示されているはずよ。
 

設定を終えて

 
かなえ
設定はできたようだけど、いろいろ課題はありそうね。
 
レモちゃん

うん。だってOSのシステムが入っているディスクが故障したら、タスクはきちんと動いてくれるのかしら?
 
かなえ
そうね。あくまでも保険という意味合いのほうが強いかもね。

かなえちゃんの言う通り、以上の設定につきましては完全に事故を防げる対応とはいえず、ちょっとした保険と受け止めていただいた方がよいかもしれません。
イベントビューアーがディスク障害を検知する頃には、かなり破損が進んでいるケースが多いかと思います。
しかしながら、今回私どもに起きたケースでは、検知し始めた頃はまだ(故障した)内蔵ハードディスクは稼働できていたので、この設定さえしておけば、データ退避も完全とはいかないまでも、それなりに対応は出来たかとは思われます。
なので、やっておいて損はないかと。

なお、条件に指定した「ソース:disk/イベント ID:51」の持つ意味につきましては、Microsoftの公式サイトなどを確認していただき、各自がご判断して頂きたいかと存じます(必ずしも物理的な故障に限って検知するわけではない印象ですが・・・)。
より設定に適した別のIDが存在するかもしれませんし、また(言うまでもなく)現実的には他の監視システムと組み合わせて運用したほうがより安全かとは存じます。

 
レモちゃん
USBの外付けハードディスクを取り外した際にも、イベントID:51が記録されることがあるよね。
 
かなえ
ええ。その場合デバイスには目立った異常が見られることなく、普通に使えるようだけど、厳密にはどうなのでしょうね・・・?

まったくの余談ですが、あまり記憶は定かではないのですが、確かWindowsServer関連の古いMicrosoftの公式解説本だったかに、このイベントビューアーに記録される「disk」について記載がありまして、それを目にしたときに「これは特別に監視していたほうが絶対にいいな」と思った経験があります。結局実行には移さなかったのが悔やまれますが、今回こうして記事として公開することで、失敗を皆様のお役に活かせるようになれればいいな、と前向きに事態を捉え直してみました。

 
かなえ
(とは言いつつも)当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

そして・・・

 
レモちゃん
ねぇねぇ、かなえちゃん。あれからSSDを購入したので、簡易的なバックアップツールの自作に挑戦しているのよ!
 
かなえ
それはとってもいいことね。故障したハードディスクも浮かばれるでしょうね。
 
レモちゃん
うん。学習を兼ねてPythonを試してみたの。OSを取り扱うライブラリが充実していて、作りやすいのよ。
 
かなえ
そうね。それくらいのデスクトップアプリなら必ずしもPythonにこだわる必要はないはずだけど、勉強するならいい題材かもしれないわね。がんばって!

レモちゃんが作っているバックアップツールにつきまして、いつか紹介できることをご期待下さい!

最新情報をチェックしよう!

ニュースの最新記事4件

>レモちゃんのスライドランド

レモちゃんのスライドランド

ちでソフトがリリースしたスマホ用アクション&パズルゲームです。
AppStore,GooglePlayにて無料でダウンロードできます。
ぜひ、遊んでみてくださいね!

CTR IMG