I have a Mirrored Dynamic disk on my Windows 2003 Server. How do you monitor the health of the volume?
Is there a way to have the server send an email when there is an issue with the volume? Is there a way to have the server run S.M.A.R.T. tests?
EDIT: Nothing says WTF like logging into a client server, running DISKPART LIST VOLUME and seeing this.
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
I had the same question a while ago. The first thing I thought of was using WMI, but for some weird reason, WMI doesn't expose the health of a RAID volume through any of the normal Win32_* classes.
I eventually stumbled across the script in this article and made a few modifications to suit my requirements. It parses the output of diskpart.exe's "LIST VOLUME" command. This may seem a little dirty and ugly, but right now its the best option I've seen.
The script as it appears on the linked page is ready to be used with Nagios / NSClient++. If you know a bit of VBScript it's easy enough to modify this to send e-mail instead of printing status information.
If you don't know VBScript, I'll gladly give you a modified version which will do whatever you want it to.
Replace find "SSD" with "mirror"(or stripe... whatever) or your volume name. (my volumes are named SSD1 + SSD2)
Stick in a batch file with @echo off and ur done. :)
Above line is needed for batch. =)
Notes
tokens=8
I use this ugly batch file to monitor more than one hundred servers to check mirror status and the result is lovely. It is a nsclient++ client plugin to do passive check every four hour to send result to nagios server.
Smartmontools (http://sourceforge.net/apps/trac/smartmontools/wiki) has a windows version, but I don't know it runs on 2K8
Here is a Powershell script to monitor the health of RAID arrays on Windows from https://gist.github.com/schakko at https://gist.github.com/schakko/4713248
I tested it on a Windows 10 software raid and a Dell PERC H700 hardware raid on Server 2016. Worked well. We use MegaRaid for notifications.
I'm reproducing it here just in case the Gist goes away, like the target on the accepted answer https://serverfault.com/a/150089/2985
The "Fehlerfre" and "Fehlerhaf" in the script are German translations for result codes.
This version from https://gist.github.com/LionRelaxe also emails error results (https://gist.github.com/schakko/4713248#gistcomment-2256715)
while all of these answers will get you the status, none of them are the correct answer.
in an enterprise environment, you should be using enterprise-grade server and network monitoring tools. pretty much all of the monitoring tools i have used automatically monitor the health of any supported RAID array, software or hardware. they also monitor other things that you should be aware of, such as temperature, free disk space, etc. do you really want to create a custom script for every possible thing that needs to be monitored?
do yourself a favor and skip all this shoe-string and bubble-gum stuff and use the right tool.