上周我使用常规的 DNF 更新过程更新了我的内核。重新启动时,未检测到我的 mdadm 阵列中的任何驱动器。我将问题缩小到内核问题,并使用较旧的内核进行引导。我等了一周的下一次内核更新并再次运行该过程,希望它只是一个坏内核,但问题还没有解决。Dmesg 显示kernel: mpt2sas_cm0: failure at drivers/scsi/mpt3sas/mpt3sas_scsih.c:10790/_scsih_probe()!
在两个 5.8 内核上。经过一番研究,我很确定 Fedora 已经放弃了对 sas2116 控制器的支持(https://access.redhat.com/discussions/3722151?page=2),所以我要么需要找到这张卡的驱动程序,要么更换它带 12gb/s 卡。
你有什么建议?我在哪里可以找到适用于 Fedora 32 的这张卡的驱动程序以及如何安装它们,或者用什么好的 12gb/s 卡来替换它(该卡目前驱动安装了 12 个驱动器的 24 托架超微型背板)?我目前使用的卡是 LSI 9201-16e。
该问题与较新的 Broadcom/LSI 三模式卡的驱动程序如何为最新驱动程序中非常高的 32455 默认队列深度分配大量 DMA 内存有关。这对于这些旧卡来说是有问题的,因为它们使用相同的驱动程序,但如果原始 DMA 请求未完全分配,则不执行释放所有 DMA 队列然后在 32 位边界上重新请求的逻辑。要解决此问题,您可以设置内核参数以将队列深度降低到 10000:
grubby --update-kernel=ALL --args="mpt3sas.max_queue_depth=10000"
您可以在此处找到更多详细信息:https ://bugzilla.kernel.org/show_bug.cgi?id=209177