VMware Esxi sanallaştırma alanında en yüksek performans sunan yapılarından biridir. Fakat yapay zeka, render, video işleme gibi ağır yüklerde yalnızda CPU ve ram gücü yeterli olmaz. Bu tür yoğun işlemlerde sanal makinenin GPU’ya doğrudan erişmesi gerekir.
GPU Passthrough tam olarak bu ihtiyaca cevap verir. Fiziksel bir ekran kartının sanallaştırmayı atlayarak tek bir sanal makineye doğrudan bağlanmasını sağlar. VMware’de bu yöntem DirectPath I/O olarak adlandırılır. GPU, sanal makine tarafından paylaşımlı bir kaynak gibi değil, gerçek donanım gibi kullanılır.
*GPU, ESXi host tarafından kullanılmaz ve başka bir sanal makineyle paylaşılmaz.
IOMMU, fiziksel PCI cihazlarının sanal makineler tarafından izole şekilde kullanılmasını sağlar. Sistemi başlatmadan önce BIOS ayarlarına girerek donanım tabanlı sanallaştırma desteğini aktif etmemiz gerekir.
VT-d seçeneğini Enabled konumuna getirelim.IOMMU seçeneğini Enabled yapalım.GPU passthrough için önce ESXİ üzerinde GPU’nun hosta ait bir donanım olmaktan çıkarılması gerekir. Bu işlem vSphere Client üzerinden Host → Configure → Hardware → PCI Devices yoluyla GPU için Toggle passthrough seçilerek yapılır.
Yeniden başlatma sonra GPU sanal makinelere atanabilir hale gelir.
Sanal makine kapalıyken donanım ayarlarına girelim ve PCI Device olarak GPU seçelim. Bu işlem tamamlandığında GPU fiziksel olarak o sanal makineye bağlanmış olur.
Windows sanal makine açıldığında GPU otomatik olarak kullanılmaz. İşletim sistemi, GPU’yu ancak üretici sürücüsü yüklendikten sonra aktif eder. NVIDIA veya AMD’nin resmi sürücüsü kurulup sistem yeniden başlatıldığında GPU, Aygıt Yöneticisi altında fiziksel bir kart gibi görünür.
Linux tarafında GPU’nun tanınıp tanınmadığı terminal üzerinden bu komut ile doğrulayabiliriz.
lspci | grep -i vga NVIDIA GPU kullanılıyorsa sürücünün düzgün çalıştığı aşağıdaki komutla kontrol edilir.
nvidia-smi Bu komut çıktı veriyorsa GPU aktif demektir.
NVIDIA kartlar, sanal ortamda çalıştığını algıladığında sürücüyü bilinçli olarak devre dışı bırakır. Bu durum Error 43 olarak bilinir.
VM seviyesinde hypervisor bilgisini gizleyen bir parametre eklendiğinde bu kontrol devre dışı kalır.
hypervisor.cpuid.v0 = "FALSE" Nested ESXİ test, eğitim ya da doğrulama durumalarında kullanılan ESXİ host üzerinde çalışan sanal bi ESXİ örneğidir.
İlk olarak fiziksel sunucuya en uygun sürüm olan ESXi 7.0 Update 3g kuralım. VMware’in resmi web sitesinden ISO dosyası indirildikten sonra bir USB kurulum medyası oluşturularak fiziksel sunucuya ESXi kurulumu tamamlayalım.
Fiziksel ESXi kurulduktan sonra, hazır Nested ESXi OVA dosyasıyla sanal bir ESXi oluşturalım. OVA dağıtımında CPU ve RAM, çalıştırılacak sanal makinelere göre planlanır.
Fiziksel ESXi üzerinde GPU, PCI passthrough moduna alalım ve GPU’ya ait VendorId / DeviceId bilgilerini doğrulayalım.
VendorId:DeviceId = 8086:5690 Nested ESXi sanal makinesini kapatalım. Donanım ayarlarında hardware-assisted virtualization seçeneğini devre dışı bırakıp, sanal IOMMU etkinleştirelim.
Fiziksel host yeniden başlatıldıktan sonra nested ESXi sanal makinesinin donanım ayarlarını düzenleyelim. Nested ESXi kapalı durumdayken Edit Settings menüsüne girip aşağıdaki işlemleri yapalım.
Nested ESXi ortamında GPU’nun düzgün tanınabilmesi için VM seviyesinde bazı gelişmiş parametrelerin tanımlanması gerekir.
pciPassthru.use64bitMMIO = "TRUE"
pciPassthru.64bitMMIOSizeGB = "16"
vhv.allowPassthru = "TRUE"
vhv.enable = "TRUE
AMD tabanlı sistemlerde ek olarak bu komutu kullanalım.
amd.iommu.supportsPcip = "TRUE" Tüm yapılandırmalar tamamlandıktan sonra Nested ESXi sanal makinesi başlatalım. ESXi Embedded Host Client arayüzüne bağlanılarak GPU’nun nested ortamda doğru şekilde tanınıp tanınmadığı kontrol edilmelidir.
GPU Passthrough yaptıktan sonra ekran kartını başka bir sanal makinede kullanabilir miyim?
Passthrough yöntemiyle GPU, seçilen sanal makineye dedicated atanır. Bu işlem sırasında GPU, fiziksel host’un kontrolünden çıkar dolayısıyla aynı anda ne host ne de başka bir VM bu kartı kullanamaz.
NVIDIA “Code 43” hatasını neden alıyorum?
NVIDIA sürücüleri, bir sanal makine içerisinde çalıştıklarını algıladıklarında sürücüyü durdurabilir. VM konfigürasyonuna hypervisor.cpuid.v0 = "FALSE" ekleyerek sanallaştırma katmanını ekran kartından gizlemeniz gerekir.
Her anakart ve işlemci GPU Passthrough destekler mi?
İşlemcinizin ve anakartınızın Intel VT-d veya AMD IOMMU teknolojilerini desteklemesi ve bu özelliklerin BIOS üzerinden aktif edilmiş olması şarttır.
vGPU ile GPU Passthrough arasındaki fark nedir?
Proxmox VE nedir? Proxmox VE, sanal makineleri ve konteynerleri tek bir panelden yönetmenizi sağlayan, web…
Hazır e-posta hizmetlerinin ücretleri arttığı için, kendi alan adınıza ait bir mail sunucusu kurmak hem…
Açık kaynaklı Proxmox VE yüksek performansıyla sanallaştırma alanında sık tercih edilen bir platformdur. Veri yedekleme…
DNS, yani Alan Adı Sistemi, internetin temel yönlendirme mekanizmasıdır. Kullanıcı bir web adresi yazdığında, örneğin…
Veritabanını seçmenin performans, lisans ve güvenlik gibi konularda yarattığı zorlukları biliyoruz. Bu seçimi kolaylaştırmak için,…
Snapshot Nedir? Snapshot, bir sanal sunucunun (VM) mevcut çalışma hali, disk yapısı ve yapılandırmasının o…