实验环境

  • VMware Workstation
  • OS: Centos8.0 虚拟机
  • Kernel: 4.18.0
  • Arch: x86_64

1. StratoVirt简介

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

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

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

特性

  • 强安全性与隔离性
    采用内存安全语言Rust编写, 保证语言级安全性;
    基于硬件辅助虚拟化实现安全多租户隔离,并通过seccomp进一步约束非必要的系统调用,减小系统攻击面;
  • 轻量低噪
    轻量化场景下冷启动时间<50ms,内存底噪<4M;
  • 高速稳定的IO能力
    具有精简的设备模型,并提供了稳定高速的IO能力;
  • 资源伸缩
    具有ms级别的设备伸缩时延,为轻量化负载提供灵活的资源伸缩能力;
  • 全场景支持
    完美支持X86和Arm平台:X86支持VT,鲲鹏支持Kunpeng-V,实现多体系硬件加速;
    可完美集成于容器生态,与Kubernetes生态完美对接,在虚拟机、容器和serverless场景有广阔的应用空间;
  • 扩展性
    架构设计完备,各个组件可灵活地配置和拆分;
    设备模型可扩展,可扩展PCIe等复杂设备规范,实现标准虚拟机演进;

架构:

  • OCI兼容接口:兼容qmp协议,具有完备的OCI兼容能力。
  • BootLoader:抛弃传统的BIOS + GRUB启动模式, 实现了更轻更快的BootLoader,并达到极限启动时延。
  • MicroVM:充分利用软硬协同能力;精简化设备模型;低时延资源伸缩能力;

2. VMware Workstation开启嵌套虚拟化

3. 下载并编译StratoVirt

# git clone https://gitee.com/openeuler/stratovirt.git
# cd stratovirt
# cargo build --release

4. 准备kernel及initrd

  • 来源:
    /boot/vmlinuz-4.18.0-80.el8.x86_64
    /boot/initramfs-4.18.0-80.el8.x86_64.img

    或者

    下载: x86_64内核kernel4.19.152编译的vmlinux

# dd if=/boot/vmlinuz-4.18.0-80.el8.x86_64 bs=1 skip=0018353 | zcat > vmlinux     # 解压出 vmlinux
# objcopy -O binary  vmlinux  vmlinux.bin
# cp /boot/initramfs-4.18.0-80.el8.x86_64.img initramfs.img

解压 vmlinux skip=0018353参数的计算参考:将vmlinuz解压为vmlinux的方法

5. 运行

# [ -e socket ] && rm -f socket    // 记得每次删除socket文件
# ./stratovirt \-m 1G \-kernel vmlinux.bin \-append "rdinit=/bin/sh console=ttyS0 root=/dev/ram panic=1" \-initrd initramfs.img \-api-channel unix:socket \-serial stdio[    0.000000] Linux version 4.18.0-80.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC)) #1 SMP Tue Jun 4 09:19:46 UTC 2019
[    0.000000] Command line: rdinit=/bin/sh console=ttyS0 root=/dev/ram panic=1 virtio_mmio.device=4K@0xd0000000:5 virtio_mmio.device=4K@0xd0001000:6 virtio_mmio.device=4K@0xd0002000:7 virtio_mmio.device=4K@0xd0003000:8 virtio_mmio.device=4K@0xd0004000:9 virtio_mmio.device=4K@0xd0005000:10 virtio_mmio.device=4K@0xd0006000:11 virtio_mmio.device=4K@0xd0007000:12
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: xstate_offset[3]:  832, xstate_sizes[3]:   64
...

参考:
StratoVirt Gitee
企业级虚拟化平台 StratoVirt
下一代全场景虚拟化平台StratoVirt

StratoVirt在x86_64下的初体验相关推荐

  1. Mac系统下Gauge初体验

    1.安装gauge 打开终端输入如下命令: brew install gauge gauge --version 如果控制台输出结果如下则代表成功安装了gauge Gauge version: 1.4 ...

  2. Mac系统下Carina初体验

    1.安装环境 安装和配置JDK 11+ 下载地址:Index of java-local/jdk 下载完dmg文件直接点击安装即可 安装和配置Maven3.6.0+(自行搜索) 如果存在多个jdk版本 ...

  3. Mac系统下TestCafe初体验

    1.安装TestCafe 打开终端,依次输入如下命令: mkdir TestCafe cd TestCafe npm init npm install ---save-dev testcafe 注意安 ...

  4. Felgo之初体验--安装与运行

    前言 上一篇文章中介绍了Felgo的用途,大致知道了Felgo可以用来干些什么,在本篇中我们介绍下Felgo的安装,以及创建我们的第一个Felgo程序. 软件下载 首先我们在官网下载相应平台的安装包, ...

  5. linux编译环境下,华为LiteOS初体验(STM32F407)

    linux编译环境下,华为LiteOS初体验(STM32F407) 1.概述 系统:Ubuntu22.04,linux版本号如下 Linux linux 5.15.0-40-generic #43-U ...

  6. oracle数据库dblink创建语句_3场直播丨达梦DM8数据库安装部署初体验、新基建下的国产数据库应用和发展趋势、Oracle外部表创建与使用...

    1. 循序渐进-达梦DM8数据库安装部署初体验-07/16 简介: 本讲座主要介绍达梦DM8数据库软件安装与数据库创建. 2019年5月,DM8发布. 基于新技术发展的思考和市场的需求,坚持实用性.通 ...

  7. 3场直播丨达梦DM8数据库安装部署初体验、新基建下的国产数据库应用和发展趋势、Oracle外部表创建与使用...

    1. 循序渐进-达梦DM8数据库安装部署初体验-07/16 简介: 本讲座主要介绍达梦DM8数据库软件安装与数据库创建. 2019年5月,DM8发布. 基于新技术发展的思考和市场的需求,坚持实用性.通 ...

  8. Linux环境下ARM开发工具TrueSTUDIO初体验

    Linux环境下ARM开发工具TrueSTUDIO初体验 TrueSTUDIO是Atollic公司出品的ARM开发工具,号称"The best FREE C/C++ IDE for ARM® ...

  9. linux 虚拟机 交叉,华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验

    华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验 一,前期准备工作 1. 安装VMRAME虚拟机软件. 2.下载REDHAT的安装光盘,共三个.iso的文件.并在虚拟机下安装R ...

最新文章

  1. 用lemon测交互题
  2. Error starting userland proxy: listen tcp 0.0.0.0:5601: bind: address already in use
  3. HALCON示例程序novelty_detection_dyn_threshold.hdev纱网缺陷检测
  4. Vue 计算属性 computed
  5. Flutter文本组件Text
  6. Spring源码情操陶冶-AbstractApplicationContext#registerBeanPostProcessors
  7. 电脑重装系统提示activex部件不能创建对象如何解决
  8. hololens 播放video
  9. 使用电容触摸屏做画板——软件IIC(二)
  10. Redisson文档
  11. openssl1.0.1 完美 升级到 1.0.1g脚本
  12. vant-ui area.js文件
  13. php twig扩展,Symfony2基础教程之添加Twig的Filter扩展
  14. 《代码整洁之道》阅读笔记——第12章:迭进
  15. POI Excel行高设置
  16. Python-入门学习
  17. 总是半途而废?这四条建议让你培养习惯的成功率翻倍
  18. Android实现app启动页面设计
  19. 【ios开发/Xcode】实现多功能备忘录
  20. mysql网页设计资源_分享25个很棒的网页设计教程和资源网站

热门文章

  1. JS实现前端动态分页码
  2. 渐进增强和优雅降级有什么区别
  3. HDU 5752 Sqrt Bo【枚举,大水题】
  4. 使用标准库函数对象的例子
  5. 使用C#和Excel进行报表开发(5)
  6. qmail 反垃圾邮件
  7. Windows Mobile 7(Photon) 梦幻之旅系列-前言
  8. ArcGIS9.2的新变化
  9. Deeplearning4j 手写体数字识别
  10. Android LayoutInflater原理分析,带你一步步深入了解View(一) 郭霖学习摘要