Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met discrete apparaattoewijzing kan pcIe-hardware (Physical Peripheral Component Interconnect Express) rechtstreeks toegankelijk zijn vanuit een virtuele machine (VM). In dit artikel worden het type apparaten besproken dat kan worden gebruikt, systeemvereisten voor de host, beperkingen die gelden voor de VM's en gevolgen voor de beveiliging.
Voor discrete apparaattoewijzing ondersteunt Microsoft twee apparaatklassen: Grafische adapters en NVMe Storage-apparaten. Andere apparaten werken waarschijnlijk en hardwareleveranciers kunnen instructies voor ondersteuning voor deze apparaten aanbieden. Neem voor andere apparaten contact op met specifieke hardwareleveranciers voor ondersteuning.
Zie Plan for GPU acceleration in Windows Server voor meer informatie over andere methoden voor GPU-virtualisatie. Als u klaar bent om discrete apparaattoewijzing te proberen, kunt u grafische apparaten implementeren met discrete apparaattoewijzing of NVMe-opslagapparaten implementeren met discrete apparaattoewijzing.
Ondersteunde VM's en gastbesturingssystemen
Discrete apparaattoewijzing wordt ondersteund voor VM's van de eerste of 2e generatie. De ondersteunde gasten zijn onder andere:
- Windows 10 of hoger
- Windows Server 2016 of hoger
Zie Ondersteunde virtuele Linux- en FreeBSD-machines voor Hyper-V op Windows Server en Windows voor meer informatie.
Systeemvereisten
Uw systeem moet voldoen aan de hardwarevereisten voor Windows Server en systeemvereisten voor Hyper-V op Windows Server. Voor discrete apparaattoewijzing is ook serverklassehardware vereist waarmee het besturingssysteem controle kan worden verleend over het configureren van de PCIe-infrastructuur (Native PCI Express Control). Daarnaast moet het PCIe-hoofdcomplex ondersteuning bieden voor Access Control Services (ACS), waardoor Hyper-V al het PCIe-verkeer via de Input-Output Memory Management Unit kan afdwingen.
Deze mogelijkheden worden meestal niet rechtstreeks in het BIOS van de server weergegeven en worden vaak verborgen achter andere instellingen. Als dezelfde mogelijkheden vereist zijn voor SR-IOV ondersteuning en in het BIOS, moet u mogelijk 'SR-IOV inschakelen'. Neem contact op met uw systeemleverancier als u de juiste instelling niet in uw BIOS kunt identificeren.
Om ervoor te zorgen dat de hardware geschikt is voor discrete apparaattoewijzing, kunt u het machineprofielscript uitvoeren op een Hyper-V ingeschakelde host. Het script test of uw server correct is ingesteld en welke apparaten in staat zijn om afzonderlijke apparaattoewijzingen uit te voeren.
Vereisten voor apparaten
Niet elk PCIe-apparaat kan worden gebruikt met discrete apparaattoewijzing. Oudere apparaten die gebruikmaken van verouderde (INTx) PCI-interrupts worden niet ondersteund. Zie Discrete apparaattoewijzing - Machines en apparaten voor meer informatie. U kunt ook het machineprofielscript uitvoeren om weer te geven welke apparaten kunnen worden gebruikt voor discrete apparaattoewijzing.
Apparaatfabrikanten kunnen contact opnemen met hun Microsoft-vertegenwoordiger voor meer informatie.
Apparaatstuurprogramma
Discrete apparaattoewijzing geeft het hele PCIe-apparaat door aan de gast-VM. Een hoststuurprogramma hoeft niet te worden geïnstalleerd voordat het apparaat wordt gekoppeld in de VIRTUELE machine. De enige vereiste op de host is dat het PCIe-locatiepad van het apparaat kan worden bepaald. Het stuurprogramma van het apparaat kan worden geïnstalleerd om te helpen bij het identificeren van het apparaat. Een GPU zonder het apparaatstuurprogramma dat op de host is geïnstalleerd, kan worden weergegeven als een Microsoft Basic Render-apparaat. Als het apparaatstuurprogramma is geïnstalleerd, wordt de fabrikant en het model waarschijnlijk weergegeven.
Wanneer het apparaat in de gast is gekoppeld, kan het apparaatstuurprogramma van de fabrikant worden geïnstalleerd zoals normaal in de gast-VM.
VM-beperkingen
Vanwege de aard van hoe discrete apparaattoewijzing wordt geïmplementeerd, worden sommige functies van een VIRTUELE machine beperkt terwijl een apparaat is gekoppeld. De volgende functies zijn niet beschikbaar:
- VM opslaan/herstellen
- Livemigratie van een virtuele machine
- Het gebruik van dynamisch geheugen
- De VM toevoegen aan een HA-cluster (cluster voor hoge beschikbaarheid)
Veiligheid
Discrete apparaattoewijzing geeft het hele apparaat door aan de virtuele machine. Dit betekent dat alle mogelijkheden van dat apparaat toegankelijk zijn vanaf het gastbesturingssysteem. Sommige mogelijkheden, zoals het bijwerken van firmware, kunnen de stabiliteit van het systeem nadelig beïnvloeden. Er worden talloze waarschuwingen aan de beheerder weergegeven bij het ontkoppelen van het apparaat van de host. U moet alleen discrete apparaattoewijzing gebruiken wanneer de gebruikers van de VM's vertrouwd zijn.
Als de beheerder een apparaat wil gebruiken met een niet-vertrouwde tenant, kunnen apparaatfabrikanten een stuurprogramma voor apparaatbeperking maken dat op de host kan worden geïnstalleerd. Neem contact op met de fabrikant van het apparaat voor meer informatie over of zij een stuurprogramma voor apparaatzorg bieden.
Als u de beveiligingscontroles wilt overslaan voor een apparaat dat geen stuurprogramma voor apparaatbeperking heeft, moet u de -Force
parameter doorgeven aan de Dismount-VMHostAssignableDevice
cmdlet. Wanneer u deze pas aanbrengt, hebt u het beveiligingsprofiel van dat systeem gewijzigd. U moet deze wijziging alleen aanbrengen tijdens het maken van prototypen of vertrouwde omgevingen.
PcIe-locatiepad
Het PCIe-locatiepad is benodigd om het apparaat van de host te ontkoppelen en opnieuw te koppelen. Een voorbeeld van een locatiepad is PCIROOT(20)#PCI(0300)#PCI(0000)#PCI(0800)#PCI(0000)
. Het machineprofielscript retourneert ook het locatiepad van het PCIe-apparaat.
Het locatiepad ophalen met behulp van Apparaatbeheer
- Open Apparaatbeheer en zoek het apparaat.
- Klik met de rechtermuisknop op het apparaat en selecteer Eigenschappen.
- Vouw op het tabblad Details de vervolgkeuzelijst Eigenschap uit en selecteer Locatiepaden.
- Klik met de rechtermuisknop op de vermelding die begint met PCIROOT en selecteer Kopiëren om het locatiepad voor het apparaat op te halen.
MMIO-ruimte
Voor sommige apparaten, met name GPU's, moet er meer MMIO-ruimte worden toegewezen aan de VIRTUELE machine, zodat het geheugen van dat apparaat toegankelijk is. Standaard begint elke VIRTUELE machine met 128 MB lage MMIO-ruimte en 512 MB aan hoge MMIO-ruimte die eraan is toegewezen. Voor een apparaat is echter mogelijk meer MMIO-ruimte vereist, of er kunnen meerdere apparaten worden doorgegeven, zodat de gecombineerde vereisten deze waarden overschrijden. Het wijzigen van MMIO-ruimte is eenvoudig en kan worden uitgevoerd in PowerShell met behulp van de volgende opdrachten:
Set-VM -LowMemoryMappedIoSpace 3Gb -VMName $vm
Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName $vm
De eenvoudigste manier om te bepalen hoeveel MMIO-ruimte moet worden toegewezen, is door het machineprofielscript te gebruiken. Voer de volgende opdrachten uit in een PowerShell-console om het machineprofielscript te downloaden en uit te voeren:
curl -o SurveyDDA.ps1 https://raw.githubusercontent.com/MicrosoftDocs/Virtualization-Documentation/live/hyperv-tools/DiscreteDeviceAssignment/SurveyDDA.ps1
.\SurveyDDA.ps1
Voor apparaten die kunnen worden toegewezen, geeft het script de MMIO-vereisten van een bepaald apparaat weer. De volgende scriptuitvoer is een voorbeeld:
NVIDIA GRID K520
Express Endpoint -- more secure.
...
And it requires at least: 176 MB of MMIO gap space
...
De lage MMIO-ruimte wordt alleen gebruikt door 32-bits besturingssystemen en apparaten die gebruikmaken van 32-bits adressen. In de meeste gevallen is het instellen van de hoge MMIO-ruimte van een VIRTUELE machine voldoende omdat 32-bits configuraties niet gebruikelijk zijn.
Belangrijk
Wanneer u MMIO-ruimte toewijst aan een virtuele machine, moet u voldoende MMIO-ruimte opgeven. De MMIO-ruimte moet de som zijn van de aangevraagde MMIO-ruimte voor alle gewenste toegewezen apparaten plus een buffer voor andere virtuele apparaten waarvoor een paar MB MMIO-ruimte is vereist. Gebruik de standaard MMIO-waarden die eerder zijn beschreven als de buffer voor respectievelijk lage en hoge MMIO (respectievelijk 128 MB en 512 MB).
Bekijk het vorige voorbeeld. Als u één K520 GPU toewijst, stelt u de MMIO-ruimte van de VIRTUELE machine in op de waarde die wordt uitgevoerd door het machineprofielscript plus een buffer: 176 MB + 512 MB. Als u drie K520 GPU's toewijst, stelt u de MMIO-ruimte in op drie keer de basishoeveelheid van 176 MB plus een buffer, of 528 MB + 512 MB.
Voor een diepere kijk op MMIO-ruimtegebruik, zie Discrete Apparaattoewijzing - GPU's op de Tech Community-blog.
Script voor machineprofiel
Voer het PowerShell-script SurveyDDA.ps1 uit om te bepalen of de server correct is geconfigureerd en welke apparaten kunnen worden doorgegeven met behulp van Discrete Device Assignment.
Voordat u het script gebruikt, moet u ervoor zorgen dat de Hyper-V rol is geïnstalleerd en voert u het script uit vanuit een PowerShell-opdrachtvenster met beheerdersbevoegdheden.
Als het systeem onjuist is geconfigureerd om discrete apparaattoewijzing te ondersteunen, wordt in het hulpprogramma een foutbericht weergegeven met details over het probleem. Als het systeem correct is geconfigureerd, inventariseert het hulpprogramma alle apparaten die zich op de PCIe Bus bevinden.
Voor elk apparaat dat wordt gevonden, wordt in het hulpprogramma weergegeven of het kan worden gebruikt met discrete apparaattoewijzing. Als een apparaat wordt geïdentificeerd als niet compatibel met discrete apparaattoewijzing, biedt het script een reden. Wanneer een apparaat is geïdentificeerd als compatibel, wordt het locatiepad van het apparaat weergegeven. Als voor dat apparaat ook MMIO-ruimte is vereist, wordt het ook weergegeven.