跳转到正文

在启用显卡直通的 PVE 上安装 Olares ​

Proxmox 虚拟环境(PVE)中的 GPU 直通允许虚拟机(VM)直接访问物理 GPU,从而启用 AI 模型推理、图形渲染等需要硬件加速的计算任务。

不适用于生产环境

该部署方式当前仍有功能限制,仅用于开发或测试环境。

学习目标 ​

完成本教程后,你将能够:

  • 在 PVE 主机上启用 GPU 直通;
  • 创建一台带有 NVIDIA GPU 直通的 PVE 虚拟机;
  • 通过官方 ISO 镜像安装 Olares 并验证 GPU 被识别。

前提条件 ​

开始前,请准备:

  • CPU:4 核及以上,并在 BIOS 中启用 IOMMU
    • Intel:VT-d
    • AMD:AMD-Vi/IOMMU
  • GPU:支持 GPU 直通的 NVIDIA GPU
  • 内存:推荐 16 GB 及以上
  • 存储:不少于 200 GB 的 SSD 可用磁盘空间(HDD 可能导致安装失败)
  • PVE 版本:8.3.2
  • Olares ISO 镜像:官方镜像

在 PVE 中配置 GPU 直通 ​

要在 Olares 中使用 GPU 加速,先在 PVE 主机上启用 GPU 直通。

启用 IOMMU ​

IOMMU(输入输出内存管理单元) 是一种硬件功能,允许操作系统控制外设访问内存的方式。直通机制需要这一控制。

  1. 在 PVE Shell 中打开 GRUB 配置文件:

    bash
    nano /etc/default/grub
  2. 找到这一行:

    plain
    GRUB_CMDLINE_LINUX_DEFAULT="quiet"

    根据 CPU 类型替换为对应内容:

    bash
    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
    bash
    GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
  3. 保存并关闭文件,然后更新 GRUB 并重启主机:

    bash
    update-grub
    reboot
  4. 重启后,检查 IOMMU 是否已启用:

    bash
    dmesg | grep -e DMAR -e IOMMU

    如果成功启用,你将看到类似输出:

    plain
    [0.061644] DMAR: IOMMU enabled
    ...
    [0.408103] DMAR: Intel(R) Virtualization Technology for Directed I/O
    plain
    [1.219719] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40

添加 VFIO 模块 ​

Virtual Function I/O (VFIO) 使虚拟机能够直接访问 PCI 设备(如 GPU)。

  1. 在 PVE 主机上打开 modules 文件:

    bash
    nano /etc/modules
  2. 在文件末尾添加以下行:

    plain
    vfio
    vfio_iommu_type1
    vfio_pci
    vfio_virqfd
  3. 保存并关闭文件。

屏蔽主机 GPU 驱动 ​

屏蔽 PVE 主机的默认 GPU 驱动,让 GPU 专用于 vfio-pci。

  1. 创建黑名单配置:

    bash
    nano /etc/modprobe.d/blacklist.conf
  2. 添加以下行以屏蔽 NVIDIA 驱动:

    plain
    blacklist nouveau
    blacklist nvidia
    blacklist nvidiafb
    blacklist nvidia_drm
    blacklist nvidia_modeset
  3. 保存并关闭文件。

将 GPU 绑定到 VFIO ​

  1. 查找 GPU 的 PCI 地址:

    bash
    lspci | grep NVIDIA

    示例输出:

    plain
    01:00.0 VGA compatible controller: NVIDIA Corporation AD106 [GeForce RTX 4060 Ti] (rev a1)
    01:00.1 Audio device: NVIDIA Corporation AD106M High Definition Audio Controller (rev a1)

    本例中,GPU 的 PCI 地址为 01:00,包含两个功能。

  2. 获取 GPU 的 PCI 标识符:

    bash
    lspci -n -s 01:00

    示例输出:

    plain
    01:00.0 0300: 10de:2803 (rev a1)
    01:00.1 0403: 10de:22bd (rev a1)

    本例中 GPU 的 ID 为 10de:2803 和 10de:22bd。

  3. 将 ID 绑定到 VFIO(请替换为你自己的 ID):

    bash
    echo "options vfio-pci ids=10de:2803,10de:22bd" > /etc/modprobe.d/vfio.conf
  4. 更新 initramfs 并重启:

    bash
    update-initramfs -u
    reboot
  5. 重启后,检查 GPU 是否正在使用 vfio-pci 驱动:

    bash
    lspci -v

    你应该会看到类似输出:

    plain
    01:00.0 VGA compatible controller: NVIDIA Corporation AD106 [GeForce RTX 4060 Ti] (rev a1) (prog-if 00 [VGA controller])
    Subsystem: Gigabyte Technology Co., Ltd AD106 [GeForce RTX 4060 Ti]
    Flags: fast devsel, IRQ 255, IOMMU group 11
    ...
    Kernel driver in use: vfio-pci

设置虚拟机并安装 Olares ​

启用 GPU 直通后,即可在 PVE 中安装 Olares。

创建和配置虚拟机 ​

  1. 将下载的 Olares 官方 ISO 上传到你的 PVE 存储(例如 local):

    1. 在 PVE Web 界面中,选择目标存储(例如 local)。
    2. 点击 ISO 镜像 > 上传。
    3. 点击 选择文件,选择 Olares ISO 文件,然后点击 上传。
  2. 点击 创建虚拟机。

  3. 配置以下虚拟机参数:

    • 操作系统:
      • ISO 镜像:选择下载的 Olares 官方镜像。
    • 系统:
      • BIOS:选择 OVMF(UEFI)。
      • EFI 存储:选择一个存储位置(如本地 LVM 或目录),用于保存 UEFI 固件变量。
      • 预注册密钥:取消勾选以禁用安全启动。
    • 磁盘:
      • 磁盘大小 (GiB):不少于 200 GB。
    • CPU:
      • 核心:4 核及以上。
    • 内存:
      • 内存 (MiB):不少于 8 GB。

    下图为 PVE 中虚拟机硬件的示例配置。

    PVE 虚拟机硬件配置示例

  4. 点击 完成。先不要启动虚拟机。

将 GPU 绑定到虚拟机 ​

  1. 在 PVE 界面中,选择你的虚拟机,然后转到 硬件 > 添加 > PCI 设备。

    添加 PCI 设备

  2. 选择 原始设备,根据 PCI 地址(例如 01:00)选择你的 GPU。

  3. 在右下角,选中 高级 选项,并勾选 PCI-Express。

  4. 点击 添加。

    添加 GPU PCI 设备

现在你的虚拟机已准备好使用 GPU 直通。

安装 Olares ​

通过 ISO 镜像安装 Olares:

  1. 选择并启动你刚创建的虚拟机。

  2. 从启动菜单中选择 Install Olares to Hard Disk,并按 Enter 确认。

  3. 在 Olares System Installer 界面,选择安装磁盘:

    1. 查看可用磁盘列表(例如 sda 200G QEMU HARDDISK)。
    2. 输入 /dev/ 加上第一个磁盘的名称来选择目标磁盘(例如 /dev/sda)。
    3. 当磁盘警告出现时,输入 yes 继续。

    忽略 NVIDIA 显卡驱动警告

    安装过程中会出现 NVIDIA 显卡驱动相关警告。按 Enter 忽略。

  4. 安装完成后,你会看到以下信息:

    plain
    Installation completed successfully!
  5. 在 PVE 界面中重启虚拟机。

验证安装和 GPU 直通 ​

虚拟机重启后,会进入 Ubuntu 系统。

  1. 使用默认账号登录 Ubuntu:

    • 用户名:olares
    • 密码:olares
  2. 运行以下命令确认 Olares 是否安装成功:

    bash
    sudo olares-check

    如果输出如下,则安装成功:

    plain
    ...
    check Olaresd:  success
    check Containerd:  success
  3. 使用 NVIDIA 系统管理界面工具检查 GPU 是否已被直通并被 Olares 识别:

    bash
    nvidia-smi

    如果 GPU 直通设置成功,此命令会显示一张表格,列出 NVIDIA GPU 的详细信息,包括名称、驱动程序版本和内存使用情况。

安装并激活 Olares ​

检查网络连接

为避免激活失败,请确保你的手机和 Olares 设备连接到同一网络。

  1. 打开 LarePass。如果还没有 Olares ID,点击创建账号并按提示完成设置。

    中国大陆用户请选择 .cn 域名

    如果手机系统语言为英文,请在高级创建选项中选择 .cn 域名。

  2. 在激活页面点击发现附近的 Olares。LarePass 会列出同一网络中发现的 Olares 实例。

  3. 选择你的 Olares 实例,点击立即安装。

    ISO 激活

  4. 安装完成后,点击立即激活。

  5. 在选择反向代理对话框中,选择一个地理位置离你较近的节点并点击确认。安装程序会自动为 Olares 配置 HTTPS 证书和 DNS。

    提示

    • 你可以稍后在 Olares 中的 更改反向代理 页面调整此设置。
    • 如果你的 Olares 设备连接的是公网 IP 网络,此步骤会自动跳过。
  6. 选择 Olares 语言。Olares 支持英语、简体中文、德语、西班牙语、意大利语、法语和日语。

    INFO

    这里选择的是 Olares 语言,不会改变当前 LarePass 的界面语言。后续激活流程仍使用 LarePass 当前语言。激活完成后,Olares 桌面会使用此处选择的语言。

  7. 按照屏幕提示设置 Olares 的登录密码,然后点击完成。

    ISO Activate-2

激活完成后,LarePass 将显示 Olares 设备的桌面地址,如 https://desktop.marvin123.olares.cn。

登录 Olares ​

  1. 打开 Olares 桌面地址,按任意键继续。

  2. 在登录页面输入 Olares 登录密码。

    登录

  3. 系统会要求完成双重验证:

    • 在 LarePass 中确认:在手机上打开登录通知,点击确认。
    • 手动输入验证码:在登录页选择使用 LarePass 生成的一次性密码验证。在手机上打开 LarePass(设置 > 我的 Olares 卡片,点击身份验证器)或在 LarePass 桌面版(Vault 列表第一条)获取 6 位验证码,输入后即可完成登录。

    INFO

    验证码有时效限制,请在过期前完成输入。

    确认登录

登录后你就会看到 Olares 桌面。🎉