跳转到内容

KVM 插件:在 OMV 上跑虚拟机 ​

完成后,你能在 OMV 的界面里创建 Linux 或 Windows 虚拟机,用浏览器打开它的控制台,给它打快照、做备份,而不必另外装一套虚拟化平台。

适合谁 ​

  • 这台 NAS 上偶尔要跑 1–2 台轻量虚拟机(例如 Home Assistant OS、一个测试用 Linux),不想为此再买一台机器。
  • 机器的 CPU 支持虚拟化,内存够用。

能用容器就别用虚拟机,见 插件还是容器,应用优先走 Compose。

什么时候该换成 Proxmox VE ​

情况建议
1–2 台轻量虚拟机,偶尔用留在 OMV 的 KVM 插件
虚拟机多、要稳定的资源隔离,或者虚拟机承载重要业务换 Proxmox VE
要 GPU 或 PCIe 直通换 Proxmox VE。这个插件不提供,omv-extras wiki 说要自己手动折腾
要集群、在线迁移、高可用、带去重的备份服务器换 Proxmox VE
想让 NAS 更稳,虚拟机出问题不拖累文件服务用 PVE 做宿主机,把 OMV 作为一台虚拟机跑在上面,见 OpenMediaVault:在 PVE 上跑一台轻量 NAS

姊妹站 Proxmox VE 使用指南 有完整的虚拟化教程。

动手前:网络、存储和备份都可能出事

  • 影响范围:装插件会拉进 libvirt、QEMU 等一大批软件包,并依赖 sharerootfs;把 OMV 的网卡改成 br0 网桥会影响整机所有服务,改错就断网;虚拟机磁盘放在系统盘会把系统盘写满;删除虚拟机时可以连磁盘一起删;还原备份会覆盖同名虚拟机;增量备份链里删一个就会删掉整条链。
  • 前置条件:CPU 支持虚拟化且 BIOS 里已开启;虚拟机磁盘和 ISO 放在数据盘上,不放系统盘;改网络前人在本机控制台旁;虚拟机的数据另有备份。
  • 怎么回退:网络改坏了,用 omv-firstaid 恢复,见 改坏网络后怎么救;删除虚拟机和还原备份前,先把现有磁盘复制或备份。

插件信息 ​

项内容
包名openmediavault-kvm
来源omv-extras。KVM、QEMU、libvirt 本体是第三方软件
OMV 8 状态截至 2026-10-22 的 omv-extras synchrony 软件源为 8.3.5(amd64、arm64)
菜单位置服务 → KVM(Services → KVM):VMs、池(Pools)、卷(Volumes)、ISOs、网络(Networks)、计划(Schedule)、备份(Backup)、监控(Monitor)、设置(Settings)。VMs、ISOs 官方中文无译,显示英文
依赖libvirt、qemu、ovmf、swtpm、novnc 等;依赖 openmediavault-sharerootfs,卸载 sharerootfs 会连带卸载 KVM 插件,见 sharerootfs;推荐安装 openmediavault-cterm

安装 ​

  1. 确认 CPU 虚拟化已开启。在 OMV 的 shell(root)里只读检查:
sh
grep -E -c 'vmx|svm' /proc/cpuinfo
ls -l /dev/kvm

第一条输出大于 0,第二条能看到 /dev/kvm。否则去 BIOS 里打开虚拟化。 2. 先装 omv-extras,再在 系统 → 插件(System → Plugins)里安装 openmediavault-kvm,硬刷新浏览器。omv-extras wiki 的 OMV 7 文档提过,装这个插件有时需要先启用 backports;OMV 8 默认已启用 backports,是否仍需手动处理以实机为准。

配置与使用 ​

1. 准备存储池 ​

插件把虚拟机磁盘和 ISO 放在池里。先建两个共享文件夹,放在与系统盘分开的 EXT4 数据盘上:

  1. 存储器 → 共享文件夹(Storage → Shared Folders)建 volumes 和 isos,见 共享文件夹。libvirt-qemu 用户(uid 64055)要能访问这两个目录的路径;用界面创建的默认权限(root:users、2775)可以工作。
  2. 服务 → KVM → 池 添加一个池:名称和文件夹同名,类型选 Directory,路径选刚建的文件夹。
  3. 选中池,点 State → Start,状态列显示 Running 才算启动成功。
  4. 对 isos 重复一遍。选中 isos 池后可以用 Download virtio iso 下载 Windows 虚拟机用的驱动镜像。

2. 选一种网络 ​

方式虚拟机能否访问 OMV 上的共享虚拟机的 IP 是否在局域网里
Default 网络(NAT,虚拟子网)能不在,在 NAT 子网里
Macvtap不能在
br0 网桥(OMV 的网卡换成网桥)能在
独立的物理网卡能在
  • Default:在 服务 → KVM → 网络 选中 default,State → Start 即可。
  • Macvtap:网络 里添加 macvtap 网络,选 OMV 当前使用的网卡,再 State → Start。
  • br0 网桥:要在 网络 → 接口(Network → Interfaces)里创建 Bridge,用它替换 OMV 当前使用的网卡。关键点:删除旧接口后,先不要点黄色提示条上的应用,先建好网桥再一起应用;网桥会影响所有服务,已配置的 WireGuard 等要改用新的适配器。完整步骤和回退见 网桥:给虚拟机和容器用。
  • 8.3.1 起,网络页还能选转发模式(NAT、Routed、Open、Isolated)、macvtap 模式,以及在已有宿主网桥上建「桥接网络」;Docker 管理的网桥不会出现在选择器里。

3. 创建虚拟机 ​

服务 → KVM → VMs → Add new VM。表单要点(默认值取自 8.x 表单,以界面为准):

区域字段说明
SettingsVM name不要有空格,不要重名
OS选与要装的系统最接近的预设,默认 debian13
UEFI默认关;Windows 11 需要开,并同时开 Secure boot
CPUs / Memory默认 1 个 CPU、1 GiB 内存。不要超过宿主机的 CPU 和内存
TPM默认关;Windows 11 需要开
高级选项架构、CPU 型号(默认 host)、音频、VNC(默认开)、Spice(默认开)
Storage VolumePool / Format / Size / Bus默认池 default、格式 qcow2(按用量增长)、4 G、总线 virtio。要保证池是你的 volumes 池,大小按需要改
Optical DriveOptical disk选 isos 池里的系统 ISO
NetworkModel / Network模型 virtio,网络选上面启动的网络;用 br0 时选 Bridge 模型并填 br0

保存后虚拟机的 XML 配置已经生成。启动前如果要加东西(例如 Windows 的第二块光驱放 virtio 驱动),选中虚拟机用 Optical 按钮添加。VMs 页还有 Appliances(8.2.5 起),可以一键装 Home Assistant OS 等现成镜像。

Windows 11 的要求:UEFI + Secure boot + TPM、至少 2 个 CPU、4 GB 内存、64 GB 磁盘;安装时从 virtio ISO 加载磁盘驱动。

4. 启动、控制台与快照 ​

  • 启动:选中虚拟机,State → Start。
  • 控制台:Console → Start 创建浏览器控制台,列表里出现 noVNC URL 和 Spice-html5 URL 链接,点开即用(8.0.7 起端口自动选择)。也可以用 VNC 客户端连 5900、Spice 客户端连 5901。这些端口没有加密,不要暴露到公网,远程访问用 VPN。
  • 快照:选中虚拟机,Snapshots → Create。存在快照时,卸载磁盘、编辑 XML 之类的操作会被禁用,删除快照后恢复。
  • 克隆:Advanced → Clone,会复制磁盘。

5. 备份与恢复 ​

服务 → KVM → 计划(Schedule)里创建备份任务:

字段说明
VM Name选虚拟机
Path备份写到哪。选另一块盘上的目录,不要放在虚拟机磁盘所在的盘上
Power off备份前关机,之后再开,一致性最好
Keep保留最近几份,0 表示全部保留
Incremental8.3.0 起的增量或差异备份,用 libvirt checkpoint,只备份变化的块
Full backup interval每 N 次备份重新做一次完整备份,限制增量链的长度
Same format / Compress使用相同磁盘格式;压缩会明显变慢

备份(Backup)页列出已有备份,也可以从这里立刻重复一次备份、还原。增量备份的链删掉其中一份,整条链都会失效,插件的确认框会提醒。

备份放哪、口令怎么保管 ​

  • 放哪:备份目录必须在另一块盘或另一台机器的挂载上;虚拟机磁盘和备份在同一块盘上,盘坏了两份都没。
  • 口令:插件备份不做加密,没有口令;备份里是完整磁盘,包含虚拟机内的所有密码,要物理保管。
  • 虚拟机内部的数据另有备份,见 备份策略。

做一次恢复测试 ​

  1. 对一台不重要的测试虚拟机做一次备份(可以先让它关机)。
  2. 在 备份 页选这份备份,点还原。如果界面允许指定虚拟机名字(wiki 的旧版说明可以),选一个不同的名字,避免覆盖原机;不允许改名就换到测试机上做。
  3. 启动还原出来的虚拟机,登录进去,确认系统和数据正常,网络也能工作;如果两台机器用同样的静态 IP,先改掉一台。
  4. 确认无误后删除还原出来的测试虚拟机,及其磁盘。
  5. 记下备份与还原的耗时,写进 恢复演练 的记录里。

检查结果 ​

  1. 池和网络的状态是运行中(Running 或 Active)。
  2. 虚拟机能启动,控制台能打开,虚拟机能联网。
  3. 重启 OMV 后池、网络和设为开机启动的虚拟机自动恢复;若虚拟机没起来,到 服务 → KVM → 设置(Settings)调高 Start delay(0–300 秒,默认 0),给存储留够就绪的时间。
  4. 备份任务按计划产生新文件,备份目录里能看到。

备份与维护 ​

  • 监控:8.2 起有 监控 页,默认每 10 秒采集,原始数据保留 24 小时,汇总保留 7 天,存在 /var/lib/openmediavault/kvm/monitor.db。
  • 更新频繁:8.2 到 8.3 变化很大(virtiofs、增量备份、可命名快照、启动顺序),更新前看 changelog。
  • 文档旧的地方:omv-extras wiki 的 KVM 页是 OMV 7 的文档,仍写有独立的 Restore 标签页和备份清单文件;8.3.0 起还原是备份页里的按钮,具体以界面为准。
  • 卸载:先停掉虚拟机并备份,卸载会清除插件配置,不要卸载 sharerootfs。

常见问题 ​

装完提示没有 /dev/kvm。 BIOS 没开虚拟化,或是在不支持嵌套虚拟化的虚拟机里装 OMV。

池启动失败,或虚拟机无法访问磁盘。 检查 libvirt-qemu 对池路径的访问权限;池页的权限修复菜单(8.2 起)可以帮忙,名称以界面为准。

虚拟机能联网,但访问不了 OMV 的共享。 用了 Macvtap。换 Default 或 br0。

浏览器控制台打不开。 先看 Console 是否已 Start;Start 按钮灰了时,改一下端口再改回来可激活。

虚拟机很慢。 CPU、内存分配不要超出宿主机;磁盘放在 SSD 的池上。

参考资料 ​

OpenMediaVault 非官方中文使用指南,与 openmediavault 项目及其开发者无隶属关系。