ZFS プールはどれくらいいっぱいですか? (コマンド出力の読み方がわかりません)

ZFS プールはどれくらいいっぱいですか? (コマンド出力の読み方がわかりません)

私は数 TB のデータを保管するために FreeBSD 上の ZFS を使用しています。

重複排除なしで保存すると、生のデータの約 25% が十分に一意であるため、圧縮は役立ちますが、重複排除は無駄になります。

残りの 75% には重複排除可能なデータが大量に含まれており、過去にはこのデータセットで 2 倍から 8 倍の比率がありました。そのため、私の NAS は、必要に応じて圧縮された重複排除を処理できるように最初から仕様化されていました。96GB 2400 ECC (統計で重複排除テーブルの負荷が示された場合はさらに追加可能)、3.5GHz クアッド コア Xeon、ミラー ディスク、NVMe L2ARC、および Intel P3700 NVMe ZIL。

フォーマット前の生のプール容量は現在 22 GB (3 x 6TB vdevs + 1 x 4TB vdev) で、直感的には現在物理的に約 7 - 14 TB を使用していると思います。これには、Samba ファイル共有データセットと固定サイズの ESXi iSCSI zvol (ほとんどが空で、少なくとも 1 つはスパース) の両方が含まれています。しかし、これらの出力の違いがわからないため混乱し、実際にどれだけの空き容量があるかわかりません。したがって、目標の 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番目の出力実際の割り当てられた物理スペースは約2.02TB(または、圧縮+重複排除により 3.15 倍の節約で 6.59 TB)。

2 つの数字は大きく異なっており、どのように調整すればよいのかわかりません。

ヒントをお願いします!

答え1

2 つの数字は大きく異なっており、どのように調整すればよいのかわかりません。

ヒントをお願いします!

出力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

関連情報