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 / 问题 / 789194
Accepted
Dominic P
Dominic P
Asked: 2016-07-12 10:12:33 +0800 CST2016-07-12 10:12:33 +0800 CST 2016-07-12 10:12:33 +0800 CST

ZFS 校验和错误,何时更换驱动器?

  • 772

我是 ZFS 的新手,我有一个简单的镜像存储池设置,有 8 个驱动器。运行几周后,一个驱动器似乎产生了很多错误,所以我更换了它。

又过了几周,现在我看到池周围出现了一些小错误(请参见zpool status下面的输出)。我应该担心这个吗?如何确定错误是否表明需要更换驱动器?

# zpool status
  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 22.5K in 1h18m with 0 errors on Sun Jul 10 03:18:42 2016
config:

        NAME        STATE     READ WRITE CKSUM
        storage     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            enc-a   ONLINE       0     0     2
            enc-b   ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            enc-c   ONLINE       0     0     0
            enc-d   ONLINE       0     0     2
          mirror-2  ONLINE       0     0     0
            enc-e   ONLINE       0     0     2
            enc-f   ONLINE       0     0     1
          mirror-3  ONLINE       0     0     0
            enc-g   ONLINE       0     0     0
            enc-h   ONLINE       0     0     3

errors: No known data errors

ZFS 很有帮助地告诉我“确定是否需要更换设备……”但我不知道该怎么做。我确实阅读了参考文章,该文章很有帮助,但并不完全有定论。

我查看了受影响驱动器的 SMART 测试结果,但没有发现任何问题(所有测试均已完成且没有错误),但如果有帮助,我也可以发布 SMART 数据。

更新:在准备重新启动到 Memtest86+ 时,我注意到控制台上有很多错误。我通常通过 SSH 登录,所以我之前没有看到它们。我不确定我应该检查哪个日志,但是整个屏幕都充满了看起来像这样的错误(不是我的确切错误行,我只是从另一个论坛复制了这个):

blk_update_request: I/0 error, dev sda, sector 220473440

从一些谷歌搜索来看,这个错误似乎表明驱动器坏了,但我很难相信它们都像这样一次失败。关于从这里去哪里的想法?

更新 2:我遇到了这个ZOL 问题,它似乎与我的问题有关。就像那里的 OP 一样,我正在使用 hdparm 来降低驱动器的转速,并且我看到了类似的 ZFS 校验和错误和blk_update_request错误。我的机器仍在运行 Memtest,所以我目前无法检查我的内核或 ZFS 版本,但这至少看起来有可能。我也看到了这个类似的问题,这有点令人沮丧。有谁知道 ZFS 和旋转驱动器的问题?

更新 3: LSI 控制器上不匹配的固件和驱动程序版本会导致这样的错误吗?看起来我正在运行 20.100.00.00 的驱动程序版本和 17.00.01.00 的固件版本。尝试在卡上刷新更新的固件是否值得?

# modinfo mpt2sas
filename:       /lib/modules/3.10.0-327.22.2.el7.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
version:        20.100.00.00
license:        GPL
description:    LSI MPT Fusion SAS 2.0 Device Driver
author:         Avago Technologies <[email protected]>
rhelversion:    7.2
srcversion:     FED1C003B865449804E59F5

# sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18) 
Copyright (c) 2008-2014 LSI Corporation. All rights reserved 

    Adapter Selected is a LSI SAS: SAS2308_2(D1) 

Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
----------------------------------------------------------------------------

0  SAS2308_2(D1)   17.00.01.00    11.00.00.05    07.33.00.00     00:04:00:00

更新 4:dmesg在输出中发现了更多错误。我不确定是什么触发了这些,但我在卸载阵列中的所有驱动器以准备更新 LSI 控制器的固件后注意到它们。我会稍等片刻,看看固件更新是否解决了问题,但同时出现了错误。我不太确定他们的意思。

[87181.144130] sd 0:0:2:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144142] sd 0:0:2:0: [sdc] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144148] blk_update_request: I/O error, dev sdc, sector 889461969
[87181.144255] sd 0:0:3:0: [sdd] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144259] sd 0:0:3:0: [sdd] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144263] blk_update_request: I/O error, dev sdd, sector 889461969
[87181.144371] sd 0:0:4:0: [sde] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144375] sd 0:0:4:0: [sde] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144379] blk_update_request: I/O error, dev sde, sector 922978096
[87181.144493] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144500] sd 0:0:5:0: [sdf] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144505] blk_update_request: I/O error, dev sdf, sector 922978096
[87191.960052] sd 0:0:6:0: [sdg] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960063] sd 0:0:6:0: [sdg] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960068] blk_update_request: I/O error, dev sdg, sector 906238044
[87191.960158] sd 0:0:7:0: [sdh] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960162] sd 0:0:7:0: [sdh] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960179] blk_update_request: I/O error, dev sdh, sector 906238044
[87195.864565] sd 0:0:0:0: [sda] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87195.864578] sd 0:0:0:0: [sda] CDB: Write(10) 2a 00 37 03 7c 68 00 00 20 00
[87195.864584] blk_update_request: I/O error, dev sda, sector 922975336
[87198.770065] sd 0:0:1:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87198.770078] sd 0:0:1:0: [sdb] CDB: Write(10) 2a 00 37 03 7c 88 00 00 20 00
[87198.770084] blk_update_request: I/O error, dev sdb, sector 922975368

更新 5:我更新了 LSI 控制器的固件,但在清除 ZFS 错误并清理之后,我看到了相同的行为(一些驱动器上存在轻微的校验和错误)。下一步将更新驱动器本身的固件。

更新 6:我在一些论坛上读到其他使用 U-NAS NSC800 机箱的人对提供的竖管有问题后更换了 PCI 竖管。对校验和错误没有影响。我一直在推迟硬盘固件更新,因为这个过程太痛苦了,但我想是时候把它吸干,制作一个可启动的 DOS 闪存驱动器了。

更新 7:我更新了三个希捷硬盘的固件。其他驱动器要么没有可用的固件更新,要么我无法获得它(Western Digital 告诉我,我的驱动器没有固件更新)。初次擦洗后没有出现任何错误,但我至少要等一两个星期才能说这解决了问题。在我看来,三个驱动器中的固件不太可能像这样影响整个池。

更新 8:校验和错误又回来了,就像以前一样。我可能会研究主板的固件更新,但此时我不知所措。更换剩余的物理组件(控制器、背板、电缆)将是困难/昂贵的,而且我只是不能 100% 确定这不是我的设置问题(ZFS + Linux + LUKS + 降低空闲驱动器)。欢迎任何其他想法。

更新 9:仍在尝试追踪这个。我遇到了这个问题,它与我的情况有一些相似之处。因此,我继续使用重建 zpoolashift=12来查看是否可以解决问题(不走运)。然后,我硬着头皮买了一个新的控制器。我刚刚安装了Supermicro AOC-SAS2LP-MV8 HBA 卡。我会给它一两个星期,看看这是否能解决问题。

更新 10:只是为了关闭它。自从新的 HBA 卡进入以来已经过去了大约 2 周,并且冒着把它搞砸的风险,从那以后我就没有校验和错误了。非常感谢所有帮助我解决这个问题的人。

hard-drive zfs zfsonlinux
  • 2 2 个回答
  • 12877 Views

2 个回答

  • Voted
  1. Best Answer
    ewwhite
    2016-07-14T21:35:56+08:002016-07-14T21:35:56+08:00

    在多个驱动器上出现这些错误似乎表明背板/控制器/布线问题比磁盘或 RAM 问题更多。

    • 8
  2. Shane Madden
    2016-07-12T10:26:29+08:002016-07-12T10:26:29+08:00

    我的一般经验法则是,如果错误继续意外上升,则需要更换磁盘;如果它是静态的,则可能存在一些导致错误的瞬态条件,并且系统没有重现导致问题的条件。

    一些校验和错误并不一定表明驱动器有任何机械故障(发生位腐烂,ZFS 只是碰巧检测到它,而其他文件系统没有),但如果这些错误发生在一个小时内,那么它是与它们在一年内发生的情况大不相同。

    • 7

相关问题

  • 总大小(磁盘)与总大小(媒体)

  • Linux:“发现重复的 PV XXXXYYYYY:用户 /dev/sdb1 而不是 /dev/sda1”

  • Windows C:驱动器大小

  • 了解磁盘队列长度

  • md5sum 重复为同一台机器上的同一文件提供不同的校验和

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