ZFS Raid1z 磁盘替换

ZFS Raid1z 磁盘替换

我已经在 Ubuntu 12.04 下使用 5 个磁盘运行 ZFS Raid1z 三年了,一点问题都没有。
不幸的是,磁盘故障的日子已经到来。我丢失了阵列中的一个磁盘,它只是离线了,几天后,第二个磁盘也开始出现错误。当系统在第二个开始出现故障的磁盘上检测到校验和错误(根据 SMART 有一些坏扇区)时,它开始重新镀银阵列,当我到达 PC 时,看到重新镀银已经达到 40%,为了避免灾难,我决定尽快停止服务器。

所以基本上我的数组看起来几乎像这样,并且在某处提到数据丢失了:

NAME                                    STATE     READ WRITE CKSUM
Misu                                    DEGRADED     0     0     0
  raidz1-0                              ONLINE       0     0     0
    scsi-SATA_ST3000DM001-9YN_Z1F1587B  OFFLINE      0     0     0   (failed hdd)
    scsi-SATA_ST3000DM001-9YN_Z1F14J7V  ONLINE       0     0     0
    scsi-SATA_ST3000DM001-9YN_Z1F14JYL  ONLINE       0     0     0
    scsi-SATA_ST3000DM001-1CH_W1F1G04F  ONLINE       0     0     0
    scsi-SATA_ST3000DM001-1CH_W1F1G1H7  ONLINE       134   5     139 (failing hdd)  

由于重新镀银过程需要一些时间,我非常害怕更换第一个磁盘,并希望第二个磁盘(即有校验和错误的磁盘)不会发生故障。因此,我决定更换第一个发生故障的磁盘上的 PCB,因为它有 PCB 问题,而不是机械问题。

所以,如果我设法使第一个磁盘运行,我下一步该做什么,zfs 如何知道磁盘没有被替换(不确定,但我相信更改 pcb 会更改该磁盘的序列号和其他内容)并将该磁盘检测为原始成员?

还有其他信息可以帮助我避免情况变得更糟吗?

答案1

以只读方式重新导入池并在其仍可安装时进行备份。池中有两个坏磁盘,且具有一级奇偶校验保护,如果第二个磁盘也出现脱机故障,则问题会变得更加严重。在备份之前,请避免让硬件休眠或断电重启。

无论更换 PCB 是否会改变磁盘序列号,OpenZFS 都可以识别已修复磁盘上的数据。如果已修复磁盘以不同的 /dev 名称重新出现在系统中,则只需重新导入池即可。必须先在已修复磁盘上进行重新镀银,然后才能更换第二个故障磁盘,此时很可能会发生致命错误。

请注意,这可能是“浴缸”故障,因为磁盘似乎来自同一制造批次。如果是这样,那么预计会出现更多故障。

答案2

我看到这条消息已经很旧了,不过,我会添加我建议的解决方案,以防其他人遇到同样的问题。

你要做的就是启动zpool 替换命令针对的是出现错误的驱动器,而不是处于 OFFLINE 状态的驱动器。我来澄清一下。

如果您离线更换驱动器,您用于恢复信息的更改将消失。您仍会有一个驱动器出现错误,因此受影响的文件将无法恢复。

但是,如果您对有错误的驱动器(scsi-SATA_ST3000DM001-1CH_W1F1G1H7)启动 zpool replace 命令,您将恢复与前一种情况相同的信息,但如果您能够使离线驱动器再次活跃起来,您将有机会恢复其余信息。

在我看来,这是最好的处理方式。ZFS 会知道哪些数据在出现错误的驱动器中是健康的,并且 Resilver 会更快一些,因为 ZFS 正在从更多驱动器读取数据。此外,如果其他驱动器在条带的某个块中出现错误,但返回错误的驱动器的数据处于良好状态,您将能够恢复该条带,因此如果其他驱动器出现错误而其他驱动器没有错误,您不会丢失数据,包括 scsi-SATA_ST3000DM001-1CH_W1F1G1H7。所以不要 OFFLINE scsi-SATA_ST3000DM001-1CH_W1F1G1H7。ZFS 非常擅长利用故障驱动器中的信息,因此它会尽力而为。

如果您的池由 14TB 硬盘组成,并且每个硬盘中有 10TB 已满,则将这 10TB 重新同步到新硬盘上需要不到 24 小时。(硬盘 ~200MB/s 5.4K rpm)您的硬盘是 Seagate Barracuda ST3000DM001 3000GB / 3TB 7.2K 6.0 Gb/s SATA 台式机,因此假设池已 100% 满,重新同步硬盘将花费不到 8 小时。

干杯

相关内容