KVM+QEMU虛擬化概念

概念:linux

KVM,即Kernel-basedvirtual machine,由redhat開發,是一種開源、免費的虛擬化技術。對企業來講,是一種可選的虛擬化解決方案。ubuntu

 

定義:基於Linux內核的虛擬機架構

解釋:模塊化

KVM 、XEN、Hyper-V 這類 Hypervisor 是爲商用而生的,他們自己就是一種 OS,直接運行
在硬件之上,例如KVM,架構是:硬件 ---> {Linux Kernel + KVM} ---> VM,即加載了
KVM module 的 Linux Kernel 自己就是一種完備的 Hypervisor,運行在內核態。這樣作的
好處在於可使用 Kernel 自己的 CPU 調度 和 內存管理,不用像XEN同樣本身實現,因此
說,KVM 是基於 Linux Kernel 的。工具

 

優勢:性能

KVM最大的好處就在於它是與Linux內核集成的,因此速度很快。KVM的宿主操做系統必須是Linux,支持的客戶機操做系統包括Linux、Windows、Solaris和BSD,運行在支持虛擬化擴展的x86和x86_64硬件架構上,cpu支持VT技術。spa

 

QEMU:操作系統

QEMU是一個主機上的VMM(virtual machine monitor),經過動態二進制轉換來模擬CPU,並提供一系列的硬件模型,使guest os認爲本身和硬件直接打交道,實際上是同QEMU模擬出來的硬件打交道,QEMU再將這些指令翻譯給真正硬件進行操做。經過這種模式,guest os能夠和主機上的硬盤,網卡,CPU,CD-ROM,音頻設備和USB設備進行交互。但因爲全部指令都須要通過QEMU來翻譯,於是性能會比較差。.net

 

硬件基礎:命令行

KVM功能,是以擴展虛擬化CPU爲硬件基礎(如Intel-VT,AMD-V),利用CPU虛擬化技術。

 

實現方式:(模塊化)

KVM做爲內核的一個模塊,來提供虛擬化功能。若是系統須要虛擬化功能,則KVM模塊能夠被linux內核按需動態加載到內存運行。若是不須要的KVM功能,能夠動態卸載該模塊。

 

KVM+QEMU工做原理:

KVM包含一個內核模塊kvm.ko用來實現核心虛擬化功能,以及一個和處理器強相關的模塊如kvm-intel.ko或kvm-amd.ko。KVM自己不實現任何模擬,僅僅是暴露了一個/dev/kvm接口,這個接口可被宿主機用來主要負責vCPU的建立,虛擬內存的地址空間分配,vCPU寄存器的讀寫以及vCPU的運行。有了KVM之後,guest os的CPU指令不用再通過QEMU來轉譯即可直接運行,大大提升了運行速度。但KVM的kvm.ko自己只提供了CPU和內存的虛擬化,因此它必須結合QEMU才能構成一個完整的虛擬化技術,這樣,KVM和QEMU聯合就提供了一個模擬的(虛擬的)硬件層(CPU、內存、IO設備等),虛擬機就運行在這個模擬的硬件層之上。

 

 

                                                            

上圖,是KVM虛擬機的總體架構。KVM內核模塊在運行時按需加載進入內核空間運行。KVM自己不執行任何硬件設備模擬,須要用戶空間程序QEMU經過/dev/kvm接口設置一個虛擬客戶機的地址空間,向它提供模擬的I/O等硬件設備。

總結:KVM內核模塊在運行時只關注CPU調度和內存管理;而包括網卡在內的其餘I/O硬件設備是QEMU虛擬提供的。

 

KVM是以擴展虛擬化的CPU爲硬件基礎,可是KVM也可運行在不支持虛擬化技術的CPU之上。只不過,後者是使用QEMU提供的純粹的模擬方式,性能較低。

 

KVM管理工具:

Virtual Machine Manager(VMM),由redhat開發的,是一個圖形化管理工具。

KVM也有本身的語法規則,你可使用KVM的語法規則編寫命令,使用命令行方式來管理虛擬機。 For more information, reference to :

The Kernel VirtualMachine - Community Ubuntu Documentation

KVM tutorials onhowtoforge.com

KVM/Virsh -Community Ubuntu Documentation

 

KVM的優點和劣勢:

優點:KVM是一個免費開源軟件,提供了虛擬化解決方案;提供了強大的命令行接口。

劣勢:KVM能夠運行在不支持虛擬化的CPU硬件上,可是在這樣的話,效率會很低;KVM也可能會和虛擬機virtualbox衝突; KVM只是提供命令行接口,用戶能夠寫腳原本管理KVM,並無一個友好的GUI。

 

 

轉載自:https://blog.csdn.net/j123kaishichufa/article/details/40653213

相關文章
相關標籤/搜索