Memory

除了託管 VM,KVM 主機是否應該做其他事情?(如 ZFS)?

  • March 8, 2017

在虛擬機管理程序與來賓作業系統中執行資源密集型服務對性能和穩定性有何影響?

我想設置一個同時具有 Linux 和 Windows 的工作站,由(可能)KVM 託管。兩者都將使用一些相同的服務:例如,VM 將儲存在 zvols 上並共享一個專門用於文件儲存的 zpool。

我一直在決定哪些服務在管理程序作業系統中執行,哪些服務在虛擬機中執行。如果我將 ZFS 之類的服務放在 VM 中,我擔心它們可能會更慢(因為它們必須通過虛擬機管理程序工作)或更容易出錯,因為它們將依賴於控制器傳遞(還有一​​件事有問題和)。

另一方面,我擔心過多的額外任務給虛擬機管理程序帶來負擔會導致問題,而且我也擔心如果我不將 ZFS 放入具有定義限制的虛擬機中會消耗多少記憶體(我我正在考慮將 32 Gb 用於執行 ZFS 的任何作業系統。而且我擔心在管理程序中安裝太多東西會導致更可能影響整個系統的衝突(因為這些衝突會發生在管理程序內部)。

管理程序,無論其風格如何,都應該 100% 致力於為其虛擬機提供服務。這有幾個原因。

首先,虛擬化的主要好處之一是硬體獨立性——如果主機當機,將這些虛擬機恢復到不同的主機並在很短的時間內啟動並執行非常簡單。一旦您開始直接在主機作業系統上部署服務,該過程就會變得更加複雜。

其次,管理程序核心經過調整以處理虛擬化負載,而不是直接在主機作業系統上執行的使用者態程序。

第三,如果必須考慮執行在虛擬機上的程序和執行在裸機上的程序,程序配置和部署就會變得過於復雜。這並非不可克服,但並不理想,應盡可能避免。

所以直接回答你的問題:不要直接在主機作業系統上執行任何不必要的程序。讓虛擬機管理程序完成它的工作,並為您的服務使用虛擬機。

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