FreeBSD VMware和CAM状态:SCSI状态错误

我正在VPS(VMware)上运行FreeBSD 10.1-RELEASE-p19。

我的ISP正在经历一个快速的数据增长,这些消息自发地在一周前开始出现在我们的日志中。

Sep 25 09:00:50 srv03 kernel: (da0:mpt0:0:0:0): SCSI status: Busy Sep 25 09:00:50 srv03 kernel: (da0:mpt0:0:0:0): Retrying command Sep 25 09:00:50 srv03 kernel: (da0:mpt0:0:0:0): WRITE(10). CDB: 2a 00 03 f9 6c 22 00 00 40 00 Sep 25 09:00:50 srv03 kernel: (da0:mpt0:0:0:0): CAM status: SCSI Status Error 

有时服务器完全失去与存储的联系,然后恐慌和重新启动。 这经常发生在每个偶数小时,大概是由日常工作(迁移/备份)发生。

直到我的ISP增加了更多的存储系统,这将降低存储的负载,我真的想尝试做一些事情。

我find了这个,但不确定如何修补/使用这些信息: https : //svnweb.freebsd.org/base?view=revision&revision=278111

我也发现这个( vfs.unmapped_buf_allowed=0 ),但我不确定这可能是相关的? https://www.freebsd.org/releases/10.1R/errata.html#open-issues

camcontrol tags da0 -v

 (pass1:mpt0:0:0:0): dev_openings 127 (pass1:mpt0:0:0:0): dev_active 0 (pass1:mpt0:0:0:0): devq_openings 127 (pass1:mpt0:0:0:0): devq_queued 0 (pass1:mpt0:0:0:0): held -1 (pass1:mpt0:0:0:0): mintags 2 (pass1:mpt0:0:0:0): maxtags 255 

发生错误时的gstat信息: 在这里输入图像说明

任何想法,提示,想法真的真的很感激。

谢谢!

如果你正在使用VMWare,因此mpt(4)纯粹是虚拟的,我build议把它改成更简单的东西,比如ICH10。

否则,我build议你玩camcontrol tags ,增加或减less队列长度。

如果您select使用另一个驱动程序重新configuration磁盘,请注意/dev/daX > SATA控制器更改可能会导致设备命名更改,可能/dev/daX将成为/dev/adaX ,因此除非您使用zfs或通过安装磁盘磁盘标签,你必须编辑/etc/fstab

至于你的gstat输出 – 显然有一些问题,可能与FreeBSD虚拟环境支持的性质有关。 600%的负载是无稽之谈。 我build议你把这个报告给FreeBSD的Bugzilla。

PS更改磁盘configuration控制器types的build议仍然存在。 PPS或。 或者我会尝试爱上mpt(4)的队列长度到128甚至64。