When monitoring hard drive health on enterprise hardware, running into the error is a common rite of passage.
One will fail (non-existent drive) or return info for the correct disk.
MegaCli64 -PDList -aALL | grep -E "Enclosure Device ID|Slot Number" Use code with caution. When monitoring hard drive health on enterprise hardware,
Dell PERC controllers are hardware RAID controllers. The OS doesn't see the raw physical disk; it sees a "Logical Drive" created by the PERC firmware. smartctl requires direct ATA/SCSI commands, which the PERC controller intercepts.
Drive Information : ================= ------------------------------------------------------- EID:Slt DID State DG Size Intf Med SED PI SeSz Model ------------------------------------------------------- 252:0 0 Onln 0 1.818 TB SATA HDD N N 512B ST2000NM0001 252:1 1 Onln 0 1.818 TB SATA HDD N N 512B ST2000NM0001 ------------------------------------------------------- Use code with caution. Dell PERC controllers are hardware RAID controllers
This guide explains why this communication breakdown occurs, outlines how to accurately determine your physical drive layout, and details how to correctly address individual storage layers hidden behind hardware abstractions. Why Direct SMART Queries Fail on Hardware RAID Controllers
If the above solution doesn't work, you can try adding additional options: the generic -d megaraid
The numbers trailing after megaraid, represent your physical device target integers ( N ). Method B: Utilizing storcli or perccli
Dell’s PERC cards (especially Series 7, 8, 9, 10, and 11) are rebranded LSI MegaRAID controllers. Therefore, the generic -d megaraid,N flag is the correct interface.
Demystifying the MegaRAID Error: How to Fix "smartctl open device /dev/sda failed" on Dell PERC Servers