February 19, 2021

关于使用mpt2/3sas直通卡在黑群DS918+上出现磁盘数据错误的问题 禁用休眠可以暂时缓解

其实我是在直通SAS卡和同时使用了virtIO_NET 网卡时发现的这个问题:

[  716.033124] mpt2sas_cm0: _config_request: timeout‌‌[  716.033747] mpt2sas_cm0: failure at /linux/syno/linux/apollolake/drivers/scsi/mpt3sas/mpt3sas_transport.c:160/_transport_set_identify()!‌‌[  731.034124] mpt2sas_cm0: _config_request: timeout‌‌[  762.089218] mpt2sas_cm0: _base_event_notification: timeout‌‌[  762.089851] mpt2sas_cm0: failure at /linux/syno/linux/apollolake/drivers/scsi/mpt3sas/mpt3sas_transport.c:160/_transport_set_identify()!‌‌[  777.091125] mpt2sas_cm0: _config_request: timeout‌‌[  808.163125] mpt2sas_cm0: _base_event_notification: timeout‌‌[  808.163808] mpt2sas_cm0: failure at /linux/syno/linux/apollolake/drivers/scsi/mpt3sas/mpt3sas_transport.c:160/_transport_set_identify()!‌‌[  823.165066] mpt2sas_cm0: _config_request: timeout‌‌[  854.236128] mpt2sas_cm0: _base_event_notification: timeout‌‌[  854.236859] mpt2sas_cm0: failure at /linux/syno/linux/apollolake/drivers/scsi/mpt3sas/mpt3sas_transport.c:160/_transport_set_identify()! 然后kernel log就会不停的打印btrfs上的树出现不正常,数据校验用完了所有位置。目前60T用掉只剩下200多G可用的情况下 还好 只丢失了70G的动画片其余数据全部完整在线 。

为了利用板载的IGP UHD630硬解视频不得不上918+的image做黑群,不过这机器原生就不带多余的PCIE槽自然新内核也不会有更新的lsi sas卡驱动,尽管ig-88发布的extra 0.13.3的附加驱动实现更新支持,里面看起来是有BUG的连接公布在了XPENOLOGY上,他提到尽管有驱动能用个别SAS卡 但数据会很危险 他个人对丢失数据不负有任何责任 但他提到 禁用SAS卡上硬盘的休眠可以缓解数据校验出错的问题 他也同时提到:使用mpt2/3sas卡在黑裙DS918+直通上出现磁盘数据错误的问题 禁用休眠可以暂时缓解

所以我关掉了群晖上的磁盘休眠 果然内核日志不再反复频繁打印出错日志了。之后还要试试看在其他VM上狂操VirtIO_net这张卡会不会问题继续复现。 另外发现虚拟的VirtIO 在只有4个以内的线程中比直通更能用满万兆带宽. 但是对于vm群晖的确是有影响系统的稳定,所以群晖的网卡还是只能考虑直通。既然群晖麻烦多多未来不排除抛弃它的存储功能,换成truenas scale直接上ZFS再虚拟出群晖来硬解码