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
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.
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. =)
tokens=8
Smartmontools ( http://sourceforge.net/apps/trac/smartmontools/wiki ) a une version Windows, mais je ne sais pas qu'il fonctionne sur 2K8
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