Utilities for managing IRST

The motivation

A lot of people are using Intel Rapid Storage Technology (IRST) RAID drivers simply because they are cheap and come on better motherboards. Intel proveds a GUI manager for managing the RAID arrays that works fine. However, the GUI manager won't install on Windows Hyper-V 2008 R2 (aka Windows Server Core) server because it doesn't support Windows Presentation Technology (WPF). Yes, IRST GUI is built with .net and uses WPF extensively but in overall is really poorly written software. But that's another story, the fact is that it is useless on Hyper-V 2008 R2. And worse, there is no command line utility nor a PowerShell cmdlet available - basically the user is left in the dark. The arrays can be managed through IRST setup at the boot time, but that's hardly usable since not a lot people will periodically reboot server just to check the RAID array status.

The solution

Meet Righthand's utilities for IRST that should fill the huge gap in IRST management by providing various kinds of utilities.

The progress

24.4.2012 0.2 released. Features command line support to view the status of arrays, volumes, disks, ports and RAID support. New requirement: .net 4.0. Updated this page as well.

9.7.2011 0.1 released, early alpha

6.6.2013 1.0 Powershell v3 version (works with IRST 12.5.0.1066)

13.9.2013 v1.1 Powershell v3 (works with IRST 12.8.0.1016)

29.10.2013 v1.1.1 assemblies are strong signed

RhIrstManager.PS.1_0_0.zip

RhIrstManager.PS.1_1_0.zip

RhIrstManager.PS.1_1_1.zip

NOTE: I am not responsible for any problem this tool might cause not even if aliens materialize inside your computer. Use it on your own risk.

 

The goal

The goal is to create a command line utility, a PowerShell version and a service that would allow controlling your RAID arrays from anywhere including sending warnings and stuff over popular Internet channels (think e-mail, twitter, etc.)

I will develop this application (and this web page) as time permits - actually, the time is the only brake right now.

That said, go ahead and try the alpha version of command line utility. Feedback is much appreciated.

Feedback channel

The official feedback channel is through forums at forums.rthand.com. Feel free to contact me through this blog's contact form, twitter, telepahty or some other media. Feedback appreciated. Thanks.

Utilities

All tools are built on .net 3.5 4.0. All utilities are x86 since the IRST assemblies are built against x86.

1.1

New cmdlet:

Get-IrstDisk ... lists physical disks (accepts pipelining from Get-IrstArray)

Update to work with IRST 12.8.1016

1.0 Powershell 3 version

Requirements: .net 4.0 (or 4.5), PowerShell 3. Note that the powershell module is compiled against x86 and thus you need to run it using x86 powershell console. It does run on x64 systems.

Available cmdlets so far:

Get-IrstArray ... lists arrays

Get-IrstVolume ... lists volumes (accepts pipelining from Get-IrstArray, i.e.: Get-IrstArray | Get-IrstVolume)

Set-IrstArrayWriteCacheEnabled -ArrayName NAME -IsEnabled $true|$false ... enables or disables array write caching

0.2 version of command line utility

This is the very first alpha version that outputs important data about arrays and volumes. It is intended for initial testing only and all it does it outputs the RAID array data read from IRST driver.

Launch it using RhIRSTCommand.exe executable (it needs Administrator privileges to access IRST driver).

The output should look like this (data for two arrays is shown; the most important one is "raw state"):

RhIRSTCommand_0_2_0_0.zip (774.74 kb) (32bit, v0.2.0.0 - 24.4.2012)

RhIRSTCommand_0_1_0_0.zip (428.95 kb) (32bit, v0.1.0.0 - 9.7.2011)

 

See installation instructions below. It should work on both Hyper-V 2008 R2 and any other computer running .net 4.0 and IRST drivers.

Command line

Usage: RhIRSTCommand -[view|help] [OPTIONS]+

Example: RhIRSTCommand -view -v    ... lists all volumes

Run with -help command to see more options.

PowerShell

TBA

Service

TBA

Installation

These instructions might not be complete, so feedback me any improvement. I will build a test PC and create more detailed instructions eventually.

If you have IRST driver already installed on a computer then you don't need to download from the IRST driver from Intel. Unless you know how to unpack the SetupRST.exe file you'll need to install the drivers on a computer (no, you can't install those directly on Hyper-V server).

The v1.0 is tested with IRST 12.5.0.1066.

Common (Hyper-V 2008 R2)

Follow these steps for installation on Hyper-V 2008 R2 server. No need for it on a desktop computer (granted it has both IRST and .net 4.0 installed).

Copy driver files. 

Find iaStorA.sys file on computer with IRST installed (check its version) and copy entire folder (should be 5 isStor*.* files) to Hyper-V server somewhere.

Install IRST driver

Open the folder with files copied in the step above and execute

pnputil -i -a iaStor.inf

Then restart the server.

Enable .net 3.5 4.0 (or better, 4.5)

See this page for instructions and binaries.

Install Powershell v3

Install PS3.

You need to run the PS console with administrator privileges and x86 version for steps below and for running RhIrst manager cmdlets.

You'll find x86 version in C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe (it says v1.0 but in reality it should be v3, granted you installed v3).

Set execution policy to at least AllSigned:

set-executionpolicy AllSigned

Powershell version

Create a folder and unpack RhIrstManager.PS.{version}.zip there. Add these files below from IRST driver (as I really don't want to redistribute Intel files) - you'll find these guys in [Program Files]\Intel folder:

  1. IAStorCommon.dll
  2. IAStorUtil.dll
  3. ISDI2.dll
  4. PSI.dll
  5. PSIClient.dll
  6. PsiData.dll

Make sure you are running x86 PowerShell console version.

When you start powershell console you'd have to manually import the module (unless it is in the autoload path):

import-module RhIrstManager

Installation (old, command line)

These instructions might not be complete, so feedback me any improvement. I will build a test PC and create more detailed instructions eventually.

Get the IRST driver from Intel.

Common (Hyper-V 2008 R2)

Follow these steps for installation on Hyper-V 2008 R2 server. No need for it on a desktop computer (granted it has both IRST and .net 4.0 installed).

Unpack IRST driver (tested with 10.1.0.1008 10.8.0.1003). 

Launch the setup on a hyper-v machine and start installing. It will unpack the files in a temp folder (listed on setup window) and soon will yield an error. Don't click ok, instead copy unpacked files (c:\Windows\Temp\IIF2 folder) to another folder and then click ok - setup will delete the temp files.

Install IRST driver

Find iaStor.inf in the folder where drivers were copied in previous step. Run this command line:

pnputil -i -a iaStor.inf

Then restart the server.

Enable .net 3.5 4.0

See this page for instructions and binaries.

Command Line Utility

(optionally) Create a folder and unpack Righthand Utilities there. Add these files below from IRST driver (as I really don't want to redistribute Intel files):

  1. IAStorCommon.dll
  2. IAStorDataMgr.dll
  3. IAStorUtil.dll
  4. ISDI.dll
  5. IsdiInterop.dll