查看原文
其他

StratoVirt——企业级虚拟化平台

FOSS Lab 2021-09-09
点击蓝字默默关注

整理 | 叶子


一、软件介绍


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

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

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


二、项目地址


https://gitee.com/openeuler/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。




往期推荐

Antmove:一个小程序平台开发的统一解决方案

2021-02-23

一款小身材大功能的网页在线编辑器

2021-02-05

OUZEL:一个针对2D游戏开发的C++游戏引擎

2021-02-03


扫码关注最新动态

公众号ID:fosslab

我就知道你“在看”
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存