Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megtudhatja, hogyan adhat át egy teljes PCIe-eszközt egy virtuális gépre (VM) a PowerShell használatával a Különálló eszköz-hozzárendelés (DDA) használatával. Ezzel lehetővé teszi a nagy teljesítményű hozzáférést az olyan eszközökhöz, mint az NVMe-tároló vagy a grafikus kártyák egy virtuális gépről, miközben az eszköz natív illesztőprogramjait is alkalmazhatja. A működő eszközökkel és a lehetséges biztonsági következményekkel kapcsolatos további információkért tekintse meg az eszközök különálló eszköz-hozzárendeléssel történő üzembe helyezésének tervét.
Ez a cikk végigvezeti az eszközök DDA-val való használatának lépésein:
- A DDA virtuális gépének konfigurálása
- Az eszköz eltávolítása a gazdagéppartícióról
- Az eszköz hozzárendelése a vendég virtuális géphez
Előfeltételek
Mielőtt a DDA-t használná a grafikus eszközök üzembe helyezéséhez, az alábbiakra van szükség.
Windows Server 2016 vagy újabb rendszert futtató Hyper-V gazdagép.
Az alábbi operációs rendszerek egyikét futtató virtuális gép:
Windows Server 2016 vagy újabb verzió.
Windows 10 vagy újabb verzió.
Tekintse át az eszközök különálló eszköz-hozzárendeléssel történő üzembe helyezésének tervét , hogy a hardver kompatibilis legyen a DDA-val.
- Futtassa a SurveyDDA.ps1 PowerShell-szkriptet annak megállapítására, hogy a kiszolgáló megfelelően van-e konfigurálva. A szkript azt is megjeleníti, hogy mely eszközök továbbíthatók diszkrét eszköz-hozzárendeléssel.
A Hyper-V gazdagép adminisztrátori jogosultságai.
(Nem kötelező) Bár nem szükséges, ha az egygyökéres I/O virtualizálás (SR-IOV) nem engedélyezett vagy támogatott, problémákat tapasztalhat, amikor a DDA-t használja grafikus eszközök üzembe helyezéséhez.
A DDA virtuális gépének konfigurálása
A megoldás első lépése a virtuális gépekre vonatkozó DDA-korlátozások kezelése.
Jelentkezzen be rendszergazdaként a Hyper-V gazdagépre.
Nyisson meg egy emelt szintű PowerShell-parancssort.
Konfigurálja a
Automatic Stop Action
virtuális gép leállítását a következő PowerShell parancsmaggal:Set-VM -Name VMName -AutomaticStopAction TurnOff
Virtuális gép előkészítése grafikus eszközökhöz
Egyes hardverek jobban teljesítenek, ha a virtuális gép bizonyos módon van konfigurálva. Arról, hogy szüksége van-e a következő konfigurációkra a hardverhez, forduljon a hardver gyártójához. További információkért tekintse meg az eszközök különálló eszköz-hozzárendeléssel történő üzembe helyezésének tervét és ezt a blogbejegyzést.
Engedélyezze a Write-Combining a processzoron a következő parancsmag használatával:
Set-VM -GuestControlledCacheTypes $true -VMName VMName
Konfigurálja a 32 bites memórialeképezett IO -területet (MMIO) a következő parancsmag használatával:
Set-VM -LowMemoryMappedIoSpace 3Gb -VMName VMName
Konfigurálja a 32 bitnél nagyobb MMIO-tárterületet a következő parancsmag használatával:
Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName VMName
Jótanács
A megjelenített MMIO-térértékek ésszerű értékek egyetlen GPU-val való kísérletezéshez. Ha a virtuális gép elindítása után az eszköz nem elegendő erőforrással kapcsolatos hibát jelez, valószínűleg módosítania kell ezeket az értékeket. Az MMIO-követelmények pontos kiszámításával kapcsolatos további információkért tekintse meg az eszközök különálló eszköz-hozzárendeléssel történő üzembe helyezésének tervét.
Az eszközt leválasztani a gazda partícióról
Az eszköz gazdapartícióból való leválasztásához kövesse az ebben a szakaszban található utasításokat.
A particionálási illesztőprogram telepítése (nem kötelező)
A DDA lehetővé teszi a hardvergyártók számára, hogy biztonsági kockázatcsökkentő illesztőprogramot biztosítsanak az eszközeikhez. Ez az illesztőprogram nem ugyanaz, mint a vendég virtuális gépen telepített eszközillesztő. Ennek az illesztőprogramnak a biztosítása a hardvergyártó belátása szerint történik. Ha azonban biztosítják az illesztőprogramot, telepítse, mielőtt leválasztja az eszközt a gazdagép partíciójáról. Forduljon a hardver gyártójához, és ellenőrizze, hogy rendelkezik-e kockázatcsökkentő illesztőprogramval.
Ha nincs megadva particionálási illesztőprogram, a biztonsági figyelmeztetés megkerüléséhez a leválasztás során használja az -Force
opciót. A biztonsági következményekkel kapcsolatos további információkért tekintse meg az eszközök különálló eszköz-hozzárendeléssel történő üzembe helyezésének tervét.
Az eszköz helyelérési útvonalának megkeresése
A PCI-hely elérési útja szükséges az eszköz leválasztásához és a gazdagépről való csatlakoztatásához. Egy példa hely elérési útja így néz ki: PCIROOT(20)#PCI(0300)#PCI(0000)#PCI(0800)#PCI(0000)
. A hely elérési útjának helyével kapcsolatos további információkért tekintse meg az eszközök különálló eszköz-hozzárendeléssel történő üzembe helyezésének tervét.
Az eszköz letiltása
Az Eszközkezelő vagy a PowerShell használatával győződjön meg arról, hogy az eszköz le van tiltva.
Az eszköz leszerelése
Attól függően, hogy a szállító biztosított-e kockázatcsökkentési illesztőprogramot, vagy használja ezt a -Force
lehetőséget, vagy nem, ahogy itt látható:
Ha telepített egy hibaelhárítási illesztőprogramot, használja a következő parancsmagot:
Dismount-VMHostAssignableDevice -LocationPath $locationPath
Ha a hibaelhárítási illesztőprogram nincs telepítve, használja a következő parancsmagot:
Dismount-VMHostAssignableDevice -Force -LocationPath $locationPath
Az eszköz hozzárendelése a vendég virtuális géphez
Az utolsó lépés annak tudatása Hyper-V, hogy egy virtuális gépnek hozzá kell férnie az eszközhöz. Adja meg a hely elérési útját és a virtuális gép nevét.
Add-VMAssignableDevice -LocationPath $locationPath -VMName VMName
Feladatok végrehajtása a virtuális gépen
Miután sikeresen csatlakoztatta az eszközt egy virtuális géphez, elindíthatja a virtuális gépet, és úgy kezelheti az eszközt, mintha operációs rendszer nélküli rendszeren fut. Most már telepítheti a hardvergyártó illesztőprogramjait a virtuális gépen, és az alkalmazások láthatják a hardvert. Ezt úgy ellenőrizheti, hogy megnyitja az Eszközkezelőt a vendég virtuális gépen, és látja, hogy a hardver elérhető.
Az eszköz eltávolítása és visszaküldése a host-ra
Ha vissza szeretné állítani az eszközt az eredeti állapotába, le kell állítania a virtuális gépet, és ki kell adnia ezt a parancsot:
# Remove the device from the VM
Remove-VMAssignableDevice -LocationPath $locationPath -VMName VMName
# Mount the device back in the host
Mount-VMHostAssignableDevice -LocationPath $locationPath
Ezután újra engedélyezheti az eszközt az Eszközkezelőben, és a gazdagép operációs rendszere újra képes az eszköz használatára.
Példa – GPU csatlakoztatása virtuális géphez
Ez a példa a PowerShell használatával konfigurál egy ddatest1 nevű virtuális gépet, hogy a gyártó NVIDIA által elérhető első GPU-t a virtuális géphez rendelje.
# Configure the VM for a Discrete Device Assignment
$vm = "ddatest1"
# Set automatic stop action to TurnOff
Set-VM -Name $vm -AutomaticStopAction TurnOff
# Enable Write-Combining on the CPU
Set-VM -GuestControlledCacheTypes $true -VMName $vm
# Configure 32 bit MMIO space
Set-VM -LowMemoryMappedIoSpace 3Gb -VMName $vm
# Configure Greater than 32 bit MMIO space
Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName $vm
# Find the Location Path and disable the Device
# Enumerate all PNP Devices on the system
$pnpdevs = Get-PnpDevice -presentOnly
# Select only those devices that are Display devices manufactured by NVIDIA
$gpudevs = $pnpdevs | Where-Object {$_.Class -like "Display" -and $_.Manufacturer -like "NVIDIA"}
# Select the location path of the first device that's available to be dismounted by the host.
$locationPath = ($gpudevs | Get-PnpDeviceProperty DEVPKEY_Device_LocationPaths).data[0]
# Disable the PNP Device
Disable-PnpDevice -InstanceId $gpudevs[0].InstanceId
# Dismount the Device from the Host
Dismount-VMHostAssignableDevice -Force -LocationPath $locationPath
# Assign the device to the guest VM.
Add-VMAssignableDevice -LocationPath $locationPath -VMName $vm
GPU csatlakoztatásával kapcsolatos problémák elhárítása
Ha gpu-t ad át egy virtuális gépnek, de a Távoli asztali szolgáltatások vagy egy alkalmazás nem ismeri fel a GPU-t, ellenőrizze az alábbi gyakori problémákat.
Győződjön meg arról, hogy a GPU-gyártó által támogatott illesztőprogram legújabb verzióját telepíti, és hogy az illesztőprogram nem jelent hibákat. Ehhez ellenőrizze az eszköz állapotát a Device Managerben.
Győződjön meg arról, hogy az eszköz rendelkezik elegendő MMIO-tárterülettel a virtuális gépen belül. További információ: MMIO Space.
Győződjön meg arról, hogy olyan GPU-t használ, amelyet a gyártó támogat ebben a konfigurációban. Egyes szállítók például megakadályozzák, hogy a fogyasztói kártyáik működjenek, amikor átadják őket egy virtuális gépnek.
Győződjön meg arról, hogy az alkalmazás támogatja a virtuális gépen belüli futtatásokat, és hogy az alkalmazás támogatja a GPU-t és a hozzá tartozó illesztőprogramokat is. Egyes alkalmazások gpu-k és környezetek engedélyezési listájával rendelkeznek.
Ha a vendégen a Távoli asztali munkamenetgazda szerepkört vagy a Windows Multipoint Servicest használja, győződjön meg arról, hogy egy adott csoportházirend-bejegyzés engedélyezi az alapértelmezett GPU használatát. Használjon a vendégre alkalmazott csoportházirend-objektumot (vagy a vendég helyi csoportházirend-szerkesztőjét). Lépjen a következő csoportházirend-elemre:
Számítógép konfigurációja\Rendszergazdai sablonok\Windows-összetevők\Távoli asztali szolgáltatások\Távoli asztali munkamenetgazda\Távoli munkamenet-környezet\Hardveres grafikus adapterek használata minden távoli asztali szolgáltatás-munkamenethez.
Állítsa a csoportházirend értékét Engedélyezve értékre, majd indítsa újra a virtuális gépet a szabályzat alkalmazása után.