1

I have a HP server with Raid 5. Port 0 and 1 are used for data & OS mirroring. The software come with the Raid 5 is Intel Matrix Storage Manager and there is manager console as windows based api to view all the ports, including their status.

Now they are all in Normal status. I am not sure if the OS/Windows has some APIs or .Net classes to access raid ports and get their status? If so, how can I use PS to get the information? Do I have to reference to the dlls provided by the Intel Matrix Storage Manager if not?

Basically, I would like to write a PS script to get read status. In case any of port disk is not normal, a message will be sent out by growl protocol.

David.Chu.ca
  • 37,408
  • 63
  • 148
  • 190
  • I think what "pstanton" is indicating is that this is more of a sys admin type question, and should be asked at the serverfault.com site. That being said, I strongly doubt there's a .NET interface to the hardware RAID subsystem. I think you're best bet (which I've done before on Dell) is to look for/use a command-line interface (good old DOS). You can call/parse the command-line tool to do what you need with the hardware RAID. – Marco Shaw Mar 23 '10 at 18:49
  • That's why I post this question to see any one knows if .Net framework provides any classes or api. At the same time, I am going to use Refector to take a look at Intel Matrix Storage Manager dll files to see if there are any .net classes available for use. – David.Chu.ca Mar 23 '10 at 19:38
  • All the dll files I found do not have CLI headers. It seems like that no .Net support for Raid disks. – David.Chu.ca Mar 23 '10 at 20:10

2 Answers2

1

The HP servers I've used come its own management software in the form of HP System Insight Manager. Insight Manager has both a a web and command-line interface. Details on all H/W health including disks are provided. There is also a backend consolidated SQL database you can stand up. I'm not sure if HP charges extra for this or its part of their server offering. In any case I would recommend looking into SIM.

Chad Miller
  • 40,127
  • 3
  • 30
  • 34
1
    $raidvalues = get-wmiobject -class win32_systemdriver | where-object {$_.displayname -like "*mraid*"}
    $rStatus = $raidvalues.Status

We use this to check for status of RAID controllers on a Dell PowerEdge. You may have to find the correct name to replace *mraid*. Hope the idea helps.

Christopher
  • 412
  • 2
  • 7
  • 13