xen和kvm,是開源免費的虛擬化軟件。
vmware是付費的虛擬化軟件。
hyper-v比較特別,是微軟windows 2008 R2附帶的虛擬化組件,如果你買了足夠的授權,hyper-v(包括hyper-v 2008 core)都可以免費使用。
如果是vmware或hyper-v虛擬windows系統,不管是虛擬化軟件本身,還是其中的子系統,都要支付許可費用。
如果是vmware或hyper-v虛擬linux,虛擬化軟件本身要支付許可費用,子系統可以用linux來節省成本。
如果是xen或kvm虛擬windows,其中的子系統要支付許可費用。
如果是xen或kvm虛擬linux,那麼虛擬化軟件本身和其中的子系統無需產生任何費用。
從性能上來講,虛擬windows,如果都能得到廠商的支持,那麼,性能優化可以不用擔心。這幾款軟件全都能達到主系統至少80%以上的性能(磁盤,CPU,網絡,內存),這時建議使用hyper-v來虛擬windows,微軟自身的產品,虛擬windows是絕對有優勢的。如果是虛擬linux,建議首先使用xen,支持linux的半虛擬化,可以直接使用主系統的cpu和磁盤及網絡資源,達到較少的虛擬化調度操作,可以達到非常高的性能,但xen操作復雜,維護成本較高。其次我們推薦kvm來虛擬linux,linux本身支持kvm的virtio技術,可以達到少量的虛擬化調度操作,得到較高的系統性能。不推薦使用hyper-v來虛擬linux,太多的不兼容性導致linux基本無法在hyper-v上跑。
如果以上產品我們不打算買廠商支持,其中vmware和hyper-v,是不建議使用的,主要是授權問題。
這時就剩下kvm和xen了,如果虛擬windows,建議使用kvm,我們可以從redhat那裡免費拿到針對windows優化過的磁盤和網絡的驅動程序,可以達到較高的性能(幾乎與hyper-v性能持平)。而xen的windows優化驅動不是那麼容易就能拿到的(由於redhat以後不支持xen了,看看novell是否放水了,呵呵,就開放程度上來講,redhat要好於novell)。
綜上所述,
在有授權的情況下,虛擬windows,建議使用hyper-v
在有授權的情況下,虛擬linux,建議使用xen,如考慮到需要降低管理維護和學習成本,建議使用kvm。
在沒有授權的情況下,虛擬windows,建議使用KVM
在沒有授權的情況下,虛擬linux,建議使用xen,如考慮到需要降低管理維護和學習成本,建議使用kvm。