Distribuire dispositivi NVMe Archiviazione usando l'assegnazione di dispositivi discreti

Si applica a: Windows Server 2022, Windows Server 2019, Microsoft Hyper-V Server 2016, Windows Server 2016

A partire da Windows Server 2016, è possibile usare l'assegnazione di dispositivi discreti o DDA per passare un intero dispositivo PCIe in una macchina virtuale. Ciò consentirà l'accesso ad alte prestazioni ai dispositivi come l'archiviazione NVMe o le schede grafiche dall'interno di una macchina virtuale, pur essendo in grado di sfruttare i driver nativi dei dispositivi. Per altre informazioni su quali dispositivi funzionano, quali sono le possibili implicazioni per la sicurezza e così via, visitare il piano per la distribuzione di dispositivi usando l'assegnazione di dispositivi discreti. L'uso di un dispositivo con DDA prevede tre passaggi:

  • Configurare la macchina virtuale per la DDA
  • Smontare il dispositivo dalla partizione host
  • Assegnazione del dispositivo alla macchina virtuale guest

Tutti i comandi possono essere eseguiti nell'host in una console di Windows PowerShell come Amministrazione istrator.

Configurare la macchina virtuale per la DDA

L'assegnazione di dispositivi discreti impone alcune restrizioni alle macchine virtuali e deve essere eseguito il passaggio seguente.

  1. Configurare l'azione di arresto automatico di una macchina virtuale da disattivare eseguendo
Set-VM -Name VMName -AutomaticStopAction TurnOff

Smontare il dispositivo dalla partizione host

Individuazione del percorso del dispositivo

Il percorso percorso PCI è necessario per smontare e montare il dispositivo dall'host. Un percorso di esempio è simile al seguente: "PCIROOT(20)#PCI(0300)#PCI(0000)#PCI(0800)#PCI(0000)". Altri dettagli sul percorso sono disponibili qui: Pianificare la distribuzione di dispositivi usando l'assegnazione di dispositivi discreti.

Disabilitare il dispositivo

Usando Gestione dispositivi o PowerShell, assicurarsi che il dispositivo sia "disabilitato".

Smontare il dispositivo

Dismount-VMHostAssignableDevice -LocationPath $locationPath

Assegnazione del dispositivo alla macchina virtuale guest

Il passaggio finale consiste nel indicare a Hyper-V che una macchina virtuale deve avere accesso al dispositivo. Oltre al percorso indicato in precedenza, è necessario conoscere il nome della macchina virtuale.

Add-VMAssignableDevice -LocationPath $locationPath -VMName VMName

E adesso

Dopo che un dispositivo è stato montato correttamente in una macchina virtuale, è ora possibile avviare la macchina virtuale e interagire con il dispositivo come normalmente si farebbe se fosse in esecuzione in un sistema bare metal. È possibile verificarlo aprendo Gestione dispositivi nella macchina virtuale guest e verificando che l'hardware sia ora visualizzato.

Rimozione di un dispositivo e restituzione all'host

Se si vuole ripristinare lo stato originale del dispositivo, è necessario arrestare la macchina virtuale ed eseguire le operazioni seguenti:

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

È quindi possibile riabilitare il dispositivo in Gestione dispositivi e il sistema operativo host sarà in grado di interagire di nuovo con il dispositivo.