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 / 问题 / 699035
Accepted
SvennD
SvennD
Asked: 2015-06-15 23:56:15 +0800 CST2015-06-15 23:56:15 +0800 CST 2015-06-15 23:56:15 +0800 CST

LSI raidcontroller 后面的 zfs 错误

  • 772

所以 ZFS 报告了一些“读取问题”,所以看起来这个磁盘出现了故障,基于我们知道的ZFS-8000-9P文档报告中没有给出任何内容的事实。这些磁盘相当新,我们最近遇到的唯一问题是完整的 ZFS。

ZFS 在LSI MegaRAID 9271-8i 之上运行,所有磁盘在每个磁盘上运行“raid 0”。我对这个raid卡不是很熟悉,所以我找到了一个脚本,它返回从megacli命令行工具派生的数据。我添加了 1 个驱动器来显示设置,它们的设置都相同。(系统盘不同)

zpool 状态输出

  pool: data
 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: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        data        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            br0c2   ONLINE       0     0     0
            br1c2   ONLINE       0     0     0
            br2c2   ONLINE       0     0     0
            br0c3   ONLINE       0     0     0
            br1c3   ONLINE       0     0     0
            br2c3   ONLINE       0     0     0
            r2c1    ONLINE       0     0     0
            r1c2    ONLINE       0     0     0
            r5c3    ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sde     ONLINE       0     0     0
            sdf     ONLINE       0     0     0
            sdg     ONLINE       0     0     0
            r3c1    ONLINE       0     0     0
            r4c1    ONLINE       2     0     0
... cut raidz2-1 ...
errors: No known data errors

LSI 脚本的输出

Virtual Drive: 32 (Target Id: 32)
Name                :
RAID Level          : Primary-0, Secondary-0, RAID Level Qualifier-0
Size                : 3.637 TB
Sector Size         : 512
Is VD emulated      : No
Parity Size         : 0
State               : Optimal
Strip Size          : 512 KB
Number Of Drives    : 1
Span Depth          : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Disk's Default
Encryption Type     : None
PI type: No PI

Is VD Cached: No

该脚本不报告任何故障磁盘,raidcontroller 也不将驱动器标记为故障。我发现了一些其他主题zpool error给出了清除错误并运行清理的建议。现在我的问题是,运行擦洗的阈值是什么时候,这需要多长时间(假设这个 zfs RAID 运行擦洗会对性能造成影响)此外,当这个磁盘真的很糟糕时,热插拔是否会初始化一个“重建” ? 所有磁盘都是“Western Digital RE 4TB, SAS II, 32MB, 7200rpm, enterprise 24/7/365”。是否有系统可以检查 zfs 错误,因为这只是例行手动检查?

zfs 版本:0.6.4.1 zfsonlinux

我知道没有分配 2 个读取错误,但我更愿意早点更换磁盘到晚点。

zfs
  • 2 2 个回答
  • 1100 Views

2 个回答

  • Voted
  1. ewwhite
    2015-06-16T03:09:26+08:002015-06-16T03:09:26+08:00

    在这种情况下,我会做 ZFS 告诉你做的事情。请进行擦洗。

    我每周按计划清理我的系统。我还使用zfswatcher守护程序来监控 Linux ZFS 安装的运行状况。

    您的 ZFS 阵列可能未调整,因此有一些值可以帮助提高清理性能,但此时,您应该只运行它。

    对于另一个问题,您的热插拔可能不会像您期望的那样......请参阅下面的咆哮。


    咆哮:

    在硬件控制器后面拥有一堆 RAID-0 虚拟驱动器是个坏主意!

    你有两全其美。可恢复性和错误检查是有限的。故障磁盘本质上是故障虚拟驱动器,存在热插拔影响。假设您删除了有问题的磁盘。您可能需要创建一个新的虚拟磁盘,或者最终可能会使用不同的驱动器枚举。

    在某个时候,最好获得一个真正的 HBA 并将磁盘作为尝试直通设备(没有 RAID 元数据)运行,或者只是在受硬件阵列保护的 vdev 之上运行 ZFS。例如,在您的控制器上运行 RAID-6 并在顶部安装 ZFS。或者运行多个 RAID-X 组并让 ZFS 镜像或条带化生成的 vdev。

    • 3
  2. Best Answer
    Fox
    2015-06-16T01:30:22+08:002015-06-16T01:30:22+08:00

    zfs scrub是“将检查 zfs 错误的系统”。读取存储在卷中的所有数据将花费尽可能长的时间(按照 txg 的顺序进行,因此它可能会寻找很多,这取决于池的满载程度和数据的写入方式)。一旦开始,zfs status将显示一些估计。可以停止运行擦洗。

    如果您想要定期检查zpool status,最简单的方法是zpool status | grep -C 100 Status定期运行(每 6 小时一次)并通过电子邮件发送输出(如果有)。你可能会为你最喜欢的监控系统找到一个插件,比如 nagios。或者写自己会很简单。

    只是热交换驱动器不会触发重新同步。你将不得不为此而奔跑zfs replace。

    您看到的读取错误也可能是某种控制器故障。即使它是企业硬件,这些(HW RAID)控制器有时也会表现得很奇怪。例如,这些错误可能是命令执行时间过长的结果——控制器正忙于处理任何事情。这就是为什么我尽量远离那些除非必要。

    我会检查驱动器上的 SMART 数据(请参阅man smartctl参考资料)并清理池。如果两者看起来都正常,请清除错误并且不要弄乱您的池。因为如果池在重新同步期间读取所有数据几乎已满,实际上可能会触发另一个错误。一旦您再次在同一驱动器上看到错误,就会开始恐慌;)。

    顺便提一句。为了获得最佳性能,您应该在 RAIDZ2 vdevs 中使用 n^2+2 个驱动器。

    • 2

相关问题

  • 从现有目录创建 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