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

时间: 2024-11-10 17:48:00

KVM和QEMU简介的相关文章

KVM/QEMU简介

转载: http://blog.csdn.net/chdhust/article/details/7557791 VM虚拟机是基于linux内核虚拟化,自linux2.6.20之后就集成在 linux的各个主要发行版本中.它使用linux自身的调度器进行管理,所以相对于xen,其核心源码很少.KVM的虚拟化需要硬件的支持(如 intel VT技术或者AMD V技术),是基于硬件的完全虚拟化.而xen早期则是基于软件模拟的para-virtualization,新版本是基于硬件支持的完全虚拟化.

kvm和qemu的关系

现在所说的虚拟化,一般都是指在CPU硬件支持基础之上的虚拟化技术.KVM也同hyper-V.Xen一样依赖此项技术.没有CPU硬件虚拟化的支持,KVM是无法工作的.准 确来说,KVM是Linux的一个模块.可以用modprobe去加载KVM模块.加载了模块后,才能进一步通过其他工具创建虚拟机.但仅有KVM模块是 远远不够的,因为用户无法直接控制内核模块去作事情:还必须有一个用户空间的工具才行.这个用户空间的工具,开发者选择了已经成型的开源虚拟化软件 QEMU.说起来QEMU也是一个虚拟化软件.它

Linux虚拟化技术KVM、QEMU与libvirt的关系(转)

说明:个人理解,KVM是内核虚拟化技术,而内核是不能使用在界面上使用的,那么此时QEMU提供了用户级别的使用界面,相互辅助.当然,单独使用QEMU也是可以实现一整套虚拟机,不过QEMU+KVM基本是标配Linux虚拟机管理工具. 一.介绍: 主要分为三个部分.第一部分是虚拟化技术介绍:第二部分是KVM.QEMU与libvirt介绍,第三部分是对网卡的虚拟介绍. 第一部分: 这一部分是对当期存在的虚拟机技术进行简单的总结与讲解,很多是一句而过的.其实每一个技术都可以重新写出一篇内容丰富的博客,但是

kvm sr-iov 热插拔 简介

SR-IOV简介:(参考:http://docs.oracle.com/cd/E38902_01/html/E38873/glbzi.html) 我们知道vt-d功能可以进行设备直接分配,用以让虚拟机使用达到类似物理机性能的i/o设备,但是使用vt-d有个缺点:一个设备只能让一个客户机使用,所以有没有什么办法可以让设备性能的情况下,让多个虚拟机同时使用呢?这个就是 SR-IOV(single root i/o virtualization and sharing) 技术,图片来自书本<kvm虚拟

KVM虚拟化技术简介

kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少.KVM目前已成为学术界的主流VMM之一. KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术).是基于硬件的完全虚拟化.而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化.

kvm/qemu/libvirt学习笔记 (1) qemu/kvm/libvirt介绍及虚拟化环境的安装

kvm简介 kvm最初由Quramnet公司开发,2008年被RedHat公司收购.kvm全称基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux的一个内核模块.包括核心虚拟化模块kvm.ko,以及特定CPU的模块kvm-inet.ko或kvm-amd.ko,其实现需要宿主机的CPU支持硬件虚拟化.从Linux内核版本2.6.20开始,kvm模块就已经包含在Linux内核中了.在X86平台下CPU的硬件虚拟化技术有Inetl的VT-X和AMD的AMD-V.

KVM之初体验——QEMU安装虚拟机

QEMU简介 QEMU是一款开源的模拟器及虚拟机监管器(Virtual Machine Monitor,  VMM).QEMU主要提供两种功能给用户使用.一是作为用户态模拟器,利用动态代码翻译机制来执行不同于主机架构的代码.二是作为虚拟机监管器,模拟全 系统,利用其他VMM(Xen, KVM, etc)来使用硬件提供的虚拟化支持,创建接近于主机性能的虚拟机. 是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案. 它包含一个为处理器提供底层虚拟化 

qemu,kvm,qemu-kvm,xen,libvir 区别

KVM:(Kernel-based Virtual Machine)基于内核的虚拟机 KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案.它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度.内存管理与硬件设备交互等. 从存在形式看, KVM是两个内核模块kvm.ko和kvm_intel.ko(对AMD处理器来说,就是kvm_amd.ko),这两个模块用来实现CPU的虚拟化. 如果要让

qemu/kvm/qemu-kvm/virsh的区别

转自:http://www.2cto.com/os/201305/209596.html qemu是一套虚拟机管理系统,kqemu是qemu的加速器,可以认为是qemu的一个插件:qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器: kvm是另外的一套虚拟机管理系统,包括内核虚拟构架和处理器相关模块,其借用了 quem 其它一些组件,kvm的非内核部分是由qemu实现的:加载了模块后,才能进一步通过其他工具创建虚拟机.但仅有 KVM 模块是远远不够的,因为用户无法直接控