wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何从Windows应用程序监控Intel控制器上RAID阵列的状态?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我需要定期从我的 Windows应用程序检查Intel控制器上RAID阵列的状态(或者通知状态更改).具体来说,我需要的是找出RAID 5阵列是否正常或其中一个磁盘丢失. 我尝试解析raidcfg32的输出(可从英特尔网站获得,见this readmE),但它只适用于我的应用程序需要监视的服务器之一.在其他服务器上,raidcfg32报告“不支持的硬件”错误.我也试过CmdTool2,但它无法完全
我需要定期从我的 Windows应用程序检查Intel控制器上RAID阵列的状态(或者通知状态更改).具体来说,我需要的是找出RAID 5阵列是否正常或其中一个磁盘丢失.

我尝试解析raidcfg32的输出(可从英特尔网站获得,见this readme),但它只适用于我的应用程序需要监视的服务器之一.在其他服务器上,raidcfg32报告“不支持的硬件”错误.我也试过CmdTool2,但它无法完全找到控制器.

英特尔提供的唯一剩余RAID阵列监控选项是一系列GUI应用程序(英特尔矩阵存储管理控制台,英特尔快速存储技术).

有问题的控制器是:ESB2,631xESB / 632xESB.

我相信我已经阅读了Stack Overflow上与我的问题相关的几篇文章,但没有一篇文章包含答案.例如,在对问题’Can I get Raid disk status by using PS?‘的回答中,建议实际上允许检查控制器而不是阵列是否健康(它始终是).

我在寻找的是一种自动访问状态信息的方式(从.NET应用程序来看,具体而言).任何选项都是好的,无论是通过WMI,.NET还是本机API,控制台输出解析等等.

我发现建议的监控RAID状态的方法是通过GUI应用程序让我感到困惑.在具有数十台服务器的企业部署中使用哪些方法来以编程方式执行此操作?

解决方法

我一直在寻找这个.我有ICHxxx系列控制器,我正试图与英特尔联系,以回应有关公共API的存在,但我并不乐观.

这就是我短期内提出的问题.英特尔将RAID事件记录到“IAANTmon”下的Windows事件日志中.因此,您可以使用System.Diagnostics.EventLog,挂钩EventWrittenEventHandler,然后过滤“IAANTmon”.

EventLog eLog = new EventLog("Application");
        eLog.EntryWritten += new EntryWrittenEventHandler(OnEntryWrittenEvent);
        eLog.EnableRaisingEvents = true;

public static void OnEntryWrittenEvent(object source,EntryWrittenEventArgs E)
    {
        if (e.Entry.source == "IAANTmon")
        {
         ...
        }
    }

大佬总结

以上是大佬教程为你收集整理的如何从Windows应用程序监控Intel控制器上RAID阵列的状态?全部内容,希望文章能够帮你解决如何从Windows应用程序监控Intel控制器上RAID阵列的状态?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。