Comment surveillez-vous la santé d'un disque en miroir dans Windows?

12

J'ai un disque dynamique en miroir sur mon serveur Windows 2003. Comment contrôlez-vous la santé du volume?

Existe-t-il un moyen pour que le serveur envoie un e-mail en cas de problème avec le volume? Existe-t-il un moyen de faire exécuter des tests SMART au serveur?

EDIT: Rien ne dit WTF comme se connecter à un serveur client, exécuter DISKPART LIST VOLUME et voir cela.

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
la source
Nous parlons d'un miroir logiciel ici, non? Si oui, bonne question.
Chris_K
@Chris_k Correct. La dernière fois qu'un disque a échoué, je ne l'ai découvert que par hasard. Sur un système d'entreprise totalement inacceptable. J'ai un système de sauvegarde. Mais ce n'est pas l'intérêt de faire un miroir.
NitroxDM
Avec des informations comme ça, je suppose que c'est le bon moment pour tester ce script. Windows pour la victoire!
NitroxDM
Je travaille sur une solution en utilisant les deux réponses répertoriées ici.
NitroxDM

Réponses:

5

J'ai eu la même question il y a quelque temps. La première chose à laquelle j'ai pensé était d'utiliser WMI, mais pour une raison étrange, WMI n'expose pas la santé d'un volume RAID via l'une des classes Win32_ * normales.

Je suis finalement tombé sur le script dans cet article et j'ai apporté quelques modifications pour répondre à mes besoins. Il analyse la sortie de la commande "LIST VOLUME" de diskpart.exe. Cela peut sembler un peu sale et laid, mais en ce moment c'est la meilleure option que j'ai vue.

Le script tel qu'il apparaît sur la page liée est prêt à être utilisé avec Nagios / NSClient ++ . Si vous connaissez un peu de VBScript, il est assez facile de le modifier pour envoyer un e-mail au lieu d'imprimer des informations d'état.

Si vous ne connaissez pas VBScript, je vous donnerai volontiers une version modifiée qui fera ce que vous voulez.

ThatGraemeGuy
la source
VBScript pas tellement. C # d'autre part;) Le script n'a pas l'air trop mal.
NitroxDM
Un autre article sur ce sujet et comment contourner ce problème: eventlogblog.com/blog/2012/02/…
Lucky Luke
Ces (scripts @LuckyLuke et ThatGraemeGuy) sont excellents, mais manquent de prise en charge linguistique. Mes deux serveurs sont en anglais, donc bon. Mais, ma machine de téléchargement est en français. J'ai été en mesure de comprendre (à partir du script ThatGraemeGuy) RE0.Pattern = "Healthy|Sain" RE1.Pattern = "Mirror|RAID-5|Miroir", mais pas RE2& RE3qui sont «Échec | À risque» & «Reconstruire». Malheureusement, c'est mauvais parce que ce sont surtout les plus RE2importants. Savez-vous où je pourrais les faire traduire en français ou peut-être d'une autre manière qui ne dépendrait pas de la langue?
Master DJ
1
Bon point - mais il serait très long d'installer Windows dans toutes les langues et d'observer les chaînes. Si j'étais vous, j'installerais un Windows français dans une machine virtuelle et simulerais une panne RAID avec des disques virtuels. Vous pouvez probablement extraire les chaînes d'une DLL quelque part, mais cela prendrait également autant de temps.
Lucky Luke
2
for /f "tokens=4,9 delims= " %a IN ('echo list volume ^| diskpart ^| find "SSD"') do echo %a %b

Remplacez trouver "SSD" par "miroir" (ou bande ... peu importe) ou votre nom de volume. (mes volumes sont nommés SSD1 + SSD2)

Stick dans un fichier batch avec @echo off et ur fait. :)

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

La ligne ci-dessus est nécessaire pour le lot. =)

Remarques

  • Vous devez avoir un nom de volume pour que cela fonctionne, sinon changez les jetons entokens=8
Mindfart
la source
0

J'utilise ce fichier batch laid pour surveiller plus d'une centaine de serveurs pour vérifier l'état du miroir et le résultat est charmant. C'est un plugin client nsclient ++ pour effectuer une vérification passive toutes les quatre heures pour envoyer le résultat au serveur nagios.

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
la source
-1

bien que toutes ces réponses vous obtiendront le statut, aucune d'entre elles n'est la bonne réponse.

dans un environnement d'entreprise, vous devez utiliser un serveur de niveau entreprise et des outils de surveillance réseau. à peu près tous les outils de surveillance que j'ai utilisés surveillent automatiquement la santé de toute matrice RAID, logiciel ou matériel pris en charge. ils surveillent également d'autres choses que vous devez savoir, comme la température, l'espace disque libre, etc. voulez-vous vraiment créer un script personnalisé pour chaque chose possible qui doit être surveillée?

Rendez-vous service et évitez tous ces trucs de cordes à chaussures et de chewing-gum et utilisez le bon outil.

long cou
la source
Des outils comme quoi?
NitroxDM
1
Vents solaires, n-capable, quoi de neuf, épices fonctionne, même HP Insight Manager
longneck
Je ne vois pas en quoi votre réponse est pertinente ou utile, c'est juste une opinion. Il y a beaucoup plus d'outils que Solarwinds (n-able vient de Solarwinds btw). Les choses ont également changé et le raid logiciel n'est plus une "chaîne de chaussures": smbitjournal.com/2016/12/the-software-raid-inflection-point
Lucky Luke
Je n'ai pas dit que le raid logiciel était une chaîne de chaussures. J'ai dit que le développement de processus ou de procédures de contrôle des chaînes de chaussures était une mauvaise idée. (Et au moment où j'ai écrit ma réponse, SolarWinds n'avait pas encore acheté n-able.)
longneck