StratoVirt企业级虚拟化平台

联合创作 · 2023-10-01 08:37

StratoVirt 是计算产业中面向云数据中心的企业级虚拟化平台,实现了一套架构统一支持虚拟机、容器、Serverless 三种场景。StratoVirt 在轻量低噪、软硬协同、Rust 语言级安全等方面具备关键技术竞争优势。

StratoVirt 在保留传统虚拟化的隔离能力和安全能力的同时,降低了内存资源消耗,提高了虚拟机的启动速度。StratoVirt 可应用于微服务或无服务器场景,如函数计算。

StratoVirt 预留了接口和设计来支持更多特性,未来甚至向标准虚拟化演进。

特性:

  • 基于硬件的高度隔离。
  • 快速冷启动:得益于极简设计,StratoVirt可以在50ms内启动microVM。
  • 低内存开销。StratoVirt 的内存占用只有 3MB。
  • IO 增强:StratoVirt 通过最小化的IO设备模拟提供正常的IO能力。
  • OCI兼容性:StratoVirt可与isula和kata容器一起使用,并且可以完美地集成到Kubernetes生态系统中。
  • 多平台支持:全面支持Intel和Arm平台。
  • 可扩展性:StratoVirt 为导入更多的功能保留了接口和设计,甚至扩展到标准的虚拟化支持。

架构

下图显示了 StratoVirt 的核心架构,从上到下共有三层。

  • OCI compatibility API:StratoVirt使用QMP协议与外部系统通信,并与OCI兼容。
  • BootLoader:StratoVirt 采用简单的 BootLoader 加载内核镜像,而不是传统繁琐的BIOS和Grub启动模式,实现快速启动。
  • 轻量化:为了提高性能,减少攻击面,StratoVirt尽量减少用户模式设备的模拟。采用KVM模拟设备和准虚拟化设备,如GIC、串口、RTC和virtio设备。

运行架构

StratoVirt 虚拟机是 Linux 中的一个独立进程,该进程有两种类型的线程:主线程和VCPU线程。主线程是一个循环,用于异步收集和处理来自外部模块的事件,比如VCPU线程。每个VCPU都有一个线程来处理这个VCPU的陷阱事件。

限制条件

  • 仅支持 Linux 操作系统。推荐的内核版本是4.19。
  • 仅支持 Linux 作为客户端操作系统,建议的内核版本为4.19。
  • 最多支持254个CPU。
浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报