1. 程式人生 > >KVM虛擬化專題(1)系統虛擬化

KVM虛擬化專題(1)系統虛擬化

amd vmware https 主機 翻譯 tel ddb 根據 獨立服務

虛擬化
雲計算的一個核心思想就是在服務器端提供集中的計算資源。這些計算資源可以被分解成更小的單位去獨立服務於不同的用戶,也就是在共享物理資源的同時,為每個用戶提供隔離,安全,可信的虛擬工作環境,而這一切不可避免的要依賴於虛擬化技術。
技術分享圖片
這種硬件抽象層的虛擬化又被稱為系統虛擬化,是指將一臺物理計算系統虛擬化為一臺或多臺虛擬計算機主機。每個虛擬計算機系統(簡稱虛擬機)都擁有自己的虛擬硬件,如內存,CPU,網卡等設備,並提供一個獨立的虛擬機執行環境。通過虛擬機監控器(VMM,也可以稱為Hypervisor)的模擬,虛擬機中的操作系統(Guest OS,客戶機操作系統)認為自己仍然是獨占一個系統在運行。在一臺物理機上運行的每個虛擬機中的操作系統都是完全可以不同的,並且它們的執行環境是完全獨立的。

技術分享圖片

虛擬化的實現方式:

當前主流的虛擬化按照實現方式可以分為兩種:

VMM直接運行在硬件平臺上,控制所有硬件並管理客戶操作系統。客戶操作系統運行在比VMM更高的級別。
VMM運行在一個傳統的操作系統裏(第一層軟件),可以看作是第二層軟件,而客戶機操作系統則是第三層軟件層了。KVM跟VitualBOX就是這種實現。

根據VMM所以提供的虛擬化平臺類型又可以將VMM分為

無硬件輔助的全虛擬化

技術分享圖片
基於二進制翻譯的全虛擬化
Hypervisor運行在Ring 0
Guest OS運行在Ring 1
機制:異常、捕獲、翻譯
示例:
VMware Workstation
QEMU
Virtual PC
運行方式:Hypervisor模擬一個CPU給VM,來賓操作系統不需要做任何修改。Hypervisor對來賓操作系統上的ring0上的一些指令進行翻譯,變成真正的CPU指令。

半虛擬化:

技術分享圖片
半虛擬化也稱為:超虛擬化,操作系統輔助虛擬化
Hypervisor運行在Ring 0
Guest OS不能直接運行在Ring 0,需要對kernel進行修改,將運行在Ring 0上的,指令轉為調用Hypervisor,guest操作系統是直到自己運行在虛擬化平臺的,省去了全虛擬化的大量的捕獲模擬等操作
Guest OS上的APP運行在Ring 3
示例:Xen

硬件輔助的全虛擬化

技術分享圖片
Intel VT和AMD-V創建一個新的Ring -1單獨給Hypervisor使用
Guest OS可以直接使用Ring 0而無需修改
示例:
VMware Esxi
Microsoft Hyper-V
Xen3.0
KVM

KVM虛擬化專題(1)系統虛擬化