Приложение A. Развёртывание аппаратных средств - ускорение графики с помощью VMware Horizon7
Содержание
- Приложение A. Развёртывание аппаратных средств - ускорение графики с помощью VMware Horizon7
- Введение
- Что из себя представляет Horizon 7?
- Аудитория
- Виды графического ускорения
- Варианты применения графических возможностей с аппаратным ускорением
- Инсталляция, настройка и установка
- Мониторинг ресурсов
- Поиск неисправностей
Перевод Deploying Hardware Accelerated Graphics With VMware Horizon 7, декабрь 2017.
Инженеры, проектировщики и научные сотрудники для выполнения запросов своих задач, таких как манипулирование с их трёхмерными моделями, и визуальный анализ больших наборов данных, традиционно полагаются на выделенные графические рабочие станции. Эти отдельно стоящие рабочие станции требуют высоких затрат на приобретение и обслуживание. Помимо этого, в таких отраслях как нефть и газ, космические исследования, авиакосмическая промышленность, инженерное дело, научные изыскания и промышленность, пользователи вынуждены находиться в том же физическом местоположении, что и их рабочая станция.
Перемещение подобного оборудования графического ускорения с имеющейся рабочей станции на некий сервер предоставляет пользователям преимущества вычислений, памяти, сетевой среды и безопасности. При такой архитектуре центра обработки данных пользователи могут осуществлять доступ к сложным моделям и очень большим наборам данных и манипулировать ими практически повсеместно. При наличии соответствующих сетевой полосы пропускания и удобных устройств удалённых клиентов, информационные технологии могут предложить большинству пользователей погружение в трёхмерную практику при освобождении от ограничений находящихся в определённом месте рабочих станций и процессоров. Требуется меньше физических ресурсов, снижается общее время открытия сложных моделей или выполнения симуляций, кроме того пользователи более не привязаны к отдельному физическому местоположению. Помимо этого, для обработки большей части запрашиваемых графических нагрузок аппаратное ускорение также способно снизить потребление ЦПУ и запроса менее масштабных настольных станций и публикаций приложений а также средств видео- кодирования и декодирования, которые содержат по умолчанию удалённые дисплеи Blust Extreme.
Данная статья рассматривает три основных вида графики с аппаратным ускорением для виртуальных рабочих мест View в
VMware Horizon 7
посредством типовых вариантов
применения. Она также содержит инструкции по установке и настройке, практические приёмы и советы по поиску и устранению
неисправностей.
VMware Horizon 7
предоставляет решение виртуального
рабочего места и публикации приложения корпоративного уровня. Свойства и компоненты Horizon 7, такие как протокол отображения
Blust Extreme, моментальное предоставление клонов, доставки приложений VMware App Volumes™ и VMware User Environment Manager™,
а также интеграции в сеансы RDSH (Remote Desktop Session Host, Хоста сеансов Удалённых рабочих мест), для бесшовного оснащения
пользователей практичным и простым в управлении масштабируемым решением.
Данное официальное техническое описание предназначено для администраторов, которые развёртывают в Horizon 7 графику с аппаратным ускорением или для всех, кто интересуется данной технологией.
Horizon 7 предлагает три вида графического ускорения:
Виртуальное совместно используемое графическое ускорение (vSGA, Virtual Shared Graphics Acceleration) позволяет вам совместно применять некий GPU для множества виртуальных рабочих мест. Это привлекательное решение для тех пользователей, которым требуется полный потенциал подобного GPU на протяжении короткого периода. Однако, vSGA может создавать узкие места в зависимости от того какие приложения используются и тех ресурсов, которые им необходимы. Этот тип графического ускорения обычно применяется для информационных сотрудников и временами для пользователей с мощными запросами.
Для vSGA такой физические GPU хоста делаются виртуальными и совместно применяются множеством гостевых виртуальных машин. Вы должны устанавливать некий драйвер производителя в самом гипервизоре. Каждая гостевая виртуальная машина применяет проприетарный 3D драйвер VMware vSGA, который взаимодействует с имеющимся драйвером производителя в VMware vSphere®. Недостатком такого подхода sVGA является то, что поскольку приложениям необходимо осуществлять перенаправление для своей поддержки, поддержка API имеет ограничения и ограничивается только OpenGL и DirectX.
Поддерживаемые vSGA карты включают в свой состав:
-
Intel Iris Pro Graphics P580
-
nVidia Tesla M10/M60/P40
Для ознакомления с полным списком поддерживаемых карт vSGA отсылаем вас к VMware Virtual Shared Graphics Acceleration Guide
Виртуальная совместно используемая графика с пробросом позволяет вам разделять GPU для множества виртуальных рабочих мест вместо того, чтобы сосредотачиваться на отдельном пользователе. В отличии от vSGA она не использует проприетарный 3D драйвер VMware и поддерживает большинство свойств графической карты.
Вам следует установить драйвер производителя на свою гостевую виртуальную машину. Все команд графики передаются прямо в имеющийся GPU без необходимости их трансляции самим гипервизором. В таком гипервизоре устанавливается vSphere Installation Bundle (VIB, комплект установки vSphere), который оказывает содействие в реализации расписания. В зависимости от имеющейся карты совместно применять GPU могут до 24 виртуальных машин, причём некоторые карты могут иметь несколько GPU. Вычисление общего числа рабочих мест или пользователей на GPU зависит от типа карты, требований приложения, разрешения экрана, общего числа дисплеев и частоты кадров, измеряемой в кадрах в секунду (fps).
Общий объём буфера кадров (VRAM) на виртуальную машину (ВМ) фиксирован и имеющиеся механизмы GPU совместно используются ВМ. AMD имеет опцию наличия фиксированного объёма вычислений, называемую предсказуемой производительностью (predictable performance).
Технология виртуального совместного использования с пробросом предоставляет лучшую производительность нежели vSGA и более высокое соотношение уплотнения, чем Выделенное виртуальное графическое ускорение (vDGA, Virtual Dedicated Graphics Acceleration). Это хорошая технология для инженеров, проектировщиков и продвинутых пользователей с низким, средним и расширенным уровнем требований 3D приложений. Её недостатками являются отсутствие поддержки VMware vSphere vMotion® и того, что данная технология может требовать для поддержки приложения повторной сертификации.
Поддерживаемые совместно используемые карты с пробросом для Horizon 7.x и Horizon 6.5 включают в свой состав:
-
AMD FirePro S7100X/S7150/S7150X2 (multi-user GPU, или MxGPU)
-
nVidia Tesla M10/M60/P40 (virtual GPU, или vGPU)
Для ознакомления с полным списком поддерживаемых карт vSGA отсылаем вас к VMware Virtual Shared Pass-Through Graphics Guide
Технология виртуального ускорения выделенной графики (vDGA) Virtual Dedicated Graphics Acceleration, также именуемой пробросом GPU, ( GPU pass-through) предоставляет каждому пользователю неограниченный, полностью выделенный доступ к одному из GPU хоста. Хотя выделенный доступ имеет некоторые компромиссы уплотнения и управления, vDGA предоставляет самый высокий уровень производительности для пользователей с наиболее интенсивными потребностями графических вычислений.
Гипервизор передаёт такие GPU напрямую индивидуальным гостевым виртуальным машинам. В самом гипервизоре нет необходимости ни в каких специальных драйверах. Однако, чтобы включить графическое ускорение, вам необходимо установить драйвер производителя в каждой гостевой виртуальной машине. Эти процедуры установки те же самые, что и для физических машин. Единственным недостатком является отсутствие поддержки vMotion.
Поддерживаемые карты vDGA для в Horizon 7 версии 7.x и vSphere 6.5 включают в свой состав:
-
AMD FirePro S7100X/S7150/S7150X2
-
Intel Iris Pro Graphics P580/P6300
-
nVidia Quadro M5000/P6000, Tesla M10/M60/P40
Для ознакомления с полным списком поддерживаемых карт vSGA отсылаем вас к VMware Virtual Dedicated Graphics Acceleration (vDGA) Guide.
Таблицa A-1 сопоставляет все три вида графического ускорения.
Тип | Виртуальное разделяемое графическое ускорение | Виртуальное разделяемое графическое ускорение с пробросом | Виртуальное выделенное графическое ускорение |
---|---|---|---|
Сокращённое название |
vSGA |
vGPU или MxGPU |
vDGA |
Уплотнение |
Наивысшее (ограничено оперативной памятью видео карты) |
До 1:32 |
Нет (1:1) |
Уровень производительности |
Легковесный |
Легковесный или Рабочей станции |
Рабочей станции |
Совместимость |
Ограниченная |
Полная, однако сертифицированы не все приложения |
Максимальная |
Уровень DirectX |
Только 9.0c SM3 |
Все поддерживаемые версии |
Все поддерживаемые версии |
Версия OpenGL |
Только 2.1 |
Все поддерживаемые версии |
Все поддерживаемые версии |
Кодирование и декодирование видео |
Программное |
Аппаратное |
Аппаратное |
Вычисления OpenCL или CUDA |
Нет |
MxGPU только OpenCL {Прим. пер.: бета- версия эмуляции CUDA} GRID 1: нет GRID 2: только 1.1 |
Да |
Поддержка vSphere vMotion |
Да |
Нет |
Нет |
Таблицa A-2 перечисляет все аппаратные требования для решений графического ускорения.
Компонента | Описание |
---|---|
Физическое пространство для графических карт |
Многие высокопроизводительные GPU имеют полную высоту, полную длину и двойную ширину, занимая до двух слотов в своей материнской плате, однако используют только один слот PCIe x16. Убедитесь, что ваш хост имеет достаточное пространство для размещения такой карты GPU в соответствующем слоте PCIe. |
Блок питания хоста (PSU) |
Убедитесь, что имеющиеся блоки питания соответствуют требованиям мощности вашего GPU и содержат достаточное число кабелей питания. Например, отдельная карта nVidia K2 может потреблять порядка 225 Ватт и требовать либо 6- пинового, либо 8- пинового кабеля питания PCIe. |
BIOS |
Для MxGPU должна быть включена виртуализация SR-IOV. Для vGPU должна быть разрешена поддержка технологии виртуализации Intel для прямого ввода/ вывода (Intel VT-d, Intel Direct I/O ) или устройство управления вводом/ выводом памяти AMD (IOMMU, IO memory management unit). Для локализации этих установок в BIOS имеющегося сервера проконсультируйтесь с его производителем. |
Адаптеры дисплея |
Если данный хост не имеет дополнительного графического адаптера, VMware рекомендует чтобы вы установили некий дополнительный адаптер дисплея нижнего уровня для работы в качестве первичного адаптера дисплея, так как консоль адаптера дисплея VMware ESXi™ не доступна для Xorg. Если данный GPU установлен в качестве основного первичного адаптера, Xorg не может применять этот GPU для построения изображения. Если установлены два GPU, встроенный BIOS сервера должен иметь некую опцию для выбора того, какой из GPU является первичным, а какой вторичным. |
Ниже приводятся основные варианты применения для различных типов графического ускорения.
К категории информационных работников относятся офисные работники и исполнители, обычно применяющие такие приложения, как Microsoft Ofce, Adobe Photoshop и прочие не специализированные приложения конечных пользователей.
Поскольку графическая нагрузка таких пользователей ожидается не высокой, важно уплотнение. Для этих пользователей наиболее подходящим является один из следующих типов графического ускорения:
-
Виртуальное графическое ускорение с пробросом (MxGPU или vGPU) - когда наибольшее значение имеют производительность и такие свойства как аппаратное видео кодирование и декодирование, либо уровни DirectX/ OpenGL.
-
vSGA) - когда наибольшее значение имеет уплотнение.
Квалифицированные пользователи потребляют больше видео данных, однако их требования для манипуляции с большими массивами данных и специализированным программным обеспечением носят менее интенсивный характер, чем это имеет мевсто у проектировщиков, либо они применяют только средства просмотра, такие как Autodesk DWG TrueView.
Для целей квалифицированных пользователей лучше всего подходит Виртуальное графическое ускорение с пробросом (MxGPU или vGPU).
Проектировщики, ведущие инженеры и научные сотрудники часто создают большие, сложные наборы данных и работают с ними. Им требуются приложения с интенсивной графикой, такие как 3D проектирование, молекулярное моделирование, а также программное обеспечение медицинской диагностики таких компаний как Dassault Systèmes, Enovia, Siemens NX и Autodesk.
Для проектировщиков наиболее подходящим является следующее:
-
Виртуальное графическое ускорение с пробросом (MxGPU или vGPU) - когда наибольшее значение имеют доступность и плотность.
-
vDGA) - когда на счету каждый бит производительности.
Рисунок A-1 суммирует профили производительности и плотности трёх имеющихся типов графического ускорения.
Для графического ускорения вам требуется установить и настроить следующие компоненты:
-
Хост ESXi 6.x
-
Виртуальную машину
-
Гостевую операционную систему
-
Установки пула Horizon 7 версии 7.x
-
Сервер лицензий
Установка самой графической карты и настройка хоста ESXi видоизменяется в зависимости от лежащего в основе типа графического ускорения.
Установка и настройка хоста ESXi для vSGA и vGPU
-
Установите необходимую карту в свой хост ESXi.
-
Поместите этот хост в режим сопровождения.
-
Если вы применяете некую карту nVidia Tesla P, отключите ECC.
-
Если вы применяете некую карту nVidia Tesla M, установите эту карту в режим
graphics
(значением по умолчанию являетсяcompute
) при помощиGpuModeSwitch
, который поступает в виде некоего загрузочного ISO или VIB.-
Установите
GpuModeSwitch
без установленного драйвера nVidia:esxcli software vib install --no-sig-check -v /<path_to_vib>/NVIDIA-GpuModeSwitch-1OEM.xxx.0.0.xxxxxxx.x86_64.vib
-
Перезагрузите этот хост.
-
Измените все GPU на режим
graphics
:gpumodeswitch --gpumode graphics
-
Удалите
GpuModeSwitch
:esxcli software vib remove -n NVIDIA-VMware_ESXi_xxx_GpuModeSwitch_Driver
-
-
Установите GPU VIB:
esxcli software vib install -v /<path_to_vib>\NVIDIAVMware_ESXi_xxx_Host_Driver_xxx.xx-1OEM.xxx.0.0.xxxxxxx.vib
Если вы применяете ESXi 6.0, vSGA и vGPU имеют различные файлы VIB. Если вы используете ESXi 6.5, и vSGA, и vGPU оба используют один и тот же файл VIB.
-
Перезагрузитесь и выведите свой хост из режима сопровождения.
-
Если вы применяете карту nVidia и vSphere 6.5 или выше, в своём веб клиенте vSphere переместитесь в Host > Confgure > Hardware > Graphics > Host Graphics > Edit чтобы открыть окно Edit Host Graphics Settings.
-
Для vGPU выберите Shared Direct. Для vSGA Shared.
-
Если вы применяете vGPU с различными профилями для GPU, выберите Group VMs on GPU until full (GPU consolidation). В этом случае для различных GPU помещаются различные профили, причём те же самые профили помещаются в те же самые GPU пока они не заполнятся. Данный метод не допустит того, чтобы вам не хватило GPU для различных профилей.
Пример:
Данный хост имеет единственную карту M60, у которой есть два GPU. Каждый GPU имеет 8 ГБ оперативной памяти. Предпринимается попытка исполнения двух ВМ с буфером кадра 4 ГБ и четыре ВМ с 2 ГБ. Если первые две запускаемые машины имеют один и тот же профиль, они помещаются в различные GPU. Как результат, для оставшихся профилей не доступны никакие другие GPU. При использовании Group VMs on GPU until full (GPU consolidation) виртуальные машины с одним и тем же профилем запускаются в одном и том же GPU.
-
Установка и настройка хоста ESXi для MxGPU
-
Установите необходимую карту в свой хост ESXi.
-
Поместите этот хост в режим сопровождения.
-
В BIOS данного хоста ESXi убедитесь, что виртуализация ввода/ вывода с единым корнем (SR-IOV, single-root IO virtualization) включена и что разрешено одно из двух:
-
Поддержка технологии виртуализации Intel для прямого ввода/ вывода (Intel VT-d, Intel Virtualization Technology support for Direct I/O)
-
Устройство управления памятью ввода/ вывода AMD (IOMMU, AMD IO memory management unit)
-
-
Переместитесь в местоположение драйвера AMD FirePro VIB и установите утилиту VIB AMD:
cd /<path_to_vib>l
-
Сделайте эту утилиту VIB исполняемой и выполните её:
chmod +x mxgpu-install.sh && sh mxgpu-install.sh –i
-
В этом сценарии выберите тот вариант, который соответствует вашему кружению:
Enter the confguration mode([A]uto/[H]ybrid/[M]anual,default:A)A
-
Для общего числа виртуальных функций введите то число пользователей, которое вы хотите применять для работы на GPU:
Please enter number of VFs: (default:4): 8
-
Выберите, желаете ли вы оставлять производительность фиксированной и не зависящей от общего числа активных ВМ:
Do you want to enable Predictable Performance? ([Y]es/[N]o,default:N)N … Done The confguration needs a reboot to take effect
-
Выполните перезагрузку и выведите данный хост из режима сопровождения.
Установка и настройка хоста ESXi для vDGA
-
Установите необходимую карту в свой хост ESXi.
-
В настройках BIOS хоста ESXi убедитесь что включены Intel VT-d или AMD IOMMU.
-
Чтобы разрешить проброс GPU в своём веб клиенте vSphere, переместитесь Host > Confgure > Hardware > PCI Devices > Edit.
-
В своём окне All PCI Devices выберите GPU и выполните перезагрузку.
Настройте необходимые общие установки для своей виртуальной машины и затем настройте её в соответствии с тем типом графического ускорения, который вы применяете.
Общие установки для виртуальной машины
Hardware level - Рекомендуемым уровнем оборудования является самый наивысший из тех, что поддерживают ваши хосты. Самым минимумом является версия 11 аппаратного уровня.
CPU - Общее число требуемых ЦПУ зависит от варианта применения и определяется реальными рабочими нагрузками. В качестве некоторой отправной точки рассмотрим следующие значения:
Knowledge workers: 2
Power users: 4
Designers: 6
Memory - Объём требующейся оперативной памяти зависит от варианта использования и определяется реальной рабочей нагрузкой. В качестве некоторой начальной точки рассмотрим следующие значения:
Knowledge workers: 2 GB
Power users: 4 GB
Designers: 8 GB
Virtual network adapter - рекомендуемым виртуальным сетевым
адаптером является VMXNET3
.
Virtual storage controller - Рекомендуемым виртуальным диском
является LSI Logic SAS, однако, запрашиваемые рабочие нагрузки, применяющие локальные хранилища на основе флеш- памяти, могут
получить преимущества от применения VMware Paravirtual
.
прочие устройства - Мы рекомендуем удалять неиспользуемые устройства, такие как COM порт, порт принтера, DVD или гибкий диск.
Теперь, когда вы настроили все основные установки для своей виртуальной машины, настройте необходимые установки для своего типа графического ускорения.
Установки для виртуальной машины для vSGA
Если вы применяете vSGA, настройте свою виртуальную машину следующим образом:
-
Включите 3D графику выбрав Enable 3D Support.
-
Установите всё построение 3D изображений в Automatic или Hardware.
Automatic применяет аппаратное ускорение если тот хост, на котором запущена данная виртуальная машина имеет способное к этому и доступное оборудование GPU. Если аппаратура GPU недоступна, данная виртуальная машина применяет программное построение 3D для трёхмерных задач. Данный вариант Automatic позволяет запуск виртуальной машины или осуществить её миграцию (с применением vSphere vMotion) на любой хост (для версиии vSphere 5.0 и последующих) и применять наилучшее из имеющихся в данном хосте решений.
Hardware использует только аппаратные ускорения GPU. Если оборудование GPU отсутствует в данном хосте, такая виртуальная машина не запускается, либо вы не можете осуществить миграцию vSphere vMotion в реальном времени на такой хост. Миграция возможна до тех пор, пока тот хост, на который была перемещена эта виртуальная машина имеет возможности и доступность оборудования GPU. Данный вариант Hardware гарантирует, что некая виртуальная машина всегда применяет аппаратное построение 3D когда доступен некий GPU, однако он ограничивает такую виртуальную машину применением только хостов, которые имеют аппаратные GPU.
-
Выберите объём видео памяти (3D Memory).
3D Memory по умолчанию имеет значение 96 МБ, минимум в 64 МБ и максимум 512 МБ.
Установки для виртуальной машины для vGPU
Если вы применяете vGPU, настройте свою виртуальную машину следующим образом:
-
В имеющейся консоли vSphere выберите свою виртуальную машину и переместитесь к Edit Settings.
-
Добавьте совместно используемое устройство PCI в свою виртуальную машину и выберите соответствующее устройство PCI чтобы разрешить проброс GPU в эту виртуальную машину. В данном случае выберите NVIDIA GRID vGPU.
-
Выберите объём видео памяти (3D Memory).
3D Memory по умолчанию имеет значение 96 МБ, минимум в 64 МБ и максимум 512 МБ.
Самая последняя строка для профиля GPU (в данном примере
4q
) указывает необходимый размер буфера кадра (VRAM) в гигабайтах и соответствующую необходимую лицензию GRID. Для данной VRAN 0 означает 512 МБ, 1 означает 1024 МБ, и так далее. Таким образом, для данного профиля установленным размером является 4 ГБ. Возможными типами лицензий GRID являются:b - GRID Виртуального ПК виртуального GPU для вычислений настольного рабочего места для бизнеса.
a - GRID Виртуального приложения виртуального GPU для Remote Desktop Session Hosts.
q - GRID Виртуальная рабочая станция центра обработки данных Quadro (vDWS, Quadro Virtual Datacenter Workstation) для особых графических свойств и ускорений рабочих станций, таких как поддержка до четырёх мониторв 4K и сертифицированных драйверов для профессиональных приложений.
-
Кликните Reserve all memory, что выделит всю память при создании данной виртуальной машины.
Установки для виртуальной машины для MxGPU
Если вы применяете MxGPU или vDGA, настройте свою виртуальную машину следующим образом:
-
Для устройств с большим размером BAR (например, Tesla P40), вы должны применять vSphere 6.5 и установить следующие расширенные параметры настройки в этой ВМ:
-
frmware="efi"
-
pciPassthru.use64bitMMIO="TRUE"
-
pciPassthru.64bitMMIOSizeGB="64"
-
-
Добавьте некое устройство PCI (виртуальные функции представлены как устройства PCI) в эту виртуальную машину и выберите соответствующее устройство PCI для включения проброса GPU.
Для MxGPU вы также можете сделать это выполнив инсталяцию подключаемого модуля Radeon Pro Settings for the VMware vSphere Client.
Для добавления устройства PCI во множество виртуальных машин за один раз, из
ssh
:-
Проследуйте к драйверу VIB AMD FirePro и утилите установки VIB AMD:
cd /<path_to_vib>l
-
Измените
vms.cfg
:vi vms.cfg
Нажмите
I
и измените все вхождения.*
чтобы они соответствовали имеющимся названиям ваших ВМ, которым требуются GPU. Например, чтобы поставить соответствие*MxGPU*
всем именам ВМ, которые содержатMxGPU
, например,WIN10-MxGPU-001
илиWIN8.1-MxGPU-002
:.*MxGPU.*
Для сохранения и выхода нажмите
Esc
, наберите:wq
и нажмитеEnter
. -
Назначьте необходимые виртуальные функции соответствующим ВМ:
sh mxgpu-install.sh –a assign Eligible VMs: WIN10-MxGPU-001 WIN10-MxGPU-002 WIN8.1-MxGPU-001 WIN8.1-MxGPU-002 These VMs will be assigned a VF, is it OK?[Y/N]y
-
Нажмите
Enter
.
-
-
Выберите Reserve all guest memory (All locked).
Установите и настройте необходимую гостевую операционную систему.
Гостевая операционная система Windows
Для гостевой операционной системы Windows установки и настройки таковы:
-
Установите саму ОС Windows 7, 10 или 2012 R2 {Прим. пер.: или 2016} и все обновления.
-
Также рекомендуются следующие установки:
-
Установите все обычные исполняемые модули и свойства Windows.
Перед обновлением Windows в этой ВМ установите все необходимые версии исполняемых модулей Microsoft, которые исправлены Обновлением Windows и которые могут исполняться совместно с этим образом. Например, установите:
-
.NET Framework (3.5, 4.5 и так далее)
-
Visual C++ без ограничений на свободное распространение x86 / x64 (2005 SP1, 2008, 2012 и тому подобные)
-
-
Установите обновления Microsoft
Установите все обновления Microsoft Windows и прочих продуктов Microsoft при помощи Windows Update или Windows Server Update Service. Вам может вначале потребоваться установить вручную Windows Update Client for Windows 8.1 and Windows Server 2012 R2: March 2016.
-
Выполните регулировку Windows с помощью VMware OS Optimization Tool, применяя установленные по умолчанию опции.
-
-
Если вы не применяете vSGA:
-
Получите необходимые драйверы от производителя данного GPU (для vGPU это соответствующая пара с необходимым файлом VIB).
Установите требующийся драйвер устройства GPU в своей гостевой операционной системе рассматриваемой виртуальной машины. Для MxGPU убедитесь, что выбрана соответствующая опция GPU Server.
-
-
Установите VMware Tools™ и Horizon Agent (выберите 3D RDSH feature for Windows 2012 R2 Remote Desktop Session Hosts) в своей гостевой операционной системе.
-
Выполните перезагрузку данной системы.
Гостевая операционная система RHEL (vGPU и vDGA)
Для гостевой операционной системы Red Hat Enterprise Linux установки и настройки таковы:
-
Установите Red Hat Enterprise Linux 6.9 или 7.4 x64, установите все обновления и выполните перезагрузку.
-
Установите
gcc
,makefles
ядра и заголовки:sudo yum install gcc-c++ kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
-
Отключите
libvirt:
sudo systemctl disable libvirtd.service
-
Запретите новый драйвер с открытым исходным кодом:
-
С помощью
vi
откройте следующий файл настроек:sudo vi /etc/default/grub
Если вы применяете RHEL 6.x:
sudo vi /boot/grub/grub.conf
-
Найдите ту строку, которая содержит
GRUB_CMDLINE_LINUX
и добавьте в эту строкуblacklist=nouveau
. -
Добавьте строку
blacklist=nouveau
в любое место в следующий файл настроек:sudo vi /etc/modprobe.d/blacklist.conf
-
-
Создайте новые файлы
grub.cfg
иinitramfs
:sudo grub2-mkconfg -o /boot/grub2/grub.cfg sudo dracut /boot/initramfs-$(uname -r).img $(uname -r) -f
-
Выполните перезагрузку.
-
Установите необходимый драйвер nVidia и ответьте на все вопросы:
init 3 chmod +x NVIDIA-Linux-x86_64-xxx.xx-grid.run sudo ./NVIDIA-Linux-x86_64-xxx.xx-grid.run
-
(Не обязательно) Установите CUDA Toolkit (рекомендуется исполнить файл метода), но не устанавливайте входящий в состав драйвер.
-
Добавьте информацию сервера лицензий:
sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf sudo vi /etc/nvidia/gridd.conf
Установите
ServerAddress
иBackupServerAddress
в имена DNS или IP адреса ваших серверов лицензий, аFeatureType
в1
для vGPU и в2
для vDGA. -
Установите Horizon Agent:
tar -zxvf VMware-horizonagent-linux-x86_64-7.3.0-6604962.tar.gz cd VMware-horizonagent-linux-x86_64-7.3.0-6604962 sudo ./install_viewagent.sh
Ниже приводится моментальный снимок экрана окна установок nVidia X сервера, отображающего результаты установки и настройки гостевой оперативной системы Red Hat Enterprise Linux.
В процессе создания новой фермы в Horizon 7, настройка 3D фермы в точности такая же как и в случае обычной фермы. В процессе настройки нового пула View рабочих мест в Horizon 7, настраивайте такой пул как обычно, пока не достигните раздела Desktop Pool Settings.
-
В появившемся окне Add Desktop Pool переместитесь к разделу Remote Display Protocol.
-
Для опции 3D Renderer выберите одно из:
-
для vSGA выберите Hardware или Automatic.
-
Для vDGA или MxGPU выберите Hardware.
-
Для vGPU выберите NVIDIA GRID VGPU.
Automatic применяет аппаратное ускорение если тот хост, на котором запущена данная виртуальная машина имеет способное к этому и доступное оборудование GPU. Если аппаратура GPU недоступна, данная виртуальная машина применяет программное построение 3D для трёхмерных задач. Данный вариант Automatic позволяет запуск виртуальной машины или осуществить её миграцию (с применением vSphere vMotion) на любой хост (для версиии vSphere 5.0 и последующих) и применять наилучшее из имеющихся в данном хосте решений.
Hardware использует только аппаратные ускорения GPU. Если оборудование GPU отсутствует в данном хосте, такая виртуальная машина не запускается, либо вы не можете осуществить миграцию vSphere vMotion в реальном времени на такой хост. Миграция возможна до тех пор, пока тот хост, на который была перемещена эта виртуальная машина имеет возможности и доступность оборудования GPU. Данный вариант Hardware гарантирует, что некая виртуальная машина всегда применяет аппаратное построение 3D когда доступен некий GPU, однако он ограничивает такую виртуальную машину применением только хостов, которые имеют аппаратные GPU.
-
Для Horizon 7 версии 7.0 или 7.1 настраивайте тот объём памяти VRAM, который вам нужно иметь в каждой виртуальной машине. Если вы применяете vGPU, также выберите тот профиль, который необходимо применять. В Horizon 7 версии 7.1 вы можете применять vGPU в клонированных экземплярах, однако определённый профиль должен соответствовать тому набору профиля, который имеет родительская ВМ при применении веб клиента vSphere.
3D memory по умолчанию имеет значение 96 МБ, минимальное значение 64 МБ и максимальное значение в 512 МБ.
Для Horizon 7 версии 7.2 и последующих версий размер видео памяти и профиль vGPU наследуются из ВМ или моментального снимка ВМ.
Для vGPU с GRID 2.0 вам необходимо установить сервер лицензий. Ознакомьтесь с GRID Virtual GPU User Guide, включённым в вашу загрузку драйвера nVidia.
Для мониторинга ресурсов при применении графического ускорения доступны различные инструменты мониторинга.
Для лучшего управления доступными в некотором хосте ESXi ресурсами GPU, изучите текущее выделение ресурсов
GPU. Утилита опроса из командной строки ESXi gpuvm
перечисляет все
установленные в хосте ESXi GPU и отображает общий объём памяти GPU, который выделен каждой виртуальной машине
в этом хосте.
gpuvm
Xserver unix:0, GPU maximum memory 2076672KB
pid 118561, VM "Test-VM-001", reserved 131072KB of GPU memory pid 664081, VM "Test-VM-002", reserved 261120KB of GPU memory GPU memory left 1684480KB
Чтобы получить суммарные результаты всех работающих в настоящее время vGPU в каждом физическом GPU в данной системе
исполните nvidia-smi
без аргументов.
Thu Oct 5 09:28:05 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.73 Driver Version: 384.73 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla P40 On | 00000000:84:00.0 Off | Off |
| N/A 38C P0 60W / 250W | 12305MiB / 24575MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 135930 M+C+G manual 4084MiB |
| 0 223606 M+C+G centos3D004 4084MiB |
| 0 223804 M+C+G centos3D003 4084MiB |
+-----------------------------------------------------------------------------+
Для мониторинга применения механизма vGPU среди множества vGPU выполните nvidia-smi vgpu
с опцией –u
или --utilization
:
nvidia-smi vgpu -u
Ниже приводится статистика применения, которая выдаётся в виде отчётов каждую секунду для всех vGPU.
#GPU | VGPU | SM | MEM | ENC | DEC |
---|---|---|---|---|---|
#IDX | ID | % | % | % | % |
0 |
11924 |
6 |
3 |
0 |
0 |
1 |
11903 |
8 |
3 |
0 |
0 |
2 |
11908 |
10 |
4 |
0 |
0 |
Обозначения:
gpu – GPU ID
vgpu – vGPU ID
sm – Вычисления
mem – Полоса пропускания контроллера памяти
enc - Видео кодирование
dec - Видео декодирование
Попробуйте данные технологии поиска и исправления неисправностей для решения общих проблем или определённых симптомов.
Если возникают некие проблемы с vSGA, vGPU, or vDGA, либо если Xorg отказывается запускаться, попробуйте в любом порядке одно или более из приводимых ниже решений.
Убедитесь в том, что загрузились надлежащие драйверы GPU
Чтобы проверить, что необходимый VIB GPU установлен, выполните одну из следующих команд:
-
Для GPU на базе AMD:
#esxcli software vib list | grep fglrx
-
Для GPU на базе nVidia:
#esxcli software vib list | grep NVIDIA
Если VIB установлен верно, получаемый вывод будет примерно таким:
NVIDIA-VMware 304.59-1-OEM.510.0.0.799733 NVIDIA VMwareAccepted 2012-11-14
Чтобы убедиться, что загружен необходимый драйвер GPU, выполните одну из следующих команд:
-
Для GPU на базе AMD:
#esxcli system module load –m fglrx
-
Для GPU на базе nVidia:
#esxcli system module load –m nvidia
Если драйвер загружен корректно, получаемый вывод будет примерно таким:
Unable to load module /usr/lib/vmware/vmkmod/nvidia: Busy
Если драйвер GPU не загружен, проверьте vmkernel.log
:
# vi /var/log/vmkernel.log
Для оборудования AMD отыщите FGLRX
. Для аппаратуры nVidia выполните
поиск NVRM
. Обычно проблемы с соответствующими GPU указываются
в vmkernel.log
.
Проверьте присутствие дисплейных устройств в данном хосте
Чтобы убедиться, что ваш графический адаптер установлен правильно, выполните в хосте ESXi следующую команду:
# esxcli hardware pci list –c 0x0300 –m 0xff
Получаемый вывод должен быть сродни приводимому ниже, даже если некоторые частности будут отличаться:
# vi /var/log/vmkernel.log
000:001:00.0
Address: 000:001:00.0
Segment: 0x0000
Bus: 0x01
Slot: 0x00
Function: 0x00
VMkernel Name:
Vendor Name: NVIDIA Corporation
Device Name: NVIDIA Quadro 6000
Confgured Owner: Unknown
Current Owner: VMkernel
Vendor ID: 0x10de
Device ID: 0x0df8
SubVendor ID: 0x103c
SubDevice ID: 0x0835
Device Class: 0x0300
Device Class Name: VGA compatible controller
Programming Interface: 0x00
Revision ID: 0xa1
Interrupt Line: 0x0b
IRQ: 11
Interrupt Vector: 0x78
PCI Pin: 0x69
Проверьте порядковый номер слота шины PCI
Если вы устанавливаете в свой сервер второй GPU с меньшими аппаратными возможностями, ваша консоль сеанса ESXi выбирает карту с расширенными возможностями. Если это произошло, поменяйте эти две платы слотами PCIe, либо измените первичные установки GPU в BIOS своего сервера. После этого карта для вашей консоли (с меньшими возможностями) станет первой.
Проверьте регистрационные записи Xorg
Если в предыдущих методах обнаружения неисправностей все устройства присутствуют как нужно, просмотрите соответствующий файл регистрации Xorg чтобы обнаружить наличие заметных проблем:
# vi /var/log/Xorg.log
Двнный раздел описывает решения определённых проблем, которые могут возникать при развёртывании решения графического ускорения.
Проблема:
При запуске виртуальной машины получаем ошибку sched.mem.min
Решение:
Проверьте sched.mem.min
.
Если вы получаете некую ошибку vSphere, связанную с sched.mem.min
, добавьте
в соответствующий файл VMX
данной виртуальной машины следующий параметр:
sched.mem.min = "4096"
Замечание:
Значение в кавычках из предыдущего примера, 4096
, должно соответствовать
общему объёму настроенной памяти виртуальной машины. Пример приводится для виртуальной машины с 4 ГБ оперативной
памяти.
Проблема:
В Windows 10 доступен для применения только один дисплей для профилей vGPU -0B
или -0Q
.
Решение:
Примените профиль, который поддерживает более одного заголовка виртуального дисплея и имеет по крайней мере 1 ГБ кадрового буфера.
Для предотвращения возможности исчерпания памяти, профили vGPU с кадровым буфером в 512 МБ или менее поддерживают только один заголовок виртуального дисплея для гостевой ОС Windows.
Проблема:
Невозможно применять NVENC
с профилямиvGPU -0B
или -0Q
.
Решение:
Если вам необходимо включить NVENC
, воспользуйтесь профилем, который имеет
по крайней мере 1 ГБ кадрового буфера.
Применение соответствующего кадрового буфера для базирующегося на аппаратных средствах nVidia видео кодирования
H.264 / HEVC (NVENC
) может вызывать исчерпание оперативной памяти в профилях
vGPU, которые имеют 512 МБ или менее в своём кадровом буфере. Для уменьшения возможности такого исчерпания памяти
NVENC
отключается в профилях, которые имеют в своём кадровом буфере 512 МБ
или менее.
Проблема:
Невозможно загрузить драйвер vGPU в гостевой операционной системе.
В зависимости от используемых в дагном драйвере версий, журнал регистраций ВМ vSphere сообщает одну из следующих ошибок.
-
Несоответствие версий между драйверами гостя и хоста:
vthread-10| E105: vmiop_log: Guest VGX version(2.0) and Host VGX version(2.1) do not match
-
Несоответствие подписи:
vthread-10| E105: vmiop_log: VGPU message signature mismatch
Решение:
Установите самый последний выпуск драйвера nVidia vGPU, соответствующий установленному в ESXi VIB в данной ВМ.
Проблема:
vGPU на основе Tesla отказывается запускаться.
Решение:
Отключите код исправления ошибок (ECC, error-correcting code) для всех GPU.
GPU Tesla поддерживают код коррекции ошибок, а vGPU GRID nVidia его не поддерживают. Если включена память с ECC, vGPU GRID nVidia отказывает в запуске. В файле журнала регистрации ВМ VMware vSphere протоколируются следующая ошибка:
vthread10|E105: Initialization: VGX not supported with ECC Enabled.
-
Воспользуйтесь
nvidia-smi
для перечисления имеющихся состояний всех GPU -
Проверьте включён ли в этих GPU ECC.
-
Измените состяние ECC в Off во всех GPU, в которых он включён выполнив следующую команду:
nvidia-smi -i id -e 0 (id is the index of the GPU as reported by nvidia-smi)
-
Перезагрузите данный хост.
Проблема:
Отдельные результаты эталонного тестирования vGPU ниже чем у такого GPU при пробросе.
Решение:
Запретите Ограничитель частоты кадров (FRL, Frame Rate Limiter), добавив параметр настройки
pciPassthru0.cfg.frame_rate_limiter
со значением
0
в расширенных опциях настройки такой ВМ.
Для гарантии сбалансированной производительности во множестве vGPU, которые расположены в одном и том же физическом GPU FRL разрешён во всех vGPU. FRL разработан с целью предоставления хорошей практики удалённого взаимодействия с графикой, однако он может уменьшать результаты эталонного тестирования, которые зависят от измерения частоты прорисовки кадров в сопоставлении с теми же самыми эталонными тестами при пробросе этого GPU.
Проблема:
Настроенная с большим объёмом оперативной памяти отказывает в инициализации vGPU при загрузке.
При запуске множества ВМ, настроенных с большими объёмами Оперативной памяти (как правило, более 32 ГБ на ВМ), ВМ может отказывать в инициализации имеющегося vGPU. GPU GRID nVidia представлен в Диспетчере устройств Windows, однако дисплеи выставляют предупреждение и следующее состояние устройства:
Windows has stopped this device because it has reported problems. (Code 43)
Файл протокола ВМ vSphere содержит эти соображения об ошибке:
nvidia-smi -i id -e 0 (id is the index of the GPU as reported by nvidia-smi)vthread10|E105: NVOS status 0x29
vthread10|E105: Assertion Failed at 0x7620fd4b:179
vthread10|E105: 8 frames returned by backtrace
...
vthread10|E105: VGPU message 12 failed, result code: 0x29
...
vthread10|E105: NVOS status 0x8
vthread10|E105: Assertion Failed at 0x7620c8df:280
vthread10|E105: 8 frames returned by backtrace
...
vthread10|E105: VGPU message 26 failed, result code: 0x8
Решение:
vGPU резервирует некую часть общего кадрового буфера ВМ для применения в соответствии GPU системной памяти ВМ. Установленного по умолчанию резервирования достаточно для поддержки до 32 ГБ системной памяти. Вы можете выделять до 64 ГБ добавив такой параметр настройки:
pciPassthru0.cfg.enable_large_sys_mem
со значением 1
в опциях расширенных настроек такой ВМ.
VMware Horizon 7 предлагает три технологии для аппаратного графического ускорения, каждая из них имеет собственные преимущества.
-
Virtual Shared Pass-Through Graphics Acceleration (MxGPU или vGPU) - Наилучшим образом соответствует почти всем вариантам использования.
-
Virtual Shared Graphics Acceleration (vSGA) - Для лёгких графических рабочих нагрузок которые применяют только DirectX9 или OpenGL 2.1 и требующих максимального уровня уплотнения.
-
Virtual Dedicated Graphics Acceleration (vDGA) - Для интенсивных графических рабочих нагрузок, которым необходим максимальный уровень производительности.
при помощи информации данной статьи вы можете устанавливать, настраивать 3D рабочие нагрузки и управлять ими в Horizon 7 версий 7.x под vSphere 6.x.
Установка графики для рабочих мест Linux Setting Up Horizon 7 for Linux Desktops.
Настройка пулов рабочих мест > Настройка построения 3D изображений рабочих станций Setting Up Virtual Desktops in Horizon 7.
Данная статья была обновлена Хилко Лантинга, который является проектировщиком вычислений конечных пользователей в техническом маркетинге VMware и сосредоточен на 3D, Horizon 7 Windows рабочих мест desktops, а также RDSH, Linux и приложениях. Изначально он был главным консультантом в Профессиональной службе VMware, руководителем крупномасштабных оснащений EUС в EMEA. Хилко имеет 18-ти летний опыт вычислений конечных пользователей.
Самая первая версия данной статьи была написана Стефаном Асселином и Гарри Слоаном.
С комментариями по данной статье обращайтесь к техническому маркетингу вычислений конечных пользователей VMware по euc_tech_content_feedback@vmware.com.