web-dev-qa-db-fra.com

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

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

Y a-t-il un moyen d'envoyer le serveur d'envoyer un email lorsqu'il y a un problème avec le volume? Existe-t-il un moyen d'exécuter le serveur S.M.A.R.T. tests?

éditer : Rien ne dit WTF comme vous connecter à un serveur client, exécutant le volume de la liste de diskpart et le voir.

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
12
NitroxDM

J'ai eu la même question il y a un moment. La première chose que j'ai pensé à utiliser WMI, mais pour une raison quelconque étrange, WMI n'expose pas la santé d'un volume de raid dans l'une des classes Win32_ * normales.

J'ai finalement été trébuché sur le script de cet article et a apporté quelques modifications à mes besoins. Il analyse la sortie de la commande "Liste Volume" de DiskPart.exe. Cela peut sembler un peu sale et moche, mais maintenant 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 suffisamment facile de la modifier pour envoyer des e-mails au lieu des informations d'impression d'état.

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

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

Remplacez la recherche "SSD" par "Miroir" (ou Stripe ... peu importe) ou votre nom de volume. (Mes volumes sont nommés SSD1 + SSD2)

Collez dans un fichier de commandes avec @echo OFF et avez-vous terminé. :)

@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 jetons à tokens=8
2
Mindfart

Smartmontools ( http://sourceforge.net/apps/trac/smartmontools/wiki ) a une version Windows, mais je ne sais pas qu'il fonctionne sur 2K8

1
lrosa

J'utilise ce fichier de lots laids pour surveiller plus de cent serveurs pour vérifier l'état du miroir et le résultat est charmant. Il s'agit d'un plug-in Nsclient ++ Client pour effectuer une vérification passive toutes les quatre heures pour envoyer un 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
0
user191549