您如何在Windows中监视镜像磁盘的运行状况?


12

我的Windows 2003 Server上有一个镜像动态磁盘。您如何监视该卷的运行状况?

卷有问题时,是否可以让服务器发送电子邮件?有没有办法让服务器运行SMART测试?

编辑: WTF就像登录客户端服务器,运行DISKPART LIST VOLUME并看到它一样。

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

我们在这里谈论软件镜像,对吗?如果是这样,这是一个很大的问题。
Chris_K 2010年

@Chris_k正确。上次磁盘出现故障时,我只是偶然发现的。在完全不可接受的企业系统上。我有一个备份系统。但这不是做镜子的目的。
NitroxDM 2010年

我想有了类似的信息,现在是测试该脚本的好时机。Windows为赢!
NitroxDM 2010年

我正在尝试使用此处列出的两个答案的解决方案。
NitroxDM

Answers:


5

前段时间我也有同样的问题。我想到的第一件事是使用WMI,但出于某些奇怪的原因,WMI并没有通过任何普通的Win32_ *类公开RAID卷的运行状况。

我最终偶然发现了本文中的脚本,并进行了一些修改以满足我的要求。它解析diskpart.exe的“ LIST VOLUME”命令的输出。这似乎有点肮脏和丑陋,但是现在它是我见过的最好的选择。

链接页面上显示的脚本已准备好与Nagios / NSClient ++一起使用。如果您了解一些VBScript,则可以很容易地对其进行修改以发送电子邮件,而不是打印状态信息。

如果您不了解VBScript,我将很乐意为您提供经过修改的版本,该版本可以执行您想要的任何操作。


VBScript没那么多。另一方面是C#;)脚本看起来还不错。
NitroxDM 2010年

关于此主题以及如何解决此问题的另一篇文章:eventlogblog.com/blog/2012/02/…–
Lucky Luke

那些(@LuckyLuke和ThatGraemeGuy脚本)很棒,但是缺乏语言支持。我的两个服务器都是英文,太好了。但是,我的下载机是法语。我已经能够(从ThatGraemeGuy脚本中)弄清楚了RE0.Pattern = "Healthy|Sain" RE1.Pattern = "Mirror|RAID-5|Miroir",但RE2RE3表示“失败|有风险”和“重建”。不幸的是,这很不好,因为那些(主要是RE2)是重要的。您在哪里可以翻译成法语或其他不依赖该语言的方式?
DJon大师'17

1
好点-但是以每种语言安装Windows并观察字符串将非常耗时。如果您是我,那么我将在虚拟机中安装法语Windows,并使用虚拟磁盘模拟RAID故障。您可能可以从某个位置的DLL中提取字符串,但这可能同样耗时。
幸运卢克

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

用“镜像”(或条纹……等等)或您的卷名替换查找“ SSD”。(我的卷名为SSD1 + SSD2)

关闭@echo并完成您的工作,然后粘贴在批处理文件中。:)

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

批量需要上面的行。=)

笔记

  • 您需要具有一个卷名才能起作用,否则将令牌更改为tokens=8


0

我使用这个丑陋的批处理文件来监视一百多台服务器以检查镜像状态,结果很不错。这是一个nsclient ++客户端插件,它每四个小时执行一次被动检查,以将结果发送到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

尽管所有这些答案都将为您提供状态,但这些都不是正确的答案。

在企业环境中,您应该使用企业级服务器和网络监视工具。我使用的几乎所有监视工具都会自动监视任何受支持的RAID阵列,软件或硬件的运行状况。它们还会监视您应注意的其他事项,例如温度,可用磁盘空间等。您是否真的要为需要监视的所有可能事物创建一个自定义脚本?

帮自己一个忙,跳过所有这些鞋带和泡泡糖,并使用正确的工具。


像什么工具?
NitroxDM 2012年

1
太阳风,n-able,怎么回事,香料起作用,甚至HP
Insight

我看不出您的答案如何相关或有帮助,仅是一种意见。比Solarwinds有更多功能强大的工具(n-able来自Solarwinds btw)。事情也发生了变化,软件突袭不再是“鞋带”:smbitjournal.com/2016/12/the-software-raid-inflection-point
Lucky Luke

我并不是说软件突袭是轻而易举的事。我说开发用于监视的鞋带处理或程序不是一个好主意。(在我写我的答案时,SolarWinds尚未购买n-able。)
longneck
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.