【虚拟化简介】

虚拟化技术是一种资源管理技术,通过Hypervisor将硬件资源抽象,实现多操作系统共享物理资源。本文介绍了Hypervisor的类型,如Type1(Xen, VMware ESX)和Type2(VMware Workstation, KVM),并对比了软件虚拟化(如QEMU)和硬件虚拟化(如Intel VT, AMD-V)的优缺点。硬件虚拟化能直接在物理CPU上运行Guest指令,提高性能,但实现复杂且受限于同架构虚拟机。" 124691274,13859913,动态可监控线程池实践:DynamicTp 开源项目,"['Java', '开发语言', '程序人生', '微服务', '配置管理']
摘要由CSDN通过智能技术生成

虚拟化简介

什么是虚拟化?

CPU处理能力的飞速提升。 它的另一面也就意味着, 个人单独拥有一台计算机, 从资源利用效率角度来看, 被大大闲置了的。

硬件对于软件来说,就是一堆寄存器和资源的总和。

虚拟化技术是一种资源管理技术,它可以将计算机的各种实体资源(如CPU、内存、磁盘空间、网络适配器等)予以抽象、转换后呈现出来, 以达到最大化利用物理资源的目的。
并可供分割、组合为一个或多个计算机配置环境。虚拟化技术可以将一台物理计算机虚拟为多台逻辑计算机,每个逻辑计算机可以运行不同的操作系统,应用程序可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

eg:云服务,将100台服务器硬件,提供给300个用户使用。

要实现虚拟化技术,引入了VMM中间软件层的概念。

Hypervisor

概念

Hypervisor——一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。也可叫做VMM( virtual machine monitor ),即虚拟机监视器。
Hypervisors是一种软件,它可以控制物理计算机的硬件资源,并将适量的CPU、内存、磁盘空间、网络适配器等硬件资源分配给虚拟机。

Hypervisor模型

在这里插入图片描述
图 1 Hypervisor的两种模型

  • Type1(类型1): Hypervisor也叫native或bare-metal Hypervisor(裸金属管理程序)。 这类虚拟化层直接运行在硬件之上, 没有所谓的宿主机操作系统。 它们直接控制硬件资源以及guest机。 典型地如Xen(见1.4.1节) 和VMware ESX。

注:物理主机如SMP Server,称为host机;虚拟机中的OS称为guest机。

  • Type2(类型2): Hypervisor运行在一个宿主机操作系统之上, 如VMware Workstation; 或系统里, 如KVM。 这类Hypervisor通常就是宿主机操作系统的一个应用程序, 像其他应用程序一样受宿主机操作系统的管理。 比如VMware Workstation就是运行在Windows或者Linux操作系统上的一个程序而已。 guest机是在宿主机操作系统上的一个抽象, 通常抽象为进程(vCPU进程)。
    今天要详细介绍的VMM(QEMU+KVM)是类型二的Hypervisor。

虚拟化技术的分类

软件虚拟化和硬件虚拟化

软件虚拟化技术

执行方式:软件虚拟化通过VMM(Virtual Machine Monitor)层纯软件的环境来模拟执行guest机里的指令。其中QEMU可以将使用guest机指令集的二进制代码转换为宿主机指令集的二进制代码,然后交给实际的物理平台执行。

guest二进制指令—>VMM截获—>转换为host指令集的二进制代码—>实际物理平台执行
在这里插入图片描述

图 2 软件虚拟化执行方式

guest机的每一条目标平台(x86、arm)指令都会被QEMU截取, 并翻译成宿主机平台(x86、arm)的指令, 然后交给实际的物理平台(x86、arm)执行。

缺点:由于每一条都需要这么操作一下, 其虚拟化性能是比较差的, 同时其软件复杂度也大大增加。
优点:可以呈现各种平台给guest机, 只要其二进制翻译支持。

硬件虚拟化技术

执行方式:硬件虚拟化技术就是指计算机硬件本身提供能力让guest机指令独立执行, 而不需要(严格来说是不完全需要) VMM截获重定向。

在这里插入图片描述

图 3 硬件辅助虚拟化执行方式

AMD-V技术,全称AMD Virtualization,是AMD为其处理器开发的一种硬件辅助虚拟化技术。AMD-V实现了完全的硬件虚拟化,将VMM(虚拟机监视器)从Hypervisor完全转移到硬件中,提高虚拟化效率。

Intel VT技术,即Intel公司的Virtualization Technology,也是为解决纯软件虚拟化解决方案在可靠性、安全性和性能上的不足而开发的硬件辅助虚拟化技术。与AMD-V不同,Intel VT仅支持部分特性和指令集,例如用于存放虚拟机状态和控制信息的VMCS(虚拟机控制结构)等。

后文着重介绍Intel VT

  • Intel VT可以让一个CPU工作起来像多个CPU在并行运行
  • 单CPU模拟多CPU并行,可以实现单机同时运行多操作系统。
  • Intel VT虚拟化技术的实施需要处理器、芯片组、BIOS、VMM软件的同时支持,这些特定的硬件、软件必须全部到位。

优点:Guest二进制指令直接运行在物理CPU上,没有VMM截获转换,性能较高。
缺点:

  • 实现复杂,硬件虚拟化需要支持虚拟化扩展的CPU硬件,实现相对复杂。
  • 由于Guest二进制指令直接运行在物理CPU上,硬件虚拟化只能跑同架构的虚拟机。例如,基于x86硬件虚拟化的虚拟机软件不能运行在ARM架构上。

参考资料

什么是虚拟化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值