Solaris

觸發 ZFS 去重一次性掃描/重刪

  • September 2, 2012

我有一個已經執行了一段時間的 ZFS 文件系統,最近我有機會將它(終於!)升級到最新的 ZFS 版本。我們的數據不會重複數據刪除,但我堅信,基於小型測試,我們可以通過利用它免費獲得 5-10% 的空間。我已經在文件系統上啟用了重複數據刪除,並且新文件正在慢慢被重複數據刪除,但我們的大部分數據(95%+)已經存在於文件系統上。

除了將數據移出池然後將其重新複製回來,有沒有辦法觸發對現有數據的重複數據刪除掃描?它不必是非同步的或實時的。

(僅供參考,池中沒有足夠的空間將整個文件系統複製到另一個文件系統,然後切換安裝。)

不,您不能在不複製現有數據的情況下對其進行重複數據刪除。記住,只有當整個 Dedup-Table 適合 RAM/L2ARC 時,您才會從 dedup 中受益。

您可以在不打開 dedup 的情況下使用 zds -S poolname 估計 dedup 的好處:

pfexec zdb -S rpool 模擬滴滴涕直方圖:

bucket              allocated                       referenced          
______   ______________________________   ______________________________
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
------   ------   -----   -----   -----   ------   -----   -----   -----
    1     313K   13.4G   13.4G   13.4G     313K   13.4G   13.4G   13.4G
    2     111K   5.27G   5.27G   5.27G     233K   10.7G   10.7G   10.7G
    4    5.15K   96.2M   96.2M   96.2M    22.4K    403M    403M    403M
    8    1.03K   12.2M   12.2M   12.2M    10.3K    111M    111M    111M
   16      384   16.3M   16.3M   16.3M    8.10K    350M    350M    350M
   32      157   6.17M   6.17M   6.17M    6.47K    250M    250M    250M
   64       83   6.52M   6.52M   6.52M    6.37K    511M    511M    511M
  128       17    395K    395K    395K    2.61K   62.5M   62.5M   62.5M
  256        2      5K      5K      5K      802   2.24M   2.24M   2.24M
   2K        1     512     512     512    2.66K   1.33M   1.33M   1.33M
   8K        1    128K    128K    128K    8.21K   1.03G   1.03G   1.03G
Total     431K   18.8G   18.8G   18.8G     613K   26.8G   26.8G   26.8G

dedup = 1.43, compress = 1.00, copies = 1.00, dedup * compress / copies = 1.43

引用自:https://serverfault.com/questions/151281