Cách định cấu hình Proxmox VE 8 để truyền qua GPU PCI/PCIE và NVIDIA

Cach Dinh Cau Hinh Proxmox Ve 8 De Truyen Qua Gpu Pci Pcie Va Nvidia



Proxmox VE 8 là một trong những trình ảo hóa loại I miễn phí và mã nguồn mở tốt nhất hiện có để chạy các máy ảo QEMU/KVM (VM) và bộ chứa LXC. Nó có giao diện quản lý web đẹp và nhiều tính năng.

Một trong những tính năng tuyệt vời nhất của Proxmox VE là nó có thể chuyển các thiết bị PCI/PCIE (tức là GPU NVIDIA) từ máy tính của bạn sang máy ảo Proxmox VE (VM). Quá trình chuyển tiếp PCI/PCIE ngày càng tốt hơn với các bản phát hành Proxmox VE mới hơn. Tại thời điểm viết bài này, phiên bản mới nhất của Proxmox VE là Proxmox VE v8.1 và nó có hỗ trợ chuyển tiếp PCI/PCIE tuyệt vời.







Trong bài viết này, tôi sẽ hướng dẫn bạn cách định cấu hình máy chủ/máy chủ Proxmox VE 8 để truyền qua PCI/PCIE và định cấu hình GPU NVIDIA của bạn để truyền qua PCIE trên máy ảo (VM) Proxmox VE 8.





Mục lục

  1. Kích hoạt ảo hóa từ Firmware BIOS/UEFI trên bo mạch chủ của bạn
  2. Cài đặt Proxmox VE 8
  3. Kích hoạt kho lưu trữ cộng đồng Proxmox VE 8
  4. Cài đặt bản cập nhật trên Proxmox VE 8
  5. Kích hoạt IOMMU từ Firmware BIOS/UEFI trên bo mạch chủ của bạn
  6. Kích hoạt IOMMU trên Proxmox VE 8
  7. Xác minh xem IOMMU có được bật trên Proxmox VE 8 hay không
  8. Đang tải mô-đun hạt nhân VFIO trên Proxmox VE 8
  9. Liệt kê các nhóm IOMMU trên Proxmox VE 8
  10. Kiểm tra xem GPU NVIDIA của bạn có thể truyền qua máy ảo Proxmox VE 8 (VM) hay không
  11. Kiểm tra các mô-đun hạt nhân trong danh sách đen để truyền qua PCI/PCIE trên Proxmox VE 8
  12. Đưa vào danh sách đen các mô-đun hạt nhân cần thiết để truyền qua PCI/PCIE trên Proxmox VE 8
  13. Định cấu hình GPU NVIDIA của bạn để sử dụng Mô-đun hạt nhân VFIO trên Proxmox VE 8
  14. Chuyển GPU NVIDIA sang Máy ảo Proxmox VE 8 (VM)
  15. Bạn vẫn gặp sự cố với Truyền qua PCI/PCIE trên Máy ảo (VM) Proxmox VE 8?
  16. Phần kết luận
  17. Người giới thiệu





Kích hoạt ảo hóa từ Firmware BIOS/UEFI trên bo mạch chủ của bạn

Trước khi có thể cài đặt Proxmox VE 8 trên máy tính/máy chủ của mình, bạn phải bật tính năng ảo hóa phần cứng của bộ xử lý từ chương trình cơ sở BIOS/UEFI của bo mạch chủ. Quá trình này khác nhau đối với các bo mạch chủ khác nhau. Vì vậy, nếu bạn cần bất kỳ sự trợ giúp nào trong việc kích hoạt ảo hóa phần cứng trên bo mạch chủ của mình, đọc bài viết này .



Cài đặt Proxmox VE 8

Proxmox VE 8 được tải xuống, cài đặt và sử dụng miễn phí. Trước khi bắt đầu, hãy đảm bảo cài đặt Proxmox VE 8 trên máy tính của bạn. Nếu bạn cần bất kỳ sự trợ giúp nào về điều đó, đọc bài viết này .

Kích hoạt kho lưu trữ cộng đồng Proxmox VE 8

Khi bạn đã cài đặt Proxmox VE 8 trên máy tính/máy chủ của mình, hãy đảm bảo kích hoạt kho gói cộng đồng Proxmox VE 8 .

Theo mặc định, kho lưu trữ gói doanh nghiệp Proxmox VE 8 được bật và bạn sẽ không thể tải/cài đặt các bản cập nhật và sửa lỗi từ kho lưu trữ doanh nghiệp trừ khi bạn đã mua giấy phép doanh nghiệp Proxmox VE 8. Vì vậy, nếu bạn muốn sử dụng Proxmox VE 8 miễn phí, hãy đảm bảo kích hoạt kho gói cộng đồng Proxmox VE 8 để nhận miễn phí các bản cập nhật và sửa lỗi mới nhất từ ​​Proxmox.

Cài đặt bản cập nhật trên Proxmox VE 8

Một khi bạn đã đã bật kho gói cộng đồng Proxmox VE 8 , hãy đảm bảo cài đặt tất cả các bản cập nhật có sẵn trên máy chủ Proxmox VE 8 của bạn .

Kích hoạt IOMMU từ Firmware BIOS/UEFI trên bo mạch chủ của bạn

Cấu hình IOMMU được tìm thấy ở các vị trí khác nhau trên các bo mạch chủ khác nhau. Để kích hoạt IOMMU trên bo mạch chủ của bạn, đọc bài viết này .

Kích hoạt IOMMU trên Proxmox VE 8

Khi IOMMU được bật ở phía phần cứng, bạn cũng cần bật IOMMU từ phía phần mềm (từ Proxmox VE 8).

Để kích hoạt IOMMU từ Proxmox VE 8, bạn phải thêm các tham số khởi động kernel sau:

Nhà cung cấp bộ xử lý Tham số khởi động kernel cần thêm
Intel intel_iommu=bật, iommu=pt
AMD iommu=pt

Để sửa đổi các tham số khởi động kernel của Proxmox VE 8, hãy mở /etc/mặc định/grub tập tin bằng trình soạn thảo văn bản nano như sau:

$ nano /etc/default/grub

Vào cuối của GRUB_CMDLINE_LINUX_DEFAULT , hãy thêm các tham số khởi động kernel cần thiết để bật IOMMU tùy thuộc vào bộ xử lý bạn đang sử dụng.

Vì tôi đang sử dụng bộ xử lý AMD nên tôi chỉ thêm tham số khởi động kernel iommu=pt vào cuối của GRUB_CMDLINE_LINUX_DEFAULT dòng trong /etc/mặc định/grub tài liệu.

Khi bạn đã hoàn tất, hãy nhấn + X theo dõi bởi để lưu /etc/mặc định/grub tài liệu.

Bây giờ, hãy cập nhật cấu hình khởi động GRUB bằng lệnh sau:

$ cập nhật-grub2

Khi cấu hình khởi động GRUB được cập nhật, hãy nhấp vào Khởi động lại để khởi động lại máy chủ Proxmox VE 8 của bạn để những thay đổi có hiệu lực.

Xác minh xem IOMMU có được bật trên Proxmox VE 8 hay không

Để xác minh xem IOMMU có được bật trên Proxmox VE 8 hay không, hãy chạy lệnh sau:

$dmesg | grep -e DMAR -e IOMMU

Nếu IOMMU được bật, bạn sẽ thấy một số kết quả đầu ra xác nhận rằng IOMMU đã được bật.

Nếu IOMMU không được bật, bạn có thể không thấy bất kỳ kết quả đầu ra nào.

Bạn cũng cần phải có Ánh xạ lại ngắt IOMMU được kích hoạt để thông qua PCI/PCIE hoạt động.

Để kiểm tra xem IOMMU Interrupt Remapping có được bật trên máy chủ Proxmox VE 8 của bạn hay không, hãy chạy lệnh sau:

$dmesg | grep 'ánh xạ lại'

Như bạn có thể thấy, Bản đồ lại ngắt IOMMU được bật trên máy chủ Proxmox VE 8 của tôi.

Hầu hết các bộ xử lý AMD và Intel hiện đại sẽ được kích hoạt IOMMU Interrupt Remapping. Nếu vì bất kỳ lý do gì mà bạn không bật tính năng Ánh xạ lại ngắt IOMMU thì có một cách giải quyết. Bạn phải kích hoạt Ngắt không an toàn cho VFIO. Đọc bài viết này để biết thêm thông tin về cách bật Ngắt không an toàn trên máy chủ Proxmox VE 8 của bạn.

Đang tải mô-đun hạt nhân VFIO trên Proxmox VE 8

Việc chuyển qua PCI/PCIE được thực hiện chủ yếu bởi các mô-đun hạt nhân VFIO (I/O chức năng ảo) trên Proxmox VE 8. Các mô-đun hạt nhân VFIO không được tải vào lúc khởi động theo mặc định trên Proxmox VE 8. Tuy nhiên, việc tải VFIO rất dễ dàng mô-đun hạt nhân khi khởi động trên Proxmox VE 8.

Đầu tiên, hãy mở /etc/modules-load.d/vfio.conf tập tin với nano soạn thảo văn bản như sau:

$ nano /etc/modules-load.d/vfio.conf

Gõ những dòng sau vào ô /etc/modules-load.d/vfio.conf tài liệu.

vfio

vfio_iommu_type1

vfio_pci

Khi bạn đã hoàn tất, hãy nhấn + X theo dõi bởi để lưu các thay đổi.

Bây giờ, hãy cập nhật initramfs của bản cài đặt Proxmox VE 8 bằng lệnh sau:

$ cập nhật-initramfs -u -k tất cả

Khi initramfs được cập nhật, hãy nhấp vào Khởi động lại để khởi động lại máy chủ Proxmox VE 8 của bạn để những thay đổi có hiệu lực.

Khi máy chủ Proxmox VE 8 của bạn khởi động, bạn sẽ thấy tất cả các mô-đun hạt nhân VFIO cần thiết đã được tải.

$ lsmod | nắm vfio

Liệt kê các nhóm IOMMU trên Proxmox VE 8

Để chuyển qua các thiết bị PCI/PCIE trên máy ảo (VM) Proxmox VE 8, bạn sẽ cần kiểm tra các nhóm IOMMU của thiết bị PCI/PCIE khá thường xuyên. Để việc kiểm tra các nhóm IOMMU dễ dàng hơn, tôi quyết định viết một shell script (tôi lấy nó từ GitHub, nhưng tôi không nhớ tên của người đăng ban đầu) trong đường dẫn /usr/local/bin/print-iommu-groups để tôi có thể chạy nhóm in-iommu lệnh và nó sẽ in các nhóm IOMMU trên vỏ Proxmox VE 8.

Đầu tiên, tạo một tập tin mới nhóm in-iommu trong con đường /usr/local/bin và mở nó bằng trình soạn thảo văn bản nano như sau:

$ nano /usr/local/bin/print-iommu-groups

Gõ những dòng sau vào ô nhóm in-iommu tài liệu:

#!/bin/bash

cửa hàng -S nullglob

g TRONG ` tìm thấy / hệ thống / hạt nhân / iommu_groups /* -độ sâu tối đa 0 -kiểu d | loại -TRONG ` ; LÀM

tiếng vọng 'Tập đoàn IOMMU ${g##*/} :'

d TRONG $g / thiết bị /* ; LÀM

tiếng vọng -Nó là ' \t $(lspci -nns ${d##*/}) '

xong ;

xong ;

Khi bạn đã hoàn tất, hãy nhấn + X theo dõi bởi để lưu các thay đổi vào nhóm in-iommu tài liệu.

Làm cái nhóm in-iommu tập tin script có thể thực thi được bằng lệnh sau:

$ chmod +x /usr/local/bin/print-iommu-groups

Bây giờ, bạn có thể chạy nhóm in-iommu lệnh như sau để in các nhóm IOMMU của thiết bị PCI/PCIE được cài đặt trên máy chủ Proxmox VE 8 của bạn:

$ print-iommu-group

Như bạn có thể thấy, nhóm IOMMU của thiết bị PCI/PCIE được cài đặt trên máy chủ Proxmox VE 8 của tôi đã được in.

Kiểm tra xem GPU NVIDIA của bạn có thể truyền qua máy ảo Proxmox VE 8 (VM) hay không

Để chuyển thiết bị PCI/PCIE sang máy ảo (VM) Proxmox VE 8, thiết bị đó phải nằm trong nhóm IOMMU của chính nó. Nếu 2 thiết bị PCI/PCIE trở lên chia sẻ một nhóm IOMMU, bạn không thể chuyển bất kỳ thiết bị PCI/PCIE nào của nhóm IOMMU đó sang bất kỳ máy ảo (VM) Proxmox VE 8 nào.

Vì vậy, nếu GPU NVIDIA và thiết bị âm thanh của nó thuộc nhóm IOMMU riêng, bạn có thể chuyển GPU NVIDIA sang bất kỳ máy ảo (VM) Proxmox VE 8 nào.

Trên máy chủ Proxmox VE 8 của tôi, tôi đang sử dụng bo mạch chủ MSI X570 ACE kết hợp với bộ xử lý Ryzen 3900X và GPU Gigabyte RTX 4070 NVIDIA. Theo các nhóm IOMMU trong hệ thống của tôi, tôi có thể chuyển qua GPU NVIDIA RTX 4070 (IOMMU Nhóm 21), Bộ điều khiển Ethernet RTL8125 2.5Gbe (IOMMU Nhóm 20), Bộ điều khiển Ethernet Intel I211 Gigabit (IOMMU Nhóm 19), bộ điều khiển USB 3.0 ( IOMMU Nhóm 24) và Bộ điều khiển âm thanh HD tích hợp (IOMMU Nhóm 25).

$ print-iommu-group

Vì trọng tâm chính của bài viết này là định cấu hình Proxmox VE 8 để truyền GPU NVIDIA sang máy ảo Proxmox VE 8, GPU NVIDIA và thiết bị Âm thanh của nó phải nằm trong nhóm IOMMU riêng.

Kiểm tra các mô-đun hạt nhân trong danh sách đen để truyền qua PCI/PCIE trên Proxmox VE 8

Để chuyển thiết bị PCI/PCIE trên máy ảo Proxmox VE 8 (VM), bạn phải đảm bảo rằng Proxmox VE buộc thiết bị phải sử dụng mô-đun hạt nhân VFIO thay vì mô-đun hạt nhân ban đầu.

Để tìm ra mô-đun hạt nhân mà thiết bị PCI/PCIE của bạn đang sử dụng, bạn cần biết ID nhà cung cấp và ID thiết bị của các thiết bị PCI/PCIE này. Bạn có thể tìm ID nhà cung cấp và ID thiết bị của thiết bị PCI/PCIE bằng cách sử dụng nhóm in-iommu yêu cầu.

$ print-iommu-group

Ví dụ: ID nhà cung cấp và ID thiết bị của GPU NVIDIA RTX 4070 của tôi là 10de:2786 và đó là thiết bị âm thanh 10de:22bc .

Để tìm mô-đun hạt nhân, thiết bị PCI/PCIE 10de:2786 (GPU NVIDIA RTX 4070 của tôi) đang sử dụng, hãy chạy lspci lệnh như sau:

$ lspci -v -d 10de:2786

Như bạn có thể thấy, GPU NVIDIA RTX 4070 của tôi đang sử dụng nvidiafb mới mô-đun hạt nhân theo mặc định. Vì vậy, chúng không thể được chuyển sang máy ảo (VM) Proxmox VE 8 vào thời điểm này.

Thiết bị âm thanh của GPU NVIDIA RTX 4070 của tôi đang sử dụng snd_hda_intel mô-đun hạt nhân. Vì vậy, nó cũng không thể được truyền trên máy ảo Proxmox VE 8 vào thời điểm này.

$ lspci -v -d 10de:22bc

Vì vậy, để chuyển GPU NVIDIA RTX 4070 và thiết bị âm thanh của nó trên máy ảo Proxmox VE 8 (VM), tôi phải đưa vào danh sách đen nvidiafb , mới , Và snd_hda_intel mô-đun hạt nhân và định cấu hình GPU NVIDIA RTX 4070 của tôi cũng như thiết bị âm thanh của nó để sử dụng vfio-pci mô-đun hạt nhân.

Đưa vào danh sách đen các mô-đun hạt nhân cần thiết để truyền qua PCI/PCIE trên Proxmox VE 8

Để đưa các mô-đun hạt nhân vào danh sách đen trên Proxmox VE 8, hãy mở /etc/modprobe.d/blacklist.conf tập tin bằng trình soạn thảo văn bản nano như sau:

$ nano /etc/modprobe.d/blacklist.conf

Để đưa vào danh sách đen các mô-đun hạt nhân mới , nvidiafb , Và snd_hda_intel mô-đun hạt nhân (để chuyển qua GPU NVIDIA), hãy thêm các dòng sau vào /etc/modprobe.d/blacklist.conf tài liệu:

danh sách đen mới

danh sách đen nvidiafb

danh sách đen snd_hda_intel

Khi bạn đã hoàn tất, hãy nhấn + X theo dõi bởi để lưu /etc/modprobe.d/blacklist.conf tài liệu.

Định cấu hình GPU NVIDIA của bạn để sử dụng Mô-đun hạt nhân VFIO trên Proxmox VE 8

Để định cấu hình thiết bị PCI/PCIE (tức là GPU NVIDIA của bạn) để sử dụng mô-đun hạt nhân VFIO, bạn cần biết ID nhà cung cấp và ID thiết bị của chúng.

Trong trường hợp này, ID nhà cung cấp và ID thiết bị của GPU NVIDIA RTX 4070 của tôi và thiết bị âm thanh của nó là 10de:2786 10de:22bc .

Để định cấu hình GPU NVIDIA của bạn để sử dụng mô-đun hạt nhân VFIO, hãy mở /etc/modprobe.d/vfio.conf tập tin bằng trình soạn thảo văn bản nano như sau:

$ nano /etc/modprobe.d/vfio.conf

Để định cấu hình GPU NVIDIA và thiết bị âm thanh của nó bằng : 10de:2786 10de:22bc (giả sử) để sử dụng mô-đun hạt nhân VFIO, hãy thêm dòng sau vào /etc/modprobe.d/vfio.conf tài liệu.

tùy chọn vfio-pci ids=10de:2786,10de:22bc

Khi bạn đã hoàn tất, hãy nhấn + X theo dõi bởi để lưu /etc/modprobe.d/vfio.conf tài liệu.

Bây giờ, hãy cập nhật initramfs của Proxmove VE 8 bằng lệnh sau:

$ cập nhật-initramfs -u -k tất cả

Khi initramfs được cập nhật, hãy nhấp vào Khởi động lại để khởi động lại máy chủ Proxmox VE 8 của bạn để những thay đổi có hiệu lực.

Khi máy chủ Proxmox VE 8 của bạn khởi động, bạn sẽ thấy GPU NVIDIA và thiết bị âm thanh của nó ( 10de:2786 10de:22bc trong trường hợp của tôi) đang sử dụng vfio-pci mô-đun hạt nhân. Bây giờ, GPU NVIDIA của bạn đã sẵn sàng được chuyển sang máy ảo Proxmox VE 8.

$ lspci -v -d 10de:2786

$ lspci -v -d 10de:22bc

Chuyển GPU NVIDIA sang Máy ảo Proxmox VE 8 (VM)

Giờ đây, GPU NVIDIA của bạn đã sẵn sàng để chuyển qua các máy ảo (VM) Proxmox VE 8, bạn có thể chuyển qua GPU NVIDIA trên máy ảo Proxmox VE 8 mong muốn của mình và cài đặt trình điều khiển GPU NVIDIA tùy thuộc vào hệ điều hành mà bạn đang sử dụng. máy ảo đó như bình thường.

Để biết thông tin chi tiết về cách chuyển qua GPU NVIDIA của bạn trên máy ảo Proxmox VE 8 (VM) được cài đặt các hệ điều hành khác nhau, hãy đọc một trong các bài viết sau:

  • Cách chuyển GPU NVIDIA sang Máy ảo Windows 11 Proxmox VE 8 (VM)
  • Cách chuyển GPU NVIDIA sang Máy ảo Ubuntu 24.04 LTS Proxmox VE 8 (VM)
  • Cách chuyển GPU NVIDIA sang Máy ảo LinuxMint 21 Proxmox VE 8 (VM)
  • Cách chuyển GPU NVIDIA sang Máy ảo Debian 12 Proxmox VE 8 (VM)
  • Cách chuyển GPU NVIDIA sang Máy ảo Proxmox VE 8 (VM) chạy hệ điều hành cơ bản
  • Cách chuyển GPU NVIDIA sang Máy ảo Fedora 39+ Proxmox VE 8 (VM)
  • Cách chuyển qua GPU NVIDIA trên Máy ảo Arch Linux Proxmox VE 8 (VM)
  • Cách chuyển qua GPU NVIDIA trên máy ảo Proxmox VE 8 (VM) của Red Hat Enterprise Linux 9 (RHEL 9)

Bạn vẫn gặp sự cố với Truyền qua PCI/PCIE trên Máy ảo (VM) Proxmox VE 8?

Ngay cả sau khi thử chính xác mọi thứ được liệt kê trong bài viết này, nếu thông qua PCI/PCIE vẫn không hiệu quả với bạn, hãy nhớ hãy thử một số thủ thuật và/hoặc cách giải quyết thông qua Proxmox VE PCI/PCIE mà bạn có thể sử dụng để thực hiện công việc chuyển tiếp PCI/PCIE trên phần cứng của mình.

Phần kết luận

Trong bài viết này, tôi đã hướng dẫn bạn cách định cấu hình máy chủ Proxmox VE 8 để truyền qua PCI/PCIE để bạn có thể chuyển qua các thiết bị PCI/PCIE (tức là GPU NVIDIA) sang máy ảo (VM) Proxmox VE 8 của bạn. Tôi cũng đã chỉ cho bạn cách tìm ra các mô-đun hạt nhân mà bạn cần đưa vào danh sách đen và cách đưa chúng vào danh sách đen để chuyển thành công các thiết bị PCI/PCIE mong muốn của bạn (tức là GPU NVIDIA) sang máy ảo Proxmox VE 8. Cuối cùng, tôi đã chỉ cho bạn cách định cấu hình các thiết bị PCI/PCIE mong muốn của bạn (tức là GPU NVIDIA của bạn) để sử dụng các mô-đun hạt nhân VFIO, đây cũng là một bước thiết yếu để chuyển đổi thành công các thiết bị PCI/PCIE mong muốn của bạn (tức là GPU NVIDIA của bạn). ) sang máy ảo Proxmox VE 8 (VM).

Người giới thiệu

  1. Truyền qua PCI(e) – Proxmox VE
  2. Truyền qua PCI – Proxmox VE
  3. Máy ảo chơi game đỉnh cao trên proxmox – YouTube