虚拟机
概述
虚拟机是 Rainbond 平台提供的虚拟化能力插件,面向应用部署、运行管理和整套应用复制上线场景,提供统一的虚拟机创建、规格调整、存储 管理、应用编排、应用模板交付和导出导入能力。用户可以在平台内通过多种方式部署虚拟机,包括其他虚拟机工具导出的 qcow2 镜像直接部署到平台,并在组件视图中继续完成运行配置、磁盘管理和后续运维操作。
除了基础的虚拟机创建能力外,当前版本重点支持 qcow2 镜像直接部署、虚拟机热更新、多虚拟机编排、应用模板交付、组件存储视图统一管理,以及 Windows 虚拟机驱动盘挂载。
核心能力
qcow2 镜像直接部署
虚拟机支持直接使用 qcow2 镜像创建组件,适合承接从其他虚拟机工具导出的系统镜像。
入口:
-
团队视图 / 应用视图 -> 创建虚拟机

支持内容:
- 支持直接导入
qcow2镜像 - 支持将其他虚拟机工具导出的镜像直接部署到 Rainbond 平台
- 适合已有虚拟机资产迁移或快速接管
虚拟机热更新
虚拟机支持对规格进行运行态调整。满足条件时,运行中 的虚拟机可在线调整资源;不满足条件时,平台会自动转为“调整并重启生效”。
入口:
-
组件视图 -> 伸缩

热更新规则:
- 运行中的虚拟机,CPU 和内存不支持一次同时热更新
- CPU 热更新仅支持扩容,不支持缩容
- 内存热更新仅支持扩容,不支持缩容
- GPU 直通虚拟机暂不支持热更新
- USB 透传虚拟机暂不支持热更新
多虚拟机编排
虚拟机支持跟随应用一起进行 Rainbond 应用级编排,适合把多台互相访问、存在依赖关系的虚拟机和其他组件组织成一套完整应用。
入口:
-
应用视图 -> 拓扑图

支持内容:
- 支持将多个虚拟机和其他组件按应用方式统一编排
- 支持在应用视图拓扑图中清晰查看虚拟机之间、虚拟机与其他组件之间的依赖关系
- 支持保留虚拟机之间、虚拟机与其他组件之间的依赖访问关系
- 支持保留连接信息、端口、存储等应用级配置
- 适合将 4~5 台虚拟机互相访问的整套应用制作成模板
应用模板交付
虚拟机支持将编排完成的应用制作成 Rainbond 应用模板,用于导出交付、导入安装和整套应用恢复。
入口:
-
应用视图 -> 应用版本

-
平台管理视图 -> 应用市场 -> 本地组件库

交付特点:
- 以快照为基础进入发布流程
- 发布的是 Rainbond 应用模板,而不是单个虚拟机镜像
- 发布完成后可从发布记录导出
rainbond-app安装包压缩包 - 支持将虚拟机系统数据一并导出交付
- 支持在新环境通过导入和安装结果恢复虚拟机系统数据
- 适合迁移、交付、备份和整套应用快速恢复
- 安装模板后可以快速复制上线整套应用
交付限制:
- 虚拟机发布前必须先关机
- 携带虚拟机类型的模板快照不支持回滚升级
- 携带虚拟机的快照需发布后从发布记录导出
交付与恢复路径:
- 应用视图 -> 应用版本 -> 创建快照 -> 发布应用
- 平台管理视图 -> 应用市场 -> 本地组件库 -> 导出应用模板
- 平台管理视图 -> 应用市场 -> 本地组件库 -> 离线导入
- 在新环境安装模板后,恢复虚拟机系统数据和整套应用编排关系
存储视图统一管理
虚拟机支持在组件的存储视图中统一管理磁盘相关能力,便于持续调整和维护。
入口:
-
组件视图 -> 存储

支持内容:
- 调整磁盘顺序
- 配置启动项
- 挂载安装介质
- 新增数据盘
- 挂载 Windows 驱动盘
适用场景:
- Windows 安装时无法识别系统盘
- Windows 安装时无法识别网卡
- Windows 启动后缺少 VirtIO 存储或网络驱动
说明:
- 如果不安装该驱动,Windows 虚拟机会存在部分功能缺陷
- 默认可使用的驱动镜像为
registry.cn-hangzhou.aliyuncs.com/zhangqihang/rainbond-plugins:vmqd
驱动镜像制作方式:
- 驱动镜像构建文件位于虚拟机插件源码的
virtio-win-containerdisk目录 - 当前镜像构建方式为将
virtio-win-0.1.285.iso打包进容器镜像 Dockerfile内容为:
FROM scratch
COPY virtio-win-0.1.285.iso /disk/virtio-win-0.1.285.iso
虚拟机监控
虚拟机支持在平台内查看组件级监控数据,用于观察当前虚拟机的资源和存储使用情况。
入口:
- 组件视图 -> 监控
支持内容:
- 资源监控
- 存储监控
- CPU 使用量
- 内存使用量
- 传入流量 / 传出流量
- 磁盘读写流量
- 读写 IOPS
- 文件系统使用量与使用率

运行配置统一管理
虚拟机支持在平台内统一管理常见运行配置。
入口:
-
组件视图

支持范围包括:
- CPU
- 内存
- 磁盘
- 网络
- GPU 直通
- USB 透传
环境变量与配置文件注入
虚拟机支持将平台维护的环境变量、依赖连接信息和配置文件,以文件方式注入到 guest,便于虚拟机内应用自行加载。
入口:
-
组件视图 -> 环境配置

实现方式:
- 自定义环境变量和依赖组件自动生成的连接信息变量,会被统一导出成
rainbond.env - 该文件会以 guest 可见的 CD-ROM / 配置盘方式注入虚拟机
- 卷标为
RBDENV - 虚拟机内应用按需自行加载该文件

配置文件同样会以 guest 可见的只读配置盘方式注入虚拟机,页面中的“注入文件标识”用于平台侧标识,不代表 guest 内固定绝对路径;最终由虚拟机内应用自行读取和加载。
