千家信息网

KVM、QEMU与libvirt有哪些区别

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要讲解了"KVM、QEMU与libvirt有哪些区别",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"KVM、QEMU与libvirt有哪些区别
千家信息网最后更新 2024年11月23日KVM、QEMU与libvirt有哪些区别

这篇文章主要讲解了"KVM、QEMU与libvirt有哪些区别",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"KVM、QEMU与libvirt有哪些区别"吧!

一 .KVM 简介

KVM (名称来自英语: Kernel-basedVirtual Machine 的缩写,即基于内核的虚拟机) , 是一种用于Linux内核中的虚拟化基础环境设施,是linux内核中的一个功能模块,默认被安装。可以将Linux内核转化为一个hypervisor。KVM在2007年2月被导入Linux 2.6.20核心中,以可加载核心模块的方式被移植到FreeBSD及illumos上。

KVM在具备Intel VT或AMD-V功能的x86平台上运行。它也被移植到S/390,PowerPC与IA-64平台上。在Linux内核3.9版中,加入ARM架构的支持。对于是否支持也可以通过命令行查看:egrep '(vmx|svm)' --color=always /proc/cpuinfo。如果有任何内容则说明当期硬件架构是支持kvm的,否则就不支持。另外,就算支持,但是在bios中是默认设置不打开该功能的,所以你还要去bios设置其为enable。

二 .QEMU

全称 Quick Emulator 。其实它也是一款虚拟化技术,就算不使用kvm,单版的qemu也可以完全实现一个虚拟机。那为何还会有qemu-kvm这个名词那。是因为虽然kvm的技术已经相当成熟而且可以对很多东西进行隔离,但是在某些方面还是无法虚拟出真实的机器。比如对网卡的虚拟,那这个时候就需要另外的技术来做补充,而qemu-kvm则是这样一种技术。它补充了kvm技术的不足,而且在性能上对kvm进行了优化。

KVM和QEMU的关系

QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。而KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT), AMD SVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案:KVM+QEMU

KVM 是 linux 内核包含的东西,使用 qemu 作为上层管理(命令行)。qemu 是独立虚拟软件,能独立运行虚拟机(根本不需要 kvm )。 kqemu 是该软件的加速软件。 kvm 并不需要 qemu 进行虚拟处理,只是需要它的上层管理界面进行虚拟机控制。虚拟机依旧是由 kvm 驱动。

三 .libvirt

libvirt又是个什么东东。它是一系列提供出来的库函数,用以其他技术调用,来管理机器上的虚拟机。包括各种虚拟机技术,kvm、xen与lxc等,都可以调用libvirt提供的api对虚拟机进行管理。有这么多的虚拟机技术,它为何能提供这么多的管理功能那。是因为它的设计理念,它是面向驱动的架构设计。对任何一种虚拟机技术都开发设计相对于该技术的驱动。这样不同虚拟机技术就可以使用不同驱动,而且相互直接不会影响,方便扩展。而且libvirt提供了多种语言的编程接口,可以直接通过编程,调用libvirt提供的对外接口实现对虚拟机的操作。

一般虚拟机虚拟网络的设置主要包括三种方式。主要如下:

1.NAT模式

也有人称此种模式为host模式。在这种模式下虚拟机可以理解成没有自己的独立网卡。所有访问虚拟机的请求其实是直接发送给宿主机,然后通过访问宿主机转发到虚拟机上的。相应的虚拟机访问其他网络,也是先转发到宿主机然后在转发出去。对于宿主机之外的网络,是不知道该虚拟机存在的。

如果主机的网卡崩溃,那么虚拟机是不能对外通信的。

2.Bridge模式

桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。

单网卡的情况下,如果主机的网卡崩溃,那么虚拟机是不能对外通信的。生产中可以使用bond来预防。

3.Internal模式

这个是把虚拟机之间的网络和主机的网络隔离开来。虚拟机是一片网络,主机也是一片网络,彼此之间不能相互访问。


基于上文,虚拟机实现创建和管理有如下两种方式:

1.KVM虚拟化技术-使用Qemu-kvm创建和管理虚拟机

2.KVM虚拟化技术-使用virt-install和virsh及virt-manager

感谢各位的阅读,以上就是"KVM、QEMU与libvirt有哪些区别"的内容了,经过本文的学习后,相信大家对KVM、QEMU与libvirt有哪些区别这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

技术 网卡 主机 模式 管理 内核 网络 支持 独立 功能 宿主 宿主机 方案 驱动 交换机 内容 接口 方式 架构 解决方案 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 怎样确定服务器上是否安装数据库 校园网络安全现状的文献综述 山西省交通网络技术平台 如何取消映射服务器 交通信息软件开发的步骤 利用拼成直角三角形数据库 javaweb文档数据库 关注网络安全 远离校园暴力 有效的信息网络安全学习心得 wbs软件开发模板案例 关于网络安全的危害 严守网络安全守住保密底线讨论 服务器8m支持多大访问量 冀时办数据库操作失败怎么回事 二甲医院软件开发经历 人民共和国网络安全法实施于 数据库加密破解专家 联想服务器30个硬盘位 广州硕丰互联网科技有限公司 吉林网络安全系统哪家好 上海市网络安全信息中心 图书馆表数据库 最新网络安全知识竞赛 有效的信息网络安全学习心得 软件开发合同代码注释 获取数据库登录时间 宁波建设智慧医院软件开发 大班网络安全教案反思 互联网 智能科技 ceo 工业智能网络技术
0