虛擬化與雲計算中KVM,Xen,Qemu的區別和聯系


 

虛擬化類型

全虛擬化(Full Virtualization)

全虛擬化也成為原始虛擬化技術,該模型使用虛擬機協調guest操作系統和原始硬件,VMM在guest操作系統和裸硬件之間用於工作協調,一些受保護指令必須由Hypervisor(虛擬機管理程序)來捕獲處理。

全虛擬化模型
圖1 全虛擬化模型

全虛擬化的運行速度要快於硬件模擬,但是性能方面不如裸機,因為Hypervisor需要占用一些資源

半虛擬化(Para Virtualization)

半虛擬化是另一種類似於全虛擬化的技術,它使用Hypervisor分享存取底層的硬件,但是它的guest操作系統集成了虛擬化方面的代碼。該方法無需重新編譯或引起陷阱,因為操作系統自身能夠與虛擬進程進行很好的協作。

半虛擬化模型
圖2 半虛擬化模型

半虛擬化需要guest操作系統做一些修改,使guest操作系統意識到自己是處於虛擬化環境的,但是半虛擬化提供了與原操作系統相近的性能。

虛擬化技術

KVM(Kernel-based Virtual Machine)基於內核的虛擬機

KVM是集成到Linux內核的Hypervisor,是X86架構且硬件支持虛擬化技術(Intel VT或AMD-V)的Linux的全虛擬化解決方案。它是Linux的一個很小的模塊,利用Linux做大量的事,如任務調度、內存管理與硬件設備交互等。

KVM虛擬化平台架構
圖3 KVM虛擬化平台架構

Xen

Xen 是第一類運行再裸機上的虛擬化管理程序(Hypervisor)。它支持全虛擬化和半虛擬化,Xen支持hypervisor和虛擬機互相通訊,而且提供 在所有Linux版本上的免費產品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise Server。Xen最重要的優勢在於半虛擬化,此外未經修改的操作系統也可以直接在xen上運行(如Windows),能讓虛擬機有效運行而不需要仿 真,因此虛擬機能感知到hypervisor,而不需要模擬虛擬硬件,從而能實現高性能。

Xen虛擬化平台架構
圖4 Xen虛擬化平台架構

QEMU

QEMU是一套由Fabrice Bellard所編寫的模擬處理器的自由軟件。它與Bochs,PearPC近似,但其具有某些后兩者所不具備的特性,如高速度及跨平台的特性。經由kqemu這個開源的加速器,QEMU能模擬至接近真實電腦的速度。

KVM和QEMU的關系

准 確來說,KVM是Linux kernel的一個模塊。可以用命令modprobe去加載KVM模塊。加載了模塊后,才能進一步通過其他工具創建虛擬機。但僅有KVM模塊是 遠遠不夠的,因為用戶無法直接控制內核模塊去作事情,你還必須有一個運行在用戶空間的工具才行。這個用戶空間的工具,kvm開發者選擇了已經成型的開源虛 擬化軟件 QEMU。說起來QEMU也是一個虛擬化軟件。它的特點是可虛擬不同的CPU。比如說在x86的CPU上可虛擬一個Power的CPU,並可利用它編譯出 可運行在Power上的程序。KVM使用了QEMU的一部分,並稍加改造,就成了可控制KVM的用戶空間工具了。所以你會看到,官方提供的KVM下載有兩 大部分(qemu和kvm)三個文件(KVM模塊、QEMU工具以及二者的合集)。也就是說,你可以只升級KVM模塊,也可以只升級QEMU工具。這就是 KVM和QEMU 的關系。

Xen虛擬化平台架構
圖5 KVM和QEMU關系


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM