我的 ZFS 池有多满? (不知道如何读取命令输出)

我的 ZFS 池有多满? (不知道如何读取命令输出)

我在 FreeBSD 上使用 ZFS 来存储几 TB 的数据。

如果存储为非重复数据删除,则大约 25% 的原始数据将足够独特,因此压缩会有所帮助,但重复数据删除会被浪费。

另外 75% 包含大量可重复数据删除的数据,过去我对此数据集的比率为 2 倍 - 8 倍。因此,我的 NAS 从一开始就被指定为能够在需要时处理压缩的重复数据删除:96GB 2400 ECC(如果统计数据显示重复数据删除表压力,则可以添加更多)、3.5GHz 四核 Xeon、镜像磁盘、NVMe L2ARC 和 Intel P3700 NVMe齐尔。

格式化前,原始池容量目前为 22 GB(3 x 6TB vdev + 1 x 4TB vdev),直观上我认为我现在实际使用的容量约为 7 - 14 TB。它包含 Samba 文件共享数据集和固定大小的 ESXi iSCSI zvol(大部分为空,至少有一个稀疏)。但因为我不明白这些输出之间的区别,它们让我感到困惑,并且我不确定我实际上有多少可用空间,因此我是否要添加更多磁盘以使其低于 65% 的目标用法:

# zpool 列表 -v

NAME                                     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
tank                                    19.9T  14.0T  5.93T         -    53%    70%  2.30x  ONLINE  /mnt
  mirror                                5.44T  4.18T  1.26T         -    59%    76%
    gptid/6c62bc1a-0b7b-11e7-86ae-000743144400      -      -      -         -      -      -
    gptid/94cad523-0b45-11e7-86ae-000743144400      -      -      -         -      -      -
  mirror                                5.41T  4.38T  1.03T         -    62%    80%
    ada0p2                                  -      -      -         -      -      -
    gptid/e619dab7-03f1-11e7-8f93-000743144400      -      -      -         -      -      -
  mirror                                5.44T  4.12T  1.32T         -    56%    75%
    gptid/c68f80ae-01da-11e7-b762-000743144400      -      -      -         -      -      -
    da0                                     -      -      -         -      -      -
    da1                                     -      -      -         -      -      -
  mirror                                3.62T  1.31T  2.32T         -    29%    36%
    da3                                     -      -      -         -      -      -
    da4                                     -      -      -         -      -      -

# zdb -bDDD 坦克

DDT-sha256-zap-duplicate: 39468847 entries, size 588 on disk, 190 in core

     [duplicate bucket data cut as it isn't relevant and repeats in the totals below]

DDT-sha256-zap-unique: 60941882 entries, size 526 on disk, 170 in core

bucket              allocated                       referenced
______   ______________________________   ______________________________
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
------   ------   -----   -----   -----   ------   -----   -----   -----
     1    58.1M   1.21T    964G   1005G    58.1M   1.21T    964G   1005G
     2    25.0M   1.10T    784G    807G    58.5M   2.69T   1.87T   1.92T
     4    10.4M    393G    274G    282G    48.4M   1.85T   1.29T   1.34T
     8    1.70M   51.1G   37.7G   39.7G    16.5M    487G    353G    372G
    16     456K   9.85G   5.73G   6.44G    10.1M    212G    121G    138G
    32    67.0K   1.73G    998M   1.07G    2.77M   77.1G   44.6G   48.6G
    64    23.7K    455M    327M    350M    1.98M   36.1G   25.8G   27.7G
   128    3.47K   75.7M   48.0M   54.5M     557K   12.1G   7.68G   8.70G
   256      610   46.9M   12.3M   13.6M     216K   16.9G   4.14G   4.61G
   512      211   14.8M   2.46M   3.01M     145K   10.2G   1.72G   2.10G
    1K       57   1.10M     38K    228K    77.7K   1.45G   49.3M    311M
    2K       42    456K     22K    168K     118K   1.17G   61.3M    474M
    4K       18    108K      9K     72K     104K    574M   52.1M    417M
    8K       11    128K   5.50K     44K     117K   1.29G   58.3M    467M
   16K        7    152K      4K     28K     155K   2.60G   85.6M    619M
  128K        1     16K     512      4K     137K   2.14G   68.4M    548M
  256K        1      4K     512      4K     302K   1.18G    151M   1.18G
 Total    95.8M   2.76T   2.02T   2.09T     198M   6.59T   4.65T   4.83T

dedup = 2.31, compress = 1.42, copies = 1.04, dedup * compress / copies = 3.15
  • 第一个输出似乎是说格式化池容量为19.9TB(听起来不错)其中正在使用的空间约为14TB5.93TB 是空闲的。如果是这样,我将添加更多磁盘。

  • 第二个输出似乎是在说实际分配的物理空间约为2.02TB(或 6.59TB,由于压缩+重复数据删除,节省了 3.15 倍)。

这两个数字相差很大,我不知道如何协调它们。

请提示!

答案1

这两个数字相差很大,我不知道如何协调它们。

请提示!

输出zpool是正确的。

您可能感兴趣的另一个命令是zfs list.

答案2

检查池已满的最终方法是询问:

$ zpool get capacity tank
NAME      PROPERTY  VALUE  SOURCE
tank      capacity  60%    -

如果您愿意,您可以自己计算一下:

$ zpool get -p allocated,size tank
NAME      PROPERTY   VALUE         SOURCE
tank      allocated  596675149824  -
tank      size       987842478080  -
$ bc 
scale=4
59667514982400/987842478080
60.4018

相关内容