RE: PERC 3/Di Drive failure...
[email protected] Tue, 11 Nov 2003 13:30:16 -0600
| Newsgroups | gmane.linux.drivers.aacraid.devel,gmane.linux.hardware.dell.poweredge |
|---|---|
| Message-ID | <16E52145F803EF44BE0CAB504CEF34E702B954A7@ausx2kmpc106.aus.amer.dell.com> |
(Copying linux-aacraid-devel, this is more relevant there) > Nov 11 04:19:19 foo kernel: aacraid:ID(1:02:0); Error Event > [command:0x28] > Nov 11 04:19:19 foo kernel: aacraid:ID(1:02:0); Medium Error > [k:0x3,c:0x11,q:0x1] > Nov 11 04:19:19 foo kernel: aacraid:ID(1:02:0); Read Retries Exhausted Ouch, you definitely lost a disk, channel 1, id 2. > Nov 11 05:52:51 foo kernel: aacraid:ID(1:02:0) Medium Error, > LBN Range 56084398:56084479 > Nov 11 05:52:52 foo kernel: aacraid:ID(1:02:0) Starting BBR sequence and it tried to remap the bad blocks (BBR is Bad Block Remap) onto good spare blocks on the disk, but that took some time. The controller took longer to try to remap the blocks than Linux was preparted to wait. > Nov 11 12:24:57 foo kernel: aacraid:ID(1:02:0) Starting BBR sequence > Nov 11 12:24:57 foo kernel: aacraid:RAID5 Container 0 Drive > 1:2:0 Failure > Nov 11 12:24:57 foo kernel: aacraid:RAID5 Failover Container > 0 No Failover Assigned But the blocks couldn't be remapped, and the controller noted the drive failure > followed by these a few seconds later: > > Nov 11 12:25:18 foo kernel: aacraid:Drive 1:2:0 returning error > <Drive pulled from system here> > Nov 11 12:26:33 foo kernel: aacraid:ID(1:02:0) - Drive spindown failed > Nov 11 12:26:33 foo kernel: aacraid:Drive 1:2:0 offline on > container 0: 90 seconds or so elapsed between when the OS issued the request, and when the controller was ready to report complete failure to the OS. > So, 2 questions: 1) What caused the failure Disks go bad. > 2) Why did ext3 explode? This is the better question. The SCSI mid-layer's timeout for I/O requests is 60 seconds. After 60 seconds, it invokes the controller's error handling code to try to abort the command. But, the aacraid error handling code (at least in 2.4.20-20.9 kernel) is a NOOP, so the SCSI mid-layer just hung, hence ext3 hung. That's both a shortcoming in the mid-layer (the driver told it that it couldn't abort, mid-layer can't handle that answer), and of the driver (it should try to abort somehow.) Good news is recent aacraid versions in test (v1.1.4) do implement an abort mechanism, which should reduce these types of problems, if not eliminate them completely. In this case the firmware on the controller was still running, so the driver should just wait until all its previous commands complete, then start accepting new commands. I don't believe the 2.4.x SCSI mid-layer error handling is yet prepared to handle being told "no, I can't abort" by the driver; that work was happening in 2.5.x I believe. Thanks, Matt -- Matt Domsch Sr. Software Engineer, Lead Engineer Dell Linux Solutions www.dell.com/linux Linux on Dell mailing lists @ http://lists.us.dell.com _______________________________________________ Linux-aacraid-devel mailing list [email protected] http://lists.us.dell.com/mailman/listinfo/linux-aacraid-devel Please read the FAQ at http://lists.us.dell.com/faq or search the list archives at http://lists.us.dell.com/htdig/