部署 NVIDIA 5090 驱动和环境准备

1. 确认基础条件

确保 CPU 和主板支持虚拟化和 IOMMU:

  • Intel:VT-d
  • AMD:AMD-Vi

BIOS 设置

在 BIOS 中启用以下选项:

  • Intel:VT-d
  • AMD:SVM 和 IOMMU

2. 启用 IOMMU

编辑 GRUB 配置文件:

nano /etc/default/grub

找到以下行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

修改为:

  • 对于 Intel:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
  • 对于 AMD:GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

保存并更新 GRUB:

update-grub

3. 启用 VFIO

编辑模块配置文件:

nano /etc/modules

添加以下行:

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

4. 黑名单 NVIDIA 驱动

防止宿主机加载 NVIDIA 驱动:

echo -e "blacklist nouveau\nblacklist nvidia\nblacklist nvidiafb" > /etc/modprobe.d/blacklist-nvidia.conf

5. 查找显卡 PCI ID

运行以下命令:

lspci -nn | grep -i nvidia

示例输出:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device 2b85 [10de:2b85]
01:00.1 Audio device [0403]: NVIDIA Corporation Device 22e8 [10de:22e8]

记录 PCI ID(例如 [10de:2b85][10de:22e8]),用于 VFIO 绑定。

6. 绑定显卡到 vfio-pci

编辑 VFIO 配置文件:

nano /etc/modprobe.d/vfio.conf

添加以下行,使用上一步获取的 PCI ID:

options vfio-pci ids=10de:2b85,10de:22e8

7. 重建 initramfs 并重启

更新初始 RAM 文件系统并重启:

update-initramfs -u
reboot

8. 重启后检查绑定情况

检查显卡绑定状态:

lspci -nnk | grep -A 2 -i nvidia

确保输出显示:

Kernel driver in use: vfio-pci

9. 在虚拟机中添加 PCI 设备

在 Proxmox Web 界面中:

  1. 选择你的虚拟机。
  2. 进入“硬件” > “添加” > “PCI 设备”。
  3. 选择显卡设备(例如 01:00.001:00.1)。

10. 验证步骤

  • 检查 IOMMU 是否启用:
    • dmesg | grep -E "DMAR|IOMMU"
  • 验证 VFIO 模块是否加载:
    • lsmod | grep vfio
  • 检查设备绑定状态:
    • ls -la /sys/bus/pci/drivers/vfio-pci/

11. 在虚拟机中安装 NVIDIA 5090 驱动

  1. 卸载现有专有驱动
    • sudo apt purge nvidia-driver-570-server sudo apt autoremove sudo apt autoclean
  2. 安装开源 NVIDIA 驱动
    • sudo apt install nvidia-driver-570-server-open sudo apt install nvidia-utils-570-server
  3. 重启并验证
    • sudo reboot 检查驱动版本:nvidia-smi 检查模块信息:modinfo nvidia 验证内核模块类型(应显示开源版本):lsmod | grep nvidia 检查设备文件:ls -la /dev/nvidia*

12. 安装 Docker 并通过 Docker 运行 vLLM 模型

  1. 设置包仓库和 GPG 密钥
    • curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  2. 安装 Docker Engine、CLI、Containerd 和 Docker Compose 插件
    • sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  3. 更新包列表并安装 nvidia-container-toolkit
    • curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  4. 配置 Docker 启动项
    • sudo systemctl start docker sudo mkdir -p /etc/docker 创建 Docker 配置文件:cat <<EOF | sudo tee /etc/docker/daemon.json { "default-runtime": "nvidia", "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } } } EOF
  5. 配置并重启 Docker
    • sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl enable docker sudo systemctl restart docker

评论

  1. 博主
    1 月前
    2025-6-12 14:16:46

    666

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇