Поделиться через


Развертывание устройств хранилища NVMe с помощью дискретного назначения устройств

Начиная с Windows Server 2016, вы можете использовать дискретное назначение устройств или DDA для передачи всего устройства PCIe на виртуальную машину. Это позволит обеспечить высокий уровень производительности устройств, таких как хранилище NVMe или графические карточки на виртуальной машине, при этом можно использовать собственные драйверы устройств. Ознакомьтесь с планом развертывания устройств с помощью дискретного назначения устройств, чтобы получить дополнительные сведения о том, какие устройства работают, какие возможны последствия для безопасности и т. д. Существует три шага для использования устройства с DDA:

  • Настройка виртуальной машины для DDA
  • Отключение устройства из раздела узла
  • Назначение устройства гостевой виртуальной машине

Все команды можно выполнить на узле в консоли Windows PowerShell от имени администратора.

Настройка виртуальной машины для DDA

Дискретное назначение устройств накладывает некоторые ограничения на виртуальные машины, и необходимо выполнить следующий шаг.

  1. Настройка действия автоматической остановки виртуальной машины для отключения путем выполнения
Set-VM -Name VMName -AutomaticStopAction TurnOff

Отключение устройства из раздела узла

Поиск пути расположения устройства

Путь к расположению PCI необходим для отключения и подключения устройства с узла. Пример пути расположения выглядит следующим образом: "PCIROOT(20)#PCI(0300)#PCI(0000)#PCI(0800)#PCI(0000)" Дополнительные сведения о расположении пути расположения см. здесь: планирование развертывания устройств с помощью дискретного назначения устройств.

Отключение устройства

Используя диспетчер устройств или PowerShell, убедитесь, что устройство "отключено".

Отключение устройства

Dismount-VMHostAssignableDevice -LocationPath $locationPath

Назначение устройства гостевой виртуальной машине

Последний шаг — сообщить Hyper-V, что виртуальная машина должна иметь доступ к устройству. Помимо пути расположения, приведенного выше, необходимо знать имя виртуальной машины.

Add-VMAssignableDevice -LocationPath $locationPath -VMName VMName

Дальнейшие действия

После успешного подключения устройства на виртуальной машине вы сможете запустить эту виртуальную машину и взаимодействовать с ним, как обычно, если бы вы работали в системе без операционной системы. Это можно проверить, открыв диспетчер устройств на гостевой виртуальной машине и увидев, что оборудование отображается.

Удаление устройства и его возвращение на узел

Если вы хотите вернуть устройство обратно в исходное состояние, необходимо остановить виртуальную машину и выдать следующее:

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

Затем можно повторно включить устройство в диспетчере устройств, а операционная система узла снова сможет взаимодействовать с устройством.