J C*_*ins 6 zfs centos hard-disk
我已经建立了一个家庭数据服务器,并且已经关闭了除驱动器本身之外的几乎所有部件。
从在 CentOS 中使用软件 RAID 开始,我已经在 RAID 0 中运行了一系列 5 个驱动器,实际上完美无缺,两年。这完全是运行 RAID 的最危险方式。其他 5 个驱动器与前 5 个相同且来自同一批次,始终采用某种形式的 RAID 5 配置,首先使用软件 RAID,然后在完全重建后使用 ZFS。在经过数月的防弹服务后,该套装总是会定期放弃并以或多或少壮观的方式下线。
这些驱动器一直存在于最初通过多路复用 eSATA 连接的外部机箱中,现在通过多路复用 USB3 连接。
起初我认为问题可能出在廉价的机箱/多路复用器上,所以我在我拥有的两个机箱之间交换了 RAID 0 的 5 个驱动器和 RAID 5 阵列。RAID 0 继续完美无缺,RAID 5 继续有这些周期性的停电。
我首先暗示问题出在集合中的一个驱动器上,但五个驱动器中没有一个的问题比其他任何一个都多。所以我想知道 RAID 5 是否有一些奇怪的电源要求导致机箱跳闸,并投资了另一个机箱,这次是 USB 3 连接盒 - USB3 比 eSATA 更积极。
所以这已经稳定地工作了六个月,直到今天。在终端上,我收到了 5 条连续的消息:
WARNING: Your hard drive is failing
Device: /dev/sda [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdb [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdc [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdd [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sde [SAT], unable to open device
Run Code Online (Sandbox Code Playgroud)
我已经去掉了盒子、多路复用器的连接、PCIe eSATA 扩展板,问题肯定出在驱动器上,但除了把它们全部扔掉之外,我想不出如何调试。当它第一次发生时zpool status,所有驱动器的错误几乎相同,奇怪的是它们都按字母顺序消失了。
我 zpool 清除,它重新同步,一切都很好一段时间,然后它停止响应。现在spool status从字面上挂起终端并且不受 Ctrl+C 的影响。
新讯息:
/dev/sda-e自发地将自己重命名为/dev/sda1-e1,由于没有读取或写入,我重新启动了驱动器盒。这些设备消失了,然后又如预期的那样重新出现,但1它们的名字仍然带有后缀。
更新:(06/03/2017)
使用Oracle 文档,我尝试设置failmode为continue:
zpool set failmode=continue tank
Run Code Online (Sandbox Code Playgroud)
在这种模式下,我继续定期获得
WARNING: Your hard drive is failing
Device: /dev/sda [SAT], unable to open device
Run Code Online (Sandbox Code Playgroud)
并且阵列中的驱动器都会产生写入错误:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 16 59
raidz1-0 ONLINE 0 32 118
ata-WDC_WDC_WD10-68... ONLINE 0 14 0
ata-WDC_WDC_WD10-68... ONLINE 0 12 0
sda ONLINE 0 12 0
ata-WDC_WDC_WD10-68... ONLINE 0 12 0
ata-WDC_WDC_WD10-68... ONLINE 0 14 0
errors: 67 data errors, use '-v' for a list
Run Code Online (Sandbox Code Playgroud)
但是此时至少 zpool 保持活动状态并且不会无限期地挂起终端或挂起其他池。
有趣的是,只有写入在所有驱动器上产生错误,而且数量非常相等。
由于消息是由smartdnotify生成的,并且系统确实无法访问设备,因此我建议先调查驱动器问题,因为这看起来像是硬件问题。
对此zfs无能为力。更换故障硬盘驱动器(或电缆或控制器)后,zfs可能能够再次恢复池。