Intel开源NEMU:一款为云时代而生的虚拟机管理程序

微信扫一扫,分享到朋友圈

Intel开源NEMU:一款为云时代而生的虚拟机管理程序

NEMU是一款开源虚拟机管理程序,是专门为了在现代64位英特尔和ARM CPU上运行现代云工作负载而构建和设计的。

初衷:托管运行云工作负载的现代访客操作系统在不需要任何遗留硬件的虚拟硬件平台上运行。此外,数据中心中所使用的现代CPU有先进的虚拟化功能,无需大多数CPU仿真。

目前市面上没有明确专注于在现代CPU上运行云工作负载的开源虚拟机管理程序解决方案。所有可用的解决方案都在与时俱进,力求相当通用。它们尝试支持一系列广泛的虚拟硬件架构,在硬件虚拟化支持程度不一的硬件上运行。这导致要求提供一大批需要CPU、设备和平台仿真的遗留平台和设备款式。因此,它们建立在庞大复杂的代码库之上。

另一方面,NEMU旨在充分利用KVM,专注于在一组有限的硬件架构和平台上专门运行现代云原生工作负载。它假设相当新的CPU和KVM让用户不需要大多数仿真逻辑。

与现有解决方案相比,这让人们得以简化代码库、降低复杂性和缩小攻击面。它还为提供针对云的优化以及为云提供性能更高的虚拟机管理程序留下了更多的空间。减小代码的数量和复杂性让人们更容易审核代码、进行模糊测试、模块化和未来的创新。

QEMU基础

QEMU是目前事实上的标准开源云虚拟机管理程序。它有一套丰富的功能,这些功能不断开发出来并加以测试。这包括实时迁移、PCI、内存、NVDIMM及CPU热插拔、VFIO、中介式设备透传(mediated device passthrough)和vhost-user等功能。QEMU还是众多企业投入了大量精力和创新技术以创建多种高性能I/O模型所依赖的代码基础。

它还随带广泛支持遗留功能、平台和设备的功能,并能够在大量硬件平台上运行。它还允许跨平台仿真。基本目标之一是,尽可能通用,另外在大量硬件上运行,并托管运行各种工作负载。由于硬件缺乏关键的虚拟化功能,QEMU需要仿真支持融入到代码中。

QEMU允许构建代码时配置一些丰富的功能特性。QEMU还在代码中含有支持所有这些遗留功能的抽象机制。

NEMU

NEMU基于QEMU,充分利用其丰富的功能特性,不过侧重的面要窄得多。它利用了高性能、强大又稳定的QEMU代码库,无需支持与云无关的众多功能、平台和硬件。

NEMU的目的是保留QEMU代码库中下述功能特性所需要的最基本代码。QEMU代码库也将得到简化,以减少通用抽象的数量。

要求

NEMU提供了一个PCI virtio平台,支持基于vfio的设备直接分配,并支持中介式设备分配。它还旨在继续支持实时迁移和vhost-user,并为PCI、内存、NVDIMM和CPU提供构建时可配置设备热插拔支持。NEMU需要仿真一小部分功能,包括PCI主机桥。

NEMU还推出了一种新的QEMU x86-64机器类型:virt。它是一个纯虚拟平台,不会试图仿真任何现有的x86芯片组或遗留总线(ISA和SMBUS等),将尽可能多的功能卸载到KVM上。这种方法与已有的AArch64 virt机器类型相似,NEMU仅支持两种virt机器类型。

以下是NEMU将保留和添加的QEMU功能列表。

大致功能

  • 基于KVM

  • 仿真极少

  • 延迟低

  • 内存占用少

  • 复杂性低

  • 攻击面小

  • 只支持64位

  • 构建时可配置的CPU、内存、PCI和NVDIMM热插拔(可选)

  • 机器到机器的迁移

网址:https://github.com/intel/nemu

声明:本文来自安全内参,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。

微信扫一扫,分享到朋友圈

Intel开源NEMU:一款为云时代而生的虚拟机管理程序

腾讯系列(三)| 游戏的守与攻

上一篇

俄克拉荷马州两人因盗窃1400万美元的加密货币被捕

下一篇

你也可能喜欢

Intel开源NEMU:一款为云时代而生的虚拟机管理程序

长按储存图像,分享给朋友