作家
登录

漫谈虚拟化之三-虚拟化类型

作者: 来源: 2018-03-28 16:07:26 阅读 我要评论

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践!


经由过程本系列前面两篇分享懂得了有关虚拟化的根本概念之后,咱们就来谈谈虚拟化的类型。

(1)软件帮助虚拟化:经由过程软件的办法,让客户机的特权指令陷入异常,大年夜而触发宿主机进行虚拟化。重要应用的技巧就是优先级紧缩和二进制代码翻译。

1. 虚拟化类型

在虚拟化蓬勃成长的┞封些年迈,虚拟化可以根据不合划分标准进行分类,包含全虚拟化,CPU 虚拟化,硬件虚拟化,办事器虚拟化,桌面虚拟化等等。我们平日所说的虚拟化主如果指平台虚拟化技巧,经由过程应用 Hypervisor,隐蔽特定寂?娼台的现什物理特点,为用户供给抽象的、同一的、模仿的计算情况(即虚拟机)。

这种分类并不是绝对的,一个优良的虚拟化软件往往融合了多项技巧。例如 VMware Workstation 是一个有名的全虚拟化的 VMM,然则它应用了一种被称为动态二进制翻译的技巧把对特权状况的拜访转换查对影子状况的操作,大年夜而避免了低效的 Trap-And-Emulate (陷入-模仿)的处理方法,这与半虚拟化类似,只不过半虚拟化是静态地修改法度榜样代码。对于半虚拟化而言,如不雅能应用硬件特点,那么虚拟机的治理将会大年夜大年夜简化,同时还能保持较高的机能。

下面分别介绍四类主流的分类办法:

1.1 大年夜虚拟化的层次划分,重要分闻敉件帮助的虚拟化和硬件帮助的虚拟化。

(1)办事器虚拟化:就是将一台办事器虚拟成多台办事器进行应用,办事器虚拟化是基本架构即办事(IaaS)的基本。

(2)硬件帮助虚拟化:是指在 CPU 中参加新的指令集和处理器运行模式,完成虚拟化操作体系对硬件资本的的直接调用。典范技巧指的是 Intel VT,AMD-V。

1.2 大年夜虚拟平台角度分为全虚拟化和半虚拟化。

(1)全虚拟化(Full Virtualization):全虚拟化是指虚拟机模仿了完全的底层硬件,包含处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作体系或其它体系软件完全不做任何修改就可以在虚拟机中运行。操作体系与真实硬件之间的交互可以算作是经由过程一个预先规定的硬件接口进行的。全虚拟化 VMM 以完全模仿硬件的方法供给全部接口(同时还必须模仿特权指令的履行过程)。

咱们举例解释一下,在 x86 体系构造中,对于操作体系切换过程页表的操作,真实硬件经由过程供给一个特权 CR3 存放器来实现该接口,操作体系只需履行 "mov pgtable,%%cr3" 汇编指令即可。

全虚拟化 VMM 必须完全地模仿该接口履行的全过程。如不雅硬件不供给虚拟化的特别支撑,那么这个模仿过程将会十分复杂一般而言,VMM 必须运行在最高优先级来完全控制主机体系,而 Guest OS 须要降级运行,大年夜而不克不及履行特权操作。当 Guest OS 履行前面的特权汇编指令时,主机体系产生异常(General Protection Exception),履行控制权从新大年夜 Guest OS 转到 VMM 手中。VMM 事先分派一个变量作为影子 CR3 存放器给 Guest OS,将 pgtable 代表的客户机物理地址(Guest Physical Address)填入影子 CR3 存放器,然后 VMM 还须要 pgtable 翻译成主机物理地址(Host Physical Address)并填入物理 CR3 存放器,最后返回到 Guest OS中。随后 VMM 还将处理复杂的 Guest OS 缺页异常(Page Fault)。

全虚拟化不须要更改 Guest OS,兼容性好。典范的代表有 Vmware WorkStation,ESX Server 早期版本,Microsoft Virtrual Server。

(2)半虚拟化(Paravirtualization) :半虚拟化经由过程修改 Guest OS 部分拜访特权状况的代码以便直接与 VMM 直接交互。在半虚拟化虚拟机中,部分硬件接口以软件的情势供给给客户机操作体系,这可以经由过程 Hypercall(VMM 供给给 Guest OS 的直接调用,与体系调用类似)的方法来供给,所以也被称为超虚拟化。

例如,Guest OS 把切换页表的代码修改为调用 Hypercall 来直接完成修改影子 CR3 存放苹赝翻译地址的工作。

依附这些指令可以直接经由过程 Hypervisor 层调用硬件资本,大年夜而免除了 Hypervisor 层转换指令的开销,因为不须要产生额外的异常和模仿部分硬件履行流程,半虚拟化可以大年夜幅度进步机能,半虚拟化的典范代表有 Microsoft Hyper-V,Vmware 的 vSphere。

1.3 大年夜虚拟化 VMM 的实现构造来看,可以分为裸金属虚拟化,宿主型虚拟化和混淆虚拟化,接下来咱们分别具体介绍一下。

(3)硬件帮助虚拟化(Hardware-Assisted Virtualization) :指借助硬件(主如果主机处理器)的支撑来实现高效的全虚拟化。例如有了 Intel-VT 技巧的支撑,Guest OS 和 VMM 的履行情况主动地完全隔分开来,Guest OS 有本身的“全套存放器”,可以直接运行在最高等别。是以在膳绫擎的例子中,Guest OS 可以或许履行修改页表的汇编指令。Intel-VT 和 AMD-V 是今朝 x86 体系构造上可用的两种硬件帮助虚拟化技巧。

(1)裸金属型虚拟化(也叫 Hypervisor 虚拟化、懊悔或 I 型):指直接在底层硬件上安装VMM 作为 Hypervisor 接收,Hypervisor 将负责治理所有的资本和虚拟情况支撑。

该模型中,VMM 可以看作一个为虚拟化而生的完全的操作体系,掌控有所有资本(CPU,内存,I/O 设备)。VMM 承担治理资本的重担,其还需向上供给 VM 用于运行 Guest OS,是以 VMM 还负责虚拟情况的创建和治理。

它重要实现两个根本功能,其一是辨认、捕获和响应虚拟机所发出的 CPU 特权指令或保护指令;其二是负粜ウ理虚拟机队列和调剂,并将物理硬件的处理结不雅返回给响应的虚拟机。这种构造问题是,硬件设备多种多样,VMM 不克不及把所有的设备驱动都一一实现,所以此模型支撑有限的设备。如下图所示:


  推荐阅读

  不同时代的人如何使用物联网?

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践!今朝物联网的应用代沟令人惊奇。让100小我解释什么是物联网,你可能会收到100种不号绫钦底。根据他们职业,有些人可能将物联>>>详细阅读


本文标题:漫谈虚拟化之三-虚拟化类型

地址:http://www.17bianji.com/lsqh/41001.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)