虚拟化架构KVM和XEN对比

2023-12-16 02:59
文章标签 架构 对比 虚拟化 kvm xen

本文主要是介绍虚拟化架构KVM和XEN对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在实际生产中KVM的虚拟化架构和XEN的虚拟化架构我都使用过。如果应用的不深入,看不出有什么性能上的差异,但是一旦大规模部署,他们之间的性能差异就比较明显了。下面是我找到和梳理的两种虚拟化架构的异同,供大家参考吧

计算虚拟化,目前业界主要有两大开源技术,KVM 和 XEN,关于KVM 和 XEN 架构的对比:
在这里插入图片描述
架构上的主要差异在于:

序号KVMXEN
1KVM 直接基于 Linux 内核XEN 实现了一个完整的微内核系统
2KVM 模块只完成对虚拟化硬件的操作XEN 自己实现了内存、调度、中断管理功能
3所有的诸如内存、调度、中断管理等功能由 Linux 内核直接完成XEN 使用 Dom0 Linux 内核主要完成 IO管理功能
4KVM已可以支持 X86/ARM/PPC/MIPS多种硬件架构Xen 由于需要更多研发资源,目前只能支持 X86 和 ARM 这两种硬件架构
5IO 操 作 性 能 高 , KVM 只 需 要VM->Linux kernel 的切换过程IO 操作性能低,Xen 为了执行 IO 操作,必须要 dom0 的辅助,因此其 IO 会VM>Xenkernel->dom0 的切换过程
6社区人气活跃度超过 XEN社区人气活跃度下降

KVM 更加灵活。由于操作系统直接和整合到 Linux 内核中的虚拟化管理程序交互,所以在任何场景下都可以直接和硬件进行交互,而不需要修改虚拟化的操作系统。同时 KVM 也作为默认的开源软件Hypervisor,获得了开源虚拟化联盟 OVA 的认可。各大厂商和组织都在推广 KVM,这使得 Xen 在开源虚拟化市场上难以立足。Xen 这个成熟的平台在可用资源、可管理性、性能等方面的优势在快速发展的KVM 面前也略显暗淡。随着时间的推移,虚拟化技术后来者 KVM 将会超越 Xen,拥有开源虚拟化市场。
服务器虚拟化系统的逻辑架构主要包括以下几个部分:
(一)虚拟化控制器(Hypervisor)
底层物理设备与虚拟机之间的控制层,实现底层物理资源的抽象化和资源隔离,并对上层虚拟机运行进行控制,虚拟化系统支持裸金属架构。在虚拟机运行过程中,Hypervisor 将对虚拟机的磁盘映象
进行读写操作。
(二)虚拟机(Virtual Machine,VM)
指对通过各种虚拟化技术,为用户提供的与原有物理服务器不同的操作系统和应用程序运行环境的统称。虚拟机通常使用物理服务器的部分资源,在用户看来它与物理服务器的使用完全相同。
(三)物理存储
虚拟化环境中支持不同存储设备和存储协议组成的物理存储,通常分布式存储系统磁盘存储。
(四)虚拟化管理中心
由运行在虚拟化管理服务器上的管理软件和对应的管理客户端、外部 Web 门户等部分构成。对系统中的各类物理或虚拟资源进行统一管理,实现资源发现、资源调配、批量部署、HA 和自动迁移以及其它基于策略的高级控制功能,并对外提供管理接口。
(五)磁盘映象(Image)
在虚拟化系统中,通过磁盘映象为虚拟机提供本地硬盘存储空间。磁盘映象可以表现为物理存储设备上的文件,或者磁盘逻辑卷(Logical Volume,LV)。

这篇关于虚拟化架构KVM和XEN对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/498859

相关文章

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺