¿Cómo se monitorea el estado de un disco duplicado en Windows?


12

Tengo un disco dinámico reflejado en mi servidor de Windows 2003. ¿Cómo monitorea la salud del volumen?

¿Hay alguna manera de que el servidor envíe un correo electrónico cuando hay un problema con el volumen? ¿Hay alguna manera de que el servidor ejecute pruebas SMART?

EDITAR: Nada dice WTF como iniciar sesión en un servidor cliente, ejecutar DISKPART LIST VOLUME y ver esto.

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

Estamos hablando de un espejo de software aquí, ¿verdad? Si es así, gran pregunta.
Chris_K

@Chris_k Correcto. La última vez que falló un disco solo lo descubrí por casualidad. En un sistema empresarial que es completamente inaceptable. Tengo un sistema de respaldo. Pero ese no es el punto de hacer un espejo.
NitroxDM

Con información como esa, supongo que ahora es un buen momento para probar ese script. Windows para la victoria!
NitroxDM

Estoy trabajando en una solución con las dos respuestas que se enumeran aquí.
NitroxDM

Respuestas:


5

Tuve la misma pregunta hace un tiempo. Lo primero que pensé fue usar WMI, pero por alguna extraña razón, WMI no expone la salud de un volumen RAID a través de ninguna de las clases normales de Win32_ *.

Eventualmente me topé con el script en este artículo e hice algunas modificaciones para satisfacer mis requisitos. Analiza la salida del comando "LIST VOLUME" de diskpart.exe. Esto puede parecer un poco sucio y feo, pero en este momento es la mejor opción que he visto.

El script tal como aparece en la página vinculada está listo para usarse con Nagios / NSClient ++ . Si conoce un poco de VBScript, es bastante fácil modificarlo para enviar un correo electrónico en lugar de imprimir información de estado.

Si no conoce VBScript, con mucho gusto le daré una versión modificada que hará lo que quiera.


VBScript no tanto. C # por otro lado;) El script no se ve tan mal.
NitroxDM

Otro artículo sobre este tema y cómo solucionar este problema: eventlogblog.com/blog/2012/02/…
Lucky Luke

Esos (scripts de @LuckyLuke y ThatGraemeGuy) son geniales, pero carecen de soporte de idiomas. Mis dos servidores están en inglés, muy bien. Pero mi máquina de descarga está en francés. He podido calcular (del script ThatGraemeGuy) RE0.Pattern = "Healthy|Sain" RE1.Pattern = "Mirror|RAID-5|Miroir", pero no RE2y RE3eso es "Falló | En riesgo" y "Reconstruir". Desafortunadamente, esto es malo porque esos, sobre todo los RE2, son los importantes. ¿Dónde podría conseguir que se traduzcan en francés o tal vez de otra manera que no dependa del idioma?
Maestro DJon

1
Buen punto, pero llevaría mucho tiempo instalar Windows en todos los idiomas y observar las cadenas. Si yo fuera usted, instalaría un Windows francés en una máquina virtual y simularía una falla de RAID con discos virtuales. Probablemente pueda extraer las cadenas de un archivo DLL en alguna parte, pero eso probablemente también requeriría mucho tiempo.
Lucky Luke

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

Reemplace find "SSD" con "mirror" (o stripe ... lo que sea) o su nombre de volumen. (mis volúmenes se llaman SSD1 + SSD2)

Pegue un archivo por lotes con @echo apagado y listo. :)

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

La línea anterior es necesaria para el lote. =)

Notas

  • Debe tener un nombre de volumen para que esto funcione, de lo contrario, cambie los tokens atokens=8


0

Utilizo este archivo por lotes feo para monitorear más de cien servidores para verificar el estado del espejo y el resultado es encantador. Es un complemento de cliente nsclient ++ para hacer una verificación pasiva cada cuatro horas para enviar el resultado al servidor 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

-1

Si bien todas estas respuestas le darán el estado, ninguna de ellas es la respuesta correcta.

En un entorno empresarial, debe utilizar un servidor de nivel empresarial y herramientas de monitoreo de red. Casi todas las herramientas de monitoreo que he utilizado monitorean automáticamente el estado de cualquier matriz, software o hardware RAID compatible. También supervisan otras cosas que debe tener en cuenta, como la temperatura, el espacio libre en el disco, etc. ¿Realmente desea crear un script personalizado para cada cosa posible que necesita ser monitoreada?

hazte un favor y saltea todas estas cosas de cordones de zapatos y goma de mascar y usa la herramienta adecuada.


¿Herramientas como qué?
NitroxDM

1
Vientos solares, n-able, qué pasa, especias funciona, incluso HP Insight Manager
longneck

No veo cómo su respuesta es relevante o útil, es solo una opinión. Hay muchas herramientas más capaces que Solarwinds (n-able es de Solarwinds por cierto). Las cosas también han cambiado, y la incursión de software ya no es una "cadena de zapatos": smbitjournal.com/2016/12/the-software-raid-inflection-point
Lucky Luke

No dije que la incursión de software es una cuerda de zapatos. Dije que desarrollar procesos o procedimientos de cordones de zapatos para el monitoreo era una mala idea. (Y en el momento en que escribí mi respuesta, SolarWinds no habían comprado N-able todavía.)
longneck
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.