iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
Cloud Native

帶著MBP在異世界探險的科技宅系列 第 8

Day 8 Proxmox VE 進階應用篇 - I have a GPU Card

  • 分享至 

  • xImage
  •  

嗨各位,相信各位一定有用過最近很夯的 Bard 或是 ChatGPT 吧?
像是這種生成式AI(Generative AI)的訓練往往需要用到大量的 GPU
而在 Proxmox VE 的環境中,VM 預設是沒辦法直接存取到宿主的 PCIE 裝置的(以這個例子來說是 GPU,然後我們只討論外接顯示卡不討論內顯or版載之類的情境)

這時候我們就需要由宿主機(host)把 GPU(PCIE裝置) 的控制權交給我們的 VM 啦(也就是 GPU-Passthrough )

首先,我們先把 grub 裡的開機參數 ( 位於 /etc/default/grub ) 新增 iommu ,來讓我們的 VM 可以存取宿主機(host)的硬體資源
並且讓 Linux Kernel 在載入時,不去載入 EFI framebuffer 以避免在開機過程中 GPU 被宿主機(host)搶去
AMD CPU 會是 amd_iommu,而 Intel CPU 會是 intel_iommu

nano /etc/default/grub

/etc/default/grub

...
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
...

然後我們更新 /boot 分區的開機檔案

update-grub

完成後,我們去新增 IOMMU 會用到的 Kernel Module

nano /etc/modules

/etc/modules

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

最後,在宿主機(host)的設定裡,我們將可能會嘗試使用到 GPU 的 Kernel Module
nano /etc/modprobe.d/blacklist.conf

blacklist radeon
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist i2c_nvidia_gpu
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915

然後更新 initramfs

update-initramfs -u

然後我們快樂重啟

init 6

之後在 Proxmox VE 的 VM 設定中,我們以 root 的身份登入後
在 VM 的硬體中新增 PCI裝置
(因為只有 root 能直接新增宿主機資源)
https://ithelp.ithome.com.tw/upload/images/20230909/201156609EkzBbQEJv.png

然後選擇對應的裝置(我的是 Tesla P4)
https://ithelp.ithome.com.tw/upload/images/20230909/20115660NAo38jJL8Q.png

完成後,我們將 VM 開機
順利的話就能存取到對應的 PCI 裝置了
https://ithelp.ithome.com.tw/upload/images/20230909/20115660OuOKB1Z3rd.png

在這些搞 GPU passthrough 的過程中,這兩份參考資料我個人覺得不錯
Proxmox VE 官方文件: PCI Passthrough
參考文章: How to Set Up GPU Passthrough on Proxmox

各位我們明天見


上一篇
Day 7 Proxmox VE 進階應用篇 - 這樣找機器比較快
下一篇
Day 9 網管經驗篇 - 我只是想快速裝一個 Kubernetes 叢集
系列文
帶著MBP在異世界探險的科技宅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言