Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >XEN、VMware ESXi、Hyper-V以及KVM架构解析

XEN、VMware ESXi、Hyper-V以及KVM架构解析

作者头像
CSDN技术头条
发布于 2018-02-09 09:31:28
发布于 2018-02-09 09:31:28
11.2K0
举报
文章被收录于专栏:CSDN技术头条CSDN技术头条

XEN 有简化虚拟模式,不需要设备驱动,能够保证每个虚拟用户系统相互独立,依赖于 service domains 来完成一些功能; Vmware ESXI 与 XEN 比较类似,包含设备驱动以及管理栈等基本要素,硬件支持依赖于 VMware 创建的驱动; Hyper-V 是基于 XEN 管理栈的修改; KVM 与 XEN 方式不同,KVM 是以 Linux 内核作为管理工具。

虚拟机的体系结构

1. XEN 体系结构

XEN 体系结构图如下:

Xen是一个开放源代码虚拟机监视器,由剑桥大学开发。Xen的缺点是操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性),所以比较麻烦。使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。Linux的官方内核在较早之前已经去掉了对Xen的支持。

一个 XEN 虚拟机环境主要由以下几部分组成:

XEN Hypervisor; Domain 0 —— Domain Management and Control(XEN DM&C); Domain U Guest(Dom U) PV Guest HVM Guest

Xen 三部分组成之间关系图

XEN Hypervisor :XENHypervisor 是介于操作系统和硬件之间的一个软件描述层。它负责在各个虚拟机之间进行 CPU 调度和内存分配。XEN Hypervisor 不仅抽象出虚拟机的硬件,同时还控制着各个虚拟机的执行。XEN Hypervisor 不会处理网络、存储设备、视频以及其他 I/O。

Domain 0:Domain 0 是一个修改过的 Linux kernel,是唯一运行在 Xen Hypervisor 之上的虚拟机,它拥有访问物理 I/O 资源的权限,同时和系统上运行的其他虚拟机进行交互。Domain 0 需要在其它 Domain 启动之前启动。

Domain U:运行在 Xen Hypervisor 上的所有半虚拟化(paravirtualized)虚拟机被称为“Domain U PV Guests”,其上运行着被修改过内核的操作系统,如 Linux、SolarisFreeBSD 等其它 UNIX 操作系统。所有的全虚拟化虚拟机被称为“Domain U HVM Guests”,其上运行着不用修改内核的操作系统,如 Windows 等。

2Hyper-V 体系结构

Hyper-V 体系结构图如下:

Hyper-V 是微软提出的一种系统管理程序虚拟化技术,采用微内核的架构,兼顾了安全性和性能的要求。Hyper-V 底层的 Hypervisor 运行在最高的特权级别下,微软将其称为 ring -1(而 Intel 则将其称为 root mode),而虚机的 OS 内核和驱动运行在 ring 0,应用程序运行在 ring 3 下,这种架构就不需要采用复杂的 BT(二进制特权指令翻译)技术,可以进一步提高安全性。从架构上讲 Hyper-V 只有“硬件-Hyper-V-虚拟机”三层,本身非常小巧,代码简单,且不包含任何第三方驱动,所以安全可靠、执行效率高,能充分利用硬件资源,使虚拟机系统性能更接近真实系统性能。

Hyper-V 支持分区层面的隔离。分区是逻辑隔离单位,受虚拟机监控程序支持,并且操作系统在其中执行。Microsoft 虚拟机监控程序必须至少有一个父 / 根分区,用于运行 64 位版本的 Windows Server 2008 操作系统。虚拟化堆栈在父分区中运行,并且可以直接访问硬件设备。随后,根分区会创建子分区用于承载来宾操作系统。根分区使用虚拟化调用应用程序编程接口 (API) 来创建子分区。

分区对物理处理器没有访问权限,也不能处理处理器中断。相反,它们具有处理器的虚拟视图,并运行于每个来宾分区专用的虚拟内存地址区域。虚拟机监控程序负责处理处理器中断,并将其重定向到相应的分区。Hyper-V 还可以通过输入输出内存管理单元 (IOMMU) 利用硬件加速来加快各个来宾虚拟地址空间相互之间的地址转换。IOMMU 独立于 CPU 使用的内存管理硬件运行,并用于将物理内存地址重新映射到子分区使用的地址。从系统的结构图,我们可以看出来 Hyper-V 与 Xen 的架构很相似。

3. Vmware ESXI 体系结构

Vmware ESXI 体系结构图如下:

VMWare (Virtual Machine ware)是一个“虚拟PC”软件公司。它的产品可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少,因此,比较适合学习和测试。

由上图我们可以看出来管理工具也是直接嵌入到了 ESXi vmKernel 中,没有再分化出单独的管理工具,这一点与 Xen 是相区别的。

4. KVM 体系结构

KVM 体系结构图如下:

KVM 是一个独特的管理程序,通过将 KVM 作为一个内核模块实现,在虚拟环境下 Linux 内核集成管理程序将其作为一个可加载的模块可以简化管理和提升性能。在这种模式下,每个虚拟机都是一个常规的 Linux 进程,通过 Linux 调度程序进行调度。

KVM是指基于Linux内核(Kernel-based)的虚拟机(Virtual Machine)。KVM最大的好处就在于它是与Linux内核集成的,所以速度很快。KVM的宿主操作系统必须是Linux,支持的客户机操作系统包括Linux、Windows、Solaris和BSD,运行在支持虚拟化扩展的x86和x86_64硬件架构上,这意味着KVM不能运行在老式CPU上,新CPU如果不支持虚拟化扩展也不能运行(如英特尔的Atom处理器)。

KVM、Xen、VMWare的对比

通过以上四种虚拟机的体系结构图,我们可以看出他们在整个系统中的位置,以及相互之间的区别。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSDN技术头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
请问Hyper-v中的OS 是半虚拟化还是全虚拟化还是硬件辅助虚拟化,又抑或是说视OS而定呢
请问Hyper-v中的OS 是半虚拟化还是全虚拟化还是硬件辅助虚拟化,又抑或是说视OS而定呢
回复回复点赞举报
推荐阅读
Intel 虚拟化技术(Intel® VT):CPU 虚拟化与内存虚拟化
目前主要的 CPU 虚拟化技术是 Intel 的 VT-x/VT-i 和 AMD 的 AMD-V 这两种技术。
Flowlet
2023/08/11
4.5K0
Intel 虚拟化技术(Intel® VT):CPU 虚拟化与内存虚拟化
LINUX 的 XEN 和 KVM 到底区别在什么地方
kvm 是 linux 的内核的一个 module,而 xen 是一个 linux 的应用。
明哥的运维笔记
2019/05/22
3.4K0
Hyper-V导致VmWare无法启动虚拟机的问题
问题原因: 由于Windows 10启用Hyper-V技术后,可以在 Windows 上以虚拟机形式运行多个操作系统。
云叶知秋
2021/12/06
3.3K0
Hyper-V导致VmWare无法启动虚拟机的问题
虚拟化 - KVM 和 Xen 比较
作为较早出现的虚拟化技术,Xen是“第一类”运行在裸机上的虚拟化管理程序(Hypervisor),也是当前相当一部分商业化运作公司的基础技术,其中包括Citrix系统公司的XenServer和Oracle的虚拟机。Xen技术的倡导者们声称Xen的性能强劲,并且拥有一个广泛的管理工具和能够交付卓越性能,以及其它诸多优点。
zero000
2018/11/13
12.1K1
虚拟化 - KVM 和 Xen 比较
VMware和Hyper-V的区别
#由于这两个都是运用虚拟化技术,如果微软开启 Hyper-V,那么VMware这款软件就在windows上无法运行虚拟环境,虚拟环境的搭建就会有报错
知孤云出岫
2023/11/24
8210
Hypervisor, KVM, QEMU总结
Hypervisor——一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。也可叫做VMM( virtual machine monitor ),即虚拟机监视器。
战神伽罗
2019/07/24
11.4K1
Hypervisor, KVM, QEMU总结
懂了!VMware/KVM/Docker原来是这么回事儿
虚拟主机、web服务器、数据库、对象存储等等各种服务我们都可以通过各种各样的云平台来完成。
轩辕之风
2020/07/23
1.3K0
懂了!VMware/KVM/Docker原来是这么回事儿
比较三种虚拟化技术kvm,xen,vmware
KVM是指基于Linux内核(Kernel-based)的虚拟机(Virtual Machine)。KVM最大的好处就在于它是与Linux内核集成的,所以速度很快。KVM的宿主操作系统必须是Linux,支持的客户机操作系统包括Linux、Windows、Solaris和BSD,运行在支持虚拟化扩展的x86和x86_64硬件架构上,cpu支持VT技术。
用户5760343
2022/05/19
4.8K0
Hyper-V虚拟机安装和使用
最近在研究人工智能AI模型的相关内容。需要一个稳定可靠的Linux环境来运行数据模型,但是我的电脑操作系统是windows操作系统,一开始我想使用VMware,但是它是收费的,而且安装起来也比较麻烦,后来我发现微软的Hyper-V虚拟机非常方便,关键是免费的。所以选择使用Hyper-V,在这里记录下Hyper-V虚拟机的安装和使用过程。通过分享我的经验,希望能够对其他人在使用Hyper-V虚拟机时提供帮助和指导。
九仞山
2023/10/14
3.8K0
Hyper-V虚拟机安装和使用
KVM入门篇
近年来,随着高性能时代的到来,购买一台配置很高的服务器运行着一些简单的服务未免有点大材小用,这时候我们就用到了虚拟化。虚拟化简单讲,就是把一台物理计算机虚拟成多台逻辑计算机,每个逻辑计算机里面可以运行不同的操作系统,相互不受影响,这样就可以充分利用硬件资源。 虚拟化介绍 关键词Hypervisor(VMM) 虚拟机管理器 虚拟化技术分为全虚拟化 和 半虚拟化 早期的CPU硬件不支持虚拟化,虚拟机上的操作系统(guestos)要想使用cpu资源,需要通过VMM来翻译指令,这个过程比较耗费资源,这种虚拟化技术叫
老七Linux
2018/05/31
5930
虚拟化技术概述
虚拟化简单讲,就是把一台物理计算机虚拟成多台逻辑计算机,每个逻辑计算机里面可以运行不同的操作系统,相互不受影响,每个逻辑系统都是独立的存在,这样就可以充分利用物理硬件的资源,而且还可以自由分配资源。
端碗吹水
2020/09/23
2.5K0
虚拟化技术概述
Docker Vs. 虚拟机
在计算机技术中,虚拟化(Virtualization)是一种资源管理技术。它是将计算机的各种实体资源,如:服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以用更好的方式来利用这些资源。
鲁大猿
2024/01/25
3660
Docker Vs. 虚拟机
吃透什么是KVM虚拟化
概念: 云计算自从提出,一直没有一个明确而统一的定义。维基百科对云计算做了如下的描述:云计算是一种通过因特网以服务的方式提供动态可伸缩的虚拟化的资源的计算模式。美国国家标准与技术研究院( NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件和服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。 云计算分类: 公有云:public Cloud,通常指第三方提供商为用户提供
用户8851537
2021/07/21
2.9K0
原创投稿 | 如何选择虚拟化方案与软件?
乐乐快跑,马哥门徒,马哥教育原创作者联盟成员,专注于运维领域知识分享,强于知识体系构建。 各位朋友大家好,今天我给大家说说实现虚拟化的方案与软件以及怎么选择哪种适合自己的虚拟化方案。在说虚拟化的方案前我稍微给大家撤下虚拟化产生的背景: 随着计算技术与科学技术的发展,在计算机行业出现一种问题,那就是好的服务器比如DELL,IBM非常的昂贵,差点的服务器也有比如国产的某某普,做为一个初创的互联网企业,资金是非常紧的,怎么能做到既节约成本又能保证数据安全? 虚拟化软件: 虚拟化为此就诞生了,在实际的生
小小科
2018/05/02
1.7K0
原创投稿 | 如何选择虚拟化方案与软件?
为什么说KVM是手游理想的虚拟化平台
4) 方案生命周期长,从整体角度,综合多个游戏项目,长远来看,能节省大量重复性硬件投入成本;
力哥聊运维与云计算
2019/06/28
1.8K0
微软停止发布独立的 Hyper-V Server
微软再次试图让你的世界更加离不开Azure。 微软不会随Windows Server 2022一同发布新版本的Hyper-V Server,这是与Windows Server一起提供的免费工具,用于管理大批虚拟机和构建混合云。 这番变化的消息出现在TechCommunity的一则帖子中。消息在备份供应商Veeam 发送给论坛成员的一份业务通讯中迅速传开来,随后在Reddit上引发了热议。 在TechCommunity帖子中,微软Windows Server开发团队的首席产品经理Elden Christen
云头条
2022/03/18
5.1K0
新手必读:Linux虚拟化实现
文章开头必须介绍下这位github开源大佬,是腾讯的一位前辈,仓库地址:https://github.com/yifengyou,里面有他学习的各种资料,包含linux内核态、用户态、虚拟化、云原生、编程语言等分类,很震撼。大家可以看下贡献图,感受下压迫感,这位大佬大年三十都还在学习!
希里安
2024/02/22
9790
新手必读:Linux虚拟化实现
VMware业务系统迁移上云方案
客户要将业务从自建的虚拟化数据中心迁移至UCloud,希望能够将多年前的VMware体系换到公有云体系。其中:
IT大咖说
2020/12/29
3.2K0
VMware业务系统迁移上云方案
kvm虚拟化介绍
一、虚拟化分类 1、虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互相不影响,从而显著提高计算机的工作效率。
用户8851537
2021/07/21
1.6K0
云计算——ACA学习 虚拟化技术产品介绍
虚拟化解决方案除了KVM之外,还有很多成熟的解决方案,包括XEN,VM,hyperV等。
网络豆
2023/12/21
4180
云计算——ACA学习 虚拟化技术产品介绍
相关推荐
Intel 虚拟化技术(Intel® VT):CPU 虚拟化与内存虚拟化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档