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 / 问题 / 801958
Accepted
user260467
user260467
Asked: 2016-09-09 12:24:54 +0800 CST2016-09-09 12:24:54 +0800 CST 2016-09-09 12:24:54 +0800 CST

ZFS vdev 会累积校验和错误,但单个磁盘不会

  • 772

我正在运行 FreeNAS 9.3 的特定于供应商的衍生产品。

当我安装一个新的 JBOD 机箱向我的池中添加两个新的 vdev 时,我的麻烦就开始了,而机箱的主板坏了。在此期间,我看到坏板上的驱动器出现 SAS 电源错误——我的新驱动器每分钟都在重复地打开和关闭。

我更换了主板,现在,从大多数方面来看,驱动器运行良好,但是当我查看zpool status. 我认为当我遇到 SAS 电源问题时,有一些糟糕的 CoW 写入。

带有 CPU、引导驱动器、RAM 等的第一个机箱通过 mini-SAS 连接到第一个扩展 JBOD 机箱,第二个 JBOD 扩展机箱通过第一个 JBOD 扩展机箱以菊花链方式连接,也通过 mini-SAS。

  • [机箱 1:启动盘,两个 L2ARC SSD,RAIDZ3-0 的 11/11 驱动器,RAIDZ3-1 的 1/11 驱动器] -->mini-SAS 到机箱 2
  • [机箱 2:RAID Z3-1 的 10/11 个驱动器,RAID Z3-2 的 6/11 个驱动器] --> mini-SAS 到机箱 3
  • 【机箱3:RAIDZ3-2 5/11盘,RAIDZ3-3 11/11盘】

校验和错误并没有准确地映射到任何一个控制器或机箱,但我的直觉是,当我遇到这些电源问题时,写入不同新磁盘的任何数据都在两个新 vdev 上写入错误。

我的 HBA 都在良好的 LSI 固件上——全部都在 20.00.04.00 或 20.00.08.00

我已经更换了 mini-SAS 电缆,并尝试使用不同的端口,但无济于事。

的输出zpool status显示了两个新 vdev 上累积的校验和错误,并且在清理、重新启动或zpool clear之后,最终将zpool status这些 vdev 标记为降级。奇怪的是,它还将属于那些 vdev 的一些驱动器标记为降级,但它们的各个磁盘的实际错误计数都是 0。zdb表明各个驱动器被标记为降级,因为它们有太多的校验和错误,即使他们所有的校验和错误计数实际上都是 0。同样奇怪的是池级校验和错误显示的数字低于两个问题 vdev 加在一起的校验和错误。

zpool status -v在映射到0x0早已被删除但似乎无法通过多次清理、重新启动或zpool clear. 此外,其他永久性错误会时不时出现,有时仅显示为十六进制代码 inode,有时则显示为最近快照的一部分。我找不到任何0x0.lsof

我相信池中的元数据可能存在某种数据损坏。

我正在寻找一种方法来通过手术移除这些幻像快照,或者以其他方式将我的池恢复到健康状态而不破坏我的数据。我怀疑在某个地方,ZFS 正在迭代这些损坏的幻像快照,并导致奇怪的校验和错误和 vdev 上的降级状态。

我有很多重要数据的“冷”LTO 备份,但除此之外,如果我无法修复我的池,我正准备设置第二台服务器,将所有内容卸载到“热”的第二台服务器,销毁我的池在顶层,然后从热备份重新加载。

这是输出zpool status -v:

[root@Jupiter] ~# zpool status -v
  pool: freenas-boot
 state: ONLINE
status: One or more devices are configured to use a non-native block size.
        Expect reduced performance.
action: Replace affected devices with devices that support the configured block size, or migrate data to a properly configured pool.
  scan: resilvered 944M in 0h17m with 0 errors on Tue Aug  9 11:56:28 2016
config:

    NAME        STATE     READ WRITE CKSUM
    freenas-boot  ONLINE       0     0     0
      mirror-0  ONLINE       0     0     0
        da46p2  ONLINE       0     0     0  block size: 8192B configured, 8388608B native
        da47p2  ONLINE       0     0     0  block size: 8192B configured, 8388608B native

errors: No known data errors

  pool: pool
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: http://illumos.org/msg/ZFS-8000-8A
  scan: scrub in progress since Fri Sep  9 22:43:51 2016
        6.27T scanned out of 145T at 1.11G/s, 35h27m to go
        0 repaired, 4.33% done
config:

    NAME                                            STATE     READ WRITE CKSUM
    pool                                            DEGRADED     0     0   118
      raidz3-0                                      ONLINE       0     0     0
        gptid/ac108605-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/ac591d4e-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/ac92fd0d-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/accd3076-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/ad067e97-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/ad46cbee-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/ad91ba17-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/adcbdd0a-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/ae07dc0d-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/ae494d10-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
        gptid/ae93a3a5-265c-11e5-9a02-0cc47a599098  ONLINE       0     0     0
      raidz3-1                                      ONLINE       0     0     0
        gptid/12f6a4c5-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
        gptid/511ea1f9-1932-11e6-9b1e-0cc47a599098  ONLINE       0     0     0
        gptid/14436fcf-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
        gptid/14f50aa3-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
        gptid/159b5654-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
        gptid/163d682b-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
        gptid/16ee624e-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
        gptid/1799dde3-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
        gptid/184c2ea4-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
        gptid/18f51c30-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
        gptid/19a861ea-c929-11e5-8075-0cc47a599098  ONLINE       0     0     0
      raidz3-2                                      DEGRADED     0     0   236
        gptid/5f80fc42-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/60369e0f-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/60e8234a-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/61a235f2-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/62580471-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/6316a38a-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/63d4bce8-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/ebfc2b99-6893-11e6-9b09-0cc47a599098  ONLINE       0     0     0
        gptid/654f143a-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/66236b33-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/66eda3f6-4e00-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
      raidz3-3                                      DEGRADED     0     0   176
        gptid/c77a9da9-4e02-11e6-b7cf-0cc47a599098  ONLINE       0     0     0
        gptid/c83e100e-4e02-11e6-b7cf-0cc47a599098  ONLINE       0     0     0
        gptid/c8fd9ced-4e02-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/c9bb21ba-4e02-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/ca7a48db-4e02-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/cb422329-4e02-11e6-b7cf-0cc47a599098  DEGRADED     0     0     0  too many errors
        gptid/cbfe4c21-4e02-11e6-b7cf-0cc47a599098  ONLINE       0     0     0
        gptid/ccc43528-4e02-11e6-b7cf-0cc47a599098  ONLINE       0     0     0
        gptid/cd93a34c-4e02-11e6-b7cf-0cc47a599098  ONLINE       0     0     0
        gptid/ce622f51-4e02-11e6-b7cf-0cc47a599098  ONLINE       0     0     0
        gptid/cf2591d3-4e02-11e6-b7cf-0cc47a599098  ONLINE       0     0     0
    cache
      gptid/aedd3872-265c-11e5-9a02-0cc47a599098    ONLINE       0     0     0
      gptid/af559c10-265c-11e5-9a02-0cc47a599098    ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        <0x357>:<0x2aef3>
        <0x37b>:<0x397285>
pool/[email protected]:<0x0>

通过 FreeNAS GUI,我尝试将System dataset poolfrom复制pool到freenas-boot,然后尝试使用zfs destroy删除pool副本pool/.system并保持freenas-boot副本完好无损。我可以zfs destroy用来删除中 pool/.system列出的所有内容zfs list,但是在尝试使用 销毁pool/.system时zfs destroy,shell 返回了错误:Cannot iterate filesystems: I/O error。根据Oracle ZFS 文档,我尝试zfs destroy使用pool/.system、和标志,但无济于事。-f-r-R

我又开始了另一次磨砂。也许消除副本上的pool/.system内容将允许清理使用幻像快照清除元数据错误。poolSystem dataset poolpool/[email protected]

我想知道是否有可能重新同步显示为降级的每个磁盘,一个接一个,以便可以放弃没有被引用的“坏”元数据。我已经重新同步了两个磁盘,但现在我遇到了一个问题,其中重新同步任何其他磁盘会导致我已经重新同步的其他磁盘同时开始再次重新同步。我相信这可能是与定期快照任务相关的 ZFS 错误,我已经删除了我的定期快照任务并销毁了我所有的快照,但我犹豫是否要重新同步另一个降级的驱动器,因为害怕所有先前重新同步的磁盘将再次重新同步,使我没有任何冗余,最终导致池出现故障。

在禁用我的定期快照任务并删除我的所有快照后,我尝试擦除一个磁盘然后重新同步它,但是我已经重新同步的三个磁盘又开始重新同步。现在我几乎可以肯定,每个问题 RAID-Z3 vdev 都有两个不同的磁盘可以重新同步,所以如果我尝试重新同步更多磁盘,我将失去每个问题 vdev 和我的池中的冗余会出错。

另一种奇怪的行为是检查zpool status -v实际上会逐渐增加池的校验和错误计数,但检查zpool status不会。就好像-v标志本身正在迭代导致校验和错误的任何机制。

在我的池中使用zdb -c是否能够以某种方式“修复”这些元数据错误?

freebsd zfs truenas checksum zpool
  • 1 1 个回答
  • 2512 Views

1 个回答

  • Voted
  1. Best Answer
    Martin Sugioarto
    2016-09-09T13:55:01+08:002016-09-09T13:55:01+08:00

    元数据损坏时,会出现0x0和其他十六进制数字,而不是文件名和其他对象。如果您无法通过破坏受影响的对象来摆脱它(我理解它们指的是快照),那么损坏可能太大而无法修复。在这种情况下,我会从备份中恢复池,尤其是当您有更多奇怪的影响时,例如损坏的元数据出现和消失。

    您可以在此处阅读 ZFS 管理指南中有关如何解决大多数问题的方法。但是 ZFS 还为您提供了一个 URL,当您键入zpool status.

    • 4

相关问题

  • Mono 2.4 Ahead-Of-Time (AOT) 可以在 FreeBSD x86(或 x64)上编译吗?

  • FreeBSD 和 Linux 有什么区别?[关闭]

  • 在 FreeBSD 上安装和运行 MySql

  • 在 freeBSD 上安装 netbeans 的问题

  • 用于 Web 应用服务器的 FreeBSD 磁盘分区(Apache/MySQL/PHP)

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