StratoVirt企業(yè)級虛擬化平臺
StratoVirt 是計算產業(yè)中面向云數據中心的企業(yè)級虛擬化平臺,實現了一套架構統一支持虛擬機、容器、Serverless 三種場景。StratoVirt 在輕量低噪、軟硬協同、Rust 語言級安全等方面具備關鍵技術競爭優(yōu)勢。
StratoVirt 在保留傳統虛擬化的隔離能力和安全能力的同時,降低了內存資源消耗,提高了虛擬機的啟動速度。StratoVirt 可應用于微服務或無服務器場景,如函數計算。
StratoVirt 預留了接口和設計來支持更多特性,未來甚至向標準虛擬化演進。
特性:
- 基于硬件的高度隔離。
- 快速冷啟動:得益于極簡設計,StratoVirt可以在50ms內啟動microVM。
- 低內存開銷。StratoVirt 的內存占用只有 3MB。
- IO 增強:StratoVirt 通過最小化的IO設備模擬提供正常的IO能力。
- OCI兼容性:StratoVirt可與isula和kata容器一起使用,并且可以完美地集成到Kubernetes生態(tài)系統中。
- 多平臺支持:全面支持Intel和Arm平臺。
- 可擴展性:StratoVirt 為導入更多的功能保留了接口和設計,甚至擴展到標準的虛擬化支持。
架構
下圖顯示了 StratoVirt 的核心架構,從上到下共有三層。
- OCI compatibility API:StratoVirt使用QMP協議與外部系統通信,并與OCI兼容。
- BootLoader:StratoVirt 采用簡單的 BootLoader 加載內核鏡像,而不是傳統繁瑣的BIOS和Grub啟動模式,實現快速啟動。
- 輕量化:為了提高性能,減少攻擊面,StratoVirt盡量減少用戶模式設備的模擬。采用KVM模擬設備和準虛擬化設備,如GIC、串口、RTC和virtio設備。
運行架構
StratoVirt 虛擬機是 Linux 中的一個獨立進程,該進程有兩種類型的線程:主線程和VCPU線程。主線程是一個循環(huán),用于異步收集和處理來自外部模塊的事件,比如VCPU線程。每個VCPU都有一個線程來處理這個VCPU的陷阱事件。
限制條件
- 僅支持 Linux 操作系統。推薦的內核版本是4.19。
- 僅支持 Linux 作為客戶端操作系統,建議的內核版本為4.19。
- 最多支持254個CPU。
評論
圖片
表情
