Come si controlla lo stato di un disco con mirroring in Windows?


12

Ho un disco con mirroring dinamico sul mio server Windows 2003. Come si controlla lo stato del volume?

Esiste un modo per consentire al server di inviare un'e-mail in caso di problemi con il volume? Esiste un modo per eseguire i test SMART sul server?

EDIT: Nulla dice WTF come accedere a un server client, eseguire DISKPART LIST VOLUME e vedere questo.

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

Stiamo parlando di un mirror software qui, giusto? In tal caso, ottima domanda.
Chris_K,

@Chris_k Corretto. L'ultima volta che un disco si è rotto, l'ho scoperto solo per caso. Su un sistema aziendale completamente inaccettabile. Ho un sistema di backup. Ma non è questo il punto di fare uno specchio.
NitroxDM,

Con informazioni del genere immagino che ora sia un buon momento per testare quella sceneggiatura. Windows per la vittoria!
NitroxDM,

Sto lavorando a una soluzione utilizzando entrambe le risposte elencate qui.
NitroxDM il

Risposte:


5

Ho avuto la stessa domanda qualche tempo fa. La prima cosa a cui ho pensato è stato l'uso di WMI, ma per qualche strana ragione, WMI non espone la salute di un volume RAID attraverso nessuna delle normali classi Win32_ *.

Alla fine mi sono imbattuto nella sceneggiatura di questo articolo e ho apportato alcune modifiche per soddisfare le mie esigenze. Analizza l'output del comando "LIST VOLUME" di diskpart.exe. Questo può sembrare un po 'sporco e brutto, ma in questo momento è l'opzione migliore che abbia mai visto.

Lo script così come appare nella pagina collegata è pronto per essere utilizzato con Nagios / NSClient ++ . Se conosci un po 'di VBScript è abbastanza facile modificarlo per inviare e-mail invece di stampare informazioni sullo stato.

Se non conosci VBScript, ti darò volentieri una versione modificata che farà tutto ciò che desideri.


VBScript non tanto. C # d'altra parte;) La sceneggiatura non sembra male.
NitroxDM,

Un altro articolo su questo argomento e su come ovviare a questo problema: eventlogblog.com/blog/2012/02/…
Lucky Luke,

Quelli (gli script @LuckyLuke e ThatGraemeGuy) sono fantastici, ma mancano del supporto linguistico. Entrambi i miei server sono in inglese, quindi bene. Ma la mia macchina per il download è in francese. Sono stato in grado di capire (dallo script ThatGraemeGuy) RE0.Pattern = "Healthy|Sain" RE1.Pattern = "Mirror|RAID-5|Miroir", ma non RE2e RE3che sono "Fallito | A rischio" e "Ricostruisci". Sfortunatamente, questo è negativo perché quelli, per lo più RE2, sono quelli importanti. Dove potresti trovare quelle tradotte in francese o forse un altro modo per non fare affidamento sulla lingua?
Master DJon

1
Un buon punto - ma richiederebbe molto tempo installare Windows in tutte le lingue e osservare le stringhe. Se fossi in te, installerei una Windows francese in una VM e simulerei un errore RAID con i dischi virtuali. Probabilmente puoi estrarre le stringhe da una DLL da qualche parte, ma probabilmente richiederebbe altrettanto tempo.
Lucky Luke

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

Sostituisci trova "SSD" con "mirror" (o stripe ... qualunque cosa) o il nome del tuo volume. (i miei volumi si chiamano SSD1 + SSD2)

Stick in un file batch con @echo spento e ur fatto. :)

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

La riga sopra è necessaria per il batch. =)

Appunti

  • È necessario disporre di un nome volume per farlo funzionare, altrimenti cambiare token intokens=8


0

Uso questo brutto file batch per monitorare più di cento server per controllare lo stato del mirror e il risultato è delizioso. È un plug-in client nsclient ++ per eseguire controlli passivi ogni quattro ore per inviare i risultati al server 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

mentre tutte queste risposte ti daranno lo stato, nessuna di esse è la risposta corretta.

in un ambiente aziendale, è necessario utilizzare server di livello enterprise e strumenti di monitoraggio della rete. praticamente tutti gli strumenti di monitoraggio che ho usato monitorano automaticamente lo stato di qualsiasi array, software o hardware RAID supportato. monitorano anche altre cose di cui dovresti essere a conoscenza, come la temperatura, lo spazio libero su disco, ecc. vuoi davvero creare uno script personalizzato per ogni possibile cosa che deve essere monitorata?

fatevi un favore e saltate tutta questa roba da calzolaio e gomma da masticare e usate lo strumento giusto.


Strumenti come cosa?
NitroxDM,

1
Venti solari, in grado, che succede, che cosa funziona la spezia, persino HP
Insight

Non vedo come la tua risposta sia pertinente o utile, è solo un'opinione. Esistono molti più strumenti di Solarwinds (n-able proviene da Solarwinds tra l'altro). Anche le cose sono cambiate, e il raid del software non è più "scarpa": smbitjournal.com/2016/12/the-software-raid-inflection-point
Lucky Luke

Non ho detto che il raid del software è una scarpa. Ho detto che sviluppare processi o procedure per stringhe di scarpe per il monitoraggio era una cattiva idea. (E al momento in cui ho scritto la mia risposta, SolarWinds non aveva ancora acquistato n-able.)
collo lungo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.