Продолжаем рассказывать о новых возможностях платформы виртуализации VMware vSphere 6, выход которой ожидается в самое ближайшее время. Сегодня мы расскажем о поддержке режима vGPU, который позволяет предоставить ресурсы видеокарты (GPU) напрямую сразу нескольким виртуальным машинам (режим vGPU). Напомним, что эта технология уже довольно давно поддерживается в продуктах Citrix (а также в решении RemoteFX от Microsoft), а ее поддержка в платформах VMware была анонсирована в прошлом году на VMworld 2014.
Технология vGPU от NVIDIA при использовании с продуктами VMware подразумевает использование в качестве платформы VMware vSphere 6, а в качестве средства управления виртуальными ПК - VMware Horizon 6 (для этого выйдет специальное обновление с версией 6.1).
vGPU поддерживается для графических адаптеров NVIDIA GRID K1 и K2, для каждой из которых определены 4 профиля для виртуальных ПК, которые используют ресурсы видеокарты. Вот таблица этих профилей:
Всего есть три типа пользователей:
Designer - человек, который использует очень требовательные к графическим ресурсам приложения (не только дизайнеры, но и пользователи CAD-приложений).
Power User - человек, использующий подобные приложения время от времени.
Knowledge Worker - пользователь со сравнительно небольшой нагрузкой на ресурсы видеокарты.
Важно, что в рамках одного физического GPU видеокарты можно использовать только профили одного типа. Взгляните на картинку - как можно, а как нельзя:
Опишем здесь вкратце процедуру настройки использования vGPU с VMware vSphere 6, которая приведена в vGPU Deployment Guide (документ еще не вышел).
Для настройки vGPU необходимы следующие компоненты:
VMware vCenter 6.0
VMware ESXi 6.0
VMware Horizon View 6.1
NVIDIA GRID vGPU Manager
Потребуются также настройки BIOS на серверах (для каждого вендора свои). Вот, например, конфигурация Cisco:
CPU Performance: выставить в Enterprise или High Throughput.
Energy Performance: выставить в Performance.
PCI Configuration: выставить MMCFG BASE в 2 GB и Memory Mapped I/O above 4GB: Disabled.
VGA Priority: выставить в Onboard VGA Primary.
Далее нужно развернуть на хостах компонент NVIDIA vGPU Manager, который создает связь между GPU видеокарты и виртуальной машиной. Устанавливается он как обычный VIB-пакет:
После того, как NVIDIA vGPU Manager настроен на хост-серверах ESXi, нужно подготовить виртуальные машины. Делается это через vSphere Web Client. Выберем аппаратные характеристики ВМ в зависимости от типа рабочей нагрузки:
Затем в настройках ВМ нужно добавить Shared PCI Device:
Выбираем тип NVIDIA GRID vGPU и профиль в соответствии с таблицей, приведенной в начале статьи:
Обратите внимание, что нужно зарезервировать память для виртуальных машин, иначе их просто нельзя будет запустить. То есть, кнопку "Reserve all memory" нужно нажать обязательно. Кроме того, для машин, использующих vGPU, не поддерживаются такие технологии как vMotion, HA, снапшоты - то есть, машина полностью привязана к хосту ESXi.
После этого в виртуальном ПК можно устанавливать гостевую ОС (поддерживается Windows 7 и более поздние версии). Затем нужно установить NVIDIA GRID driver (после этого неплохо бы сделать из такой машины шаблон для дальнейшего ускоренного развертывания новых десктопов):
Кстати, в диспетчере устройств в гостевой ОС виртуального ПК можно посмотреть на драйвер графического адаптера:
Затем нужно соответствующим образом настроить пул виртуальных ПК в VMware Horizon View. Просто указываем протокол PCoIP и тип 3D-рендера NVIDIA GRID VGPU:
Вот, в принципе, и все. После этого виртуальные машины готовы к работе с vGPU в рамках пула виртуальных ПК.