When working with Supermicro's X8DTL-i motherboard, you'll encounter an interesting identification quirk. The BIOS identifies the controller as Intel ICH10R, but Windows Device Manager shows it as "Adaptec Serial ATA HostRAID". This occurs because:
// Sample PowerShell to check controller info
Get-WmiObject Win32_SCSIController | Where-Object {$_.Description -like "*Adaptec*"} |
Select-Object Name, Manufacturer, DeviceID
After extensive testing with ICH10R-based systems, here are the most effective monitoring methods:
1. Adaptec Storage Manager with Custom Configuration
While limited, ASM can be configured for basic monitoring:
# Sample registry tweak to enable extended logging
[HKEY_LOCAL_MACHINE\SOFTWARE\Adaptec\Adaptec Storage Manager]
"EnableVerboseLogging"=dword:00000001
"SNMPCommunity"="public"
"EmailServer"="smtp.yourdomain.com"
2. SNMP Monitoring via Custom Scripts
Create a PowerShell script that polls RAID status:
# RAID status check script
$raidStatus = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*ADAPTEC*"} |
Select-Object DeviceID, OperationalStatus, HealthStatus
if ($raidStatus.OperationalStatus -ne "OK") {
# Send SNMP trap
Invoke-WebRequest -Uri "http://opennms-server/snmp?trap=raidDegraded" -Method Post
}
3. Windows Event Log Monitoring /h2>
The ICH10R controller logs events to System logs. Create a custom event viewer filter:
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">
*[System[Provider[@Name='iaStor'] and (Level=2)]]
</Select>
</Query>
</QueryList>
For Server Core installations where GUI tools aren't available:
# WMI query for RAID health (works on Server Core)
Get-WmiObject -Namespace root\wmi -Class MSStorageDriver_FailurePredictStatus |
Where-Object {$_.InstanceName -like "*ICH10R*"} |
Select-Object InstanceName, PredictFailure, Reason
Several monitoring tools can integrate with ICH10R:
- PRTG Network Monitor (custom sensor scripts)
- Zabbix (low-level S.M.A.R.T. monitoring)
- Nagios (check_raid_smart plugin)
Example Nagios configuration:
define service {
service_description RAID Status
host_name your-server
check_command check_nrpe!check_raid_status
use generic-service
}
Many administrators encounter confusion when dealing with the Intel ICH10R controller that reports as an Adaptec device in Windows. This hybrid implementation combines Intel's chipset with Adaptec's firmware, creating monitoring challenges. During boot, you'll see:
Controller #00: HostRAID-ICH10r at PCI Bus:00...
Yet Windows Device Manager displays "Adaptec Serial ATA HostRAID." This dual identity creates complications for monitoring solutions.
After extensive testing with the MBD-X8-DTL-I-O motherboard, here are the most effective monitoring methods:
1. SNMP Monitoring with SNMPInformant
While standard SNMP won't show RAID status, you can use SNMPInformant to monitor disk health indicators. Install with:
msiexec /i SNMPInformant-STD-x64.msi /quiet /norestart
Then query disk status using PowerShell:
Get-SNMPData -Community public -IP 127.0.0.1 -OID .1.3.6.1.4.1.2680.1.2.101
2. Adaptec Storage Manager Workaround
Despite limitations, the Adaptec Storage Manager can send SNMP traps for critical events. Configure the alert destination in asm_alert.cfg:
ALERT_DESTINATION = "snmp" SNMP_COMMUNITY = "public" SNMP_TRAP_HOST = "your.nms.server"
When higher-level RAID monitoring fails, fall back to SMART attribute monitoring using smartmontools:
smartctl -d sat -a /dev/sda
Parse the output for critical attributes (Reallocated_Sector_Ct, Current_Pending_Sector):
$disks = Get-PhysicalDisk | Where-Object {$_.MediaType -eq "HDD"} foreach ($disk in $disks) { $health = (Get-StorageReliabilityCounter -PhysicalDisk $disk).HealthStatus if ($health -ne "Healthy") { Send-SNMPTrap -Message "Disk $($disk.DeviceId) degraded: $health" } }
Configure a scheduled task to check for RAID-related events in System logs:
$query = @" <QueryList> <Query Id="0" Path="System"> <Select Path="System"> *[System[Provider[@Name='iaStor'] and (Level=1 or Level=2)]] </Select> </Query> </QueryList> "@ Get-WinEvent -FilterXml $query | ForEach-Object { # Process critical storage events }
For basic health checks, query Win32_DiskDrive status:
Get-WmiObject -Class Win32_DiskDrive | Where-Object {$_.InterfaceType -eq "SCSI"} | Select-Object Model, Status
This helps identify when the controller reports a disk as failed, though it won't show array degradation.