วิธีการกำหนดค่า NVIDIA vGPU บน Proxmox VE ให้ใช้งานใน Windows VM อย่างลื่น!

Published on July 4, 2025
วิธีการกำหนดค่า NVIDIA vGPU บน Proxmox VE ให้ใช้งานใน Windows  VM อย่างลื่น!

การนำ GPU แบบเสมือน (vGPU) เข้ามาใช้งานในระบบ Virtual Machine บน Proxmox VE ถือเป็นทางเลือกที่ทรงพลัง สำหรับผู้ที่ต้องการความสามารถด้านกราฟิกขั้นสูง เช่น AI/ML, CAD, งานตัดต่อวิดีโอ หรือแม้กระทั่งเกมบน Windows VM ในดาต้าเซ็นเตอร์ หรือโฮมแล็บ

โดยเฉพาะเมื่อใช้งานร่วมกับ NVIDIA Tesla P4 หรือ GPU รุ่น Data Center อื่น ๆ ที่รองรับเทคโนโลยี vGPU คุณสามารถแบ่งทรัพยากร GPU ออกเป็นหลายส่วน ให้ VM หลายตัวใช้งานพร้อมกันได้อย่างมีประสิทธิภาพสูงสุด โดยไม่ต้องมี GPU หลายใบ!

ในบทความนี้ เราจะพาคุณไปตั้งค่า NVIDIA vGPU บน Proxmox VE อย่างครบขั้นตอน ตั้งแต่การเตรียมระบบ ไปจนถึงการติดตั้ง Windows VM พร้อมไดรเวอร์ เพื่อให้ใช้งานได้ “ลื่น” จริง ทั้งกราฟิก 3 มิติ, Remote Desktop, หรือแอปพลิเคชันกราฟิกเข้มข้นต่าง ๆ

บทความนี้ เราจะแนะนำตั้งแต่การเปิด IOMMU, ติดตั้ง NVIDIA vGPU Driver , สร้าง VM พร้อมแนบ GPU ไปจนถึงการติดตั้ง Guest Driver ใน Windows VM

 

ข้อกำหนดเบื้องต้น:

  1. GPU ที่รองรับ vGPU (เช่น NVIDIA Tesla P4 ในบทความนี้)

  2. ไดรเวอร์ NVIDIA vGPU Host Driver

  3. vGPU Manager License (หรือใช้งานแบบ Open GPU Kernel Modules ก็ได้ในบางกรณี)

  4. Proxmox VE (PVE)  เวอร์ชัน 8 ขึ้นไป

  5. Windows ISO และ VirtIO Drivers ISO

การ์ดที่รองรับ:

สามารถใช้ GPU NVIDIA  /ไม่ผ่านคุณสมบัติ vGPU ต่อไปนี้ร่วมกับ vGPU ได้:

  • GPU ส่วนใหญ่จากรุ่น Maxwell 2.0 (GTX 9xx, Quadro Mxxxx, Tesla Mxx) ยกเว้น GTX 970
  • GPU ทั้งหมดจากเจเนอเรชั่น Pascal (GTX 10xx, Quadro Pxxxx, Tesla Pxx)
  • GPU ทั้งหมดจากรุ่น Turing (GTX 16xx, RTX 20xx, Txxxx)

หากคุณมีการ์ดที่รองรับ vGPU จาก รายการนี้  จะสามารถทำงาน vGPU  ได้

NVIDIA Tesla P4

ก่อนอื่นต้องทำ เปิด IOMMU  GPU Passthrough บน Proxmox VE

– เช็ก BIOS ทำการเปิดใช้งาน SR-IOV
เปิดใช้งาน Intel Virtualization / Intel VT-d และ SR-IOV ใน NIC ผ่าน BIOS ก่อน
– ทำการเปิด IOMMU บนระบบ Proxmox  ดูการติดตั้ง คลิก 

 

1. ทำการดาวน์โหลด Driver NVIDIA vGPU ก่อน **ให้ตรงรุ่น ตัวอย่างคือ รุ่น  PASCAL Tesla P4

2. เปิดโปรแกรม WinSCP เพื่อใช้ในการอัพไฟล์ Driver NVIDIA vGPU ขึ้น Host Proxmox VE

 

 

3. เข้าสู่ระบบ Proxmox VE

4. เลือกเมนู PVE –> Shell

5. เช็คไฟล์ Driver ที่อัพโหลด ด้วยคำสั่ง

 # ls


6. ติดตั้ง แพคเกจ pve (กรณี * pve-no-subscription) **เท่านั้น**

# echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" >> /etc/apt/sources.list
# rm /etc/apt/sources.list.d/pve-enterprise.list

7. Update and upgrade

# apt update
# apt dist-upgrade

8. ติดตั้ง แพคเกจ git,compiler

# apt install -y git build-essential dkms pve-headers mdevctl

9. โคลน Git repos

# vgpu_unlock-rs.repo
# git clone https://gitlab.com/polloloco/vgpu-proxmox.git

10. เก็บ vgpu_unlock-rs

# cd /opt 
# git clone https://github.com/mbilker/vgpu_unlock-rs.git

11.จากนั้นทำการติดตั้ง Rust compiler

# curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal

12. ตอนนี้ให้ไบนารี Rust พร้อมใช้งานใน $PATH (คุณต้องทำในครั้งแรกหลังจากติดตั้ง Rust เท่านั้น)

# source $HOME/.cargo/env

13. เข้าสู่ไดเรกทอรี vgpu_unlock-rs และคอมไพล์ไลบรารี

# cd vgpu_unlock-rs/
# cargo build --release

14.สร้างไฟล์สำหรับปลดล็อค vGPU

# mkdir /etc/vgpu_unlock
# touch /etc/vgpu_unlock/profile_override.toml

15.สร้างโฟลเดอร์และไฟล์สำหรับให้ systemd โหลดไลบรารี vgpu_unlock-rs เมื่อเริ่มบริการ NVIDIA vgpu

# mkdir /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}
# echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpud.service.d/vgpu_unlock.conf
# echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpu-mgr.service.d/vgpu_unlock.conf

16.โหลดโมดูล kernel

# echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" >> /etc/modules

17. ป้องกันไม่ให้โหลดไดรเวอร์ nouveau

# echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf

18.การใช้การกำหนดค่า kernel

# update-initramfs -u -k all
# reboot

19.เรียกใช้งาน NVIDIA-Linux-x86_64-535.230.02-vgpu-kvm.run

# chmod +x NVIDIA-Linux-x86_64-535.230.02-vgpu-kvm.run


20.ติดตั้งไดว์เวอร์

# ./NVIDIA-Linux-x86_64-535.230.02-vgpu-kvm.run --apply-patch ~/vgpu-proxmox/535.230.02.patch

 

หลังจากนั้นคุณควรเห็นบรรทัดนี้:  Self-extractible archive “NVIDIA-Linux-x86_64-535.230.02-vgpu-kvm-custom.run” successfully created.

21. ติดตั้งไดรเวอร์ที่สามารถแก้ไขใหม่นี้ได้ดังนี้ (กรณีไม่ตรงกัน)

# ./NVIDIA-Linux-x86_64-535.230.02-vgpu-kvm-custom.run --dkms -m=kernel

 

22. กด YES

23. กด OK

24. ทำการ reboot

# reboot

 

25. หลังจาก reboot  แล้วตรวจสอบว่าการติดตั้งไดรเวอร์ทำงานหรือไม่ ด้วยคำสั่ง

# nvidia-smi

 

คุณควรได้รับผลลัพธ์ที่คล้ายกับสิ่งนี้

26. ตรวจสอบว่าการปลดล็อก vGPU ทำงานหรือไม่ ให้พิมพ์คำสั่งนี้

# mdevctl types

 

 

หากคำสั่งนี้ไม่ได้ส่งคืนผลลัพธ์ใดๆ แสดงว่าการปลดล็อค vGPU จะไม่ทำงาน **ตรวจสอบขั้นตอนของคุณแล้วเริ่มใหม่อีกครั้ง

 

 

27. สร้าง Resource Mappings

– Datacenter –> Resource Mappings

– คลิกปุ่ม Add

– ตั้งชื่อ PCI Mappings / เลือก Device (YES) ที่พร้อมทำงาน จากนั้น คลิกปุ่ม Create

 

แสดงรายละเอียด PCI Device

 

 

28. Assigning GPU Profiles ให้กับ VM

– เลือก VM ที่ต้องการ –> เลือกเมนู Hardware

– คลิกปุ่ม Add –> เลือกเมนู PCI Device

 

 

เลือก Mappings Device –> Device

 

 

เลือก MDec Type จากนั้น คลิกปุ่ม Add

 

 

แสดงรายละเอียด PCI Device

 

 

29. เปิดใช้งาน VM (Windows10) เพื่อการติดตั้งไดรเวอร์ NVIDIA vGPU

 

 

30. ทำการติดตั้งไดรเวอร์ NVIDIA vGPU โดยดับเบิลคลิกที่ไฟล์ปฏิบัติการ และทำตามคำแนะนำในเมนูการติดตั้งที่ปรากฏขึ้น

31. แตกไฟล์ไดรเวอร์ไปยังตำแหน่งเริ่มต้นในช่อง “Extraction path:”

 

 

32. คลิก Agree and Continue เลือก Express แล้วคลิก Next

 

 

33. คลิกปุ่ม “CLOSE” เพื่อออกจากเมนู

 

34 . ขั้นตอนต่อไปคือการรีบูต VM เพื่อให้กระบวนการเปิดใช้งานเสร็จสมบูรณ์

 

 

 

บริษัท AVESTA ให้บริการติดตั้ง จำน่าย Proxmox VE เราเป็นตัวแทนตรง และ ได้รับการไว้วางใจ ให้ติดตั้งกับบริษัทน้อยใหญ่มากมาย สนใจสอบถาม Line OA : @avesta.co.th หรือ Email : [email protected]

 

ทำความรู้จัก และ เข้าใจ XFS File System

แน่นอนว่า Kernel ของ Linux ในปัจจุบันนั้น สนับสนุน file system ที่หลากหลาย แต่ละ...

Read more »

วิธีการกำหนดค่า NVIDIA vGPU บน Proxmox VE ให้ใช้งานใน Windows VM อย่างลื่น!

การนำ GPU แบบเสมือน (vGPU) เข้ามาใช้งานในระบบ Virtual Machine บน Proxmox VE...

Read more »

Backup Air-Gap

Backup Air-Gap นั้นหมายถึง กลยุทธ์ด้านความปลอดภัยในระบบสำรองข้อมูล เพื่อที่จะแยก สิ่งที่เราทำการแบ็คอัพไปนั้น ให้ตัดขาดออกจากระบบหลัก หรือ โปรดักชันเน็ตเวิร์ก ทั้งนี้ก็เพื่อปกป้อง...

Read more »

ZFS File System คืออะไรและดีอย่างไร

ZFS มีชื่อเต็มว่า Zettabyte File System เป็นระบบจัดการไฟล์หรือ File System ที่ถูกสร้างโดยบริษัท SUN...

Read more »

BTRFS File System ไปทำความรู้จักกัน

BTRFS นั้นเรียกว่าเป็นระบบ file system ที่ค่อนข้างใหม่ และ ก้าวหน้าตัวหนึ่ง เพราะว่ามีคุณสมบัติแบบ copy-on-write (COW)...

Read more »

Enterprise SSD Form Factor for Virtualization

สำหรับความเร็วนั้นต้องบอกว่า เป็นสิ่งที่ทุกองค์กรไฝ่หา เพราะความเร็วเป็นความได้เปรียบทางธุรกิจไปแล้วในปัจจุบัน และหน่วยเก็บข้อมูลนั้น ก็มีส่วนอย่างมาก ที่เป็นปัจจัยที่จะทำให้การประมวลผลโดยรวมนั้นช้าหรือเร็ว วันนี้เราจึงพาไปรู้จักกับเทคโนโลยีการเก็บข้อมูลที่ได้รับความนิยมในปัจจุบัน ด้วย Form Factor...

Read more »