服務器虛擬化種類:
目前虛擬化分爲全虛擬化和半虛擬化。全虛擬化以vmware esxi和redhat的KVM爲例,即運行在其上的虛擬機不需要修改內核即可正常運行。半虛擬化以xenserver、hyper-v爲例子,運行windows操作系統需要CPU虛擬化的支持,並且運行在其上的Linux虛擬機需要修改內核才能運行。
全虛擬化原理:
全虛擬化是通過在hypervisio處劫持其上虛擬機發出的特權指令,然後通過BT等技術進行翻譯成hypervisio可以識別的虛擬指令集,這樣其上面的虛擬機並不支持自己運行在虛擬環境上。不過現在爲了提高虛擬化的運行效率,全虛擬化也集合了硬件虛擬化。
半虛擬化原理:
半虛擬化則是通過修改虛擬機系統的內核,虛擬機可以直接使用hypervisio開放的API來調用內存、存儲等硬件功能。其是知道自己處於虛擬層上。可以直接發出來虛擬層識別的指令集。由於windows的內核不允許被修改,所以需要結合CPU的硬件虛擬化(Intel 的VT技術或者AMD的AMD-V技術)。