Sanal Makinelerde GPU Passthrough (Ekran Kartı Atama) Rehberi

müfettiş

Moderatör
Katılım
20 Ocak 2024
Mesajlar
325
Tepkime puanı
1
Puanları
18

Sanal Makinelerde GPU Passthrough (Ekran Kartı Atama) Rehberi​

images.png


Giriş: Sanal Dünyada Gerçek Performans​

Sanallaştırmanın en zayıf olduğu nokta grafiktir. Sanal makineler (VM), genellikle işlemcinin taklit ettiği "Sanal Ekran Kartı"nı kullanır. Bu kart, ofis işleri için yeterlidir ama oyun oynamak, 3D render almak veya Yapay Zeka (AI) modeli eğitmek için imkansız derecede yavaştır.

Çözüm: GPU Passthrough. Bu teknoloji, sunucunun üzerindeki fiziksel ekran kartını (örneğin bir RTX 3060 veya Tesla T4), Hypervisor katmanını tamamen baypas ederek (atlayarak) doğrudan sanal makinenin kontrolüne verir. VM, kartı "sanki fiziksel olarak kendisine takılıymış gibi" görür ve %99 performansla kullanır.

Donanım Gereksinimleri: IOMMU​

Her bilgisayarda Passthrough yapamazsınız. Donanımınızın şu teknolojileri desteklemesi ve BIOS'tan açık olması gerekir:
  • Intel: VT-d (Virtualization Technology for Directed I/O).
  • AMD: AMD-Vi / IOMMU.
  • Anakart: IOMMU gruplamasını (Grouping) doğru yapan bir anakart gereklidir. Ekran kartının diğer cihazlardan izole bir grupta olması gerekir.

Proxmox VE Üzerinde GPU Passthrough (Adım Adım)​

Proxmox (Linux/KVM tabanlı) bu iş için en popüler platformdur.

1. IOMMU Aktifleştirme​

Proxmox host sunucusu açılırken GRUB (Bootloader) ayarlarını düzenlemelisiniz./etc/default/grub dosyasını açın ve şu satırı düzenleyin:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" (AMD ise amd_iommu=on).Sonra update-grub yapıp sunucuyu yeniden başlatın.

2. Modülleri Yükleme​

/etc/modules dosyasına şunları ekleyin:

Kod:
vfio<br>vfio_iommu_type1<br>vfio_pci<br>vfio_virqfd<br>

3. Kartı VM'e Ekleme​

  • VM'i oluşturun (Windows veya Linux).
  • Hardware sekmesine gidin -> Add -> PCI Device.
  • Listeden ekran kartınızı seçin.
  • "All Functions" (Ses ve Video kısmını birlikte almak için) ve "ROM-Bar" kutucuklarını işaretleyin.
  • Önemli: VM'in "Display" ayarını "None" veya "Standard" yapın. (Kartı VM'e verdiğinizde görüntü o kartın HDMI çıkışından gelir, Proxmox konsolundan değil).

ESXi Üzerinde GPU Passthrough​

ESXi'de bu işlem daha çok "tıkla-yap" şeklindedir (vCenter Web Client üzerinden).
  1. Host -> Configure -> Hardware -> PCI Devices.
  2. Ekran kartını bulun ve "Toggle Passthrough" butonuna basın. Durum "Active" olacaktır.
  3. VM ayarlarına gidin -> Add New Device -> PCI Device.
  4. Listeden aktif ettiğiniz GPU'yu seçin.
  5. Kritik: GPU eklenen VM'in RAM'i "Reserve all guest memory" (Tüm belleği rezerve et) seçeneğiyle kilitlenmelidir. Yoksa VM açılmaz.

Yaygın Sorunlar: NVIDIA Code 43 Hatası​

NVIDIA'nın tüketici kartları (GTX/RTX serisi), sanal makinede çalıştığını algılayınca sürücüyü durdurur (Aygıt yöneticisinde "Kod 43" hatası). Bu, sunucu kartı (Quadro/Tesla) satmak için koydukları yapay bir kısıtlamaydı (NVIDIA yakın zamanda bunu gevşetti ama hala sorun olabiliyor).

Çözüm (Proxmox): VM'in konfigürasyon dosyasına (/etc/pve/qemu-server/100.conf) şu satırları ekleyerek Hypervisor olduğunuzu gizleyin:cpu: host,hidden=1,flags=+pcid

Kullanım Senaryoları​

  • Cloud Gaming: Evdeki güçlü PC'nizi sunucu yapıp, salondaki TV'ye veya telefona (Moonlight/Sunshine ile) oyun yayını yapmak.
  • Medya Sunucusu (Plex/Jellyfin): Filmleri anlık dönüştürmek (Transcoding) için GPU kullanmak.
  • AI Lab: Jupyter Notebook çalıştıran bir Ubuntu VM'e GPU verip derin öğrenme modeli eğitmek.
 
Son düzenleme:
Geri
Üst