在一个小型服务器系统中,我有一个zfs文件系统,带有一对镜像消费级驱动器(希捷Barracudas)。 最近,在定期擦洗操作中,给出了以下结果:
pool: storage state: ONLINE 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: scrub repaired 10.9M in 44h14m with 0 errors on Tue Jun 6 00:11:23 2017 config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 map2_sda ONLINE 0 0 0 map2_sdb ONLINE 0 0 55 errors: No known data errors
在这个擦洗操作和以前的擦洗操作之间有一些电源故障和类似的事件,我认为这可能是故障的可能原因,但是我担心它是即将发生的硬件故障的可能性,特别是考虑到一个磁盘是完全干净的,另一个有多个错误。
smartctl告诉我,嫌疑驱动器在其有生之年(935天)共有117个错误,但是最明显的错误指标已经清除了它们的阈值:
SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 109 081 006 Pre-fail Always - 22737688 5 Reallocated_Sector_Ct 0x0033 092 092 010 Pre-fail Always - 9784 7 Seek_Error_Rate 0x000f 083 060 030 Pre-fail Always - 213798923 9 Power_On_Hours 0x0032 075 075 000 Old_age Always - 22599 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
这里有什么表明我需要抢先取代这个磁盘? 我不需要在这台机器上100%的正常运行时间,但是如果我在紧急情况下必须更换磁盘,则不必担心需要多次重新同步。
如果我是你,我不会真的感到恐慌,当然不会取而代之 (这实际上使你处于一种更加困难的状况,只有一个驱动器,近三年的运行,对于一个44小时以上的重弹器)…我会把我可以合理地把它放在一个空闲的位置,并把它添加到游泳池(而不是作为备用,作为一个三路镜子),如果其他两个之一,如果其中一个先失败,我会换一个大的并增加游泳池…一个更好的functionzfs …但这只是我。
老,但看到谷歌的经验与智能,驱动器故障率,热,年龄…
校验和错误远不如读写错误重要。 虽然读/写错误表示一个块根本无法被读取或写入(这很可能是因为它永久损坏),校验和错误仅仅意味着所收到的不是应该接收到的(根据ZFS自己的校验)。
您可能需要调查错误的原因:
如果找不到任何东西,并获得更多(可能增加或更多)的校验和错误,则可能需要更换该磁盘。 你可以通过首先添加第三个镜像来完成,比如build议四重奏,并在下class时间重启。 机器上的任何额外负载都会减缓重新同步。 根据磁盘的不同,也有可能单独使用“良好”的磁盘比两者的恢复速度更快,但只有当“不好”的磁盘真的很差(我不认为)。