跳到主要内容

概述和系统准备

虚拟机 (VM) 允许您在 Unraid 服务器上运行完整的操作系统,例如 Windows、macOS 或 Linux,并与 Docker 容器并排运行。

%%VM 是理想的:

  • 运行需要完整操作系统或无法作为容器使用的应用程序。
  • 将专用硬件分配给来宾系统,例如 GPUs 或 USB 设备。
  • 测试、开发、游戏或运行旧版软件。
  • 托管多个用于不同工作负载的隔离环境。

有关已在 Unraid 上测试的操作系统列表,请参阅 %%VM 设置 页面。

幕后的故事: 展开以了解更多 Unraid 虚拟化的技术堆栈

Unraid 的虚拟化栈设计灵活且性能卓越,利用多种开源技术支持高效的虚拟机管理。此概述以用户友好的方式阐明了关键组件及其交互。

核心技术

技术功能重要性
KVM充当嵌入在Linux内核中的hypervisor允许 Unraid 流畅运行虚拟机,具备硬件加速功能且开销最小。
QEMU虚拟机模拟必要的硬件(如主板、CPU和控制器)。KVM协作,为客户操作系统创建完整的虚拟环境。
Libvirt管理虚拟机定义,以及存储和网络接口。虚拟机配置存储在libvirt.img中,并提供一致的管理API。
VNC提供对虚拟机的远程图形访问。允许使用浏览器或VNC客户端从任何设备与虚拟机交互。
VirtIO为网络和磁盘设备提供高性能的半虚拟化驱动程序。通过在客户操作系统中安装VirtIO驱动程序,提高虚拟机的速度和效率。
VirtFS (9p)在主机和基于 Linux 的来宾之间促进文件系统共享。适用于开发和高级文件共享需求。
HVM支持硬件辅助虚拟化(Intel VT-xAMD-V)。运行虚拟机以实现完全硬件加速的必要条件。
VFIO & IOMMU允许直接向虚拟机传递PCI设备(如GPU和USB设备)。对于实现接近原生性能和维护安全隔离至关重要。

Unraid 如何实现 VM 支持

  • KVM/QEMU:Unraid 的虚拟化功能主要基于 KVMQEMU,提供强大的 VM 托管能力。
  • LibvirtVM 定义作为 XML 文件存储在 libvirt.img 中(通常在 system 共享中找到)。
  • 默认共享:
    • domains:保存 %%虚拟机%% 虚拟磁盘镜像。
    • isos:包含安装 ISOs 和驱动程序映像。
    • system:存储 libvirt.img 和其他关键系统文件。
    • 默认设置为使用 Cache: 首选以获得最佳性能。
  • VNC:Unraid 提供内置的 NoVNC 客户端,方便通过浏览器访问 VMs,也可以根据需要使用外部 VNC 客户端
提示

大多数用户不需要直接与这些技术交互,但了解 "引擎盖下" 的运作对高级故障排除和自定义设置非常有用。有关更多详细信息,请查看 KVMQEMULibvirtVirtIO 的官方文件。

要求

要在 Unraid 上运行 %%虚拟机%%,您的系统必须满足以下要求:

组件最低要求推荐用于虚拟机 & GPU直通
CPU64 位,4 核,2.4 GHz+(Intel/AMD)8 个以上内核,3.0 GHz+(Intel Core i7/i9,AMD Ryzen 7/9 或更新版本)
虚拟化HVMIntel VT-xAMD-VHVM + IOMMU (Intel VT-d or AMD-Vi)
RAM8 GB16 GB 或更多(每个活动虚拟机增加 RAM)
存储用于虚拟机磁盘的SSD/NVMe高端 NVMe 以获得最佳性能
网络千兆以太网(建议使用 PCIe)2.5 G/10 G 以太网用于高需求工作负载
GPU (可选)现代 NVIDIA RTX(推荐)或 AMD Radeon RXRTX 3000/4000 系列(推荐使用 NVIDIA 以获得更好的直通兼容性)
GPU 传递兼容性

由于更好的兼容性和可靠性,通常推荐 NVIDIA GPU 用于 VM 直通。AMD GPU 在直通时可能更具挑战性,并且某些较新的型号(包括 RX 7000/9000 系列)可能无法可靠运行或完全无法在 VMs 中使用。 如果您计划使用 GPU passthrough,请选择 NVIDIA 作为不错的选择。

备注

您的主板 BIOS 必须启用硬件辅助虚拟化和 IOMMU 支持。 请查找标记为“Intel VT-x”、“Intel VT-d”、“AMD-V”或“AMD-Vi”的设置。

虚拟机资源

虚拟机类型每个 VM 的 RAM每个虚拟机的vCPUs使用例子
虚拟服务器1-2 GB1-2轻量级Linux,实用工具虚拟机
虚拟桌面4–8 GB2–4Windows 11,Ubuntu 桌面,RDP
混合/游戏虚拟机8–16 GB+4–8+GPU直通,游戏,ML
  • 内存和 CPU 仅在 %%虚拟机%% 运行时消耗。
  • 计划在多个 %%虚拟机%% 同时运行时实现最大使用。
  • 始终根据来宾操作系统和工作负载要求分配资源。

HVM 和 IOMMU:它们启用的功能

HVM(硬件虚拟机),也称为 Intel VT-xAMD-V,使您的 CPU 能够以硬件加速运行 虚拟机

  • 在 Unraid 上创建和运行任何 %%虚拟机%% 是必需的。
  • 提供高效的 CPU 虚拟化和比纯软件虚拟化更好的性能。
  • 大多数现代 CPU(2015 年及更新)包括该功能。
How 检查支持

WebGUI 中,点击顶部菜单中的 信息

  • HVM 支持: 显示是否存在硬件虚拟化并已启用。
  • IOMMU 支持: 显示是否可以使用设备直通并已启用。

图形设备直通

将 GPU 传递给 %%虚拟机%% 允许实现接近原生的图形性能,非常适合游戏、创意工作或机器学习。

  • 所有现代 RTX(3000/4000系列)支持直通,推荐以获得最佳性能。
  • Quadro 和一些较旧的 GTX 卡也受支持,但重要的是检查当前的驱动程序兼容性。
General 提示
  • 使用 %%OVMF(%%UEFI)%% 处理使用现代 GPU 的 %%虚拟机%%。
  • 始终使用最新版本的 Unraid 以增强硬件支持。
  • 像 NVIDIA Optimus 这样的技术可能允许笔记本电脑或高级设置的 %%GPU 直通%%,但结果各异。
Always 更改

硬件和驱动程序的兼容性变化迅速。在购买用于直通的GPU之前,请访问 Unraid论坛和厂商文档以获取最新报告和用户体验。


系统准备

在您创建虚拟机之前,完成这些基本设置任务以确保您的系统已就绪。

调整 BIOS 设置

要充分利用 Unraid 的虚拟化功能,您的 BIOS 必须启用硬件辅助虚拟化和 I/O 存储管理。查找标记为VirtualizationIntel VT-xIntel VT-dAMD-VAMD-Vi 的设置,并将其设置为启用

备注

BIOS接口因制造商而异。请查看主板手册以获得这些设置的确切位置。

配置网络桥接

虚拟机 可以使用两种桥接类型之一连接到网络。选择最适合您需求的类型:

桥接类型描述使用场景
私人 NAT (virbr0)libvirt管理。此选项提供内部DHCP服务器和隔离子网。 VMs 可以访问互联网和主机文件共享,但与其他网络设备隔离。适合需要互联网和主机访问但无需局域网可见的孤立虚拟机
公共桥接 (br0)由 Unraid 管理。此选项将虚拟机直接连接到您的 LAN,由路由器分配 IP 地址。MAC 地址保持不变以确保 IP 地址的一致性。适用于应作为网络上常规设备运行的虚拟机,可被其他设备访问。
important

如果您的 Unraid 服务器通过 Wi-Fi 连接,建议为您的 virtual machines 使用 Private NAT (virbr0) 网络桥,由于 Wi-Fi 接口仅支持单个 MAC 地址,这限制了公共桥和自定义网络类型的使用。通过使用 virbr0 桥,您的 VMs 可以通过 NAT 完成网络访问,尽管它们将无法从本地局域网上的其他设备直接访问。然而,通过主机,您仍然可以通过 VNC 访问 VMs

  • 网络设置 → 启用桥接 中启用公共桥接。
  • VM设置中将您首选的桥接设置为默认网络桥接。您可能需要启用高级视图以看到此选项。

虚拟化的用户共享

Unraid 为 virtualization 创建了两个默认的 user shares

考虑为 VM 备份创建一个单独的共享以保护您的数据。

共享配置建议

important

不要将活动的 virtual machines 存储在使用 cache 设置为是**的共享上。这可能导致在 Mover 过程中将 VMs 移动到 array ,导致性能下降。

设置虚拟化偏好

在开始之前,确保您的系统已准备好进行虚拟化(参见 系统准备)。在 Unraid 中设置您的 virtualization 首选项有助于确保您的 virtual machines (VMs) 优化为最佳性能和兼容性。

要设置您的虚拟化偏好:

  1. WebGUI 中,进入 设置 → VM 管理器
  2. 对于 Windows VM:
    • 官方仓库 下载最新版稳定版 VirtIO Windows 驱动程序 ISO。
    • VirtIO ISO 文件复制到您的 isos 共享。
    • VM 管理器 中,使用文件选择器为 VirtIO Windows 驱动程序 ISO 选择您刚复制的 ISO。
    • (可选)在 高级视图 中为各个 VMs 覆盖默认驱动程序 ISO。
  3. 选择一个默认网络桥:
    • 选择 virbr0 作为私人网络桥,或选择在 网络设置 中创建的公共桥(例如,br0)。
    • (可选)在 高级视图 中为每个 VM 覆盖默认网络桥。
  4. PCIe ACS 覆盖(高级):
    • 若需要将多个 PCI 设备(如 GPUs 或 USB 控制器)分配给不同的 VMs,请切换 PCIe ACS 覆盖开启
    • 此选项打破 IOMMU 组,允许更灵活的设备直通。
警告

此设置是实验性的,可能会影响系统稳定性。请谨慎使用。

  1. 点击 应用 以保存您的设置。