Windowsでミラーディスクの状態をどのように監視しますか?


12

Windows 2003 Serverにミラー化されたダイナミックディスクがあります。ボリュームの状態をどのように監視しますか?

ボリュームに問題があるときにサーバーにメールを送信させる方法はありますか?サーバーでSMARTテストを実行する方法はありますか?

編集: WTFがクライアントサーバーにログインし、DISKPART LIST VOLUMEを実行してこれを確認することはありません。

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     X   xDrive       NTFS   Mirror       233 GB  Failed Rd
Volume 1     C                NTFS   Simple        57 GB  Healthy    System
Volume 2     D                       DVD-ROM         0 B  Healthy
Volume 3     F                RAW    Partition    466 GB  Healthy
Volume 4     E   New Volume   NTFS   Partition    932 GB  Healthy

ここでソフトウェアミラーについて話していますか?もしそうなら、素晴らしい質問。
Chris_K

@Chris_k正しい。前回ディスクが故障したとき、偶然見つけただけです。完全に受け入れられないエンタープライズシステム上。バックアップシステムがあります。しかし、それはミラーをする意味ではありません。
NitroxDM

そのような情報があれば、今はそのスクリプトをテストする良い機会だと思います。勝利のためのWindows!
NitroxDM

ここにリストされている答えの両方を使用してソリューションに取り組んでいます。
NitroxDM

回答:


5

少し前に同じ質問がありました。最初に考えたのはWMIの使用でしたが、何らかの奇妙な理由で、WMIは通常のWin32_ *クラスのいずれかを介してRAIDボリュームの正常性を公開しません。

最終的にこの記事のスクリプトを偶然見つけて自分の要件に合わせていくつかの変更を加えました。diskpart.exeの「LIST VOLUME」コマンドの出力を解析します。これは少し汚くていように見えるかもしれませんが、今のところ私が見た中で最良の選択肢です。

リンクされたページに表示されるスクリプトは、Nagios / NSClient ++で使用する準備ができています。少しのVBScriptを知っている場合は、ステータス情報を印刷する代わりにこれを変更して電子メールを送信するだけで十分です。

VBScriptがわからない場合は、お望みのことをすべて実行できる修正バージョンを喜んで提供します。


VBScriptはそれほど多くありません。一方、C#;)スクリプトの外観は悪くありません。
NitroxDM

このトピックに関する別の記事とこの問題の回避方法:eventlogblog.com/blog/2012/02/…
ラッキールーク

それら(@LuckyLukeとThatGraemeGuyスクリプト)は素晴らしいですが、言語サポートがありません。私のサーバーは両方とも英語なのでとても良いです。しかし、私のダウンロードマシンはフランス語です。私は理解できました(ThatGraemeGuyスクリプトから)RE0.Pattern = "Healthy|Sain" RE1.Pattern = "Mirror|RAID-5|Miroir"ではなく、RE2RE3&「再構築」|「リスクに失敗しました」であること。残念ながら、これらはほとんどRE2が重要なものなので、これは悪いことです。フランス語で翻訳したものや、言語に依存しない別の方法で翻訳したものを入手できる場所はありますか?
マスターDJon

1
良い点-しかし、すべての言語でWindowsをインストールして文字列を観察するのは非常に時間がかかります。私があなただったら、VMにフランス語版のWindowsをインストールし、仮想ディスクでRAID障害をシミュレートします。おそらくどこかでDLLから文字列を抽出できますが、それはおそらく同様に時間がかかります。
ラッキールーク

2
for /f "tokens=4,9 delims= " %a IN ('echo list volume ^| diskpart ^| find "SSD"') do echo %a %b

find "SSD"を "mirror"(またはstrip ...何でも)またはボリューム名に置き換えます。(私のボリュームはSSD1 + SSD2という名前です)

@echoをオフにして、完了したバッチファイルを挿入します。:)

@echo off
for /f "tokens=4,9 delims= " %%a IN ('echo list volume ^| diskpart ^| find "SSD"') do echo %%a %%b

上記の行はバッチに必要です。=)

ノート

  • これが機能するにはボリューム名が必要です。それ以外の場合は、トークンtokens=8


0

このいバッチファイルを使用して100台以上のサーバーを監視し、ミラーステータスを確認しました。結果は素晴らしいものです。結果をnagiosサーバーに送信するために4時間ごとにパッシブチェックを行うnsclient ++クライアントプラグインです。

check_mirror.bat

@echo off
echo list volume | diskpart | find "Mirror" > H
for /f %%i in ('type H ^| find /c "Mirror"') do set /a M=%%i 
for /f %%i in ('type H ^| find "Mirror" ^| find /c "Health" ') do set /a H=%%i 
for /f %%i in ('type H ^| find /c "Risk"') do set /a risk=%%i 
@del H /q
rem echo M=%M%, H = %H% Risk=%risk%
if %risk% GTR 0 goto err
IF %M%.==0. goto nomirror
IF %M% EQU %H% goto mirrorok

:err
echo CRITICAL: Something Wrong.
exit /B 1

:mirrorok
echo OK: Mirror Health.
exit /B 0

:nomirror
echo OK: No Mirror Found.
exit /B 1

-1

これらの回答はすべてステータスを取得しますが、正しい回答はありません。

エンタープライズ環境では、エンタープライズグレードのサーバーおよびネットワーク監視ツールを使用する必要があります。私が使用したほとんどすべての監視ツールは、サポートされているRAIDアレイ、ソフトウェア、またはハードウェアの状態を自動的に監視します。また、温度、空きディスク容量など、注意する必要のある他の要素も監視します。監視する必要があるすべての要素に対してカスタムスクリプトを作成しますか?

靴紐とバブルガムをすべてスキップして、適切なツールを使用してください。


何のようなツール?
NitroxDM

1
太陽風、n-able、何が起きているか、スパイスが効いているか、HP
イン

私はあなたの答えがどのように関連しているのか、役に立つのかわかりません。それは単なる意見です。Solarwinds(n-ableはSolarwinds btw製)よりも多くの機能を備えたツールがあります。状況も変化しており、ソフトウェアレイドは「靴紐
ラッキールーク

私は、ソフトウェアの襲撃が靴ひもだとは言いませんでした。監視のための靴ひもプロセスまたは手順の開発は悪い考えだと言いました。(そして、私が答えを書いたとき、SolarWindsはまだn-ableを購入していませんでした。)
ロングネック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.