2008 R2 中的 RAID 故障事件记录

2008 R2 中的 RAID 故障事件记录

当 RAID 出现问题时,是否有人有解决方案将错误/关键条目记录到 2008 R2 中的事件日志中?我真的想设置电子邮件警报以防发生这种情况。我使用的是 MS 内置软件 RAID,而不是硬件 RAID。

有一条线索这里这简直令人难以置信。一位微软代表表示

“对于用户来说,注意到阵列的退化不会是一个显着的改进”

听起来他们似乎从未打算支持它。有人有解决方案吗?

答案1

这确实相当令人惊讶,微软把一项功能弄得更糟了。从某些方面来说,这并不奇怪。

我相信你可以使用磁盘分区实用程序。有关示例命令,请参阅http://www.techotopia.com/index.php/Creating_and_Managing_Windows_Server_2008_Mirrored_%28RAID_1%29_Volumes

不幸的是,我自己没有 2008 软件 RAID,但我只能想象列表卷会指示驱动器何时处于离线或故障状态。示例输出为列表卷看起来像这样

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     E   DATA         NTFS   Simple       931 GB  Healthy
Volume 1     D                       DVD-ROM         0 B  No Media
Volume 2         System Rese  NTFS   Partition    100 MB  Healthy    System
Volume 3     C   BOOT         NTFS   Partition    138 GB  Healthy    Boot
Volume 4     F   FreeAgent G  NTFS   Partition   1863 GB  Healthy

您只需创建一个文本文件,内容为

list volume

然后像运行它一样

diskpart /s file.txt

然后,您可以将输出通过管道传输到文件并使用脚本对其进行解析,并生成电子邮件或事件日志条目。您需要每隔 X 分钟运行一次此脚本,例如使用任务计划程序。

你可以使用事件哨兵(有免费版本)及其应用程序调度程序来执行该脚本并生成事件/电子邮件,但您仍然需要解析 diskpart 的输出以确定是否存在问题。

编辑:Windows 中故障 RAID 的状态为“Failed Rd”,而不是“Healthy”。因此,搜索“Failed Rd”应该有效。示例:

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     C   BOOT         NTFS   Mirror       931 GB  Failed Rd  Boot

我将来会对此进行一些实验以得出更好的答案并撰写博客文章,我不知道微软在这方面失败了。

答案2

这是一个简单的批处理脚本,它将记录系统故障事件:

echo list volume | diskpart > c:\RAID_STATUS.TXT
FINDSTR "Failed" C:\RAID_STATUS.TXT
IF ERRORLEVEL 1 GOTO OK
GOTO FAILED

:FAILED
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
FINDSTR "Failed" C:\RAID_STATUS.TXT > C:\FAILED_RAID.TXT
set eventtext=
for /f "delims=" %%l in (C:\FAILED_RAID.TXT) do set eventtext=!eventtext! %%l
eventcreate /ID 999 /L SYSTEM /T ERROR  /SO SW_RAID /D "%eventtext%"
GOTO OK

:OK

答案3

我没有设置 MS 软件 RAID 阵列系统,但您不能查询可用性吗? Win32_逻辑磁盘具有可用性属性和状态属性。在我的系统上,它是空白的,但我希望在突袭集中,至少其中一个属性会填充表中列出的状态值。

相关内容