这是我的 dmesg 错误:
[10678.069113] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
[10678.069119] ata1.00: irq_stat 0x40000001
[10678.069124] ata1.00: failed command: FLUSH CACHE EXT
[10678.069134] ata1.00: cmd ea/00:00:00:00:00/00:00:00:00:00/a0 tag 0
[10678.069136] res 51/04:00:34:cf:f3/00:00:00:00:00/a3 Emask 0x1 (device error)
[10678.069141] ata1.00: status: { DRDY ERR }
[10678.069145] ata1.00: error: { ABRT }
[10678.076036] ata1.00: configured for UDMA/100
[10678.076046] ata1: EH complete
这是我的 lspci,http://pastebin.com/XbMPSV26。 我怎样才能解决这个问题?
这种情况会随机发生,持续几秒钟,非常烦人。
答案1
我最近经历了另一种导致这些问题的情况:
服务器崩溃后,我不得不更换一些硬件。设置新硬件后,一些之前运行良好的磁盘出现了上述信息。由于我不愿意相信所有磁盘同时出现故障,我对此进行了更深入的研究,发现了问题的原因:
我之前的 raid 控制器激活了一个低级安全功能并锁定了磁盘(尽管我使用的是 mdadm 软件 raid),如果没有这个控制器,这些磁盘就无法使用。
3wareUserPassword
它是一个3ware控制器,通过设置密码(包括15位)来锁定磁盘。
意识到这一点后,我通过跑步恢复了健康
hdparm --security-unlock "3wareUserPassword " /dev/sdX
hdparm --security-disable "3wareUserPassword " /dev/sdX
hdparm --security-set-pass NULL /dev/sdX
其中 sdX 是驱动器的设备文件。
以下是这一有益智慧的来源:http://blog.chr.istoph.de/tag/hdpam/
答案2
您的系统暂时挂起,因为(最有可能的)磁盘故障导致各种中断错误和 ATA 错误。
你可以进一步调查,但如果我是你,我会仔细检查该存储单元的所有连接(似乎使用 IDE 40 针或 IDE 44 针扁平电缆),如果它们没有明显损坏,只需更换硬盘。
答案3
此错误很可能与 sata 总线上的中心时钟 (SSC) 超出边界有关。在慢速期间积累了太多的 dword,实际上无法在快速期间缓冲释放。但是 sata 支持向下扩展,BIOS 中应该有一个选项可以关闭 SSC,并且像 WD 的驱动器有一个 SSC 禁用跳线(通常打开),尝试调整看看是否有帮助。
它帮助我摆脱了那些 { DRDY ERR } 和 { ABRT } 错误。