以下是我個(gè)人的一些主觀感受,沒有任何客觀數(shù)據(jù)支持。
————————
按實(shí)現(xiàn)方式來劃分,從下面幾個(gè)方面做一個(gè)比較
CPU效率:
軟虛擬和硬件虛擬基本差不多,但是模擬的CPU速度最慢,而且不是慢一點(diǎn)半點(diǎn)。
內(nèi)存效率:
大家都差不多,即便是QEMU這樣的模擬器加上了KQEMU的加速,也能湊合。
內(nèi)存占用:
硬虛擬的一大軟肋。軟虛擬可以輕松地在一臺(tái)機(jī)器上安裝十多個(gè)虛擬機(jī),但是硬虛擬就很難做到。主要的障礙是硬虛擬上的操作系統(tǒng)彼此獨(dú)立,而且主流的操作系統(tǒng)對(duì)內(nèi)存消耗都是非常貪婪的(用盡最后一個(gè)比特)。
I/O效率:
硬虛擬的另一大軟肋。在Guest操作系統(tǒng)上裝特殊的驅(qū)動(dòng),然后通過虛擬的總線(Hyper-V的VMBus)把操作直接委托給Host來完成,速度有所提升。但是由于DMA的緣故,在AMD/Intel不推出硬件支持的情況下,沒法有根本改觀。
可管理型:
硬虛擬的弱項(xiàng)。控制Guest操作系統(tǒng)基本上都是靠在Guest操作系統(tǒng)上安裝控制軟件來完成的。在沒有控制軟件的幫助下,就是關(guān)閉操作系統(tǒng)之類的事情都無法完成,要強(qiáng)制關(guān)機(jī)。軟虛擬在這個(gè)方面非常方便。
安全性:
軟虛擬的大軟肋。就是Unix的chroot,人稱jail系統(tǒng)。但是越獄的事情時(shí)有發(fā)生。硬虛擬,特別是純硬件的全虛擬,有很高的安全性,能夠真正達(dá)到沙箱(sandbox)的效果。
通用性:
軟虛擬機(jī)的大軟肋。最明顯的是Virtuozzo,這個(gè)windows下唯一的操作系統(tǒng)級(jí)別的虛擬化技術(shù),它只支持Windows Server 2003 r2 sp2。硬虛擬在沒有驅(qū)動(dòng)加速的情況下,通用性一般是比較好的。但是如果需要驅(qū)動(dòng)加速,仍然是要給每個(gè)不同平臺(tái)寫不同的驅(qū)動(dòng)。
————————
按我用過的產(chǎn)品來分,大概列出它們的一些特色和適用的場(chǎng)合
Hyper-V
實(shí)現(xiàn):硬件虛擬(對(duì)于Windows和Suse Linux支持驅(qū)動(dòng)加速的半虛擬)
特色:對(duì)Windows支持好,將來支持會(huì)更好。管理型不錯(cuò),微軟有一套管理工具。
適用:負(fù)載不高的服務(wù)器,安全性敏感的場(chǎng)合,開發(fā)。
Virtual Server/PC
實(shí)現(xiàn):硬件虛擬
特色:使用簡單,和Windows集成好。性能差。
適用:開發(fā),負(fù)載非常低的服務(wù)器
Vmware Workstation/GSX Server
實(shí)現(xiàn):硬件虛擬
特色:使用簡單,支持多平臺(tái)。性能差。
適用:非Windows平臺(tái)的開發(fā),以及負(fù)載非常低的服務(wù)器
Virtual Box
實(shí)現(xiàn):硬件虛擬
特色:另外一個(gè)Virtual PC或者Vmware Workstation
Vmware ESX Server
實(shí)現(xiàn):硬件虛擬機(jī)+對(duì)主流平臺(tái)的驅(qū)動(dòng)加速+內(nèi)存優(yōu)化
特色:硬虛擬中的速度標(biāo)桿,成熟
使用:負(fù)載中等的服務(wù)器
Xen
實(shí)現(xiàn):同Vmware ESX Server
特色:速度也很快,有開源社區(qū)支持(不過Windows優(yōu)化那部分沒有開源。。。)
適用:負(fù)載中等的服務(wù)器
QEMU
實(shí)現(xiàn):動(dòng)態(tài)編譯模擬器+KQEMU(內(nèi)存加速)
特色:兼容性好,支持多CPU。
適用:玩具?
KVM
實(shí)現(xiàn):硬件虛擬+Linux平臺(tái)的驅(qū)動(dòng)加速和內(nèi)存優(yōu)化+Windows平臺(tái)的網(wǎng)卡加速
特色:后起之秀,有強(qiáng)大的社區(qū)和大公司支持。直接整合進(jìn)Linux內(nèi)核
適用:Linux平臺(tái)上的開發(fā)與不重要的服務(wù)器
Virtuozzo
實(shí)現(xiàn):操作系統(tǒng)虛擬化
特色:Windows下的唯一操作系統(tǒng)級(jí)別虛擬化產(chǎn)品(也有Linux版本OpenVZ)
適用:大規(guī)模的虛擬服務(wù)器部署,虛擬主機(jī)提供商
————————
做開發(fā)的:
Windows用Virtual PC,Linux用Vmware
做中低負(fù)載服務(wù)器:
Vmware ESX,Xen,KVM,Hyper-V
做高負(fù)載,高密度服務(wù)器:
Virtuozzo,OpenVZ,Linux系的chroot族產(chǎn)品,Solaris Zone
————————
狀態(tài)管理
最后來關(guān)注一下虛擬機(jī)的一個(gè)非常重要的特性,狀態(tài)管理。功能強(qiáng)弱排列:
靜態(tài)磁盤狀態(tài)
最弱,不支持Differencing。Xen?Virtuozzo?
動(dòng)態(tài)磁盤狀態(tài)
支持Differencing
靜態(tài)內(nèi)存狀態(tài)
支持把內(nèi)存狀態(tài)存檔和恢復(fù),但是需要重啟,所謂Snapshot。大部分虛擬機(jī)都支持到這(Virtual PC,Vmware Workstation。。。)
動(dòng)態(tài)內(nèi)存狀態(tài)
動(dòng)態(tài)記錄內(nèi)存狀態(tài)和恢復(fù)。QEMU/KVM
全管理
包括網(wǎng)卡狀態(tài)等都管理了。從而能夠?qū)崿F(xiàn)Live Migration(動(dòng)態(tài)遷移)。Hyper-V 2.0的重要目標(biāo)就是這個(gè)了。所以從角度來說,硬虛擬最成熟的還是Vmware ESX,其次是Xen。KVM也不能小視,短短時(shí)間連Live Migration都支持了。
浙公網(wǎng)安備 33010602011771號(hào)