概述和系统准备
虚拟机 (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-x,AMD-V)。 | 运行虚拟机以实现完全硬件加速的必要条件。 |
| VFIO & IOMMU | 允许直接向虚拟机传递PCI设备(如GPU和USB设备)。 | 对于实现接近原生性能和维护安全隔离至关重要。 |
Unraid 如何实现 VM 支持
要求
要在 Unraid 上运行 %%虚拟机%%,您的系统必须满足以下要求:
| 组件 | 最低要求 | 推荐用于虚拟机 & GPU直通 |
|---|---|---|
| CPU | 64 位,4 核,2.4 GHz+(Intel/AMD) | 8 个以上内核,3.0 GHz+(Intel Core i7/i9,AMD Ryzen 7/9 或更新版本) |
| 虚拟化 | HVM (Intel VT-x 或 AMD-V) | HVM + IOMMU (Intel VT-d or AMD-Vi) |
| RAM | 8 GB | 16 GB 或更多(每个活动虚拟机增加 RAM) |
| 存储 | 用于虚拟机磁盘的SSD/NVMe | 高端 NVMe 以获得最佳性能 |
| 网络 | 千兆以太网(建议使用 PCIe) | 2.5 G/10 G 以太网用于高需求工作负载 |
| GPU (可选) | 现代 NVIDIA RTX(推荐)或 AMD Radeon RX | RTX 3000/4000 系列(推荐使用 NVIDIA 以获得更好的直通兼容性) |
由于更好的兼容性和可靠性,通常推荐 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 GB | 1-2 | 轻量级Linux,实用工具虚拟机 |
| 虚拟桌面 | 4–8 GB | 2–4 | Windows 11,Ubuntu 桌面,RDP |
| 混合/游戏虚拟机 | 8–16 GB+ | 4–8+ | GPU直通,游戏,ML |
- 内存和 CPU 仅在 %%虚拟机%% 运行时消耗。
- 计划在多个 %%虚拟机%% 同时运行时实现最大使用。
- 始终根据来宾操作系统和工作负载要求分配资源。
HVM 和 IOMMU:它们启用的功能
- HVM 支持
- IOMMU 支持
HVM(硬件虚拟机),也称为 Intel VT-x 或 AMD-V,使您的 CPU 能够以硬件加速运行 虚拟机。
- 在 Unraid 上创建和运行任何 %%虚拟机%% 是必需的。
- 提供高效的 CPU 虚拟化和比纯软件虚拟化更好的性能。
- 大多数现代 CPU(2015 年及更新)包括该功能。
在 WebGUI 中,点击顶部菜单中的 信息。
- HVM 支持: 显示是否存在硬件虚拟化并已启用。
- IOMMU 支持: 显示是否可以使用设备直通并已启用。
图形设备直通
将 GPU 传递给 %%虚拟机%% 允许实现接近原生的图形性能,非常适合游戏、创意工作或机器学习。
- NVIDIA
- AMD
- 所有现代 RTX(3000/4000系列)支持直通,推荐以获得最佳性能。
- Quadro 和一些较旧的 GTX 卡也受支持,但重要的是检查当前的驱动程序兼容性。
- Radeon RX 6000 系列通常可用于直通。
- RX 7000 系列可能存在一些未解决的问题;请查看 Unraid 论坛 以获取最新的兼容性报告。
- AMD 重置错误在最近的型号中大多已解决,但始终确认您的硬件是个好主意。
- 使用 %%OVMF(%%UEFI)%% 处理使用现代 GPU 的 %%虚拟机%%。
- 始终使用最新版本的 Unraid 以增强硬件支持。
- 像 NVIDIA Optimus 这样的技术可能允许笔记本电脑或高级设置的 %%GPU 直通%%,但结果各异。
硬件和驱动程序的兼容性变化迅速。在购买用于直通的GPU之前,请访问 Unraid论坛和厂商文档以获取最新报告和用户体验。
系统准备
在您创建虚拟机之前,完成这些基本设置任务以确保您的系统已就绪。
调整 BIOS 设置
要充分利用 Unraid 的虚拟化功能,您的 BIOS 必须启用硬件辅助虚拟化和 I/O 存储管理。查找标记为Virtualization、Intel VT-x、 Intel VT-d、AMD-V 或 AMD-Vi 的设置,并将其设置为启用。
BIOS接口因制造商而异。请查看主板手册以获得这些设置的确切位置。
配置网络桥接
虚拟机 可以使用两种桥接类型之一连接到网络。选择最适合您需求的类型:
| 桥接类型 | 描述 | 使用场景 |
|---|---|---|
| 私人 NAT (virbr0) | 由libvirt管理。此选项提供内部DHCP服务器和隔离子网。 VMs 可以访问互联网和主机文件共享,但与其他网络设备隔离。 | 适合需要互联网和主机访问但无需局域网可见的孤立虚拟机。 |
| 公共桥接 (br0) | 由 Unraid 管理。此选项将虚拟机直接连接到您的 LAN,由路由器分配 IP 地址。MAC 地址保持不变以 确保 IP 地址的一致性。 | 适用于应作为网络上常规设备运行的虚拟机,可被其他设备访问。 |
如果您的 Unraid 服务器通过 Wi-Fi 连接,建议为您的 virtual machines 使用 Private NAT (virbr0) 网络桥,由于 Wi-Fi 接口仅支持单个 MAC 地址,这限制了公共桥和自定义网络类型的使用。通过使用 virbr0 桥,您的 VMs 可以通过 NAT 完成网络访问,尽管它们将无法从本地局域网上的其他设备直接访问。然而,通过主机,您仍然可以通过 VNC 访问 VMs。
- 在 网络设置 → 启用桥接 中启用公共桥接。
- 在VM设置中将您首选的桥接设置为默认网络桥接。您可能需要启用高级视图以看到此选项。
虚拟化的用户共享
Unraid 为 virtualization 创建了两个默认的 user shares:
考虑为 VM 备份创建一个单独的共享以保护您的数据。
共享配置建议
- 在cache-only共享中存储活动的VM virtual disk images可获得最佳性能。
- 在你的cache pool中使用SSD能显着提升VM的响应速度。
isos共享中的 Cache 使用是可选的。
不要将活动的 virtual machines 存储在使用 cache 设置为是**的共享上。这可能导致在 Mover 过程中将 VMs 移动到 array ,导致性能下降。
设置虚拟化偏好
在开始之前,确保您的系统已准备好进行虚拟化(参见 系统准备)。在 Unraid 中设置您的 virtualization 首选项有助于确保您的 virtual machines (VMs) 优化为最佳性能和兼容性。
要设置您的虚拟化偏好:
- 在 WebGUI 中,进入 设置 → VM 管理器。
- 对于 Windows VM:
- 选择一个默认网络桥:
- 选择
virbr0作为私人网络桥,或选择在 网络设置 中创建的公共桥(例如,br0)。 - (可选)在 高级视图 中为每个 VM 覆盖默认网络桥。
- 选择
- PCIe ACS 覆盖(高级):
此设置是实验性的,可能会影响系统稳定性。请谨慎使用。
- 点击 应用 以保存您的设置。