Tímto článkem bych rád navázal na článek VFIO GPU passthrough česky, ze kterého převezmu premisu se založením virtuálního stroje (dále jen VM), kterému přiřadíme grafickou kartu v hostitelském systému. V tomto článku na rozdíl od předchozího použiji k založení VM příkaz virt-install.
1. Úvod
Před dalším postupem je třeba projít výše uvedený článek a provést potřebná nastavení tak jak jsou popsána v bodech 1-5.
Co se týče instalace potřebných balíčků, jediná změna oproti výchozímu článku (konkrétně bodu 3) je, že není třeba instalovat virt-manager, místo něj je třeba nainstalovat virt-install.
--cpu - slouží ke specifikaci vlastností CPU, které budou reportovány VM
host-passthrough - VM budou reportovány všechny vlastnosti (features) hostitelova CPU, místo host-passthrough je možné uvést konkrétní model CPU (např. Haswell, seznam systémem podporovaných modelů a vlastností lze vypsat příkazem qemu-system-x86_64 -cpu help)
topology.cores - počet jader, která budou reportována VM
topology.dies - počet čipů CPU, které budou reportovány VM
topology.socket - počet patic CPU, které budou reportovány VM
topology.threads - počet HW vláken CPU (SMT/hyperthreading->2), která budou reportována VM
--cputune - slouží k výkonostnímu ladění emulace
CPU pinning (tedy svázaní vCPU s jádry fyzického CPU hostitele) nejprve se sváže vcpupin s vcpu (vcpupin0.vcpu=0) a poté se vcpupin sváže s konkrétním(i) CPU jádrem/jádry hostitele (vcpupin0.cpuset=2); zde jsme svázali vcpu0 s cpu jádrem číslo 2
Stejnětak je možné s konkrétním CPU jádrem/jádry svázat vlákno/vlákna ve kterých běží I/O operace
Dále je možné svázat vlákno emulátoru s konkrétním CPU jádrem/jádry
--machine - volba emulovaného chipsetu, na platformě AMD64/x86-64 jsou definovány 2 aliasy: q35 a pc, které ukazují na nejnovější specifikace emulací těchto chipsetů (např. pc-q35-7.2 a pc-i440fx-7.2), kompletní seznam virtuálních chipsetů, které QEMU podporuje lze vypsat příkazem: qemu-system-x86_64 -machine help
--features - slouží k nastavení vlastností emulované platformy
kvm_hidden=on - skryje signaturu KVM hypervizoru před hostovaným operačním systémem
smm=on - zapne emulaci System Management Mode (některé UEFI firmwary ji mohou vyžadovat; QEMU podporuje SMM jen na emulovaném chipsetu q35)
hyperv.relaxed.state=on - Simuluje vlastnost "Relaxed Timing" v Microsoft Hyper-V. Pomáhá zlepšit stabilitu a výkon běhu Windows jako hostovaného OS v KVM/QEMU.
--os-variant - jaký operační systém chceme v hostovi provozovat, kompletní seznam podporovaných profilů OS vypíšeme příkazem: virt-install --os-variant list.
--disk - disková zařízení (tato volba má velký počet možných parametrů, viz. virt-install --disk help)
path - cesta k souboru obrazu nebo blokovému zařízení disku
pool - storage pool definovaný v rámci libvirt
size - velikost zakládaného "disku" v GiB
device - typ zařízení výchozí hodnota je disk, možné hodnoty: floppy, disk, cdrom, lun