Wie kann der Zustand einer gespiegelten Festplatte in Windows überwacht werden?

12

Ich habe eine gespiegelte dynamische Festplatte in meinem Windows 2003 Server. Wie überwachen Sie den Zustand des Volumes?

Gibt es eine Möglichkeit, den Server eine E-Mail senden zu lassen, wenn ein Problem mit dem Volume vorliegt? Gibt es eine Möglichkeit, den Server SMART-Tests ausführen zu lassen?

BEARBEITEN: Nichts sagt WTF mehr als sich bei einem Client-Server anzumelden, DISKPART LIST VOLUME auszuführen und dies zu sehen.

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
NitroxDM
quelle
Wir sprechen hier von einem Software-Spiegel, oder? Wenn ja, gute Frage.
Chris_K
@ Chris_k Richtig. Das letzte Mal, als eine Festplatte ausfiel, fand ich es nur zufällig heraus. Auf einem Unternehmenssystem ist das völlig inakzeptabel. Ich habe ein Backup-System. Aber darum geht es nicht, einen Spiegel zu machen.
NitroxDM
Mit solchen Informationen ist jetzt wohl ein guter Zeitpunkt, um dieses Skript zu testen. Windows für den Gewinn!
NitroxDM am
Ich arbeite an einer Lösung mit den beiden hier aufgeführten Antworten.
NitroxDM

Antworten:

5

Ich hatte vor einiger Zeit die gleiche Frage. Das erste, woran ich dachte, war die Verwendung von WMI, aber aus irgendeinem seltsamen Grund macht WMI die Integrität eines RAID-Volumes über keine der normalen Win32_ * -Klassen verfügbar.

Schließlich bin ich auf das Skript in diesem Artikel gestoßen und habe einige Änderungen vorgenommen, um meinen Anforderungen zu entsprechen. Es analysiert die Ausgabe des Befehls "LIST VOLUME" von diskpart.exe. Dies mag ein wenig schmutzig und hässlich erscheinen, aber im Moment ist es die beste Option, die ich je gesehen habe.

Das Skript, wie es auf der verknüpften Seite angezeigt wird, kann mit Nagios / NSClient ++ verwendet werden . Wenn Sie ein bisschen VBScript kennen, ist es einfach genug, dies zu ändern, um E-Mails zu senden, anstatt Statusinformationen zu drucken.

Wenn Sie VBScript nicht kennen, gebe ich Ihnen gerne eine modifizierte Version, die alles macht, was Sie wollen.

ThatGraemeGuy
quelle
VBScript nicht so sehr. C # auf der anderen Seite;) Das Skript sieht nicht schlecht aus.
NitroxDM
Ein weiterer Artikel zu diesem Thema und wie Sie dieses Problem umgehen können
Lucky Luke
Diese (@LuckyLuke & ThatGraemeGuy-Skripte) sind großartig, aber es fehlt an Sprachunterstützung. Meine beiden Server sind in Englisch, also gut. Aber meine Download-Maschine ist in Französisch. Ich konnte es herausfinden (aus dem ThatGraemeGuy-Skript) RE0.Pattern = "Healthy|Sain" RE1.Pattern = "Mirror|RAID-5|Miroir", aber nicht RE2& RE3das sind "Failed | At Risk" & "Rebuild". Leider ist das schlecht, weil die, meistens RE2, die wichtigen sind. Woher könnte ich die auf Französisch übersetzen lassen oder auf eine andere Art und Weise, die nicht von der Sprache abhängt?
Master DJon
1
Guter Punkt - aber es wäre sehr zeitaufwendig, Windows in jeder Sprache zu installieren und die Zeichenfolgen zu beobachten. Wenn ich Sie wäre, würde ich ein französisches Windows in einer VM installieren und einen RAID-Fehler mit virtuellen Laufwerken simulieren. Sie können die Zeichenfolgen wahrscheinlich irgendwo aus einer DLL extrahieren, aber das wäre wahrscheinlich ebenso zeitaufwändig.
Lucky Luke
2
for /f "tokens=4,9 delims= " %a IN ('echo list volume ^| diskpart ^| find "SSD"') do echo %a %b

Ersetzen Sie find "SSD" durch "mirror" (oder stripe ... whatever) oder Ihren Datenträgernamen. (meine Volumes heißen SSD1 + SSD2)

Bleib in einer Batch-Datei mit @echo aus und fertig. :)

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

Die obige Zeile wird für die Charge benötigt. =)

Anmerkungen

  • Sie müssen einen Volume-Namen haben, damit dies funktioniert. Andernfalls ändern Sie die Token intokens=8
Mindfart
quelle
0

Ich verwende diese hässliche Batch-Datei, um mehr als einhundert Server zu überwachen, um den Spiegelstatus zu überprüfen, und das Ergebnis ist reizend. Es ist ein nsclient ++ - Client-Plugin, das alle vier Stunden eine passive Prüfung durchführt, um das Ergebnis an den Nagios-Server zu senden.

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
user191549
quelle
-1

Während alle diese Antworten Ihnen den Status geben, ist keine von ihnen die richtige Antwort.

In einer Unternehmensumgebung sollten Sie Server- und Netzwerküberwachungstools der Unternehmensklasse verwenden. So ziemlich alle Überwachungstools, die ich verwendet habe, überwachen automatisch den Zustand aller unterstützten RAID-Arrays, Software oder Hardware. Sie überwachen auch andere Dinge, die Sie beachten sollten, z. B. die Temperatur, den freien Speicherplatz usw. Möchten Sie wirklich ein benutzerdefiniertes Skript für alle möglichen Dinge erstellen, die überwacht werden müssen?

Tun Sie sich selbst einen Gefallen und überspringen Sie all diese Schnur- und Kaugummisachen und verwenden Sie das richtige Werkzeug.

langer Hals
quelle
Werkzeuge wie was?
NitroxDM
1
Sonnenwinde, n-fähig, was ist
los
Ich sehe nicht, wie relevant oder hilfreich Ihre Antwort ist, es ist nur eine Meinung. Es gibt viel mehr fähige Werkzeuge als Solarwinds (n-fähig ist übrigens von Solarwinds). Die Dinge haben sich auch geändert, und Software-Raid ist kein " Schnürchen
Lucky Luke
Ich habe nicht gesagt, dass Software-Raid ein Schnürchen ist. Ich sagte, es sei eine schlechte Idee, Prozesse oder Verfahren für die Überwachung zu entwickeln. (Und zu dem Zeitpunkt, als ich meine Antwort schrieb, hatte SolarWinds noch nichts gekauft.)
Longneck