【AIGC实用案例分析2】:打造本地大模子地基,PVE 配置显卡直通
本文将具体先容如安在假造化平台 Proxmox Virtual Environment(PVE)配置显卡直通,将宿主机上的物理显卡直接分配给 AI 假造机利用。1. 情况先容
1.1 硬件情况
[*]服务器: 科脑 X99-D4、2*32G DDR4 内存、Intel E5-2683 v4
[*]显卡:NVIDIA P104-100
[*]BIOS:开启 VT-x/VT-d 类似的假造化扩展
本文选择纯矿卡 NVIDIA P104-100 作为演示,配置方法同样适用于其他型号显卡。
1.2 软件情况
[*]假造化平台:Proxmox Virtual Environment 8.0.4
[*]AI 假造机: ubuntu 22.04
本文选择 ubuntu 22.04 作为演示,配置方法同样适用于其他操纵系统。
2. 配置 PVE 开启显卡直通
2.1 开启 IOMMU 功能
[*]配置 Grub 配置文件,vi /etc/default/grub
# 修改 GRUB_CMDLINE_LINUX_DEFAULT 配置为 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream" #注意:pve 7.2 以前版本利用 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=efifb:off,vesafb:off pcie_acs_override=downstream"
阐明:
[*]intel_iommu=on 开启IOMMU
[*]iommu=pt 让内核驱动设备性能更高,而且防止Linux将不能直通的设备直通
[*]initcall_blacklist=sysfb_init 替代老版本中的 video=efifb:off,vesafb:off
[*]pcie_acs_override=downstream 用于将iommu groups拆分,方便一些板载设备的直通。
[*]更新 GRUB
update-grub # 正确的结果如下 root@pve9:~# update-grub Generating grub configuration file ... Found linux image: /boot/vmlinuz-6.2.16-8-pve Found initrd image: /boot/initrd.img-6.2.16-8-pve Found linux image: /boot/vmlinuz-6.2.16-3-pve Found initrd image: /boot/initrd.img-6.2.16-3-pve Found memtest86+x64 image: /boot/memtest86+x64.bin done
[*]加载对应的内核模块
echo vfio >> /etc/modules echo vfio_pci >> /etc/modules echo vfio_iommu_type1 >> /etc/modules # echo vfio_virqfd >> /etc/modules # pve8 不需要配置
[*]重启 PVE 系统
reboot
[*]验证是否成功 启用IOMMU
dmesg | grep -E "DMAR|IOMMU" # 正确的关键结果如下 root@pve9:~# dmesg | grep -E "DMAR|IOMMU" [ 0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA [ 0.142816] DMAR: IOMMU enabled [ 1.036519] DMAR: Intel(R) Virtualization Technology for Directed I/O
[*]验证 VFIO 模块
dmesg | grep -i vfio # 正确的结果如下 root@pve9:~# dmesg | grep -i vfio [ 3.759097] VFIO - User Level meta-driver version: 0.3
[*]验证是否支持 制止重映射
dmesg | grep 'remapping' # 正确的结果如下 # intel [ 0.175675] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping. [ 0.177198] DMAR-IR: Enabled IRQ remapping in x2apic mode # 但是我的情况比较特殊,即使 BIOS 里开启了 X2APIC,也会报错,所以启用了 2.3 末节的 允许不安全的制止设置。不影响显卡的直通利用。 root@pve9:~# dmesg | grep 'remapping' [ 0.390774] DMAR-IR: Enabled IRQ remapping in xapic mode [ 0.390775] x2apic: IRQ remapping doesn't support X2APIC mode
2.2 开启显卡直通
[*]屏蔽默认驱动
# 直通 NVIDIA 显卡,请利用下面命令 echo "# NVIDIA" >> /etc/modprobe.d/blacklist.conf echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidia_drm" >> /etc/modprobe.d/blacklist.conf echo "" >> /etc/modprobe.d/blacklist.conf # 直通 AMD 显卡,请利用下面命令 echo "# AMD" >> /etc/modprobe.d/blacklist.conf echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf # 本文服务器 NVIDIA 和 AMD 显卡各有一块,因此都执行
2.3 其他有用的配置
[*]允许不安全的制止
## 其他参数配置 # 允许不安全的制止 echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
[*]为 NVIDIA 卡添加稳固性修复和优化
echo "options kvm ignore_msrs=1 report_ignored_msrs=0" > /etc/modprobe.d/kvm.conf # 忽略非常,防止假造机非常导致宿主机崩溃 # ignore_msrs : 忽略非常 # report_ignored_msrs : 是否陈诉非常
2.4 更新内核引导文件
[*]更新内核引导文件
update-initramfs -k all -u # 正确的执行结果如下 root@pve9:~# update-initramfs -k all -u update-initramfs: Generating /boot/initrd.img-6.2.16-8-pve Running hook script 'zz-proxmox-boot'.. Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace.. No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync. update-initramfs: Generating /boot/initrd.img-6.2.16-3-pve Running hook script 'zz-proxmox-boot'.. Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace.. No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
[*]重启系统
reboot
3. 创建假造机验证测试
3.1 创建假造机并添加显卡
在 PVE 系统中创建 ubuntu 假造机,过程略。
添加 NVIDIA P104-100 显卡到假造机。
[*]选择要添加显卡的假造机
[*]「硬件」->「添加」,选择 PCI 设备
https://i-blog.csdnimg.cn/direct/732c6bdacff14b46808e5314d6722abf.png
https://i-blog.csdnimg.cn/direct/839fd74e4dd4439395c1b9021d5acb18.png
[*]选择对应的显卡设备,并勾选全部功能
https://i-blog.csdnimg.cn/direct/ca968728703448229ec83df4fe858768.png
https://i-blog.csdnimg.cn/direct/6071a56ac15845979b4f6971367816da.png
配置完成后,点击「添加」按钮,最后启动假造机。
3.2 假造机内部验证
假造机启动后需要安装显卡驱动,本文仅为了演示 PVE 开启显卡直通功能。至于如安在假造机里安装显卡驱动,后续会有专文先容。
显卡驱动安装完成后,执行 NVIDIA 自带的管理命令,查看显卡信息。
ubuntu@ubuntu:~$ nvidia-smi Sat May 4 09:42:36 2024 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA P104-100 On | 00000000:00:10.0 Off | N/A | | 72% 35C P8 6W / 180W | 2MiB / 8192MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
以上,就是本日禀享的内容,后续我会分享更多关于大模子、Ollama 的内容。请一连关注。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]