Bereitstellen von NVMe Storage Geräten mit diskreter Gerätezuweisung

Gilt für: Windows Server 2022, Windows Server 2019, Microsoft Hyper-V Server 2016, Windows Server 2016

Ab Windows Server 2016 können Sie diskrete Gerätezuweisung (Discrete Device Assignment, DDA) verwenden, um ein gesamtes PCIe-Gerät an einen virtuellen Computer zu übergeben. Dies ermöglicht einen hochleistungsfähigen Zugriff auf Geräte wie NVMe-Speicher oder Grafikkarten von einem virtuellen Computer aus, während die nativen Treiber der Geräte genutzt werden können. Weitere Informationen dazu, welche Geräte funktionieren, welche möglichen Auswirkungen auf die Sicherheit sind usw. finden Sie unter Plan for Deploying Devices using Discrete Device Assignment (Planen der Bereitstellung von Geräten mit diskreter Gerätezuweisung). Es gibt drei Schritte zur Verwendung eines Geräts mit DDA:

  • Konfigurieren der VM für DDA
  • Aufheben der Bereitstellung des Geräts von der Hostpartition
  • Zuweisen des Geräts zur Gast-VM

Alle Befehle können auf dem Host auf einer Windows PowerShell-Konsole als Administrator ausgeführt werden.

Konfigurieren der VM für DDA

Die diskrete Gerätezuweisung erzwingt einige Einschränkungen für die virtuellen Computer, und der folgende Schritt muss ausgeführt werden.

  1. Konfigurieren der "automatischen Beendigungsaktion" eines virtuellen Computers für "TurnOff" durch Ausführen von
Set-VM -Name VMName -AutomaticStopAction TurnOff

Aufheben der Bereitstellung des Geräts von der Hostpartition

Suchen des Standortpfads des Geräts

Der PCI-Speicherortpfad ist erforderlich, um die Bereitstellung des Geräts vom Host zu aufheben und zu einbinden. Ein Beispiel für einen Speicherortpfad sieht wie folgt aus: "PCIROOT(20)#PCI(0300)#PCI(0000)#PCI(0800)#PCI(0000)" . Weitere Informationen zum Speicherortpfad finden Sie hier: Planen der Bereitstellung von Geräten mit diskreter Gerätezuweisung.

Deaktivieren des Geräts

Stellen Sie mit Geräte-Manager oder PowerShell sicher, dass das Gerät "deaktiviert" ist.

Aufheben der Bereitstellung des Geräts

Dismount-VMHostAssignableDevice -LocationPath $locationPath

Zuweisen des Geräts zur Gast-VM

Der letzte Schritt besteht darin, Hyper-V mitzuteilen, dass ein virtueller Computer Zugriff auf das Gerät haben soll. Zusätzlich zum oben angegebenen Speicherortpfad müssen Sie den Namen des virtuellen Computers kennen.

Add-VMAssignableDevice -LocationPath $locationPath -VMName VMName

Nächste Schritte

Nachdem ein Gerät erfolgreich in einem virtuellen Computer eingebunden wurde, können Sie diesen virtuellen Computer starten und mit dem Gerät wie gewohnt interagieren, wenn Sie auf einem Bare-Metal-System ausgeführt würden. Sie können dies überprüfen, indem Sie den Geräte-Manager auf der Gast-VM öffnen und sehen, dass die Hardware jetzt angezeigt wird.

Entfernen eines Geräts und Zurückgeben des Geräts an den Host

Wenn Sie das Gerät wieder in den ursprünglichen Zustand zurücksenden möchten, müssen Sie den virtuellen Computer beenden und Folgendes ausstellen:

#Remove the device from the VM
Remove-VMAssignableDevice -LocationPath $locationPath -VMName VMName
#Mount the device back in the host
Mount-VMHostAssignableDevice -LocationPath $locationPath

Anschließend können Sie das Gerät im Geräte-Manager erneut aktivieren, und das Hostbetriebssystem kann wieder mit dem Gerät interagieren.