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

相关文章
相关标签/搜索