怀疑 zpool 中一个驱动器有故障,但显示四个驱动器?

怀疑 zpool 中一个驱动器有故障,但显示四个驱动器?

我有一个为我自己和我的朋友运行的服务器。我们在主启动驱动器上使用 Ubuntu 18.04 LTS 服务器托管游戏,并使用 RAIDZ2 池来存储这些游戏、音乐、电影等的备份。

每周到两周我都会遇到一个有故障的池和很多读/写错误。

me@server:/$ zpool status NAS
pool: NAS
state: ONLINE
status: One or more devices are faulted in response to IO failures.
action: Make sure the affected devices are connected, then run 'zpool 
clear'.
see: http://zfsonlinux.org/msg/ZFS-8000-HC
scan: scrub repaired 0B in 3h19m with 0 errors on Sun Aug 11 07:14:28 2019
config:

    NAME        STATE     READ WRITE CKSUM
    NAS         ONLINE       0   511     0
      raidz2-0  ONLINE       0   200     0
        sdc     ONLINE       0     0     0
        sdd     ONLINE       0     0     0
        sde     ONLINE       3   224     0
        sdf     ONLINE      12   225     0
        sdg     ONLINE       3   226     0
        sdh     ONLINE       3   227     0
    spares
      sdb       AVAIL

这些错误永远不会导致任何数据丢失,并且清理永远不会导致池必须修复任何字节。我总是必须重新启动计算机才能将池再次安装到文件系统。几个月来我一直有同样的模式。看看这个,这对我来说要么是一个磁盘坏了(sdf),要么实际上所有磁盘都在发生故障并显示出故障前的迹象。使用 SMART 运行磁盘自检总是能正常返回,在我重置计算机并运行测试后,驱动器上没有显示任何问题。我分配了一个热备用,希望在发生故障时它可以派上用场。此时我想我应该用 sdb 替换驱动器 sdf 并看看这是否可以解决问题。

所以,我的问题本质上是,当我在多个驱动器上的池中看到这样的错误时,是否总是所有驱动器都处于故障前状态,或者冗余算法是否会导致一个坏磁盘“传播”错误其他驱动器?

编辑:添加在评论中,但也为了可见性而添加在这里。我买了所有这些用过的驱动器。所有这些都直接插入电路板。我不记得确切的设置,但我认为主板上有两个芯片处理 2/3 的端口,英特尔南桥处理其余的端口 - 我没有硬件 raid 控制器。我从来没有在 sd[cd] 上出现错误,只在其他四个上出现错误,而且总是在这种模式下,[f] 最多,[egh] 较少,而且几乎相同。

答案1

每当您在多个驱动器上同时出现错误时,尤其是当它们位于同一控制器上时,控制器或布线应该是您的首要嫌疑。即使是高质量的 SATA 电缆也相当便宜,因此一个简单的尝试就是更换一个或两个驱动器的电缆,看看是否有任何区别。确保它们的两端均已牢固插入。

假设您的磁盘正确且诚实地报告 SMART 数据(远非所有消费级磁盘都能做到),您可以通过查看 SMART 属性 199, 来确认数据布线问题UDMA_CRC_Error_Count。如果该数字正在增长,特别是如果它与报告存储错误的操作系统同时增长,则很可能存在数据布线问题。属性184End-to-End_Error也可以提供信息。

一般来说,只要Reallocated_Sector_CtReallocated_Event_CountCurrent_Pending_SectorOffline_Uncorrectable保持不变,就可以大概不是磁盘本身有问题,这会导致布线或控制器失效。关于我能想象的唯一情况,那些会留在原处但磁盘会出现问题的情况是磁头对齐问题,但如果是这样的话,您将不会只遇到一些错误。

如果您还没有这样做,那么设置您的系统以某种方式允许您跟踪一段时间内的 SMART 数据趋势可能不是一个坏主意。我倾向于发现趋势比仅仅一个时间快照和“之前的价值不是更高/更低吗?”的感觉更能提供信息。

相关内容