KVM/QEMU簡介


KVM/QEMU簡介

     KVM虛擬機是基於linux內核虛擬化,自linux2.6.20之后就集成在linux的各個主要發行版本中。它使用linux自身的調度器進行管理,所以相對於xen,其核心源碼很少。KVM的虛擬化需要硬件的支持(如intel VT技術或者AMD V技術),是基於硬件的完全虛擬化。而xen早期則是基於軟件模擬的para-virtualization,新版本是基於硬件支持的完全虛擬化。

     qemu是一種模擬處理器,現在運用最多的就是將KVM和QEMU結合起來。

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

      如下圖:

       

      Linux Kernel-based Virtual Machine (KVM) 是一款 Linux 開放源碼虛擬化軟件,基於硬件虛擬化擴展(Intel VT-   X 和 AMD-V)和 QEMU 的修改版。KVM 的實現模塊又兩個,分別是: kvm.ko是提供核心虛擬化的基礎架構;特定於處理器的模塊 kvm-intel.ko 和 kvm-amd.ko 其設計目標是在需要引導多個未改動的 PC 操作系統時支持完整的硬件模擬。

       一個普通的linux進程有兩種運行模式:內核和用戶。而KVM增加了第三種模式:客戶模式(有自己的內核和用戶模式)。在kvm模型中,每一個虛擬機都是由linux調度程序管理的標准進程。

       kvm由兩個部分組成:一個是管理虛擬硬件的設備驅動,該驅動使用字符設備/dev/kvm作為管理接口;另一個是模擬PC硬件的用戶空間組件,這是一個稍作修改的qemu進程。

轉自:http://blog.csdn.net/chenglinhust/article/details/7557791


免責聲明!

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



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