KVM虚拟化概念

概念:

KVM,即Kernel-basedvirtual machine,由redhat开发,是一种开源、免费的虚拟化技术。对企业来说,是一种可选的虚拟化解决方案。

定义:基于内核的虚拟机

解释:

KVM 、XEN、Hyper-V 这类 Hypervisor 是为商用而生的,他们本身就是一种 OS,直接运行
在硬件之上,例如KVM,架构是:硬件 ---> {Linux Kernel + KVM} ---> VM,即加载了
KVM module 的 Linux Kernel 本身就是一种完备的 Hypervisor,运行在内核态。这样做的
好处在于可以使用 Kernel 本身的 CPU 调度 和 内存管理,不用像XEN一样自己实现,所以
说,KVM 是基于 Linux Kernel 的。

硬件基础:

KVM功能,是以扩展虚拟化CPU为硬件基础(如Intel-VT,AMD-V),利用CPU虚拟化技术。

实现方式:(模块化)

KVM作为内核的一个模块,来提供虚拟化功能。如果系统需要虚拟化功能,则KVM模块可以被linux内核按需动态加载到内存运行。如果不需要的KVM功能,可以动态卸载该模块。

KVM 和QEMU:

QEMU是一套模拟CPU的开源软件。KVM作为内核的一个模块,可以通过QEMU提供的模拟方式,来使用处理器。这样,KVM就提供了一个模拟的(虚拟的)硬件层,虚拟机就运行在这个模拟的硬件层之上。

 

                                                            

上图,是KVM虚拟机的整体架构。KVM内核模块在运行时按需加载进入内核空间运行。KVM本身不执行任何硬件设备模拟,需要用户空间程序QEMU通过/dev/kvm接口设置一个虚拟客户机的地址空间,向它提供模拟的I/O等硬件设备。

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

猜你喜欢

转载自www.cnblogs.com/dannylinux/p/9229032.html