Какой метод назначения GPU следует использовать для виртуальных машин Hyper-V?

Опубликовано: 15 Апреля, 2023
Какой метод назначения GPU следует использовать для виртуальных машин Hyper-V?

Когда виртуализация серверов только приобрела популярность, назначения графических процессоров (GPU) почти не рассматривались. В то время относительно небольшое количество рабочих нагрузок требовало графических процессоров, а те, которые требовались, обычно не подходили для виртуализированных сред. Сегодня, конечно, все по-другому. Компании используют графические процессоры для графически интенсивных рабочих нагрузок и рабочих нагрузок, использующих возможности машинного обучения (ML). Таким образом, возможность выделения графических процессоров виртуальным машинам (ВМ) является обязательной. Но знаете ли вы , что можно назначать графические процессоры виртуальным машинам Hyper-V двумя разными способами ? Каждый метод сильно влияет на то, как вы можете использовать GPU и на безопасность вашей компании.

В этой статье я расскажу вам об этих двух методах. Я также объясню, как каждый метод влияет на производительность и безопасность. Давайте погрузимся прямо в!

2 метода назначения GPU

Как упоминалось ранее, Hyper-V предоставляет два разных варианта назначения графических процессоров виртуальным машинам. Один из вариантов — использовать RemoteFX. Другим вариантом является использование дискретного назначения устройств. К сожалению, ни один из вариантов не подходит для каждой ситуации. Таким образом, вам придется взвесить свой вариант использования при принятии решения о том, какой метод использовать. Давайте обсудим каждый метод более подробно, начиная с RemoteFX.

1. Дистанционный эффект

RemoteFX по сути является расширением протокола Microsoft Remote Display Protocol (RDP). Когда эта технология была впервые представлена в Windows Server 2008 SP1, она была наиболее известна своей способностью перенаправлять USB-устройства на виртуальную машину. Однако с тех пор RemoteFX получил множество других возможностей, включая перенаправление графического процессора с помощью функции, известной как RemoteFX vGPU.

Но не все версии Windows поддерживают RemoteFX vGPU. Для его использования вам потребуется компьютер под управлением Windows 7 Ultimate или Enterprise либо Windows Server 2008 R2 SP1 или более поздней версии.

Также важно отметить, что Windows недавно удалила RemoteFX vGPU, поэтому вы не найдете его поддержки в Windows 11 или Windows Server 2022. Это связано с тем, что эта технология страдает от множества уязвимостей в системе безопасности.

Но зачем вам использовать RemoteFX vGPU, если он больше не поддерживается? Основная причина в том, что он хорошо подходит для сред с высокой плотностью виртуальных машин.

Предположим на мгновение, что хост Hyper-V содержит только один графический процессор. RemoteFX vGPU позволяет нескольким виртуальным машинам совместно использовать один GPU. Это не относится к дискретным назначениям устройств.

Но стоит отметить, что RemoteFX vGPU ограничивает использование каждой виртуальной машиной только 1 ГБ выделенной видеопамяти. Имейте это в виду, если вы решите использовать этот метод.

Включение RemoteFX vGPU

Если у вас есть поддерживаемая операционная система (ОС), но вы не можете использовать RemoteFX vGPU, поддержка этой технологии, скорее всего, была удалена обновлением. Но вы все равно сможете найти его в списке устройств вашей виртуальной машины. Как только вы это сделаете, просто выделите его и нажмите «Добавить».

Изображение 94

2. Дискретное назначение устройств

В отличие от RemoteFX vGPU, который может совместно использовать GPU для нескольких виртуальных машин, при назначении дискретного устройства физический графический процессор выделяется для одной виртуальной машины.

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

Например, при выборе этого метода для графического процессора не будет ограничения в 1 ГБ для RemoteFX vGPU. А если вы используете графический процессор для графических приложений, назначение отдельных устройств обеспечит более высокую частоту кадров. RemoteFX vGPU имеет ограничение в 30 кадров в секунду (FPS), а для назначений дискретных устройств — 60 FPS.

Теперь я кратко объясню, как вы можете включить назначение дискретных устройств.

Включение назначения дискретных устройств

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

  1. Откройте диспетчер устройств
  2. Выберите устройство, которое хотите назначить
  3. Щелкните правой кнопкой мыши устройство и выберите команду «Свойства» в контекстном меню.
  4. Выберите вкладку «Сведения» на странице свойств.
  5. Выберите параметр «Путь к местоположению» из списка свойств.
  6. Обратите внимание на значение
Изображение 3938

Как только вы узнаете путь к местоположению, вам нужно будет выполнить назначение дискретного устройства с помощью PowerShell. Прежде чем сделать это, создайте переменную с именем $LocationPath и установите ее равной пути расположения устройства. Вот оставшиеся команды, которые вы можете использовать в PowerShell для завершения назначения дискретных устройств, как задокументировано Microsoft:

Изображение 293

Вот несколько вещей, которые следует помнить о приведенных выше командах:

  • Замените VMName (не путайте с -VMName) на имя вашей виртуальной машины.
  • Выключите виртуальную машину перед выполнением этих действий.
  • Убедитесь, что сопоставление памяти в третьей и четвертой командах соответствует аппаратному обеспечению вашего графического процессора.

Вот и все! Просто, верно? Давайте кратко подведем итоги?

Нижняя линия

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

В этой статье мы обсудили два метода выделения GPU в Hyper-V. Например, вы можете использовать RemoteFX vGPU в некоторых средах. Таким образом, вы сможете совместно использовать оборудование графического процессора для нескольких виртуальных машин. Но этот вариант изобилует уязвимостями в системе безопасности, так что это не самый лучший вариант для обеспечения безопасности.

С другой стороны, Microsoft рекомендует использовать отдельные назначения устройств, поскольку они более безопасны. И хотя они более требовательны к графическому процессору (каждой виртуальной машине требуется один графический процессор), они не будут ограничивать использование вашей оперативной памяти и дадут вам более высокую скорость FPS.

Имея это в виду, вы можете выбрать, какой метод распределения GPU вы будете использовать в зависимости от ваших конкретных потребностей.

У вас есть дополнительные вопросы о методах назначения Hyper-V и GPU? Ознакомьтесь с разделами часто задаваемых вопросов и ресурсов ниже!

Часто задаваемые вопросы

Есть ли у Microsoft предпочтительный метод перенаправления графического процессора в Hyper-V?

Да, Microsoft предпочитает использовать дискретные назначения устройств, когда это возможно. В 2020 году Microsoft отказалась от поддержки RemoteFX vGPU из-за уязвимости удаленного выполнения кода. Таким образом, Microsoft удалила RemoteFX vGPU из новых сборок Windows, начиная с апреля 2021 года.

Налагает ли Hyper-V какие-либо аппаратные ограничения в отношении типов графических процессоров, которые я могу использовать?

Microsoft официально поддерживает «корпоративные графические процессоры», такие как NVIDIA Quadro/GRID или AMD FirePro. Неофициально любой графический процессор на базе PCI, который работает с Windows, обычно работает, но может официально не поддерживаться. Лучше всего просмотреть список совместимого оборудования Microsoft.

Должен ли я отключить RemoteFX vGPU, если я его не использую?

RemoteFX vGPU содержит уязвимости безопасности. Из-за этого Microsoft прекратила его поддержку во многих версиях Windows. В целом, отключить его — хорошая идея, и вы можете сделать это, установив последние исправления безопасности. Помните, что установка этих исправлений обычно удаляет поддержку RemoteFX vGPU.

Влияют ли уязвимости безопасности, связанные с RemoteFX vGPU, на какие-либо другие функции RemoteFX?

Согласно Microsoft, нет. Уязвимости влияют на vGPU, но не влияют на другие функции RemoteFX.

Вызывает ли использование дискретного назначения устройств какие-либо проблемы с отказоустойчивой кластеризацией?

Назначение дискретного устройства — это прямое сопоставление между физическим оборудованием и виртуальной машиной. Это сопоставление означает, что виртуальная машина фактически владеет этим оборудованием. Если вы переместите виртуальную машину на другой хост, сопоставление прервется, потому что на новом хосте отсутствует назначенное оборудование. Тем не менее, вы не можете использовать отдельные назначения устройств в отказоустойчивом кластере.