返回顶部
首页 > 资讯 > 精选 >KVM、QEMU与libvirt有哪些区别
  • 160
分享到

KVM、QEMU与libvirt有哪些区别

2023-06-06 00:06:45 160人浏览 薄情痞子
摘要

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

这篇文章主要讲解了“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模式

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

 

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

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

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

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

--结束END--

本文标题: KVM、QEMU与libvirt有哪些区别

本文链接: https://lsjlt.com/news/245496.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • KVM、QEMU与libvirt有哪些区别
    这篇文章主要讲解了“KVM、QEMU与libvirt有哪些区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“KVM、QEMU与libvirt有哪些区别”吧!一 .KVM ...
    99+
    2023-06-06
  • sql与mysql有哪些区别
    什么是SQL? SQL是一种用于操作数据库的语言。SQL是用于所有数据库的基本语言。不同数据库之间存在较小的语法更改,但基本的SQL语法基本保 持不变。SQL是S tructured Q uery Language ...
    99+
    2022-05-15
    sql mysql 区别
  • pgsql与mysql有哪些区别
    这篇文章给大家分享的是有关pgsql与mysql有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。pgsql与mysql的区别有:在pgsql上的功能实现比mysql严谨,...
    99+
    2024-04-02
  • phpmyadmin与cms有哪些区别
    这篇文章给大家分享的是有关phpmyadmin与cms有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。phpmyadmin 是操作Mysql数据库的web程序,可以方便快...
    99+
    2024-04-02
  • phpmyadmin与mysql有哪些区别
    这篇文章主要介绍phpmyadmin与mysql有哪些区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机...
    99+
    2024-04-02
  • OLTP与OLAP有哪些区别
    这篇文章主要介绍“OLTP与OLAP有哪些区别”,在日常操作中,相信很多人在OLTP与OLAP有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”OLTP与OLAP有哪些...
    99+
    2024-04-02
  • sql中#与$有哪些区别
    这篇文章给大家分享的是有关sql中#与$有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在这里用到了#{},使用#时:1、用来传入参数,sq...
    99+
    2024-04-02
  • oracle与mysql有哪些区别
    小编给大家分享一下oracle与mysql有哪些区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • mysql与mongodb有哪些区别
    这篇文章主要介绍了mysql与mongodb有哪些区别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql与mongodb有哪些区别文章都会有所收获,下面我们一起来看看吧。...
    99+
    2024-04-02
  • php与JavaScript有哪些区别
    这篇文章主要讲解了“php与JavaScript有哪些区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php与JavaScript有哪些区别”吧! ...
    99+
    2024-04-02
  • es6与commonjs有哪些区别
    本篇内容介绍了“es6与commonjs有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • nodejs与vuejs有哪些区别
    小编给大家分享一下nodejs与vuejs有哪些区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • CNN与RNN有哪些区别
    本篇内容主要讲解“CNN与RNN有哪些区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CNN与RNN有哪些区别”吧!一、CNN与RNN对比1. CNN卷积神经...
    99+
    2024-04-02
  • python与javascript有哪些区别
    本篇内容主要讲解“python与javascript有哪些区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python与javascript有哪些区别”吧! ...
    99+
    2024-04-02
  • React与Angular有哪些区别
    这篇文章主要介绍“React与Angular有哪些区别”,在日常操作中,相信很多人在React与Angular有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Reac...
    99+
    2024-04-02
  • java与javascript有哪些区别
    这篇文章主要介绍“java与javascript有哪些区别”,在日常操作中,相信很多人在java与javascript有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • bootstrap4.0与3.0有哪些区别
    今天小编给大家分享一下bootstrap4.0与3.0有哪些区别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2024-04-02
  • bootstrap与jquery有哪些区别
    小编给大家分享一下bootstrap与jquery有哪些区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 区别:1、Bootstrap是用于开发应用程序的开源...
    99+
    2024-04-02
  • bootstrap与dreamweaver有哪些区别
    这篇文章主要介绍bootstrap与dreamweaver有哪些区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 区别:1、bootstrap是基于HT...
    99+
    2024-04-02
  • javascript与DOM有哪些区别
    这篇文章主要介绍javascript与DOM有哪些区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! JavaScript与DOM的区别:1、DOM是文档...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作