KVM QEMU libvirt三者的关系大致如下:
qemu,kvm,qemu-kvm,xen,libvir 区别
QEMU
QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性,qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器。kqemu为qemu的加速器,经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度。
QEMU本身可以不依赖于KVM,但是如果有 KVM的存在并且硬件(处理器)支持比如Intel VT功能,那么QEMU在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。
KVM和QEMU的关系
准确来说,KVM是Linux kernel的一个模块。可以用命令modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是 远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。这个用户空间的工具,kvm开发者选择了已经成型的开源虚拟化软件 QEMU。说起来QEMU也是一个虚拟化软件。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出可运行在Power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。所以你会看到,官方提供的KVM下载有两大部分(qemu和kvm)三个文件(KVM模块、QEMU工具以及二者的合集)。也就是说,你可以只升级KVM模块,也可以只升级QEMU工具。这就是KVM和QEMU 的关系。
QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。 而KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT, AMD SVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案,不妨称之为:KVM+QEMU.
KVM用户空间虚拟机管理工具有kvm, kvm-img, kvm-nbd ,kvm-ok 和kvm_stat,实际上kvm就是一个指向qemu-system-x86_64的符号链接,kvm-img则是指向qemu-img的符号链接。从适用的范围来讲, QEMU虚拟化方案除了支持x86架构外,还支持其他很多架构,比如qemu-system-m68k,qemu-system-mips64, qemu-system-ppc64, qemu-system-arm等等。但是目前提到KVM,一般指x86上基于Intel VT和AMD SVM的解决方案,虽然目前将KVM移植到ARM, PPC的工作正在进行中。
当然由于redhat已经开始支持KVM,它认为KVM+QEMU'的方案中用户空间虚拟机管理工具不太好使,或者通用性不强,所以redhat想了一个libvirt出来,一个用来管理虚拟机的API库,不只针对KVM,也可以管理Xen等方案下的虚拟机。
KVM (kernel-based virtual machine)中文含义:基于内核的虚拟机
(1)是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的linux [全虚拟化] 解决方案。
(2)它包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko(kvm-intel.ko 或 kvm-AMD.ko)。
(3)kvm还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。
(4)kvm能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(ps:它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。
(5)在主流的linux内核,如2.6.20以上的内核均包含了kvm核心。
qemu 全称Quick Emulator 。kvm并不需要qemu进行虚拟处理,只是需要它的上层管理界面进行虚拟机控制。虚拟机依旧是由kvm驱动。
qemu,kvm,qemu-kvm,xen,libvir 区别
引用
QEMU
QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性,qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器。kqemu为qemu的加速器,经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度。
QEMU本身可以不依赖于KVM,但是如果有 KVM的存在并且硬件(处理器)支持比如Intel VT功能,那么QEMU在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。
KVM和QEMU的关系
准确来说,KVM是Linux kernel的一个模块。可以用命令modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是 远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。这个用户空间的工具,kvm开发者选择了已经成型的开源虚拟化软件 QEMU。说起来QEMU也是一个虚拟化软件。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出可运行在Power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。所以你会看到,官方提供的KVM下载有两大部分(qemu和kvm)三个文件(KVM模块、QEMU工具以及二者的合集)。也就是说,你可以只升级KVM模块,也可以只升级QEMU工具。这就是KVM和QEMU 的关系。
QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。 而KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT, AMD SVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案,不妨称之为:KVM+QEMU.
KVM用户空间虚拟机管理工具有kvm, kvm-img, kvm-nbd ,kvm-ok 和kvm_stat,实际上kvm就是一个指向qemu-system-x86_64的符号链接,kvm-img则是指向qemu-img的符号链接。从适用的范围来讲, QEMU虚拟化方案除了支持x86架构外,还支持其他很多架构,比如qemu-system-m68k,qemu-system-mips64, qemu-system-ppc64, qemu-system-arm等等。但是目前提到KVM,一般指x86上基于Intel VT和AMD SVM的解决方案,虽然目前将KVM移植到ARM, PPC的工作正在进行中。
当然由于redhat已经开始支持KVM,它认为KVM+QEMU'的方案中用户空间虚拟机管理工具不太好使,或者通用性不强,所以redhat想了一个libvirt出来,一个用来管理虚拟机的API库,不只针对KVM,也可以管理Xen等方案下的虚拟机。
KVM (kernel-based virtual machine)中文含义:基于内核的虚拟机
(1)是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的linux [全虚拟化] 解决方案。
(2)它包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko(kvm-intel.ko 或 kvm-AMD.ko)。
(3)kvm还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。
(4)kvm能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(ps:它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。
(5)在主流的linux内核,如2.6.20以上的内核均包含了kvm核心。
qemu 全称Quick Emulator 。kvm并不需要qemu进行虚拟处理,只是需要它的上层管理界面进行虚拟机控制。虚拟机依旧是由kvm驱动。
发表评论
-
linux 安装mysql多个实例
2020-03-13 15:47 423mysql5.7.28多实例 安装mysql,不要启动 创 ... -
批量替换配置文件中的URL
2020-03-11 13:35 352find -iregex ".*/sh[a-z ... -
rsync备份和删除指定文件
2018-01-02 10:23 2051文件异地备份时,需要将本地文件合并到服务器上,且不能删除服务器 ... -
linux 定时任务crontab操作
2017-12-28 16:14 634常用参数: crontab -l //查看当前用户下 ... -
iptables 日志
2017-11-15 15:06 1410centos6.5配置了iptables的nat功能,但是不知 ... -
linux删除乱码文件
2017-09-30 11:20 681系统里好多乱码文件,删除不了 这个办法挺好 [url=htt ... -
解决vsftpd中文乱码问题
2017-08-25 10:45 0vsftpd中文乱码,通过ftp工具上传的中文文件会变为乱码J ... -
LVM常用命令
2017-08-25 10:28 618lvm 查看命令 lvs vgs pvs vgdisplay ... -
Centos7 firewalld操作
2017-08-25 10:27 622启动:# systemctl start firewall ... -
centos 添加DNAT SNAT
2017-08-25 10:19 3418外网服务器IP 101.168.200.22 开放端口8310 ... -
centos6.5 配置PXE系统
2017-08-25 09:58 735参考https://linux.cn/article-4902 ... -
centos6 tomcat 启动脚本 tomcat服务
2017-08-23 11:24 1441系统自动启动tomcat 复制该脚本到/etc/init.d/ ... -
CentOS6.5 整机备份与迁移恢复 五
2017-07-10 14:44 845修改网卡等配置 B服务器启动后,由于权限等原因会导至部分功能出 ... -
CentOS6.5 整机备份与迁移恢复 四
2017-07-07 16:52 870修改B系统引导器,正常启动B系统 选择系统安装或更新 ... -
CentOS6.5 整机备份与迁移恢复 三
2017-07-07 16:41 1051恢复系统文件 使用光盘启动B服务器,进入rescue模式,进入 ... -
CentOS6.5 整机备份与迁移恢复 二
2017-07-07 16:05 1158恢复分区表和格式化分区 在B服务器上,使用同样的系统盘启动系统 ... -
CentOS6.5 整机备份与迁移恢复 一
2017-07-07 15:32 7620CentOS6.5的整机备份与迁 ... -
centos vsftpd 虚拟用户安装配置
2017-07-07 14:11 643安装vsftpd yum install -y vsftp ... -
openstack 虚拟机改IP
2017-03-31 17:17 1680虚拟环境搭建好以后,需要把实体服务器切换到虚拟机中,为了 ... -
编译安装openstack mitaka horizon
2017-03-15 15:19 1636由于openstack的rpm包 ...
相关推荐
本文档介绍了虚拟化的基础知识、不同类型的虚拟化技术以及 KVM、Qemu 和 Libvirt 之间的关系。通过了解这些核心概念和技术细节,您可以更好地理解如何在实际环境中部署和管理虚拟化环境。接下来的章节将深入探讨 ...
通过以上介绍可以看出,Libvirt、Qemu和KVM三者相互协作,共同构建了一个高效且灵活的虚拟化平台。Libvirt提供了高级别的管理接口,Qemu作为模拟器处理除CPU指令外的其他硬件模拟任务,而KVM则专注于优化CPU指令处理...
**Ubuntu 12.10 KVM虚拟化安装指南** KVM(Kernel-based Virtual Machine)是一种基于Linux内核的全虚拟化解决方案,它允许Linux操作系统作为宿主机运行多个虚拟机。本指南旨在帮助用户在Ubuntu 12.10上安装和配置...
在大二下学期的KVM虚拟化实践与编程实验中,学生将深入理解并操作虚拟化技术,特别是基于Kernel-based Virtual Machine (KVM) 和 QEMU 的环境。这个实验涵盖了虚拟化环境的搭建、虚拟机的启动与管理、虚拟化应用的...
**虚拟化技术与QEMU、KVM** 虚拟化技术已经成为现代数据中心的核心,它允许在一个物理服务器上运行多个独立的操作系统实例,从而提高了硬件资源的利用率。QEMU(Quick Emulator)和KVM(Kernel-based Virtual ...
libvirt是一个API库,用于管理和控制虚拟化平台,包括QEMU/KVM。virsh是基于libvirt的命令行工具,可以方便地创建、管理虚拟机。通过virsh,你可以执行如`virsh start domain_name`来启动虚拟机,`virsh list`查看...
Libvirt、QEMU和KVM是当前流行的虚拟化技术工具,它们各自扮演着不同的角色,相互协作,共同实现了虚拟化的多种应用。 首先,虚拟化技术可以分为几种基本类型,包括无虚拟化、半虚拟化(Paravirtualization)、全...
接着,安装KVM本身和相关的管理工具,如`kvm`、`qemu`、`virtinst`、`python-libvirt`、`virt-viewer`、`virt-manager`,这些都是KVM虚拟化环境中不可或缺的部分。 配置网络连接对于KVM来说也非常重要。在本例中,...
【标题】:Ubuntu12.04配置KVM虚拟化环境详解 【描述】:本文将详细介绍如何在Ubuntu 12.04操作系统上配置并使用KVM(Kernel-based Virtual Machine)虚拟化技术,包括硬件支持检测、软件安装以及网络配置等关键...
实验四的焦点是混合虚拟化技术,特别是KVM(Kernel-based Virtual Machine),这是一种在Linux操作系统上的开源虚拟化解决方案。KVM依赖于Intel VT或AMD-V等硬件虚拟化扩展来实现虚拟化功能。在这个实验中,目标是...
QEMU是一个开源的模拟器和虚拟化软件,支持KVM作为其虚拟化后端。当QEMU与KVM结合时,可以实现高性能的虚拟化。 Libvirt是一个开源的API、守护进程和管理工具集,它提供了一组用于管理虚拟化的工具和库,主要用在...
- libvirt:提供虚拟化管理的库和API。 - qemu-kvm:KVM虚拟机的运行时环境。 3. 配置桥接网络接口:创建一个新的网络配置文件,设置一个桥接设备br0,将其绑定到物理网络接口p3p1上,以实现桥接模式。 - 编辑...
KVM不仅支持传统的基于QEMU的虚拟化,还集成了QEMU来处理I/O设备模拟,提供图形化界面和网络连接。 在实战方面,KVM虚拟化技术的实施步骤通常包括以下几点: 1. 安装和配置KVM兼容的Linux发行版,例如Ubuntu、...
1. `qemu-kvm` 和 `qemu-system`:这两个是KVM的核心组件,它们利用Linux内核的虚拟化扩展(如Intel VT或AMD-V),提供CPU、内存和I/O虚拟化功能。 2. `libvirt-bin`:这是libvirt库的二进制版本,用于管理和控制...
Libvirt支持多种虚拟化技术,包括KVM、Xen等。通过Libvirt,用户可以使用统一的接口来管理不同类型的虚拟机。其中,virsh是一个基于文本的管理虚拟机的命令行工具,而virt-manager则是一个图形界面的虚拟机管理工具...
KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它允许将Linux操作系统转变为一个全功能的虚拟化平台。在Ubuntu 16.04上搭建KVM环境,可以创建多个独立运行的虚拟机,这些虚拟机可以在同一台主机上...
"8 Ubuntu KVM安装配置" KVM(Kernel-based Virtual Machine)是一种开源的虚拟机软件,用于在...安装和配置 KVM 需要确认 CPU 是否支持虚拟化,配置国内镜像源,安装 KVM 及相关依赖包,确认 Libvirtd 服务已经启动。
在Ubuntu中,这些可能包括`libvirt`, `kvm`(如果希望进行硬件虚拟化),以及其他的库和工具。运行`sudo apt install -y libvirt-dev qemu-kvm libvirt-daemon-system`等命令来安装它们。 4. **安装QEMU**:一旦...
【标题】"KVM-Virtualization-Ubuntu-20_04-master.zip" 提供的是一个关于在Ubuntu 20.04上部署和管理KVM(Kernel-based Virtual Machine)虚拟化的教程或资源包。KVM是Linux内核中的一个模块,允许将Linux系统转换...
QEMU/KVM是开源虚拟化解决方案,支持在Linux系统上运行虚拟机;而DPDK是一套用于快速处理数据包的库和驱动程序集合,它能够帮助应用程序绕过常规内核处理流程,直接在用户空间操作网络数据包,提高数据包处理的速度...