J C*_*ins 6 sata zfs enclosures
我在 SATA 多路复用器的外部机箱中有一组 5 个 1TB WD Red 驱动器。这被输入到带有 SATA 多路复用器控制器的台式机中。
经过大约一年的服务(这已经发生了两次),阵列将开始自行重置,如本视频所示。没有任何特定驱动器出现故障的迹象,只是机箱关闭并且阵列中的所有驱动器断开连接。
我有两个这样的机箱,当我将它们从一个移动到另一个时,错误总是与冗余阵列有关。多年来,机箱和接口卡一直保持不变,但安装的新驱动器又解决了一年的问题。
可能有很多事情,从嘈杂的电源缓慢杀死驱动电源电路到 ZFS 的糟糕操作系统实现,但很难知道从哪里开始。什么策略可以让我找出问题的实际所在?
操作系统:CentOS 7.0,内核:3.10.0
外壳:SiI 3726 多路复用器
接口卡:SiI 3132解复用器
硬盘:WD10EFRX
留言:
发生复位时:
[ttt.tttt] ata4.03: exception Emask 0x100 SAct 0x0 SErr 0x0 action 0x6 frozen
[ttt.tttt] ata4.03: failed command: WRITE DMA EXT
[ttt.tttt] ata4.03: cmd 35/00:.. ...:00/e0 tag 3 dma 144688 out
[ttt.tttt] ata4.03: status: { Busy }
[ttt.tttt] ata4.03: error: { ICRC UNC AMNF IDNF ABRT }
Run Code Online (Sandbox Code Playgroud)
一旦 zpool 完全停止:
[ttt.tttt] INFO: task txg_sync:xxxxx blocked for more than 120 seconds
[ttt.tttt] INFO: task zpool:xxxxx blocked for more than 120 seconds
Run Code Online (Sandbox Code Playgroud)
一旦第二次发生以响应终端命令,例如
$ zpool status
Run Code Online (Sandbox Code Playgroud)
该系统基本上没有用,需要完全重新启动。
如最新视频所示,该问题与驱动器电压下降无关。我认为这是一个关键信息,盒子本身正在重置,所有灯,甚至它自己的电源灯都在重置。
发送到 dmesg 的消息非常庞大,太长而无法附加。
输出badblocks
:
$ badblocks -vn /dev/sdp1
irq_stat 0x00060002, device error via SDB FIS
SError: { Handshk }
failed command: WRITE FPDMA QUEUED
cmd 61/...
res 41/... ...Emask 0x410 (ATA bus error) <F>
status: { DRDY ERR }
error: { ICRC ABRT }
Run Code Online (Sandbox Code Playgroud)
对于阵列中的所有 5 个驱动器,这种情况同样发生。这就像盒子变得超载并重新设置自己。
更新:06/12/2017
所有驱动器都移至 USB3 互连而非 eSATA 上的第二个机箱。
将所有驱动器移至新机箱后,badblocks
命令在每个驱动器上运行,没有出现任何错误。然后导入池并运行清理。未发现任何错误,擦洗成功完成。然而今天,所有 5 个驱动器都列出了一条消息(无法判断它们是否是这个池/槽/阵列的驱动器):
WARNING: Your hard drive is failing
Device: /dev/sdk [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdl [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdm [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdn [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdo [SAT], unable to open device
Run Code Online (Sandbox Code Playgroud)
在此之后,试图列出驱动器的内容,它锁定了终端。一个新终端锁定在任何zpool
命令上。top
列表txg_sync
和一堆z_rd_int_x
都有一定 CPU 使用率的进程。另外两个池正在通过 SAMBA 成功地提供文件,一个在zpool status
挂起时继续重新同步(仅由高清灯证明)。
smartctl
数据:12/12/2017
作为每评注,以下是smartctl
用于数据UDMA_CRC_Error_Count
。
对于当前失败的数组的第二次迭代:
4193, 4030, 3939, 2869, 3977
Run Code Online (Sandbox Code Playgroud)
对于原始阵列(已换出驱动器 3):
3003, 3666, 0, 4536, 5309
Run Code Online (Sandbox Code Playgroud)
对于同一机箱和连接中的 RAID0 条带
523, 504, 526, 553, 476
Run Code Online (Sandbox Code Playgroud)
对于主机内部托管的带有热备件的 ZFS 镜像:
0, 0, 0
Run Code Online (Sandbox Code Playgroud)
在 Seagate Archive 驱动器上,似乎是胡说八道。:
Temperature_Celsius UDMA_CRC_Error_Count Head_Flying_Hours
40 (0 16 0 0 0) 0 57501022168585
Run Code Online (Sandbox Code Playgroud)
这可能只是表明 eSATA 和 USB 3.0 本质上是嘈杂的,数据损坏是不可避免的。
SMART 统计数据表明硬盘驱动器在其链接上发现了 CRC 错误。(要验证这不是以前已解决的问题,您应该监控UDMA_CRC_Error_Count
一段时间内的值 - 它是磁盘生命周期内的错误总数)
我以前见过这种情况,涉及到坏的 SATA 电缆。更换电缆已经解决了问题(计数器仍然有其值,但值保持不变)。但这是一个相当复杂的设置,问题可能出在电缆、复用器/解复用器或外壳中的某处。
归档时间: |
|
查看次数: |
489 次 |
最近记录: |