我在syslog中收到这些神秘的消息,因为我安装了一些新的硬件,我无法弄清楚问题是什么,如果它是严重的,或者该怎么做.
它们来自新的SATA HBA,它们遵循一种模式.我会得到几条第一条消息,然后是5-30秒之后的第二条消息.它们都是以相同的秒数记录的blob,每个的确切数量在大约2到35之间变化.条目的出现之间可以是几分钟或几小时.
两条消息的示例:
Jul 13 06:06:23 durandal kernel: [366918.435596] mpt2sas0: log_info(0x31120303): originator(PL),code(0x12),sub_code(0x0303) Jul 13 06:06:28 durandal kernel: [366923.145524] mpt2sas0: log_info(0x31110d01): originator(PL),code(0x11),sub_code(0x0d01)
始终为0x31120303,后跟0x31110d01.
mpt2sas是我正在使用的SATA主机总线适配器的驱动程序,但错误内容过于神秘.它没有告诉我问题是什么,它是什么磁盘或端口或它有多严重.
硬件
Supermicro X9SCL配备Xeon E3-1220和8GB RAM.
基于LSI SAS2008的Supermicro @L_502_2@ SAS / SATA HBA连接到Supermicro CSE-M35T-1B磁盘托盘组.它有三个Western Digital WD30EZRX和两个Segate ST3000DM001插入其中.所有3TB驱动器(实际上完全相同的扇区数).没有使用端口扩展器.
HBA,磁盘托架和4个驱动器都是新的.其中一个WD30EZRX已经存在了几个月,没有任何问题.如果它先前已连接到集成的Intel SATA控制器,请使用此新设置将其移至驱动器托架中.
HBA存在问题需要经常重置并获得非常糟糕的性能.将固件/ BIOS更新为“第12阶段”,这是Supermicro提供的最新版本,并将类型更改为IT(即直通,从集成raid到IR,因为我将使用所有软件raid):2008IT12.FW.该更新清除了所有早期问题,直到稍后我才开始收到上述消息(见下文).
我添加的前四个磁盘都在第一个SFF-8087端口上(分成4个SATA电缆).我添加的最新磁盘是在另一个端口,如果这很重要.
系统中唯一的其他磁盘包含操作系统,并且是插入集成SATA控制器的较旧的Intel 80GB SSD.
软件
Ubuntu 11.10(oneiric). Linux 3.0.0-14-server x86_64.使用操作系统附带的mpt2sas驱动程序.
尝试使用Linux md和这五个磁盘构建RAID6阵列.开始使用退化的3个磁盘阵列,两个Segates和一个新的WD驱动器.这很快,并且非常顺利,在我进行固件更新后,日志中没有消息.同时,我仍然在同一控制器的端口0上使用旧的WD磁盘.
将另一个新的WD磁盘添加到阵列中.重建开始,我现在定期在syslog中收到这些消息.我不确定将磁盘添加到阵列需要多长时间,但估计的时间(cat / proc / mdstat)范围从数千到数万分钟,比前3个磁盘长得多.我明白WD磁盘要慢得多;我有不同的型号来减少多磁盘故障的可能性,那是两个最便宜的3TB型号.
笔记
SMART不会在任何磁盘上报告任何问题.任何磁盘上都没有记录错误,并且没有任何故障统计信息接近阈值.
记录的消息仅在我添加最后一个磁盘后才开始显示,这表明可能有问题,但我没有其他任何指向它.
我确实找到了一个header file,似乎对应于来自此驱动程序的日志消息.第一条消息似乎是未列出的“子代码”0303的中止(代码12).第二条消息是重置(代码11),原因也不清楚.如果我能确定0303和0d01的含义,那将非常有用.
我知道5磁盘RAID6中的4个磁盘是不完整的阵列.我计划在完成第四个磁盘的集成后将旧磁盘的内容复制到阵列,然后将旧磁盘添加到阵列中.
解决方法
>如果供应商可用,请运行供应商提供的任何诊断工具
>检查/重新安装/更换电缆
>剥离硬件组件并换掉将磁盘连接到raid控制器的链中的硬件,包括控制器本身(即,对于您,尝试除主板集成raid之外的其他内容).
我有两个相同的Dell PowerEdge R515中的一个给出非常相似的消息(日志定期填写mpt2sas0消息,但我没有确切的数字代码).戴尔自己的可启动诊断将这些视为“硬件错误”,并且更换RAID sas背板解决了这个问题.
当我在调查时,我找不到各种mpt2sas0错误代码的全面资源.我怀疑它们甚至可能是特定于硬件供应商的(有更多关于SAS的人需要确认或否认这一点).因此,您的错误代码可能意味着大不相同,但如果SMART是干净的,很难想象mpt2sas0报告错误代码的其他充分理由.
这些错误可能非常严重.我的R515使用12个磁盘Ubuntu Linux软件raid 6,这些消息看起来似乎没那么好,但随后突然将所有12个磁盘从阵列中弹出(!)
同样在我的情况下,所有磁盘的SMART都是完全干净的.一个好的检查是智能自诊断测试:smartctl -t long / dev / sdX,然后使用smartctl -l selftest / dev / sdX检查一天后的结果.如果一切正常,则测试应该表示已完成且LBA_first_err列应为空.