计算虚拟化基础介绍

描述

虚拟化对未被充分利用的服务器进行整合,不再为新项目另外购置硬件,从而降低资本成本,同时,精简 数据中心服务器的数量,又可以成比例地减少供电、制冷和场地方面的运营成本。

利用先进的虚拟化管理和云运营管理软件,建立安全的、可审核的数据中心环境,为业务部门提供 成本更低、服务水平更高的基础架构,从而能够针对业务部门的需求做出快速的响应。

通过虚拟化管理和云运营管理软件,完全实现数据中心 IT 基础设施的集中化管理,这样不仅可以精简IT操作,提高管理效率,而且还可以简化监控、管理、报告和远程访问等操作。

最初的x86架构不适合于虚拟化

X86架构存在17条敏感的非特权指令,运行时不会产生异常,这些指令在客户操作系统上的执行会破坏整个系统。

虚拟化

解决方法1:半虚拟化(Para-Virtualization)

Xen 半虚拟化(Para-Virtualization)架构

虚拟化

在Hypervisor上运行的Guest OS已经集成了与半虚拟化有关的代码,使得Guest OS能够非常好地配合Hypervisor来实现虚拟化。

虚拟化

Hypervisor提供Hypercall接口来满足Guest OS的关键内核操作,如内存管理、中断和时间同步等。

解决方法2:BT(Binary Translation,二进制翻译)

全虚拟化

VMware ESX 的软件系统架构

虚拟化

Guest OS指令段在执行前进行整段翻译,将其中的敏感非特权指令替换为Ring0中执行对应特权指令。

虚拟化

非特权指令直接执行。

特权指令首先被陷入到VMM,并VMM通过一系列的模拟操作来实现此特权指令,然后返回给Guest OS,Guest OS从上次被中断的地方继续执行。

硬件辅助虚拟化

虚拟化

硬件辅助虚拟化-CPU

虚拟化

CPU硬件虚拟化—Intel VT-i

虚拟化

硬件辅助虚拟化—内存

虚拟化

虚拟化

IO虚拟化

客户机的设备驱动程序发起 I/O 请求操作请求,KVM 模块中的 I/O 操作捕获代码拦截这次 I/O 请求

虚拟化

经过处理后将本次 I/O 请求的信息放到 I/O 共享页 (sharing page),并通知用户空间的 QEMU 程序。

QEMU 程序获得 I/O 操作的具体信息之后,交由硬件模拟代码来模拟出本次I/O 操作。

完成之后,QEMU 将结果放回 I/O 共享页,并通知 KMV 模块中的 I/O 操作捕获代码。

KVM 模块的捕获代码读取 I/O 共享页中的操作结果,并把结果放回客户机。

主流的Hypervisor产品

虚拟化

ARM处理器模式—虚拟化模式

在 x86 架构中,与根模式相对应的是非根模式(non-root mode),非根模式即传统的 CPU 模 式,包括Ring 0~Ring 3 的权限级;而在根模式中,也有对应的 Ring 0~Ring 3 的权限级。也就是说,根模式和非根模式是平行的;

而在 ARM 中,虚拟化模式和原有的几种模式是并列的,只是虚拟化模式拥有比管理模式更高 的权限等级。

KVM/ARM 虚拟化技术原理

虚拟化

本文来自“计算虚拟化基础介绍”,主要介绍虚拟化的产生与发展,KVM的CPU、内存和IO虚拟化,ARM和X86的比较。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分