虛擬化介紹

 
依照虛機(Guest OS)對硬件虛擬化程度的高低,可分爲完全虛擬化(Full virtualization)與半虛擬化(Paravirtualization)

完全虛擬化:就是指虛擬系統完全是透過軟件來模擬一個虛擬的硬件環境,並透過轉譯命令方式,來處理虛擬硬件與實體硬件之間溝通的橋樑。虛擬系統上的虛機其性能非常不好,例如 VMware Workstation 版本,就屬於此類。

半虛擬化:就是指以修改虛機(Guest OS)內核的方式,簡化了 CPU 與周邊設備操作指令轉譯的複雜度,以提升虛機性能,如早期的 Xen 就屬於半虛擬化系統。

依照虛擬平臺,可分爲寄居架構、原生架構
寄居架構:
是在操作系統(Host OS)之上,再運行虛機,完全虛擬化就這種類型,好處是硬件相容性高,缺點是操作系統宕機,上面所有虛機都無法使用(早期 VMware Workstation)
原生架構:
存在一個管理程序叫做(Hypervisor),管理所有虛機的運作。如 VMware vSphere(ESXi)、Linux LVM(kernel-bases virtual machine)實體機器的 CPU 必須支持 Intel VT-x 或 AMD-V。這些虛擬系統就像安裝操作系統一樣,是直接安裝在硬件上。
上面提到完全虛擬化和半虛擬化,由於 CPU 對於虛擬化的輔助,使得虛擬系統可以不需要通過任何內核指令轉換的動作,就可以直接與下達 CPU 的指令,而在半虛擬化的階段,還需要搭配虛機內核的修改,才能提升硬件溝通與虛機電腦運作的性能,而現在,因爲 CPU 虛擬化的支持,已經不在需要用修改核心的方式來提升性能,硬件本身就可以完全支持虛擬化技術,有極佳的性能。在這樣情況下,也就再也沒有完全虛擬化和半虛擬化的分別了。虛擬系統採用原生架構。

Linux KVM 是一套原生架構,不需要像半虛擬化技術與修改虛機電腦的系統內核,也不需要如完全虛擬化,模擬所有的硬件設備給虛擬電腦使用,而是能直接通過實體 CPU,以模塊方式來執行核心指令,提升性能。至於周邊設備(網卡、顯卡等)的虛擬化,則是透過 QEMU 這套開放軟件來作爲虛擬周邊設備與實體周邊設備溝通的橋樑。

名詞說明:
虛擬系統:如 VMware Workstation、Xen、Hyper-V 與 Linux KVM 等。
虛機:Guest OS
ESXi:Host


VT-x 與 VT-d

VT-x:CPU 支持 Intel VT-x 或 AMD-V,就有支持虛擬化的能力。
VT-d:則代表的是周邊設備虛擬化技術的支持,指的並不是網卡或顯卡等設備,而是溝通與傳遞這些周邊設備信息的主板。
說主板支持 VT-d,不太正確,應該是主板上的芯片組有無支持 VT-d 的功能。



a
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章