跳到主內容

Proxmox VE ZFS 快取

  由於 BUBU 在專案執行中遇到需要提升儲存 I/O 效能的情境,因此決定透過 ZFS 的快取機制(L2ARC / SLOG) 來強化系統讀寫效率。以下紀錄完整新增快取服務的步驟與說明,方便後續維運及教學使用。

運行環境


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

  • 系統環境: Proxmox VE 9

設定過程


ZFS 快取設定 — 新增與移除教學

在實務環境中,ZFS 可透過兩種快取機制提升 I/O 效能:

  • SLOG(ZIL 日誌裝置):加速「同步寫入」作業
  • L2ARC(二級快取):加速「重複讀取」作業

以下說明如何針對單一硬碟新增或移除 ZFS 的快取功能。

  • 設定寫入快取(SLOG)
# 新增寫入快取
zpool add <pool-name> log <來源硬碟>
# 移除寫入快取
zpool remove <pool-name> <來源硬碟>
  • 範例:
# 新增寫入快取
zpool add tank log /dev/nvme1n1
# 移除寫入快取
zpool remove tank /dev/nvme1n1

說明:
  SLOG(Separate Intent Log)用於加速同步寫入作業,適合資料庫、NFS 等需確保資料一致性的情境。 建議使用具 Power Loss Protection(PLP) 的 SSD,以防突發斷電造成資料遺失。

  • 設定讀取快取(L2ARC)
# 新增讀取快取
zpool add <pool-name> cache <來源硬碟>
# 移除讀取快取
zpool remove <pool-name> <來源硬碟>
  • 範例:
# 新增讀取快取
zpool add tank cache /dev/nvme0n1
# 移除讀取快取
zpool remove tank /dev/nvme0n1

說明:
  L2ARC(二級快取)會將常用資料暫存在 SSD 上,減少從主儲存池中重複讀取的時間,適合虛擬化主機、Web 檔案伺服器等重度讀取環境。

  • 單一 SSD 同時作為讀寫快取

若僅有一顆 SSD,但空間足夠(例如 500 GB 以上),可透過 分割磁碟 的方式,同時作為 SLOG 與 L2ARC。

  • 在 Proxmox VE 環境中,系統預設並未安裝 parted 套件。
    由於我們後續需要使用 parted 進行 SSD 分割,以建立 讀取快取(L2ARC)寫入快取(SLOG) 的專用磁區,因此需先安裝此工具。
# 安裝 parted 套件
apt install parted -y
  • 啟動分割工具
parted /dev/disk/by-id/nvme-TS1TMTE220S_H740030147
  • 檢查磁碟現有分割,若該磁碟已有既有分割,需先刪除舊分割區再重新建立。
(parted) print
  • 刪除舊有分割區,使用以下指令刪除指定編號的磁區(例如第 1 區):
(parted) rm 1

如有多個分割區,請依序刪除所有分割。

  • 建立新 GPT 分割表與磁區,建立新的 GPT 分割表,並將磁碟空間平均切成兩半:
(parted) mklabel gpt
(parted) mkpart primary 0% 50%
(parted) mkpart primary 50% 100%
(parted) quit

建議:
第一個磁區(part1)作為 L2ARC 讀取快取
第二個磁區(part2)作為 SLOG 寫入快取

  • 將分割區加入 ZFS 快取
# 新增讀取快取(L2ARC)
zpool add <pool-name> cache /dev/disk/by-id/nvme-TS1TMTE220S_H740030147-part1
# 新增寫入快取(SLOG)
zpool add <pool-name> log /dev/disk/by-id/nvme-TS1TMTE220S_H740030147-part2
  • 確認設定結果
zpool status <pool-name>
  • 顯示如下
logs
  nvme-TS1TMTE220S_H740030147-part2  ONLINE
cache
  nvme-TS1TMTE220S_H740030147-part1  ONLINE

注意事項
建議使用具 PLP(Power Loss Protection) 的 SSD 以確保資料一致性。
若 SLOG 故障,ZFS 仍能自動回寫至主池,不會導致資料遺失。
L2ARC 快取為暫存性資料,重開機後會自動重建。

補充說明


備註





參考相關網頁