当前位置:首页 > 虚拟化 > 正文

kvm是虚拟化的什么


一、kvm和qemu的关系kvm为什么没有做io虚拟化半虚拟化和全虚拟化的区别kvm是否在内

基于KVM的虚拟化可以使用不同的虚拟化平台。目前主要组件之一采用QEMU-KVM,但不同产品的版本和功能有所不同


KVM:Kernel-BasedVirtualMachine是基于内核的虚拟机。Linux内核的加载模块是底层CPU的虚拟化和内存的虚拟化,使Linux内核成为一个虚拟化层,这需要x86架构和支持虚拟化功能的硬件支持(如IntelVT、AMD-V)。KVM于2007年2月被引入Linux2.6.20内核。从存在形式来看,它包括两个核心模块:和kvm_(或kvm_)。KVM本身提供的)作为管理接口,主要负责vCPU的创建、虚拟内存的分配、vCPU寄存器的读写以及vCPU的运行。


QEMU:是由FabrizioBellardo编写的免费软件模拟过程。它是一个完整的程序,可以独立运行,可以独立模拟整个过程。QEMU有两种运行模式:系统模式,可以模拟整个计算机系统;用户模式,可以运行与当前硬件平台不同的其他平台上的程序(比如运行在x86平台上、运行在ARM平台上))。和之前Accelerator(可以理解为QEMU中的一个插件,用于提高QEMU的传输性能并支持Windows平台),但1.0之后的版本只使用qemu-kvm(仅支持Linux)进行加速,1.3,QEMU和QEMU-KVM合二为一。

提供接口),但仅靠KVM还不够。用户无法直接控制内核做事(KVM只提供接口,以及如何创建虚拟机、分配vCPU等。这个工具没有做出来)。

在QEMU-KVM中,KVM运行在内核空间,而QEMU运行在用户空间。她假装创造和管理各种虚拟的仇恨。,通过CPU向核心模块传输指令。KVM工具用于虚拟化CPU和内存,但kvm无法虚拟化其他硬件设备,因此qemu还具有模拟IO设备(磁盘、网络、显卡等)的功能。在另一篇文章中。讲一下

总结一下,QEMU-KVM主要有两个功能:

1.QEMU负责

你想使用libvirt,这是在RedHat开始支持KVM之后。他大概觉得QEMU+KVM方案中机器管理工具的用户空间不太好用或者不太通用;所以他干脆创建了libvirt,一个用于各种虚拟机的工具。平台虚拟机管理的API库,一些常用的虚拟机管理工具如virsh(类似forceeditor)、virt-install、virt-manager等。云计算框架(如OpenStack、OpenNebula、Eucalyptus等)都在底层使用libvirt的软件接口。

libvirt主要由三部分组成:API库、libvirtd进程守护进程和默认的命令行管理工具virsh。

,而KVM是另一种虚拟化解决方案,对CPU虚拟化效率更高(使用硬件辅助虚拟化),但不提供其他机器的虚拟化,借用了CSS的QEMU代码来依赖QEMU

虽然后来RedHat也开发了libvirt,但也只有它才算是一个虚拟机管理工具,还是需要通过QEMU用户空间来对应KVM