web-dev-qa-db-ja.com

2008R2でのRAID障害のイベントログ

rAIDに問題がある場合、2008 R2のイベントログにエラー/クリティカルエントリを記録するための解決策はありますか?これが発生したときにメールアラートを設定したいのですが。ハードウェアRAIDではなく、MS組み込みソフトウェアRAIDを使用しています。

スレッドがあります ここ 物乞いの信念..MSの担当者は述べています

「劣化したアレイにユーザーが気付くことは、大きな改善にはなりません」

だから彼らはそれをサポートするつもりはないようです。誰かがこれに対する解決策を持っていますか?

3
benpage

これは確かに非常に驚くべきことです。機能を悪化させるのはMicrosoftに任せてください。いくつかの点で、これは驚きではありません。

diskpartユーティリティを使用してRAIDのステータスを「監視」できると思います。コマンドの例については、 http://www.techotopia.com/index.php/Creating_and_Managing_Windows_Server_2008_Mirrored_%28RAID_1%29_Volumes を参照してください。

残念ながら、2008年のソフトウェアRAIDはありませんが、list volumeの出力が、ドライブがオフラインまたはオフラインになったことを示していると想像できます。障害のある状態。 list volumeの出力例は次のようになります

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     E   DATA         NTFS   Simple       931 GB  Healthy
Volume 1     D                       DVD-ROM         0 B  No Media
Volume 2         System Rese  NTFS   Partition    100 MB  Healthy    System
Volume 3     C   BOOT         NTFS   Partition    138 GB  Healthy    Boot
Volume 4     F   FreeAgent G  NTFS   Partition   1863 GB  Healthy

コンテンツを含むテキストファイルを作成するだけです

list volume

そしてそれを次のように実行します

diskpart /s file.txt

次に、出力をファイルにパイプしてスクリプトで解析し、電子メールまたはイベントログエントリを生成できます。このスクリプトはX分ごとに実行する必要があります。タスクスケジューラを使用します。

EventSentry (無料バージョンが利用可能)とそのアプリケーションスケジューラを使用してこのスクリプトを実行し、イベント/電子メールを生成できますが、diskpartからの出力を解析して、問題があるかどうかを判断する必要があります。そうではありません。

編集:Windowsで失敗したRAIDのステータスは、「正常」ではなく「失敗したRd」です。そのため、「FailedRd」の検索は機能するはずです。例:

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     C   BOOT         NTFS   Mirror       931 GB  Failed Rd  Boot

私は将来、より良い答えを考え出し、ブログエントリを書くためにこれを実験するつもりですが、マイクロソフトがこれにボールを落としたとは思いもしませんでした。

2
Lucky Luke

システム障害時にイベントをログに記録する簡単なバッチスクリプトを次に示します。

echo list volume | diskpart > c:\RAID_STATUS.TXT
FINDSTR "Failed" C:\RAID_STATUS.TXT
IF ERRORLEVEL 1 GOTO OK
GOTO FAILED

:FAILED
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
FINDSTR "Failed" C:\RAID_STATUS.TXT > C:\FAILED_RAID.TXT
set eventtext=
for /f "delims=" %%l in (C:\FAILED_RAID.TXT) do set eventtext=!eventtext! %%l
eventcreate /ID 999 /L SYSTEM /T ERROR  /SO SW_RAID /D "%eventtext%"
GOTO OK

:OK
1
user206025

MSソフトウェアのRAIDアレイシステムをセットアップしていませんが、可用性を問い合わせることはできませんか? Win32_logicaldisk には、可用性プロパティとステータスプロパティがあります。私のシステムでは空白ですが、レイドセットでは、それらの少なくとも1つにテーブルにリストされている状態値が入力されることを期待しています。

0
Jim B