亚马逊发布Firecracker 1.0虚拟化系统

Amazon 发布了虚拟机监视器 (VMM) Firecracker 1.0.0 的重要版本,旨在以最小的开销运行虚拟机。 Firecracker 是 CrossVM 项目的一个分支,Google 使用它在 ChromeOS 上运行 Linux 和 Android 应用程序。 Firecracker 是由 Amazon Web Services 开发的,旨在提高 AWS Lambda 和 AWS Fargate 平台的性能和效率。 Firecracker 代码是用 Rust 编写的,并根据 Apache 2.0 许可证获得许可。

Firecracker 提供称为 microVM 的轻量级虚拟机。 为了实现完全的microVM隔离,使用了基于KVM管理程序的硬件虚拟化技术,但同时提供了传统容器级别的性能和灵活性。 该系统可用于 x86_64 和 ARM64 架构,并已在 Intel Skylake、Intel Cascade Lake、AMD Zen2 和 ARM64 Neoverse N1 系列的 CPU 上进行了测试。 提供了将 Firecracker 集成到运行时容器遏制系统中的工具,例如 Kata Containers、Weaveworks Ignite 和 containerd(由运行时 firecracker-containerd 提供)。

亚马逊发布Firecracker 1.0虚拟化系统

虚拟机内运行的软件环境被精简,仅包含最少的组件集。 为了节省内存、减少启动时间并提高环境安全性,推出了精简的 Linux 内核(支持内核 4.14 和 5.10),其中排除了所有不必要的内容,包括减少的功能和删除的设备支持。

当使用精简内核运行时,与容器相比,额外的内存消耗小于 5 MB。 据称,从 microVM 启动到应用程序开始执行的延迟范围为 6 到 60 毫秒(平均 12 毫秒),这允许在主机上每秒创建强度高达 180 个环境的新虚拟机具有 36 个 CPU 核心。

为了管理用户空间中的虚拟环境,后台进程 Virtual Machine Manager 运行,提供 RESTful API,实现配置、启动和停止 microVM、选择 CPU 模板(C3 或 T2)、确定虚拟处理器(vCPU)数量等功能和内存大小,添加网络接口和磁盘分区,设置吞吐量和操作强度限制,在资源不足的情况下提供额外的内存和 CPU 能力。

除了用作容器更深的隔离层之外,Firecracker 还适合为 FaaS(功能即服务)系统提供动力,该系统提供无服务器计算模型,在该模型中,开发是在准备一组小型个体的阶段进行的。每个函数处理一个特定的事件,并设计为独立操作而不参考环境(无状态,结果不依赖于文件系统的先前状态和内容)。 函数仅在需要时启动,并在处理事件后立即完成工作。 FaaS 平台本身托管准备好的功能、组织管理并确保扩展执行准备的功能所需的环境。

此外,我们还可以注意到英特尔发布了 Cloud Hypervisor 21.0 虚拟机管理程序,该虚拟机管理程序基于 Rust-VMM 联合项目的组件构建,除了英特尔之外,阿里巴巴、亚马逊、谷歌和红帽也参与其中。 Rust-VMM 采用 Rust 语言编写,允许您创建特定于任务的虚拟机管理程序。 Cloud Hypervisor 就是这样一种虚拟机管理程序,它提供在 KVM 之上运行并针对云原生任务进行优化的高级虚拟机监视器 (VMM)。 该项目代码可在 Apache 2.0 许可证下使用。

Cloud Hypervisor 专注于使用基于 virtio 的半虚拟化设备运行现代 Linux 发行版。 提到的关键目标包括:高响应能力、低内存消耗、高性能、简化配置和减少可能的攻击向量。 仿真支持保持在最低限度,重点是半虚拟化。 支持 x86_64 和 AArch64 架构。 对于来宾系统,当前仅支持 64 位 Linux 版本。 CPU、内存、PCI 和 NVDIMM 在组装阶段进行配置。 可以在服务器之间迁移虚拟机。

新版本的 Cloud Hypervisor 包含执行高效本地实时迁移的功能,可用于动态更新环境(实时升级)。 新模式的特点是禁用源环境和目标环境的内存比较,这将动态更新操作的时间从 3 秒减少到 50 毫秒。 推荐的Linux内核是5.15(5.14有virtio-net问题)。

来源: opennet.ru

添加评论