Command-line tools for stress-testing SATA hard disks (and libata)

From: Bradley Chapman
Date: Mon May 12 2008 - 18:28:56 EST


(Please CC me on replies.)

I have a new(ish) 160GB Maxtor SATA hard disk that recently cracked up and failed with lots of ext3 filesystem errors; beforehand, it had started to become flaky and was stalling under certain I/O conditions, emitting DRDY ABRTs to the libata layer and forcing constant link resets. At the moment, the disk appears to be unbootable - GRUB fails to load the stage 2 loader and hangs after loading stage1.5.
Unfortunately, these problems were reproduced on tainted 2.6.24 and 2.6.25 kernels (specifically, fglrx was doing the tainting). Ergo, I'm not formally reporting this as a libata problem (yet).

Can anyone here recommend a command-line disk benchmark or stress test utility that doesn't need to be run in X (allowing me to test with untainted kernels) and would be capable of producing a variety of I/O access patterns that could trigger the errors I've seen during normal usage? I've since replaced the SATA cable and switched the hard disk to a different SATA PHY port, and when I mount individual partitions and access files, the libata layer appears to behave.

Brad

P.S: The 2.6.25.3 libata reports the potentially broken disk as follows:

sata_nv 0000:00:0d.0: version 3.5
...
ata4: SATA max UDMA/133 cmd 0x970 ctl 0xb70 bmdma 0xe008 irq 23
...
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata4.00: ATA-7: MAXTOR STM3160815AS, 3.AAD, max UDMA/133
ata4.00: 312581808 sectors, multi 1: LBA48 NCQ (depth 0/32)
ata4.00: configured for UDMA/133
scsi 3:0:0:0: Direct-Access ATA MAXTOR STM316081 3.AA PQ: 0 ANSI: 5
sd 3:0:0:0: [sdb] 312581808 512-byte hardware sectors (160042 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 3:0:0:0: [sdb] 312581808 512-byte hardware sectors (160042 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdb: sdb1 sdb2 sdb3 sdb4 < sdb5 sdb6 sdb7 sdb8 sdb9 sdb10 >
sd 3:0:0:0: [sdb] Attached SCSI disk
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/