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 / 问题 / 1149216
Accepted
mikem
mikem
Asked: 2023-12-06 15:02:39 +0800 CST2023-12-06 15:02:39 +0800 CST 2023-12-06 15:02:39 +0800 CST

zpool 复制级别不匹配

  • 772

我不小心将不匹配的 raidz1 添加到现有池中。是的,我指定了“-f”来执行此操作,但我希望出于不同的原因使用“-f”,但没有注意。

无论如何...有多糟糕?我真的只是需要泳池中有额外的空间,并且希望该空间是多余的。泳池看起来像这样:

   NAME                       STATE      READ WRITE CKSUM
    pool_02c                   ONLINE        0     0     0
      raidz1-0                 ONLINE        0     0     0
        c0t5000C500B4AA5681d0  ONLINE        0     0     0
        c0t5000C500B4AA6A51d0  ONLINE        0     0     0
        c0t5000C500B4AABF20d0  ONLINE        0     0     0
        c0t5000C500B4AAA933d0  ONLINE        0     0     0
      raidz1-1                 ONLINE        0     0     0
        c0t5000C500B0889E5Bd0  ONLINE        0     0     0
        c0t5000C500B0BCFB13d0  ONLINE        0     0     0
        c0t5000C500B09F0C54d0  ONLINE        0     0     0

我读到了关于这种情况的另一个问题,它指出“性能和空间效率(即:通过非最佳填充)都会受到影响”,但这有点模糊,我希望有人能提供更多信息细节。

从池使用的角度来看,放在 vdev raidz1-0 中的磁盘上的数据在该 vdev 中不是冗余的,而放入 raidz1-1 中的数据在该 vdev 中不是冗余的吗?而且,如果是这样的话,性能难道不会与特定的 vdev 相关吗?

填充在这里发挥作用,这将如何影响存储容量?IE。是否会导致分配更多空间,就像我每写入 1M,就用掉 1.2M?

我并不太关心这个池的性能,但是这个配置如何影响读/写速度?我希望每个 vdev 都能以其各自设备的速度执行,那么 vdev 复制差异如何影响这一点?

仅供参考,这是在 Solaris 11.4 系统上。我尝试使用以下方法删除 vdev:

zpool remove pool_02c raidz1-1

但我收到错误:

 cannot remove device(s): not enough space to migrate data

这看起来很奇怪,因为我实际上只是添加了它并且没有向池中写入任何内容。

我可以接受它,因为它似乎给了我我所期望的空间,但我只是想更好地理解我将与之共处的魔鬼。

zfs
  • 1 1 个回答
  • 33 Views

1 个回答

  • Voted
  1. Best Answer
    shodanshok
    2023-12-07T03:28:56+08:002023-12-07T03:28:56+08:00

    简短的回答:虽然有点次优,但您的泳池布局在很大程度上并不缺乏 - 这是一个合法的配置。

    长答案:与传统 RAID 阵列相比,RAIDZ vdev 存储数据的方式非典型。在 RAIDZ vdev 中,由于 a) 填充和 b) 动态条带宽度,可能会丢失一些空间。我建议您阅读(如果需要,请多次阅读)这篇非常有用的文章。无论如何,两个要点是:

    • 分配发生在ashift * (redundancy+1)粒度上(即:对于ashift=12RAIDZ vdev,分配粒度将为 4K*(1+1) 块。分配 1、3 或 5 个块是不可能的;将分配 2、4 或 6 个块。这是一个有趣的现象交互recordsize:例如,对于所有 4K 块写入的极端情况,RAIDZ1 具有与镜像 vdev 相同的空间效率(即:1 个数据 + 1 个奇偶校验块)

    • 条带大小是动态的,这意味着对于单个recordsize数据块来说,至少有,也可能有很多(取决于 vdev)奇偶校验块。这意味着最大动态条带大小 ( recordsize / ashift)、文件大小和 vdev 宽度之间的交集将导致写入不同数量的不同奇偶校验块

    由于上述第 2 点,不相等的 vdev 宽度可能会导致两个 vdev 的空间效率不同。

    但是,您应该避免在此类计算中投入过多的权重:启用压缩将改变有效的物理分配大小,其方式几乎总是克服上述规则所描述的最佳空间效率点。

    因此,如果您有 3 个(且只有 3 个)磁盘要添加到 RAIDZ vdev,那么您的做法是正确的。也就是说,使用时要小心-f

    关于 vdev 删除,我无法发表评论,因为我不知道 Solaris 如何管理它。

    • 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