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 / 问题 / 1045336
Accepted
White
White
Asked: 2020-12-08 12:13:57 +0800 CST2020-12-08 12:13:57 +0800 CST 2020-12-08 12:13:57 +0800 CST

ZFS 解释 zdb -S tank 的输出

  • 772

我想知道激活 zfs 重复数据删除是否会为我支付费用,所以我运行了该命令 zdb -S tank,但我知道我需要一些帮助来解释输出。

Simulated DDT histogram:

bucket              allocated                       referenced
______   ______________________________   ______________________________
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
------   ------   -----   -----   -----   ------   -----   -----   -----
     1    49.2M   6.15T   6.15T   6.14T    49.2M   6.15T   6.15T   6.14T
     2     352K   42.0G   42.0G   42.0G     725K   86.3G   86.3G   86.4G
     4    7.99K    913M    913M    916M    37.7K   4.20G   4.20G   4.21G
     8    1.43K    161M    161M    161M    14.6K   1.58G   1.58G   1.58G
    16      623   67.1M   67.1M   67.4M    12.2K   1.32G   1.32G   1.33G
    32       73   7.37M   7.37M   7.43M    2.65K    268M    268M    270M
    64      717   4.23M   4.23M   7.46M    48.3K    392M    392M    611M
   128        4    257K    257K    266K      689   40.9M   40.9M   42.6M
   256        2    128K    128K    133K      802   57.8M   57.8M   59.3M
   512        2      1K      1K   10.7K    1.37K    703K    703K   7.32M
    4K        1    128K    128K    128K    7.31K    935M    935M    934M
   16K        1    512B    512B   5.33K    20.0K   10.0M   10.0M    107M
   64K        1    128K    128K    128K    93.0K   11.6G   11.6G   11.6G
  512K        1    128K    128K    128K     712K   89.0G   89.0G   88.9G
 Total    49.6M   6.19T   6.19T   6.18T    50.9M   6.34T   6.34T   6.33T

dedup = 1.02, compress = 1.00, copies = 1.00, dedup * compress / copies = 1.03

提前致谢。

zfs deduplication
  • 1 1 个回答
  • 440 Views

1 个回答

  • Voted
  1. Best Answer
    Vinícius Ferrão
    2020-12-30T18:53:50+08:002020-12-30T18:53:50+08:00

    您应该查看此直方图的两件事。第一个也是最明显的一个是dedup它末尾的表达式。没什么好说的,因为它是简单的数学。在您的情况下,重复数据删除只会节省 2% 的空间,并且由于您不使用压缩(首先应该这样做,因为它可以节省空间并提高性能,因为 I/O 比 CPU 时间成本高得多)像 LZ4 这样的高效算法,这是启用重复数据删除后的边际收益:2~3%。

    当有效空间节省高于 2.0 并且您的存储子系统非常昂贵时,重复数据删除开始变得有价值,以至于内存和 CPU 都可以浪费在处理重复数据删除上。例如,我们谈论的是企业 NVMe 池。

    但这要付出什么代价呢?

    这是我提到的第二件事。第一个命中将在您的 RAM 中。您需要将重复数据删除表存储在 RAM 上。如果没有 RAM 来保存它,系统就会崩溃,您将无法挂载池。较新版本的 ZFS(如 OpenZFS 2.0)有一些进步,但我不知道这方面是否有任何变化。

    考虑到这一点,您只需获得块的总数,即第一列的最后一行:49.6M

    由于每个 dedup 表需要 320 字节,您只需将块数乘以给定 dedup 表所需的空间,您将获得所需的 RAM 量:

    49.6M * 320 bytes = 15.872MB ~ 15.5GB
    

    因此,您将浪费近16GB的系统 RAM 来对非重复数据删除友好的数据进行重复数据删除。这 16GB 将从系统的重要部分(如 ARC)中删除,这只会加速您的池。

    所以不行。重复数据删除不值得,除非:

    • 您拥有极其昂贵的存储子系统
    • 您的数据可以轻松删除重复数据
    • 1

相关问题

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