我想知道发生了什么,ZFS是如何能够完全恢复的,或者我的数据是否仍然是真正的灵巧的。当我昨晚进来时,我惊愕地看到了这件事,然后感到困惑.
zpool status
pool: san
state: DEGRADED
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: resilvered 392K in 0h0m with 0 errors on Tue Jan 21 16:36:41 2020
config:
NAME STATE READ WRITE CKSUM
san DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346 ONLINE 0 0 0
ata-ST2000DM001-9YN164_W1E07E0G DEGRADED 0 0 38 too many errors
ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332 DEGRADED 0 0 63 too many errors
ata-ST2000NM0011_Z1P07NVZ ONLINE 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344 ONLINE 0 0 0
wwn-0x50014ee20949b6f9 DEGRADED 0 0 75 too many errors
errors: No known data errors 怎么可能没有数据错误,而整个池没有故障呢?
一个驱动器sdf的smartctl测试失败到S.M.A.R.T. read fail,另一个驱动器的问题稍微小一些;不可纠正的/待定扇区或UDMA CRC错误。
我试着把每一个错误的驱动器切换到离线,然后恢复在线,一次一个,这是没有帮助的。
$ zpool status
pool: san
state: DEGRADED
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: resilvered 392K in 0h0m with 0 errors on Tue Jan 21 16:36:41 2020
config:
NAME STATE READ WRITE CKSUM
san DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346 ONLINE 0 0 0
ata-ST2000DM001-9YN164_W1E07E0G DEGRADED 0 0 38 too many errors
ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332 OFFLINE 0 0 63
ata-ST2000NM0011_Z1P07NVZ ONLINE 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344 ONLINE 0 0 0
wwn-0x50014ee20949b6f9 DEGRADED 0 0 75 too many errors所以,我感到非常幸运,或者有点困惑,如果我的数据真的还在那里,经过一次检查,找出最糟糕的驱动器,我做了我唯一的备用。
$ zpool status
pool: san
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Tue Jan 21 17:33:15 2020
467G scanned out of 8.91T at 174M/s, 14h10m to go
77.6G resilvered, 5.12% done
config:
NAME STATE READ WRITE CKSUM
san DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346 ONLINE 0 0 0
replacing-1 DEGRADED 0 0 0
ata-ST2000DM001-9YN164_W1E07E0G OFFLINE 0 0 38
ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1171516 ONLINE 0 0 0 (resilvering)
ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332 DEGRADED 0 0 63 too many errors
ata-ST2000NM0011_Z1P07NVZ ONLINE 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344 ONLINE 0 0 0
wwn-0x50014ee20949b6f9 DEGRADED 0 0 75 too many errors重银币确实成功地完成了。
$ zpool status
pool: san
state: DEGRADED
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: resilvered 1.48T in 12h5m with 0 errors on Wed Jan 22 05:38:48 2020
config:
NAME STATE READ WRITE CKSUM
san DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346 ONLINE 0 0 0
ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1171516 ONLINE 0 0 0
ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332 DEGRADED 0 0 63 too many errors
ata-ST2000NM0011_Z1P07NVZ ONLINE 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344 ONLINE 0 0 0
wwn-0x50014ee20949b6f9 DEGRADED 0 0 75 too many errors我现在正处在十字路口。我通常会将错误驱动器的前2MB替换为dd 0,这样做是可以的,但是如果确实缺少数据,我可能需要这最后两个卷来恢复。
我把这个sdf放在桌子上了,移走了。我觉得我可以,最坏的情况下,用这个来帮助一些恢复。
在此期间,我认为我将开发/零的前几MB的退化驱动器,并替换为自己,我认为事情应该解决,冲洗和重复的第二个错误驱动器,直到我可以得到一些替代。
问题到底发生了什么,池是如何能够坚持下来的,或者我可能遗漏了一些数据(考虑到zfs及其报告的完整性,有些数据令人怀疑)
这可能是因为一个幸运的失败顺序,例如没有失败的堆栈顶部驱动器?
问题这个问题只是FYI,与主题无关。是什么原因导致了这三者同时失败呢?我想是因为擦洗剂造成的。我前一天晚上查过了,所有的硬盘都在网上。
请注意,在最近的过去,布线一直是一个问题,办公室在夜间变冷,但这些问题只是drive unavailable,而不是校验和错误。我认为这不是电缆,但可能是老化的驱动器,他们是5岁。但一天三次失败?得了吧,这足以吓到我们很多人!
发布于 2020-01-23 14:18:26
RAID-Z2是双奇偶校验,类似于RAID 6的冗余。两个磁盘可能完全失败,数据从奇偶校验中恢复。假设数组的其余部分是健康的。
您不一定有I/O错误。降级意味着ZFS继续使用磁盘.,尽管校验和错误。也许是因为一些翻转,但驱动器仍能工作。输出的每个链接:
运行“zpool状态-x”以确定哪个池发生了错误。为读、写或CKSUM查找具有非零错误计数的设备.这表示设备经历了读取I/O错误、写入I/O错误或校验和验证错误。由于设备是镜像或RAID-Z设备的一部分,ZFS能够从错误中恢复并随后修复损坏的数据。如果这些错误持续了一段时间,ZFS可以确定设备是错误的,并将其标记为错误。然而,这些错误计数可能表示设备不可用,也可能不表示设备不可用。
关于驾驶健康:
也许是老化的驱动器,他们已经5岁了。但一天三次失败?得了吧,这足以吓到我们很多人!
现在备份恢复测试重要数据。来自不同的媒体,而不是这个数组。
更换继续退化的驱动器。当然,如果内核在syslog中报告了I/O错误。如果在保修或支持合同下,利用这一点。如果通过了保修,制造商打赌他们不会持续这么久,所以要考虑这一点。
https://serverfault.com/questions/1000026
复制相似问题