Installing Intel Rapid Storage driver and utility (fka Intel Matrix Storage) on Hyper-V Server 2008 R2
(and Windows Server 2008 R2 Core)
Scroll down for Testing hard drive failure information.
For a scenario describing this configuration, visit the
Hyper-V Server 2008 R2 SP1 on Intel SATA
page.
I wasted about 10.2 hours trying to figure out how to manage the Intel Rapid Storage Technology (IRST)
system on a GUI-less system, I finally found the solution. Intel has apparently released a command-line
utility called "RaidCfg32.exe" for managing IRST, however the utility version must match the driver
version!
I was able to find a V10.0.0.1046 copy of the driver and utility, I believe this to be the most current
version available of the utility. You can download from here the
IRST_V10.0.0.1046_DriverAndUtility.zip file. (If
you find a newer version of the utility, please let me know! E-Mail address is on the home page).
Note: this write-up is based on a free Hyper-V Server 2008 R2 SP1 install, your experience may vary
depending on OS version.
On the Hyper-V server, I shared the root of the C: drive, then using another workstation, I browsed to the
Hyper-V server, created a directory named C:\IntelUtil and extracted the zip file to that directory
(of course, use a directory of your choosing). On the Hyper-V server, in the command window I CD'd to the
drivers\x64 directory and then used the pnputil command to install the V10.0.0.1046 iaStor.sys
driver:
C:\Users\Administrator>cd \IntelUtil
C:\IntelUtil>RaidCfg32.exe /i
Version Tables:
Driver Version: 8.6.2.1014 <---- needs to be 10.0.0.1046
OROM Version: 8.9.0.1023
App Version: 10.0.0.1046
Version Check Failure: RaidCfg does not match driver
...... snip ......
C:\IntelUtil>cd ah*
C:\IntelUtil\AHCI_Intel_10.0.0.1046_W7x64>cd dr*
C:\IntelUtil\AHCI_Intel_10.0.0.1046_W7x64\Drivers>cd x64
C:\IntelUtil\AHCI_Intel_10.0.0.1046_W7x64\Drivers\x64>pnputil -i -a iaStor.inf
Microsoft PnP Utility
Processing inf : iaStor.inf
Successfully installed the driver on a device on the system.
Driver package added successfully.
Published name : oem0.inf
Total attempted: 1
Number successfully imported: 1
(you may get a pop-up box to confirm you trust software from Intel)
You will need to reboot the server to load the new driver.
To make administration from the command window easier, from the remote workstation I copied the files in
the \IntelUtil\AHCI_Intel_10.0.0.1046_W7x64\RAIDCFG32 directory up to the top level \IntelUtil directory.
You will probably want to open the RaidCfg32.txt file on the remote workstation for easier reading of the
help on command switches.
The first switch you will want to use will be /i, to verify that the driver version matches the
utility version. Review the first 4 lines of output to compare the Driver and App Versions.
C:\>cd \IntelUtil
C:\IntelUtil>RaidCfg32 /i
Version Tables:
Driver Version: 10.0.0.1046
OROM Version: 8.9.0.1023
App Version: 10.0.0.1046
Physical Disks Controlled by RAID S/W
Drive: WDC WD5000AAKX-221CA SerialNo:WD-WCAYUDP68864
FreeBlks:5511 TotalBlks:976773168 BusId:0x0 TargetId:0x0
Rev: 17.01H1 Partitions:2 LUN:0x0 CfgStatus:(0) Ok
Description:00AAKX-221CA Summary:Array Member
CheckBox:0x0 Action:0 SMARTEvt:0x1 WriteCache:ON
State:(0x53a) Array:0x0
CONFIGURED_DISK
USABLE_DISK
DETECTED_DISK
CLAIMED_DISK
CONFIG_ON_DISK
DISK_SMART_EVENT_SUPPORTED
Drive: WDC WD5000AAKX-221CA SerialNo:WD-WCAYUDM20272
FreeBlks:976773168 TotalBlks:976773168 BusId:0x2 TargetId:0x0
Rev: 17.01H1 Partitions:1 LUN:0x0 CfgStatus:(0) Ok
Description:00AAKX-221CA Summary:Spare
CheckBox:0x0 Action:0 SMARTEvt:0x1 WriteCache:ON
State:(0x539) Array:0xff
SPARE_DISK
USABLE_DISK
DETECTED_DISK
CLAIMED_DISK
CONFIG_ON_DISK
DISK_SMART_EVENT_SUPPORTED
Drive: WDC WD5000AAKX-221CA SerialNo:WD-WCAYUDP11752
FreeBlks:5511 TotalBlks:976773168 BusId:0x4 TargetId:0x0
Rev: 17.01H1 Partitions:2 LUN:0x0 CfgStatus:(0) Ok
Description:00AAKX-221CA Summary:Array Member
CheckBox:0x0 Action:0 SMARTEvt:0x1 WriteCache:ON
State:(0x53a) Array:0x0
CONFIGURED_DISK
USABLE_DISK
DETECTED_DISK
CLAIMED_DISK
CONFIG_ON_DISK
DISK_SMART_EVENT_SUPPORTED
----------------------------
Total Physical Disks = 3
RAID Volumes
Volume 1 / 1
SerialNo:Volume0 Summary:Normal
RaidLevel:1 TargetId:0x1 MemberDisks:2 StripSize:64KB
SizeInMB: 476937 Domains/Mirrors:2 CfgStatus:0x0
BytesPerBlock:0x200 Action:0 Array:0
MapState:0 MigrState:0 MigrType:1
----------------------------
Total Volumes = 1
RAID Arrays
Array 1 / 1
Action:0 NumDisks:2 RAIDDevs:1 CheckBox:0x0
State:0 TotalMB: 953879 FreeMB:5
----------------------------
Total Arrays = 1
Fair Warning: this testing and setup was done October of 2011, the latest iaStor.sys version is
V10.6.0.1002, every system is unique and there may or may not be improvements you will need in the newer
version of the driver. Just be aware that if you upgrade to a newer driver, you will lose the ability to
manage the IRST from the command-line (unless you can find a corresponding version of RaidCfg32.exe).
I am by no means an Intel expert, but based on my significant experience with Intel chipsets, I believe
this method will work for IRST managment with free Hyper-V Server 2008 R2 (and Windows Server 2008 R2 Core)
using the following chipsets:
- Intel(R) ESB2 SATA RAID Controller
- Intel(R) ICH7R/DH SATA RAID Controller
- Intel(R) ICH7MDH SATA RAID Controller
- Intel(R) ICH8R/ICH9R/ICH10R/DO/5 Series/3400 Series SATA RAID Controller
- Intel(R) ICH8M-E/ICH9M-E/5 Series SATA RAID Controller
- Intel(R) Desktop/Workstation/Server Express Chipset SATA RAID Controller
- Intel(R) Mobile Express Chipset SATA RAID Controller
The system I did this testing with is a 3420 Chipset (SuperMicro X8SIL-F).
Testing hard drive failure
Since there was little time invested in setting up this particular server, we decided testing for and managing a
failed hard drive would be a wise excercise. The test succeeded! Here are the series of commands and screens
we encountered during the test.
Sequence of events
Drive --> 0 2 4
Begin Member Member Spare
Remove #2 Member Removed Updating
Sync Finished Member Removed Member
Insert #2 Member Unknown Member
Reset #2 Member Non-RAID Member
Mark Spare Member Spare Member
Note: the server remained booted to the Hyper-V Server 2008 R2 Operating System during this entire
excercise. We made no real effort to test throughput during this test, but I suspect that we would have found
performance degraded but acceptable like we experience with the normal full GUI OS install.
Before drive removal, our standard RAID1 + HotSpare configuration. Disks 0 and 2 are the mirror
set, Disk 4 is the HotSpare.
C:\IntelUtil>raidcfg32 /st
Intel(R) RAID Utility for Serial ATA - v10.0.0.1046
Copyright(C) 2003-10 Intel Corporation. All Rights Reserved.
RAID Volumes:
ID Name Level Strip Size Status Bootable
0 Volume0 RAID1(Mirror) N/A 465.8GB Normal Yes
Physical Devices:
Port Device Model Serial # Size Type/Status(Vol ID)
0 WDC WD5000AAKX-2 WD-WCAYUDP68864 465.7GB Member Disk(0)
2 WDC WD5000AAKX-2 WD-WCAYUDM20272 465.7GB Member Disk(0)
4 WDC WD5000AAKX-2 WD-WCAYUDP11752 465.7GB Spare Disk
After drive removal, we pulled Disk 2 from the hot-swap bay.
C:\IntelUtil>raidcfg32 /st
Intel(R) RAID Utility for Serial ATA - v10.0.0.1046
Copyright(C) 2003-10 Intel Corporation. All Rights Reserved.
RAID Volumes:
ID Name Level Strip Size Status Bootable
0 Volume0 RAID1(Mirror) N/A 465.8GB Updating Yes
Physical Devices:
Port Device Model Serial # Size Type/Status(Vol ID)
0 WDC WD5000AAKX-2 WD-WCAYUDP68864 465.7GB Member Disk(0)
Watching rebuild progress, the raidcfg32 /i command generates a lot of information. We
only wanted to monitor the line with the Rebuild information, so we piped the results to the find command. It
was very easy to monitor progress by occasionally hitting the up-arrow then <enter> to re-issue the last
command. Rebuild of the 500GB mirror took about 1.7 hours.
C:\IntelUtil>raidcfg32 /i | find "Rebuild"
SerialNo:Volume0 Summary:Rebuild: 4.32% Complete
After rebuild completed, we can see the Status is again normal.
Intel(R) RAID Utility for Serial ATA - v10.0.0.1046
Copyright(C) 2003-10 Intel Corporation. All Rights Reserved.
RAID Volumes:
ID Name Level Strip Size Status Bootable
0 Volume0 RAID1(Mirror) N/A 465.8GB Normal Yes
Physical Devices:
Port Device Model Serial # Size Type/Status(Vol ID)
0 WDC WD5000AAKX-2 WD-WCAYUDP68864 465.7GB Member Disk(0)
4 WDC WD5000AAKX-2 WD-WCAYUDP11752 465.7GB Member Disk(0)
Plugging in previously removed drive, what becomes of the stale mirror data on Disk 2? We were
concerned the stale mirror data would could cause problems with the rebuilt mirror set. As it turns out, Disk
2 was seen as "Unknown Disk", which seems like a good thing.
C:\IntelUtil>raidcfg32 /st
Intel(R) RAID Utility for Serial ATA - v10.0.0.1046
Copyright(C) 2003-10 Intel Corporation. All Rights Reserved.
RAID Volumes:
ID Name Level Strip Size Status Bootable
0 Volume0 RAID1(Mirror) N/A 465.8GB Normal Yes
Physical Devices:
Port Device Model Serial # Size Type/Status(Vol ID)
0 WDC WD5000AAKX-2 WD-WCAYUDP68864 465.7GB Member Disk(0)
2 WDC WD5000AAKX-2 WD-WCAYUDM20272 465.7GB Unknown Disk
4 WDC WD5000AAKX-2 WD-WCAYUDP11752 465.7GB Member Disk(0)
Tried marking "Unknown Disk" as spare, but apparently the "RAID" information (MetaData) on Disk 2
needed to wiped first.
C:\IntelUtil>raidcfg32 /spare:2
Drive 2-0 Spare Failed, Illegal Disk Action - ISM_ERROR
Resetting Disk, removing "RAID" information (MetaData) from "Unknown Disk". The help information
for the various switches of the raidcfg32 command is not very clear. In fact, the help information for the /x
switch is alarming: "Remove metadata from all disks. Selecting a single disk with the /DS option will delete
the metadata from all volume members." So which is it? All disks? All volume members? How about a single
disk?
With crossed fingers, we tried the /x switch (remove metadata), specifying Disk 2 with the /ds:2 switch.
(Nice touch that the prompt was much more reassuring!).
C:\IntelUtil>raidcfg32 /ds:2 /x
Selected Disks: Disk(Port:2)
All volumes contained on this disk will be deleted and all related volume
member disks will be reset
Are you sure you want to reset the selected disks? (y/n)
Removing MetaData from selected disks...Completed
Verify status, succeeded! Disk 2 is indeed available again as a Non-RAID disk!
C:\IntelUtil>raidcfg32 /st
Intel(R) RAID Utility for Serial ATA - v10.0.0.1046
Copyright(C) 2003-10 Intel Corporation. All Rights Reserved.
RAID Volumes:
ID Name Level Strip Size Status Bootable
0 Volume0 RAID1(Mirror) N/A 465.8GB Normal Yes
Physical Devices:
Port Device Model Serial # Size Type/Status(Vol ID)
0 WDC WD5000AAKX-2 WD-WCAYUDP68864 465.7GB Member Disk(0)
2 WDC WD5000AAKX-2 WD-WCAYUDM20272 465.7GB Non-RAID Disk
4 WDC WD5000AAKX-2 WD-WCAYUDP11752 465.7GB Member Disk(0)
Mark "Non-RAID Disk" as spare, that was painless.
C:\IntelUtil>raidcfg32 /spare:2
Drive 2-0 marked as a spare
Final step, check status. Our standard RAID1 + HotSpare configuration has been restored. Disks 0
and 4 are now the mirror set, and Disk 2 is now the HotSpare.
C:\IntelUtil>raidcfg32 /st
Intel(R) RAID Utility for Serial ATA - v10.0.0.1046
Copyright(C) 2003-10 Intel Corporation. All Rights Reserved.
RAID Volumes:
ID Name Level Strip Size Status Bootable
0 Volume0 RAID1(Mirror) N/A 465.8GB Normal Yes
Physical Devices:
Port Device Model Serial # Size Type/Status(Vol ID)
0 WDC WD5000AAKX-2 WD-WCAYUDP68864 465.7GB Member Disk(0)
2 WDC WD5000AAKX-2 WD-WCAYUDM20272 465.7GB Spare Disk
4 WDC WD5000AAKX-2 WD-WCAYUDP11752 465.7GB Member Disk(0)
|