ZFS 還是 LVM:在安裝時做出、事後難以更改的決定

ZFS 提供資料完整性與快照,代價是需要記憶體。LVM 輕量又熟悉,但不會自行察覺資料毀損。這個選擇通常取決於記憶體與期望。

AtlasPVE ·

本條目涵蓋以下問題

  • proxmox zfs 還是 lvm
  • lvm-thin 和 zfs 差別
  • proxmox local 和 local-lvm 差別
  • zfs 需要多少 ram
  • proxmox 儲存空間要選哪一種

這個決定是在安裝時做出的,事後要更改就得搬移虛擬機器。所以事先了解每一邊能帶來什麼,是值得的。

ZFS 帶來什麼

ZFS 會為每一筆資料保存一個總和檢查碼。如果讀取時總和檢查碼不符,它就會察覺錯誤;在具備冗餘的配置上,它會從另一份複本取得正確的資料,並默默完成修復。這是對抗無聲資料毀損的真正防護,其他任何一層都沒有提供同等的功能。快照、壓縮與儲存池層級的冗餘也隨之而來。

ZFS 需要什麼

記憶體。ZFS 會把記憶體用作讀取快取,在記憶體不多的機器上,它不但自己跑得比較慢,也會讓留給虛擬機器的記憶體變少。此外,建立儲存池時做出的部分決定事後無法更改,磁區對齊就是其中之一。簡單來說,ZFS 需要好好設定。

LVM 帶來什麼

LVM 輕量、熟悉,而且幾乎不需要記憶體。搭配精簡儲存池(thin pool)也能建立快照。在小型機器上,以及記憶體寶貴的環境中,它是合理的選擇。代價是它不會察覺無聲的資料毀損:如果讀回來的資料是錯的,沒有任何機制會指出它是錯的。

如何選擇

如果記憶體吃緊、機器規模又小,LVM 執行起來意外較少。如果重點是資料完整性,或者希望隨著磁碟數量增加而具備冗餘,ZFS 是正確的投資。做決定時,可以這樣問:這台伺服器上會不會存放一旦遺失就無法接受的資料?如果答案是會,那麼 ZFS 需要的記憶體就值得給。

資料來源

Proxmox 官方文件。內容為英文,且在此主題上以官方文件為準。

相關條目

這項工作在 Atlas 中是什麼樣子?

前往產品頁面