我已经使用以下工具构建了一个存储服务器:
- 超微 X9SCM-F 主板
- 三 Syba SI-PEX40057 PCIe SATA 卡
- Ubuntu 服务器 12.04 LTS
卡上的所有 12 个端口都装有存储驱动器,主板上也装有 3 个,还有一个启动驱动器,启动驱动器也在主板上。如果我将一个大文件复制到存储驱动器上,主板上的驱动器可以正常工作,但卡上的驱动器会慢慢开始出现错误,最终系统会放弃并完全禁用控制器,需要重新启动才能恢复。显然不太好。
顺便说一下,如果我的系统里只有三张卡中的一张,一切似乎都运行良好。只有当我有多张卡时,一切才变得脆弱。
Syba 的人真是没用,他们不停地向我解释 Marvell 只支持 Windows,Ubuntu 肯定“在确定使用哪个控制卡的优先级时遇到了问题”。我还想研究如何为每个卡分配自己的 IRQ 和 I/O 端口。但下面的日志显示这已经完成了。
当然,解决办法是丢弃我的两张全新卡,然后购买另一张不同的控制器来替换它们。ಠ_ಠ
我该怎么做才能使这些东西正常运行并协同工作?
对于下面的日志,我做了
tee /srv/storage/c1d2/randombytes /srv/storage/c1d3/randombytes /srv/storage/c1d4/randombytes /srv/storage/c1d5/randombytes > /dev/null < randombytes
其中randombytes
是一个 60GiB 的随机字节文件。
日志啊……
输出
uname -a
:Linux cave-storage 3.8.0-33-generic #48~precise1-Ubuntu SMP Thu Oct 24 16:28:06 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
为了保险起见,输出
lsusb -v