仍然得到 aacraid:按照推荐的步骤后,主机适配器中止请求错误

Jim*_*Jim 9 kernel scsi

我的新 Adaptec RAID 控制器在高 I/O 下遇到了臭名昭著的 aacraid:主机适配器中止请求错误。我已经阅读了几个论坛,甚至Adaptecs,将 /sys/block/sdX/device/timeout 值设置为 45 可以解决这个问题。但是,我正在运行 Ubuntu Server 12.04,默认情况下该值已为 45。我还尝试了下一个建议,即将我的主板的 bios 更新到最新版本,我做到了。

我不确定在采取这些步骤之前是否还有其他人遇到过这个“aacraid:主机适配器中止请求”错误。

这是我在系统日志中看到的:

kernel: [ 5493.523282] aacraid: Host adapter abort request (4,0,0,0)
Jan  6 20:29:15 server kernel: [ 5493.523309] aacraid: Host adapter abort request (4,0,0,0)
Jan  6 20:29:15 server kernel: [ 5493.523375] aacraid: Host adapter reset request. SCSI hang ?
Run Code Online (Sandbox Code Playgroud)

这是我的 uname -a

Linux server 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

谢谢大家,

吉姆

小智 2

如果您还没有解决这个问题,我最近正在努力解决同样的问题,随着 IO 的增加,该问题很快升级为阵列每 5 分钟挂起几分钟。Ubuntu 默认使用 CFQ 调度程序,这对于硬件 RAID 来说并不是最佳的。将调度程序切换为 noop:

echo noop > /sys/block/<blockdevice>/queue/scheduler
Run Code Online (Sandbox Code Playgroud)

就我个人而言,我坚持使用旧内核,但我被告知升级到最新的 aacraid 驱动程序应该可以解决问题 - 但无法验证这一点。但即便如此,还是切换到 noop 吧。由于 sysfs 不是永久性的,因此您可能需要设置调度程序/etc/rc.local或使用elevator=引导参数。

我会注意其他内核参数以及 Ubuntu 上的设置对于大多数常见硬件来说都是合理的默认值,但大多数时候服务器确实需要特别注意,无论您使用的是哪种发行版。