跳到主內容

Proxmox VE ZFS 碎片處理

  BUBU 因為 ZFS 碎片問題困擾很久了想說利用 ChatGPT 來試著看有沒有解答,結果還真得有答案只是 BUBU 在測試結果後有是有改善但是沒有預期中那麼好,因為 BUBU 碎片率高於 30% 就會把該 pool 上面服務都移走並且刪掉重新製作新的 pool 再來繼續使用來處理碎片問題。

運行環境


  環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式

  • 系統環境: Proxmox VE 7.3

測試過程


  根據 ChatGPT 給的建議可以使用 trim 指令改進行碎片整理。

BUBU 先在此說明該指令您目前所在使用的硬碟裝置要有支援到 trim 此指令才會有作用,在我的測試環境一般硬碟是沒有反應的,但是 SSD 及 M.2 裝置測試是有反應的。使用此指令盡量安排在該設備最冷門時段來執行這樣子比較不影響設備效能。

  • 先用 SSH 連線到 Proxmox VE Shell

  • 再來列出有使用到 ZFS 規式清單

zpool list
  • 然後啟用該 pool 的 autotrim 參數,可以把 rpool 這個修改您所指令的 pool 名稱
zpool set autotrim=on rpool
  • 再手動執行 trim 指令
zpool trim rpool
  • 執行前原本該 pool 是 19%

pve-zfstrim-01.png

  • 執行後該 pool 已降為 16%

pve-zfstrim-02.png

  • 建議可以利用排程為方式定期刪除一些碎片
0 0 * * 6 zpool trim rpool

補充說明


備註





參考相關網頁