虚拟化常见的hypervisor有哪些

2025-01-21 11:11:02
单叔行
冶金VPS

梳理一下Windows的Hyper-V、Hypervisor

Windows10有多个与虚拟机相关的技术组件,包括Microsoft的Hyper-V、虚拟机管理程序及其各种平台版本。
我们来一一分析这些概念[1][2][3]:Hyper-V是微软自己的hypervisor,它是基于Hyper-V构建虚拟机的基础[4]。
通过此,用户可以创建和管理虚拟机环境。
VirtualMachinePlatform是安装WSL2(Linux2的Windows子系统)的关键,它提供了运行Docker所需的API[5][6]。
该平台允许用户在Windows上更高效地部署和管理容器化应用程序。
Windows虚拟机管理程序平台与VMware等第三方虚拟机兼容,确保这些虚拟机可以与Hyper-V共存[8][9],为用户提供更灵活的虚拟化选项。
WindowsSandbox是一个临时的、无痕迹的虚拟环境,系统在每次关机后自动清除所有数据[10]。
它由VirtualMachinePlatform托管,为用户提供安全的开发和测试环境。
GuardedHost是一个独立的概念,主要关注主机的安全。
其目的是远程主机的证书保护[11],与虚拟机的直接连接较少。
最后,容器是Windows系统内置的轻量级运行环境,与虚拟机不同,它们共享主机的资源并提供高效、快速的部署和管理。

hypervisor虚拟化技术

在计算机技术中,Hypervisor是主要的虚拟化技术之一,它扮演着虚拟机监视器的角色,位于底层物理服务器和操作系统之间,作为中间软件层。
Hypervisor的作用是让多个操作系统能够在同一台主机上并行运行,同时管理内存、CPU、网络、磁盘等硬件资源,保证它们在不同虚拟机之间的安全隔离。

作为虚拟化的核心,虚拟机管理程序的主要优点是支持多个工作负载的不显眼的迁移。
目前,市场上的Hypervisor根据硬件架构主要分为三种类型:

第一类是第一种类型(裸机类型)。
虚拟机直接在系统硬件上运行,并提供硬件级仿真,即众所周知的“裸机”架构。
第二种是第二种(托管),虚拟机运行在传统操作系统上,同时还提供完整的硬件模拟,称为“托管”架构。
第三种是操作系统虚拟化,虚拟机运行在传统操作系统之上,形成与底层主机操作系统紧密集成的独立虚拟副本(容器)。

常见的Hypervisor类型包括裸机类型和主机类型。
裸机虚拟机管理程序直接安装在硬件上,例如VMware的vSphere、MicrosoftHyper-V、Citrix的XenServer、IBM的PowerVM等。
这类虚拟机管理程序通常提供更高的软硬件管理和性能效率,并且可以更好地利用硬件资源。

Hyper-V与VMwareWorkstation对比

虚拟化利用虚拟机管理程序的软件层对物理硬件进行抽象,为工作负载提供处理器、存储、网络等资源,实现资源优化。
虚拟化主要分为两种类型的虚拟机管理程序:第一种类型的虚拟机管理程序直接安装在物理服务器硬件上,无需操作系统或其他软件层。
第二种类型的虚拟机管理程序是在操作系统之上运行并支持系统级虚拟化的软件。
第一类虚拟机管理程序包括VMwarevSpherewithESX/ESXi、MicrosoftHyper-V、CitrixHypervisor(XenServer)等。
第二类hypervisor包括VMwareWorkstationPro/VMwareFusion、OracleVirtualBox等,优点是作为软件运行在系统层。
VMwareWorkstation和Hyper-V之间的基本区别在于,前者是2类虚拟机管理程序,后者是1类虚拟机管理程序。
用户评论表明,选择时应考虑虚拟机性能要求、虚拟机外部应用程序性能以及安全性。
总的来说,VMwareWorkstation更适合对性能要求不高、考虑虚拟机外部应用程序性能的用户,而Hyper-V则更适合监控虚拟机性能和安全性的用户。
两者各有优缺点,VMware产品更加成熟。
网上有详细的对比文章可供参考。

汽车领域hypervisor

对于面向未来的汽车架构,利用Hypervisor实现车联网自动驾驶等技术,可以减少发动机控制单元的数量,实现资源隔离和分配。
由于处理能力问题以及ARM汽车架构的实时性要求,选择了xenhypervisor代替KVM,并使用virtio标准进行I/O处理。
汽车领域的虚拟机管理程序包括Xen、Opensynergy、ACRN、Global、Mentor、QNX、Redbend等。
其中QNX虚拟机管理程序应用相对广泛。
汽车产品虚拟化一般指硬件虚拟化技术,其开销较低,CPU利用率小于2%,DDR小于20MB,EMMC小于50MB。
Hypervisor技术的代码量不到30,000行,而Xen的代码量更大。
使用虚拟机管理程序可以通过在单个SOC上运行具有不同安全级别的多个操作系统来降低成本,从而满足车辆中更低的成本和更多屏幕的需求。
智能座舱运行仪表、信息娱乐、L0-L2ADAS和HUD等四个系统,这可能需要运行三到四个不同的系统。
VIRTIO标准为汽车嵌入式环境提供了硬件接口标准,支持块存储、SCSI、网络、控制台、加密、GPU、熵、输入、套接字、文件服务器、音频等设备类型。
标准制定工作由OASIS标准配置组,并支持多种操作系统,例如Linux、Blackberry的QNX和Android。
虚拟机管理程序硬件支持、安全关键性、开销和实时性能是一级供应商和OEM在做出选择时必须考虑的因素。
ACRNhypervisor是一个适用于IOT网络的开源1类虚拟机管理程序项目,定义了参考设备管理软件堆栈、架构和参考框架模拟虚拟设备。
在构建时考虑了实时性和安全性并进行了优化。
ACRN支持Linux和Android作为用户虚拟机、后台运行的服务虚拟机以及启动后作为虚拟机运行的用户虚拟机。
ACRN虚拟机管理程序架构使用Intel虚拟化技术(IntelVT)并在VMM模式和客户模式下运行。
在VMM模式下,服务虚拟机以系统中最高优先级的虚拟机运行,用户虚拟机以Guest模式运行。
引导顺序从第三方引导加载程序开始,预引导虚拟机和服务虚拟机的引导选项在源代码中定义。
ACRNhypervisor支持端到端的设备架构和VIRTIO框架,提供简单、高效、标准、可扩展的虚拟设备接口,包括前端和后端驱动、直接通信方式、批量操作、标准的虚拟设备排队VIRTIO设备在现有总线上运行,鼓励高性能I/O的突发操作和延迟通知,并且所有设备都使用标准环形缓冲区和机制描述符。