一台機器,兩種哲學:底層該是儲存還是虛擬化?

問題不在於哪個產品比較好,而在於要讓哪一層位於另一層之下,因為這個選擇決定了日後哪些部分能在不重建整台機器的情況下更換。

AtlasPVE ·

本條目涵蓋以下問題

  • proxmox vs unraid vm 效能
  • 家用伺服器先裝 nas 還是 hypervisor
  • 家用伺服器 unraid 還是 proxmox
  • proxmox vs synology vmm 比較
  • 在 proxmox 裡跑 nas 系統好嗎

只有一台伺服器卻要負責好幾項工作的人,遲早都會走到這個岔路口。一邊是圍繞磁碟陣列打造的系統,執行虛擬機器只是其中一項功能。另一邊是圍繞虛擬化平台打造的系統,儲存空間只是其中一個子系統。兩者都行得通,兩邊也都有用得很滿意的人。

真正有用的問題不是哪一個比較好,而是要讓哪一層位於另一層之下,因為這決定了日後哪些部分能在不重建機器的情況下更換。

這裡所說的底層是什麼意思

底層就是在處理另一層時仍持續運作的那一層。差別只有這一點,而在比較功能清單時很容易忽略。

如果儲存是底層,磁碟陣列就能撐過各種服務上的實驗。凌晨兩點把某個容器弄壞了,檔案也完好無損,因為保管檔案的那一層從頭到尾都沒有牽涉其中。

如果虛擬化平台是底層,虛擬機器就能撐過各種儲存上的實驗。新增儲存池、搬移磁碟或更換儲存後端都沒問題,只要虛擬機器自己的磁碟仍然可以存取,它們就會照常運作。

沒有任何一種順序能同時保護兩者。這裡要選的,是讓哪一邊成為平淡而穩定的那一層。

真正做出決定的問題

不是想執行什麼,因為兩種答案都能執行所有東西。該問的是:這台機器在最糟的那一天,存在的目的是什麼?

如果誠實的答案是:它保管著不能遺失的東西,另外也跑幾個服務,那麼儲存就該是底層。服務這一側會是堪用而非深入,這是正確的取捨,因為重點就是磁碟陣列。

如果誠實的答案是:它執行著大家依賴的服務,另外也保管大家的資料,那麼虛擬化平台就該是底層。儲存空間需要自行組裝,不會一開始就完整到位,這同樣是正確的取捨,因為重點是服務能持續運作。

多數的失望,來自選了第二種答案,卻期待第一種系統的儲存體驗,或是反過來。

每一邊真正付出的代價

磁碟陣列優先。虛擬化這一側確實存在,只是比較淺。與客體整合的快照、即時遷移、每台虛擬機器各自的細緻備份排程,以及硬體直通,都在不同程度上具備,而且在虛擬化平台優先的那一側都更容易。如果虛擬機器只是兩台工具用途的機器,永遠不會察覺差異。如果是八個正式環境的服務,就一定會察覺。

虛擬化平台優先。儲存空間是以零件的形式到來,而不是完整的成品。要自己挑選配置、決定冗餘方式、設定定期檢查(scrub)與監控,也沒有任何友善的精靈能一鍵建立共用資料夾。彈性是真的,組裝所花的時間也是真的。

⚠️ 兩邊都會讓重新啟動的代價很高,以為磁碟陣列優先就能免於此事的人,往往在這裡大吃一驚。無論哪一種,核心更新都會讓整台機器停機,連同上面的一切。底層關乎的是什麼能撐過變更,而不是什麼能撐過重新啟動。

混合做法,以及它新增的故障模式

一種很常見的配置:以虛擬化平台作為底層,再把一套以儲存為主的系統當成虛擬機器跑在上面,並將磁碟直通給它。

這樣做可行,也很受歡迎,而且確實能同時得到兩種體驗。但它也帶來一個原本不存在的依賴關係:檔案現在必須等一台虛擬機器開機才能使用。如果那台虛擬機器無法啟動,儲存空間就不只是變慢,而是直接消失,所有從它掛載共用資料夾的東西都會同時失效。

如果清楚自己在做這個取捨,這是可以接受的。若是在一次停機事故中才發現這個依賴關係,就會是個不愉快的意外。有兩個習慣能讓它變得安全:讓虛擬化平台本身的開機磁碟與直通出去的磁碟完全分開,並確保至少有一條復原路徑不需經過那台虛擬機器。

不會左右決定的事

原始效能數字。在同一台機器上,兩種做法都建立在相同的硬體上,實際差距通常比同一套系統上兩種儲存配置之間的差距還小。

哪一個比較容易安裝。安裝只會發生一次。真正要長期相處的是第二年,也就是需要變更某些東西的時候。

在特定用途上哪一個比較熱門。一套理解透徹、能夠自行修復的配置,勝過一套更好卻無法修復的配置。

Atlas 的做法

Atlas 不會把 Proxmox 變成儲存設備,也不會假裝組裝這一步會消失。它做的是讓組裝出來的結果易於解讀,而這正是虛擬化平台優先那一側通常最困難的地方。

資源鏈會從每台虛擬機器一路畫到實體磁碟,因此組裝出來的配置會以一張圖呈現,而不是只存在於記憶中的某個決定。在儲存優先的那一側,這張圖是隱含的,因為磁碟陣列本身就是產品;在這裡它必須被呈現出來,而呈現它正是重點所在。

儲存相關的作業會經過一個引導式流程,附有作業預覽與回頭的方法,適用於 ZFS、LVM 與 Btrfs。這並不會代替使用者做出選擇,本來也不打算如此:它讓已經做出的選擇在事後可以檢視,而這正是決定第二年過得如何的部分。

資料來源

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

相關條目

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

前往產品頁面