我在 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 添加了更多的存储系统,这将降低存储的负载,我真的想尝试做些事情。
我发现了这一点,但不确定如何修补/使用这些信息: 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
如有任何想法、提示或意见,我将非常非常感激。
谢谢!
答案1
如果您使用的是 VMWare,因此 mpt(4) 是纯虚拟的,我建议将其更改为更简单的版本,例如 ICH10。
否则,我建议您尝试camcontrol tags
增加或减少队列长度。
如果您选择使用其他驱动程序重新配置磁盘,请注意 SAS -> SATA 控制器更改可能会导致设备命名更改,可能/dev/daX
会变成/dev/adaX
,因此除非您使用 zfs 或通过磁盘标签安装磁盘,否则您必须编辑/etc/fstab
。
至于您的gstat
输出 - 显然存在问题,可能是 FreeBSD 中虚拟环境支持的性质造成的。600% 的负载是无稽之谈。我建议您将此问题报告给 FreeBSD Bugzilla。
PS 更改磁盘配置控制器类型的建议仍然有效。 PPS 或者。或者我会尝试将 mpt(4) 的队列长度设置为 128 甚至 64。