AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1000026
Accepted
Brian Thomas
Brian Thomas
Asked: 2020-01-23 15:42:12 +0800 CST2020-01-23 15:42:12 +0800 CST 2020-01-23 15:42:12 +0800 CST

zfs raidz-2 如何从 3 个驱动器故障中恢复?

  • 772

我想知道发生了什么,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对 SMART 的 smartctl 测试失败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

resilver 确实成功完成。

$ 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

我现在正处于十字路口。我通常dd将故障驱动器的前 2MB 归零,然后用它自己替换,我可以这样做,但是如果确实有数据丢失,我可能需要最后两个卷来恢复。

我现在桌子上有这个sdf,已删除。我觉得我可以,在最坏的情况下,用这个来帮助恢复。

同时,我想我现在要对降级驱动器的前几 MB 进行开发/归零,并自行更换,我认为事情应该会解决,冲洗并重复第二个故障驱动器,直到我能得到一些替换手上。

问题 发生了什么,池如何能够挂起,或者我可能丢失了一些数据(考虑到 zfs 及其报告的完整性,值得怀疑)

可能是由于幸运的失败顺序,例如失败的堆栈的顶部驱动器?

问题 这只是仅供参考,与主题无关。是什么导致所有 3 个同时失败?我认为这是一种磨砂膏,它是催化剂。我前一天晚上检查了所有驱动器都在线。

请注意,最近布线一直是个问题,办公室晚上很冷,但这些问题只是drive unavailable,而不是校验和错误。我认为那不是布线,而是老化的驱动器,它们已经 5 年了。但是一天3次失败?来吧,这足以吓到我们很多人!

zfs redundancy zfsonlinux raidz
  • 1 1 个回答
  • 1258 Views

1 个回答

  • Voted
  1. Best Answer
    John Mahowald
    2020-01-24T06:18:26+08:002020-01-24T06:18:26+08:00

    RAID-Z2 是双奇偶校验,冗余类似于 RAID 6。两个磁盘可能完全失效,数据从奇偶校验中恢复。假设阵列的其余部分是健康的。

    您不一定有 I/O 错误。DEGRADED 表示 ZFS 继续使用磁盘,尽管有校验和错误。也许是因为一些翻转,但驱动器仍然可以工作。根据该输出的链接:

    运行“zpool status -x”以确定哪个池出现错误。

    查找 READ、WRITE 或 CKSUM 错误计数非零的设备。这表明设备遇到了读取 I/O 错误、写入 I/O 错误或校验和验证错误。由于该设备是镜像或 RAID-Z 设备的一部分,因此 ZFS 能够从错误中恢复并随后修复损坏的数据。

    如果这些错误持续一段时间,ZFS 可能会确定设备有故障并将其标记为故障。但是,这些错误计数可能表示或可能不表示设备不可用。

    关于驱动器健康:

    也许是老化的驱动器,它们已经 5 年了。但是一天3次失败?来吧,这足以吓到我们很多人!

    现在备份恢复测试重要数据。来自不同的媒体,不是这个数组。

    更换继续降级的驱动器。肯定是内核在 syslog 中报告 I/O 错误。如果在保修或支持合同下,请利用这一点。如果通过保修,制造商打赌他们不会持续这么久,所以要考虑到这一点。

    • 4

相关问题

  • 从现有目录创建 zfs 的正确方法?

  • 如何将 ZFS ACL 从一个文件克隆到另一个文件?

  • ZFS 在演示期间在舞台上失败。这是正常行为吗?

  • Sneakernet 作为备份策略有意义吗?

  • ZFS 与 XFS

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve