Distribuire dispositivi di archiviazione NVMe usando l'assegnazione di dispositivi discreti
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. Questo renderà possibile l'accesso con prestazioni elevate 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. Visitare la pagina Pianificare la distribuzione di dispositivi tramite l'assegnazione di dispositivi discreti per altri dettagli su quali dispositivi funzionano, quali sono le possibili implicazioni di sicurezza e così via. L'uso di un dispositivo con DDA prevede tre passaggi:
- Configurare la macchina virtuale per la DDA
- Smontare il dispositivo dalla partizione host
- Assegnare il dispositivo alla macchina virtuale guest
Tutti i comandi possono essere eseguiti dall'host in una console di Windows PowerShell come amministratore.
Configurare la macchina virtuale per la DDA
L'assegnazione di dispositivi discreta impone alcune restrizioni alle macchine virtuali e occorre eseguire il passaggio seguente.
- Configurare l'azione di arresto automatico di una macchina virtuale su TurnOff eseguendo
Set-VM -Name VMName -AutomaticStopAction TurnOff
Smontare il dispositivo dalla partizione host
Individuare il percorso del dispositivo
Il 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)"
. Altre informazioni sul percorso sono disponibili qui: Pianificare la distribuzione di dispositivi usando l'assegnazione di dispositivi discreti.
Disattivare il dispositivo
Usando Gestione dispositivi o PowerShell, assicurarsi che il dispositivo sia disabilitato.
Smontare il dispositivo
Dismount-VMHostAssignableDevice -LocationPath $locationPath
Assegnare il dispositivo alla macchina virtuale guest
Il passaggio finale consiste nell'indicare a Hyper-V che una macchina virtuale deve avere accesso al dispositivo. Oltre al percorso trovato 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, è 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.
Rimuovere un dispositivo e restituirlo all'host
Se si vuole ripristinare lo stato originale del dispositivo, è necessario arrestare la macchina virtuale e usare i comandi 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 abilitare di nuovo il dispositivo in Gestione dispositivi e il sistema operativo host sarà in grado di interagire di nuovo con il dispositivo.