我在 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