วิธีเปิดใช้งาน GPU Passthrough บน VMs Hyper-V

เครื่องเสมือนมักเรนเดอร์กราฟิกโดยใช้ซีพียู CPU ทำให้คุณภาพของภาพลดลง บทความนี้แสดงขั้นตอนการใช้งานการส่งผ่าน GPU (GPU passthrough) ใน Hyper-V ผู้อ่านจะได้เรียนรู้คำสั่งและเคล็ดลับการตั้งค่าเพื่อเพิ่มประสิทธิภาพด้านกราฟิกและการประมวลผล

download-icon
ดาวน์โหลดฟรี
สำหรับ VM, OS, DB, ไฟล์, NAS, ฯลฯ
offroad-seachua

Updated by ออฟโรด แซ่ฉั่ว on 2025/12/26

สารบัญ
  • GPU Passthrough คืออะไร

  • ข้อดีของ GPU Passthrough

  • การเชื่อมต่อ GPU กับเครื่องเสมือน Hyper-V ทำอย่างไร?

  • โซลูชันการป้องกัน Hyper-V ระดับมืออาชีพ

  • คำถามที่พบบ่อยเกี่ยวกั บเพิ่ม GPU ลงใน Hyper-V

  • บทสรุป

ภาพของเครื่องเสมือนจะถูกประมวลผลโดย CPU อย่างไรก็ตาม เป็นที่ทราบกันดีว่ากราฟิกที่เรนเดอร์ด้วย CPU นั้นไม่เพียงแต่ดูไม่น่าสนใจเท่านั้น แต่แทบจะดูไม่ได้เลย แม้แต่ในเซสชันที่ปรับปรุงแล้วซึ่งอิงจาก RDP การปรับปรุงก็จำกัดอยู่แค่ความคมชัดที่เพิ่มขึ้นเล็กน้อย ในตอนแรก DirectX ถูกปิดใช้งาน และหลังจากเปิดใช้งานเซสชันที่ปรับปรุงแล้ว การปิดการใช้งาน DirectDraw และ AGP เพิ่มเติมยิ่งทำให้สถานการณ์แย่ลง ดังนั้นจึงจำเป็นต้องหาวิธีที่จะทำให้เครื่องเสมือนสามารถใช้ GPU ได้

GPU Passthrough คืออะไร

GPU Passthrough หมายถึงการข้ามชั้นระบบปฏิบัติการและกำหนดอุปกรณ์จริง (ในที่นี้คือ GPU) จากสล็อต PCI โดยตรงไปยังเครื่องเสมือน ปกติ อุปกรณ์ PCI จะถูกจัดหาให้กับ VM ผ่านระบบปฏิบัติการโฮสต์ โดยที่ระบบปฏิบัติการจะระบุอุปกรณ์ PCI แล้วจำลองการทำงานให้กับ VM แต่ในกรณีของการพาสทรูนั้น อุปกรณ์จริงจะถูกกำหนดโดยตรงไปยัง VM ทำให้ VM เห็นอุปกรณ์ดังกล่าวราวกับเป็นการ์ดจริง อุปกรณ์ที่ถูกจำลองทั่วไปจะเกี่ยวข้องกับไดรเวอร์ของระบบปฏิบัติการโฮสต์ ไดรเวอร์เสมือนของ Qemu และส่งต่อไปยังไดรเวอร์ของระบบปฏิบัติการภายในเครื่องเสมือน ซึ่งในกรณีนี้ VM จะมองเห็นเพียงอุปกรณ์ที่ถูกจำลองเท่านั้น

ข้อดีของ GPU Passthrough

1. การสูญเสียประสิทธิภาพต่ำที่สุด

ไม่ว่าจะเป็นสำหรับแอปพลิเคชัน AI การเรียนรู้เชิงลึก หรือการคำนวณทางวิทยาศาสตร์ การผ่าน GPU ช่วยให้ใช้ GPU ได้อย่างสูงสุด เนื่องจากไม่มีกระบวนการจำลองหรือแปลง ทำให้การสูญเสียประสิทธิภาพแทบไม่มี GPU ที่ใช้ในเครื่องเสมือนแบบผ่านมีประสิทธิภาพอยู่ภายใน 5% ของประสิทธิภาพการทำงานบนฮาร์ดแวร์จริง ด้วยหน่วยประมวลผลหลายพันหน่วย GPU จึงยอดเยี่ยมในการคำนวณแบบขนาน

2. ความเข้ากันได้ของคุณสมบัติที่ยอดเยี่ยม

ต่างจาก GPU ที่ใช้การจำลองหรือเสมือนจริง การส่งผ่าน (passthrough) ช่วยให้สามารถติดตั้งไดรเวอร์ของผู้ผลิตโดยตรงภายในเครื่องเสมือนได้ สิ่งนี้ทำให้สามารถใช้คุณสมบัติของ GPU ได้อย่างเต็มที่ เช่น การเรนเดอร์กราฟิก 3 มิติ การเข้ารหัส/ถอดรหัสวิดีโอแบบฮาร์ดแวร์ AI การเรียนรู้ของเครื่อง และแม้แต่เทคโนโลยีเชื่อมต่อ GPU หลายตัวล่าสุด

3. ไม่มีการผูกมัดกับผู้ให้บริการ

การย้ายเซิร์ฟเวอร์ GPU ไปยังคลาวด์นั้นง่ายดาย ด้วยเทคโนโลยี GPU passthrough กระบวนการนี้สามารถเสร็จสิ้นได้ภายในไม่กี่วัน

การเชื่อมต่อ GPU กับเครื่องเสมือน Hyper-V ทำอย่างไร?

1. ดึงข้อมูล GPU

เรียกใช้คำสั่ง PowerShell ต่อไปนี้ (สามารถใช้ PowerShell 2.0 หรือ PowerShell ISE ก็ได้ แต่ต้องรันในโหมดผู้ดูแลระบบ)

Get-VMHostPartitionableGpu

โปรดสังเกตชื่อของ GPU ที่คุณต้องการเชื่อมต่อ รหัสของ AMD ควรจะคล้ายกับ VEN\_1002

2. ลบอะแดปเตอร์พาร์ติชัน GPU เดิมออกจาก VM (อาจเกิดข้อผิดพลาดได้ แต่สามารถเพิกเฉยได้):

$vm = "001"
Remove-VMGpuPartitionAdapter -VMName $vm

ที่นี่ ชื่อของเครื่องเสมือนคือ "001" ให้แทนที่ "001" ด้วยชื่อเครื่องเสมือนจริงของคุณ

3. เพิ่มอะแดปเตอร์พาร์ติชัน GPU ให้กับเครื่องเสมือน (ตัวอย่างด้วย RTX 4060) และตั้งค่ามัน

$vm = "Enter your VM name here"
$gpu_path = "Enter the Name you just obtained"
Add-VMGpuPartitionAdapter -VMName $vm -InstancePath $gpu_path
Set-VMGpuPartitionAdapter -VMName $vm
-MinPartitionVRAM 80000000 -MaxPartitionVRAM 100000000 -OptimalPartitionVRAM 100000000
-MinPartitionEncode 80000000 -MaxPartitionEncode 100000000 -OptimalPartitionEncode 100000000
-MinPartitionDecode 80000000 -MaxPartitionDecode 100000000 -OptimalPartitionDecode 100000000
-MinPartitionCompute 80000000 -MaxPartitionCompute 100000000 -OptimalPartitionCompute 100000000
 
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm
Set-VM -HighMemoryMappedIoSpace [Enter the amount of memory you allocated to the VM in GB]GB -VMName $vm

คำอธิบาย

-MinPartitionVRAM, -MaxPartitionVRAM, -OptimalPartitionVRAM: ตั้งค่าการจัดสรร VRAM ขั้นต่ำ สูงสุด และเหมาะสมที่สุดสำหรับพาร์ติชัน GPU

-MinPartitionEncode, -MaxPartitionEncode, -OptimalPartitionEncode: ตั้งค่าการจัดสรรทรัพยากรการเข้ารหัส

-MinPartitionDecode, -MaxPartitionDecode, -OptimalPartitionDecode: ตั้งค่าการจัดสรรทรัพยากรสำหรับการถอดรหัส

-MinPartitionCompute, -MaxPartitionCompute, -OptimalPartitionCompute: ตั้งค่าการจัดสรรทรัพยากรคอมพิวเตอร์เป็นไบต์

หมายเหตุ: ค่าต่าง ๆ ไม่ควรเกินที่การ์ดจีพียูให้ไว้ เพื่อความง่าย คุณสามารถตั้งค่าทั้งหมดให้เท่ากันได้

Set-VM -GuestControlledCacheTypes $true: อนุญาตให้ระบบปฏิบัติการของเครื่องเสมือนควบคุมประเภทแคชได้

Set-VM -LowMemoryMappedIoSpace 1Gb: ตั้งค่าพื้นที่ I/O ที่แมปหน่วยความจำต่ำเป็น 1GB

Set-VM -HighMemoryMappedIoSpace ...: ตั้งค่าพื้นที่ I/O แบบแมปหน่วยความจำสูงเพื่อให้สอดคล้องกับหน่วยความจำที่จัดสรรให้กับเครื่องเสมือน

4. หลังจากทำตามขั้นตอนข้างต้นเสร็จสิ้น ให้เริ่มต้นเครื่องเสมือนและระบบควรตรวจพบ GPU ได้ อย่างไรก็ตาม ยังคงขาดไดรเวอร์ที่จำเป็น

โดยพื้นฐานแล้ว GPU จะทำงานบนโฮสต์ และเครื่องเสมือนจะได้รับสัญญาณผ่านตรง ดังนั้น เครื่องเสมือนต้องใช้ไดรเวอร์ตัวเดียวกันกับโฮสต์ และไฟล์ไดรเวอร์ควรจัดเก็บไว้ในโฟลเดอร์ที่คล้ายพอร์ทัล

5. ค้นหาโฟลเดอร์ไดรเวอร์

กด Win + R ป้อน dxdiag และสร้างรายงาน

6. ในรายงาน ให้กด Ctrl + F ค้นหาคำว่า "ชื่อการ์ด" และระบุตำแหน่ง GPU เป้าหมายของคุณ

7. คัดลอกโฟลเดอร์ไดรเวอร์ NVIDIA ไปยังไดเรกทอรีของเครื่องเสมือน:

C:\WINDOWS\System32\HostDriverStore\FileRepository

(สร้างโฟลเดอร์หากยังไม่มีอยู่ ระบบ VM ควรอยู่ในโหมดเซสชันขั้นสูง)

อย่างไรก็ตาม ในทางปฏิบัติโฟลเดอร์นี้ไม่สามารถคัดลอกได้โดยตรง อาจเป็นเพราะปัญหาสิทธิ์การเข้าถึง โฟลเดอร์ระบบของโฮสต์จะถูกซ่อนจากการเข้าถึงจากเครื่องเสมือน วิธีแก้ไขคือ

คัดลอกโฟลเดอร์ไปยังเดสก์ท็อปของโฮสต์ → จากนั้นไปยังเดสก์ท็อปของเครื่องเสมือน → สุดท้ายย้ายไปยังไดเรกทอรีปลายทาง

เซสชันที่ปรับปรุงแล้วเป็นเทคโนโลยีการโต้ตอบที่ใช้ RDP คล้ายกับการสตรีม ซึ่งเชื่อมส่วนที่น่าเชื่อถือระหว่างโฮสต์และ VM ในโหมดนี้สามารถคัดลอกไฟล์ระหว่างโฮสต์และ VM ได้

8. เริ่มต้นเครื่องเสมือนใหม่อีกครั้ง ตอนนี้ GPU ควรจะเชื่อมต่อสำเร็จแล้ว

โซลูชันการป้องกัน Hyper-V ระดับมืออาชีพ

อย่างไรก็ตาม แม้การผ่าน GPU จะช่วยเพิ่มประสิทธิภาพด้านกราฟิกและศักยภาพในการประมวลผลของเครื่องเสมือนได้อย่างมาก แต่ก็ยังคงนำมาซึ่งความซับซ้อนทางเทคนิค ซึ่งต้องอาศัยการสนับสนุนจากฮาร์ดแวร์ (เช่น VT-d/IOMMU) ความเข้ากันได้ของไดรเวอร์ การตั้งค่าระบบอย่างละเอียด และอาจจำกัดความสามารถในการย้ายระหว่างโฮสต์ สำหรับองค์กรที่จัดการสภาพแวดล้อมเสมือนขนาดใหญ่หรือการใช้งานแบบไฮบริด ความยืดหยุ่นและการป้องกันข้อมูลที่แข็งแกร่งจึงมีความสำคัญเท่าเทียมกับประสิทธิภาพการทำงาน

นี่คือจุดที่ Vinchin Backup & Recovery มีบทบาทสำคัญ ถูกออกแบบมาเพื่อให้การป้องกันข้อมูลและการกู้คืนระบบจากภัยพิบัติอย่างครอบคลุมสำหรับสภาพแวดล้อมเสมือน รวมถึงสภาพแวดล้อมที่ใช้ Microsoft Hyper-V โดยพัฒนาขึ้นเพื่อตอบสนองความต้องการของธุรกิจที่มองหาวิธีการสำรองและกู้คืนเครื่องเสมือนอย่างเชื่อถือได้และมีประสิทธิภาพ ในกรณีที่สูญเสียข้อมูล ระบบล้มเหลว หรือเหตุการณ์ร้ายแรงอื่นๆ

นอกจากนี้ยังรองรับ VMware vSphere, XenServer, XCP-ng, oVirt, RHV, OpenStack, Proxmox เป็นต้น และฐานข้อมูล, NAS, เซิร์ฟเวอร์ไฟล์, Linux & Windows Server เป็นต้น Vinchin ออกแบบมาโดยเฉพาะสำหรับสภาพแวดล้อมเสมือน จึงมีคุณสมบัติการสำรองข้อมูลอัตโนมัติ การสำรองข้อมูลแบบไม่ต้องติดตั้งเอเจนต์ ตัวเลือก LAN/LAN-Free การคัดลอกข้อมูลไปยังสถานที่อื่น การกู้คืนทันที การลดขนาดข้อมูลซ้ำซ้อน และการจัดเก็บข้อมูลในคลาวด์ ด้วยการเข้ารหัสข้อมูลและการป้องกันแรนซัมแวร์ ช่วยเพิ่มความมั่นคงให้การสำรองข้อมูล VM Hyper-V พร้อมรองรับการย้ายข้อมูลระหว่าง Hyper-V กับแพลตฟอร์มอื่นๆ ได้อย่างง่ายดาย

การสำรองข้อมูล Hyper-V VMs ด้วย Vinchin Backup & Recovery ใช้เพียง 4 ขั้นตอนเท่านั้น

1. เลือกวัตถุสำรองข้อมูล

เลือกวัตถุสำรอง

2. เลือกตำแหน่งปลายทางสำหรับการสำรองข้อมูล

เลือกปลายทางสำรองข้อมูล

3. เลือกกลยุทธ์การสำรองข้อมูล

เลือกกลยุทธ์การสำรองข้อมูล

4. ตรวจสอบและส่งงาน

ตรวจสอบและส่งงาน

มาสัมผัสศักยภาพทั้งหมดของระบบที่แข็งแกร่งนี้ด้วยการทดลองใช้งานฟรี 60 วัน ติดต่อเราและแจ้งความต้องการของคุณ แล้วคุณจะได้รับโซลูชันที่ปรับแต่งให้เหมาะกับสภาพแวดล้อมไอทีของคุณ

คำถามที่พบบ่อยเกี่ยวกับเพิ่ม GPU ลงใน Hyper-V

1. การกำหนดอุปกรณ์แยก (Discrete Device Assignment หรือ DDA) คืออะไร?

DDA เป็นคุณลักษณะใน Hyper-V ที่อนุญาตให้ส่งผ่านอุปกรณ์ PCIe (เช่น GPU) ไปยังเครื่องเสมือนโดยตรง ซึ่งให้ประสิทธิภาพใกล้เคียงกับการใช้งานแบบเนทีฟ และเหมาะอย่างยิ่งสำหรับงานที่ต้องการการเร่งความเร็วด้วย GPU เช่น AI, CAD หรือการประมวลผลวิดีโอ

2. การผ่าน GPU จะส่งผลต่อประสิทธิภาพของโฮสต์ไหม?

หลังจากถูกกำหนดค่าผ่าน DDA แล้ว โฮสต์จะสูญเสียการเข้าถึง GPU นั้น และไม่สามารถใช้ GPU นี้สำหรับการแสดงผลในเครื่องหรืองานประมวลผลได้ GPU จะถูกควบคุมโดย VM เท่านั้น

บทสรุป

แม้ว่าการเรนเดอร์ที่ใช้ CPU จะไม่เพียงพอในการให้ประสิทธิภาพกราฟิกที่สามารถใช้งานได้สำหรับเครื่องเสมือน แต่การส่งผ่าน GPU กลับเป็นวิธีแก้ปัญหาที่เปลี่ยนแปลงได้อย่างมาก โดยการกำหนดทรัพยากร GPU ทางกายภาพไปยังเครื่องเสมือนโดยตรง การส่งผ่าน GPU จะช่วยขจัดคอขวดจากการจำลอง และปลดล็อกประสิทธิภาพใกล้เคียงกับแบบเนทีฟ ความเข้ากันได้ของคุณสมบัติครบถ้วน และความยืดหยุ่นของผู้ให้บริการ สำหรับสภาพแวดล้อม Hyper-V การตั้งค่าการส่งผ่าน GPU อาจต้องใช้หลายขั้นตอนที่แม่นยำ แต่ผลลัพธ์ที่ได้มีคุ้มค่าอย่างมาก ได้แก่ การใช้งาน GPU ได้อย่างราบรื่น การแสดงผลภาพที่ดีขึ้น และการรองรับแอปพลิเคชันที่ต้องการทรัพยากรสูง เช่น การเรนเดอร์ 3 มิติ และงานประมวลผล AI ด้วยการติดตั้งที่เหมาะสม เครื่องเสมือนจะสามารถเข้าถึงพลังเต็มของ GPU สมัยใหม่ได้ในที่สุด ซึ่งจะนำเอาประสิทธิภาพ ความชัดเจน และศักยภาพกลับมาสู่สภาพแวดล้อมที่ถูกจำลองไว้อีกครั้ง

แชร์บน:

Categories: VM Tips