外观
MicroVM 插件
完成后,OMV 上有一台用 Firecracker 启动的 Linux 微型虚拟机:启动快、占内存少、没有图形界面,只通过串口控制台和网络使用。它适合做实验和轻量的 Linux 服务,不是 KVM 插件的替代品。
新插件:成熟度低,先在不重要的数据上试
- 成熟度:
openmediavault-microvm的第一个版本 8.0.0 在 2026-09-16 才发布,omv-extras wiki 上还没有它的页面,官方中文翻译也全部缺失,界面是英文。用户基数小,踩坑的资料少,别用它承载重要业务。 - 影响范围:删除虚拟机时,它的工作目录(可写的 rootfs 副本)和所有数据盘,包括放在其他共享文件夹里的,都会被一起删除;还原备份会覆盖目标虚拟机现有的磁盘。
- 供应链:Firecracker 没有 Debian 软件包,插件从 GitHub 下载静态二进制(默认 v1.17.0),安装到
/usr/local/bin。按 8.0.0 的源码,这一步没有校验和或签名验证,信任的是 GitHub 上的发布文件。系统镜像默认来自 Firecracker 的 CI 构建产物,是测试用的内核和 rootfs,不是发行版镜像。 - 前置条件:CPU 虚拟化已开启,
/dev/kvm存在;只支持 x86_64 和 aarch64;虚拟机文件放在数据盘的共享文件夹里;先在测试环境验证。 - 怎么回退:停用或停止虚拟机,卸载插件前先导出需要的数据;虚拟机里重要的数据另有备份。
适合谁
- 想试 Firecracker、需要快速创建和销毁的 Linux 实验环境。
- 熟悉命令行,能自己处理内核参数、rootfs 镜像和网络。
大多数人更适合:
| 你的需求 | 选什么 |
|---|---|
| 通用虚拟机:Windows、图形界面、UEFI、TPM、USB 设备、更多功能 | KVM 插件 |
| 跑应用,不需要完整系统 | 容器,见 Docker 与应用 |
| 多台虚拟机、稳定可靠、可迁移 | Proxmox VE |
与 KVM 插件的区别
| KVM 插件(libvirt/QEMU) | MicroVM 插件(Firecracker) | |
|---|---|---|
| 定位 | 通用虚拟机 | 极简、启动快的微型虚拟机 |
| 客户机 | Linux、Windows 等,ISO 安装 | 以 Linux 内核加 rootfs 镜像启动 |
| 显示 | VNC、Spice、noVNC 图形控制台 | 只有串口控制台,通过 cterm 在网页里看 |
| 硬件 | UEFI、TPM、虚拟光驱等 | 内核参数里默认 pci=off,没有 PCI 设备,磁盘不能热插拔 |
| 成熟度 | 迭代多年,8.x 功能很多 | 8.0.0 首发 |
| 二者关系 | 互相独立 | 独立于 KVM 插件,不使用 libvirt |
插件信息
| 项 | 内容 |
|---|---|
| 包名 | openmediavault-microvm |
| 来源 | omv-extras。Firecracker 本体是第三方软件 |
| OMV 8 状态 | 截至 2026-10-22 的 omv-extras synchrony 软件源为 8.0.0(amd64、arm64) |
| 菜单位置 | 服务 → MicroVM(Services → MicroVM):VMs、Disks、Images、Networks、Backup、Schedule、Settings。官方中文基本没有翻译,以界面显示为准 |
| 依赖 | curl、dnsmasq-base、dtach、e2fsprogs、squashfs-tools、openmediavault-sharerootfs;推荐安装 openmediavault-cterm(网页终端)。卸载 sharerootfs 会连带卸载本插件 |
先装 omv-extras。
安装
- 在 OMV 的 shell(root)里只读检查虚拟化可用:
sh
ls -l /dev/kvm系统 → 插件(System → Plugins)搜索microvm,安装openmediavault-microvm,硬刷新浏览器。- 到
服务 → MicroVM → Settings:勾选 Enable(默认开),Shared folder 选一个放在数据盘上的共享文件夹,用来存放每台虚拟机的工作目录(可写的 rootfs 副本)和下载的镜像;Install cterm 默认开,会安装网页终端供你查看控制台。保存、应用后,页面底部会显示已安装的 Firecracker 版本。
配置与使用
1. 下载镜像
服务 → MicroVM → Images:
- Download from catalog:从插件内置目录选一个镜像下载。目录来自 Firecracker CI,下载的
.squashfsrootfs 会自动转换成普通的rootfs.ext4。 - Download from URL:自己给出内核和 rootfs 的 URL。只用你信任的来源。
2. 建网络
服务 → MicroVM → Networks 有两类网络:
- 私有 NAT 网络:要填 Subnet (CIDR)。每台虚拟机得到一个固定地址,同一网络里的虚拟机互通。可以勾选 Run DHCP for this network,让 dnsmasq 在网桥上给虚拟机发地址并提供 DNS。
- 宿主网桥网络:选一个已有的网桥,虚拟机会出现在局域网里。这会让它被局域网里的其他设备访问到,见 网桥。
3. 创建虚拟机
服务 → MicroVM → VMs → Add new VM:
| 字段 | 默认 | 说明 |
|---|---|---|
| Name | 同时用来派生 systemd 实例名和 TAP 设备名,创建后不能改 | |
| Enabled | 开 | |
| Autostart on boot | 关 | 开机自动启动 |
| Image / Network | 选上面准备的 | |
| vCPUs / Memory (MiB) | 1 / 512 | 按需要调整 |
| MAC address | 空 | 留空则按名字生成固定的 02:fc:… 地址 |
| Boot arguments | console=ttyS0 reboot=k panic=1 pci=off | 保留 console=ttyS0,去掉它串口控制台会没有输出 |
| Shutdown timeout (seconds) | 30 | 优雅关机的最长等待,0 表示总是强制停止 |
| Run in jailer | 通过 Firecracker 的 jailer 在 chroot 里以独立 uid 运行,隔离更好;开关改变后,已有的热快照和热备份只能在相同设置下还原 |
创建后用工具栏启动。Console 按钮打开网页终端,Details 里能看到最近 200 行控制台输出。停止和重启会先向客户机发 Ctrl+Alt+Del,等待超时后才强制停止;强制停止和删除虚拟机不会等待。
4. 数据盘
服务 → MicroVM → Disks 添加的磁盘按名字顺序出现在客户机里,是 /dev/vdb、/dev/vdc 等。Firecracker 不支持热插拔,新磁盘要下次启动才会出现。ext4 数据盘以磁盘名为标签,建议在客户机里按标签挂载,这样增删别的磁盘不会让设备名错位,例如客户机的 /etc/fstab:
text
LABEL=data /data ext4 defaults,nofail 0 2磁盘镜像默认放在虚拟机自己的目录里,也可以放到别的共享文件夹的 microvm-disks/<虚拟机>/ 下。默认会随快照和备份一起复制,可以关掉磁盘上的 Include in snapshots and backups 选项。
5. 快照、备份与还原
- Snapshots:Create、Restore、Delete。Resize root disk 以 MiB 为单位调整根盘大小。
- Backup 页:Backup now 选虚拟机、Destination directory 和 Keep(保留几份,0 为全部);Restore 选备份和 Restore onto VM。热(warm)备份包含内存和设备状态,不只是磁盘。还原会覆盖目标虚拟机当前的磁盘;还原到不是原来那台的虚拟机时,不使用保存的内存状态,虚拟机冷启动。Sync backup list 用来把备份列表和磁盘上的实际文件同步。
- Schedule 页可以设置定时备份。
备份放哪、口令怎么保管
- 放哪:备份目录选在另一块盘上,而不是和虚拟机文件同盘。
- 口令:插件不做加密,没有口令;备份包含虚拟机的全部磁盘。盘要物理保管。
- 客户机里的数据要另外做文件级备份,见 备份策略。
做一次恢复测试
- 对一台测试虚拟机用 Backup now 做一次备份,选一个独立的目录。
- 新建第二台测试虚拟机(空的,用同一个镜像)。
- 在 Restore 里选刚才的备份,Restore onto VM 选第二台,等待完成。
- 启动第二台,用控制台登录,确认系统和你放进去的数据都在,网络可用。
- 删除两台测试虚拟机,注意删除会带走它们的磁盘。
检查结果
- Settings 页能显示 Firecracker 的版本。
- 虚拟机能启动,Details 里能看到控制台输出,网页终端能进入。
- 重启 OMV,设为 Autostart on boot 的虚拟机自动起来。
- 备份和还原按上面的演练跑通。
备份与维护
- 插件配置在 OMV 数据库里,虚拟机文件在你选的共享文件夹里,两者都要备份。
- 更新:这是新插件,更新前看 changelog,Firecracker 的内置版本也可能随之变动。
- 卸载:先停止所有虚拟机,备份需要的数据,不要卸载 sharerootfs。
常见问题
启动失败,提示没有 KVM。 检查 BIOS 里的虚拟化和 /dev/kvm;在虚拟机里装 OMV 时要开嵌套虚拟化。
控制台没有输出。 检查 Boot arguments 是否还保留 console=ttyS0。
新增的磁盘没出现。 不支持热插拔,重启这台虚拟机。
还原到另一台虚拟机后行为不同。 非原机还原不用内存状态,是冷启动,属正常。
参考资料
- 插件源码与 README:openmediavault-microvm
- Firecracker 项目:firecracker-microvm.github.io