- Развертывание Microsoft RemoteFX
- Введение
- Аппаратные требования, необходимые для работы RemoteFX
- Установка и настройка RemoteFX
- Заключение
- Deploy graphics devices using RemoteFX vGPU
- RemoteFX vGPU requirements
- Enable RemoteFX vGPU
- Configure the RemoteFX vGPU 3D adapter
- Configure RemoteFX vGPU with Hyper-V Manager
- Configure RemoteFX vGPU with PowerShell cmdlets
- Monitor performance
- Host system memory
- Host GPU video memory
- Host CPU
- GPU processing power
Развертывание Microsoft RemoteFX
Посетителей: 32385 | Просмотров: 49765 (сегодня 0)
Введение
Еще не успел выйти для операционных систем Windows 7 и Windows Server 2008 R2 пакет обновления 1, а уже все знают об основных новшествах, которые принесет нам Windows Server 2008 R2 SP1, а именно Dynamic Memory и RemoteFX. По данным технологиям уже практически каждый имеет представление о том, что же собой представляют эти нововведения. За последние полтора-два месяца этого года, если я не ошибаюсь, каждый ИТ-профессионал уже видел, по меньшей мере, с десяток докладов по данным технологиям, в том числе доклады Тэда Броквэя, Игоря Шаститко, Андрея Бешкова (на докладах Андрея и Игоря мне даже удалось побывать). В этой статье я не буду уделять много внимания маркетинговым целям, так как вы прекрасно знаете, для чего предназначены эти технологии. Данная статья посвящена настройке RemoteFX на хосте сервера удаленных рабочих столов. Но все же, скажу буквально пару слов о данной технологии…
Технология Microsoft RemoteFX представляет собой новый, усовершенствованный набор возможностей удаленного виртуального рабочего стола Windows Server 2008 R2 SP1, позволяющий виртуализировать серверный видеоадаптер, делая его доступным для виртуальных рабочих столов. Данную функциональную возможность вы можете включить при установке серверной роли «Службы удаленных рабочих столов». После того как RemoteFX будет установлен, пользователи смогут подключаться с удаленных компьютеров к виртуальным машинам, наблюдая при этом полнофункциональные графические эффекты на рабочем столе виртуальной машины, включая DirectX. Эффективно используя возможности кодеков и виртуализированных графических ресурсов хостовой машины, RemoteFX позволяет поддерживать любое приложение, в среде виртуальных рабочих столов, включая 3D ускорители. Таким образом, RemoteFX усовершенствует возможности протокола удаленного рабочего стола (RDP) в службах удаленных рабочих столов Windows Server 2008 R2. Благодаря данной технологии, а именно, аппаратной поддержке видеоадаптера на хосте VDI, виртуальные машины, которые развертываются на базе платформы Hyper-V в Windows Server 2008 R2, даже самые передовые и требовательные к графическим ресурсам приложения будут работать прозрачно для конечного пользователя.
В этой статье вы узнаете о том, как можно настроить сервер удаленных рабочих столов и виртуальную машину с клиентской операционной системой Windows 7 для полноценного использования графического адаптера на виртуальной машине.
Аппаратные требования, необходимые для работы RemoteFX
Для полноценного использования технологии RemoteFX, прежде всего вы должны придерживаться следующий аппаратных требований:
SLAT-совместимый процессор. Процессор сервера RemoteFX должен поддерживать преобразование адреса второго уровня (Second-Level Address Translationб SLAT). Для процессоров Intel данная функция называется Extended Page Tables (EPT), а для процессоров AMD — Nested Page Tables (NPT);
Графический процессор. Для использования функционала RemoteFX на сервере требуется наличие хотя бы одного графического процессора (GPU), драйвер которого должен поддерживать DirectX 9.0 и DirectX 10.0, с достаточным количеством видеопамяти, отделенной от системной памяти. В том случае, если на сервере установлено более одного видеоадаптера, они должны быть идентичны;
Кодировщик RemoteFX. Наличие кодировщика RemoteFX не является обязательным требованием, но его установка на сервере RemoteFX влияет на дополнительную масштабируемость;
Hyper-V. Сервер должен полностью соответствовать минимальным требованиям для использования роли Hyper-V.
Установка и настройка RemoteFX
Перед установкой RemoteFX вам следует убедиться, что у вас на сервере уже развернута роль Hyper-V, а также поднята виртуальная машина с операционной системой Windows 7. Желательно, чтобы ваш сервер и виртуальная машины находились в одной подсети, а на виртуальной машине включен удаленный рабочий стол. После того как все эти предварительные действия будут выполнены, вам следует начать устанавливать RemoteFX. Сделать это вы можете следующим образом:
- Войдите на сервер под учетной записью администратора. Как и все серверные роли, роль сервера удаленных рабочих столов с RemoteFX устанавливается средствами графического интерфейса при помощи «Диспетчера сервера»;
- Откройте консоль «Диспетчер сервера». Если после загрузки операционной системы окно диспетчера сервера не открылось, в меню «Пуск» откройте подменю «Администрирование», а затем выберите команду «Диспетчер сервера». В окне консоли «Диспетчер сервера» нажмите на кнопку «Добавить роли» в разделе «Сводка по ролям». Также вы можете в дереве консоли нажать правой кнопкой мыши на узле «Роли» и из контекстного меню выбрать команду «Добавить роли»;
- Откроется диалоговое окно «Мастер добавления ролей». На первой странице мастера вы можете узнать краткую информацию о назначении данного мастера. Если вы не хотите впредь видеть этот шаг, установите флажок на опции «Пропустить эту страницу по умолчанию». Ознакомьтесь с информацией, приведенной на этом шаге, после чего нажмите на кнопку «Далее»;
- На странице «Выбор ролей сервера» вам предоставляется выбор ролей, которые будут установлены на вашем сервере. Одновременно вы можете выбрать как одну, так и несколько ролей. В данном случае установите флажок на опции «Службы удаленных рабочих столов», ознакомьтесь с информацией, указанной в области «Описание» и нажмите на кнопку «Далее»;
Рис. 1. Страница «Выбор ролей сервера» мастера добавления ролей
Рис. 2. Страница «Выбор служб ролей»
На странице «Подтверждение выбранных элементов для установки» просмотрите сводную информацию и нажмите на кнопку «Установить»;
Рис. 3. Страница «Подтверждение выбранных элементов для установки»
На странице «Ход выполнения установки» мастер добавления ролей предоставляет вам возможность следить за процессом установки выбранных ролей. Для завершения установки роли «Службы удаленных рабочих столов», мастер добавления ролей проинформирует вас о том, что необходимо перезагрузить компьютер. Закройте диалог «Мастер добавления ролей», используя кнопку «Закрыть». После того как вы нажмете на кнопку «Закрыть», мастер предложит перезагрузить сервер самостоятельно. Нажав на кнопку «Да», сервер будет автоматически перезагружен для завершения установки роли. Если же вам нужно до перезагрузки выполнить еще какие-то действия, нажмите на кнопку «Нет», но тогда вам нужно будет перезагрузить сервер вручную;
Рис. 4. Страница «Ход выполнения установки» мастера добавления ролей
Во время перезагрузки сервера роль «Службы удаленных рабочих столов» устанавливается подобно обычным системным обновлениям. Для полного завершения установки, войдите в систему с той же учетной записью, при помощи которой вы устанавливали данную роль. Перед вами в последний раз откроется мастер добавления ролей со страницей «Результаты установки», где вы можете увидеть, нормально ли прошла установка роли. Нажмите на кнопку «Закрыть».
Рис. 5. Завершение установки роли Службы удаленных рабочих столов
После того как будет установлена роль удаленных рабочих столов с компонентами RemoteFX и Core Services вам нужно установить cap драйвер RemoteFX. Для этого вам нужно на своем сервере открыть окно командной строки от имени администратора и ввести dism /online /enable-feature /featurename:Microsoft-Windows-RemoteFX-EmbeddedVideoCap-Setup-Package, как показано ниже:
Рим. 6. Установка cap драйвера RemoteFX
После того как драйвер будет установлен вам предстоит еще раз перезагрузить свой сервер. Вы можете это сделать непосредственно из окна командной строки, введя «Y» или выполнить перезагрузку самостоятельно.
Следующим шагом, после установки cap драйвера является установка видеоадаптера RemoteFX на виртуальную машину. Для этого выполните следующие действия:
- Выключите виртуальную машину, перейдите в «Диспетчер Hyper-V», выберите текущую виртуальную машину, нажмите на ней правой кнопкой мыши и из контекстного меню выберите опцию «Параметры»;
- В диалоговом окне «Настройки для %имя_виртуальной_машины%», в группе «Установка оборудования» выберите добавляемое устройство «Трехмерный видеоадаптер RemoteFX» и нажмите на кнопку «Добавить»;
Рис. 7. Диалоговое окно настроек виртуальной машины
На вкладке «Трехмерный видеоадаптер RemoteFX» вы можете задать максимальное число поддерживаемых мониторов и максимальное разрешение экрана для каждого монитора, как на следующей иллюстрации:
Рис. 8. Вкладка «Трехмерный видеоадаптер RemoteFX» диалога настроек виртуальной машины
Для того чтобы проверить функциональность использования технологии RemoteFX на виртуальной машине, откройте приложение «Подключение к удаленному рабочему столу», подключитесь к виртуальной машине и запустите мощное графического приложение. Пример использование такого приложения отображен на следующей иллюстрации:
Рис. 10. Использование RemoteFX
Заключение
В этой статье вы узнали о том, как можно установить и настроить компонент роли «Службы удаленных рабочих столов» – RemoteFX. Вкратце вы узнали об аппаратных требованиях, а также подробно была рассмотрена установка роли «Службы удаленных рабочих столов» с данным компонентом. Помимо этого вы узнали, как можно настроить виртуальную машину для использования данной технологии.
Deploy graphics devices using RemoteFX vGPU
Applies to: Windows Server 2016, Microsoft Hyper-V Server 2016
Because of security concerns, RemoteFX vGPU is disabled by default on all versions of Windows starting with the July 14, 2020 Security Update and removed starting with the April 13, 2021 Security Update. To learn more, see KB 4570006.
The vGPU feature for RemoteFX makes it possible for multiple virtual machines to share a physical GPU. Rendering and compute resources are shared dynamically among virtual machines, making RemoteFX vGPU appropriate for high-burst workloads where dedicated GPU resources are not required. For example, in a VDI service, RemoteFX vGPU can be used to offload app rendering costs to the GPU, with the effect of decreasing CPU load and improving service scalability.
RemoteFX vGPU requirements
Host system requirements:
- Windows Server 2016
- A DirectX 11.0-compatible GPU with a WDDM 1.2-compatible driver
- A CPU with Second Level Address Translation (SLAT) support
Guest VM requirements:
Additional considerations for guest VMs:
- OpenGL and OpenCL functionality is only available in guests running Windows 10 or Windows Server 2016.
- DirectX 11.0 is only available for guests running Windows 8 or later.
Enable RemoteFX vGPU
To configure RemoteFX vGPU on your Windows Server 2016 host:
- Install the graphics drivers recommended by your GPU vendor for Windows Server 2016.
- Create a VM running a guest OS supported by RemoteFX vGPU. To learn more, see RemoteFX 3D Video Adapter (vGPU) support.
- Add the RemoteFX 3D graphics adapter to the VM. To learn more, see Configure the RemoteFX vGPU 3D adapter.
By default, RemoteFX vGPU will use all available and supported GPUs. To limit which GPUs the RemoteFX vGPU uses, follow these steps:
- Navigate to the Hyper-V settings in Hyper-V Manager.
- Select Physical GPUs in Hyper-V Settings.
- Select the GPU that you don’t want to use, and then clear Use this GPU with RemoteFX.
Configure the RemoteFX vGPU 3D adapter
You can use either the Hyper-V Manager UI or PowerShell cmdlets to configure the RemoteFX vGPU 3D graphics adapter.
Configure RemoteFX vGPU with Hyper-V Manager
Stop the VM if it’s currently running.
Open Hyper-V Manager, navigate to VM Settings, then select Add Hardware.
Select RemoteFX 3D Graphics Adapter, then select Add.
Set the maximum number of monitors, maximum monitor resolution, and dedicated video memory, or leave the default values.
- Setting higher values for any of these options will impact your service scale, so you should only set what is necessary.
- When you need to use 1 GB of dedicated VRAM, use a 64-bit guest VM instead of 32-bit (x86) for best results.
Select OK to finish the configuration.
Configure RemoteFX vGPU with PowerShell cmdlets
Use the following PowerShell cmdlets to add, review, and configure the adapter:
Monitor performance
The performance and scale of a RemoteFX vGPU-enabled service are determined by a variety of factors such as number of GPUs on your system, total GPU memory, amount of system memory and memory speed, number of CPU cores and CPU clock frequency, storage speed, and NUMA implementation.
Host system memory
For every VM enabled with a vGPU, RemoteFX uses system memory both in the guest operating system and in the host server. The hypervisor guarantees the availability of system memory for a guest operating system. On the host, each vGPU-enabled virtual desktop needs to advertise its system memory requirement to the hypervisor. When the vGPU-enabled virtual desktop starts, the hypervisor reserves additional system memory in the host.
The memory requirement for the RemoteFX-enabled server is dynamic because the amount of memory consumed on the RemoteFX-enabled server is dependent on the number of monitors that are associated with the vGPU-enabled virtual desktops and the maximum resolution for those monitors.
Host GPU video memory
Every vGPU-enabled virtual desktop uses the GPU hardware video memory on the host server to render the desktop. In addition, a codec uses the video memory to compress the rendered screen. The amount of memory needed for rendering and compression is directly based on the number of monitors provisioned to the virtual machine. The amount of reserved video memory varies based on the system screen resolution and how many monitors there are. Some users require a higher screen resolution for specific tasks, but there’s greater scalability with lower resolution settings if all other settings remain constant.
Host CPU
The hypervisor schedules the host and VMs on the CPU. The overhead is increased on a RemoteFX-enabled host because the system runs an additional process (rdvgm.exe) per vGPU-enabled virtual desktop. This process uses the graphics device driver to run commands on the GPU. The codec also uses the CPU to compress screen data that needs to be sent back to the client.
More virtual processors mean a better user experience. We recommend allocating at least two virtual CPUs per vGPU-enabled virtual desktop. We also recommend using the x64 architecture for vGPU-enabled virtual desktops because the performance on x64 virtual machines is better compared to x86 virtual machines.
GPU processing power
Every vGPU-enabled virtual desktop has a corresponding DirectX process that runs on the host server. This process replays all graphics commands it receives from the RemoteFX virtual desktop onto the physical GPU. This is like running multiple DirectX applications at the same time on the same physical GPU.
Usually, graphics devices and drivers are tuned to run only a few applications on the desktop at a time, but RemoteFX stretches the GPUs to go even further. vGPUs come with performance counters that measure the GPU response to RemoteFX requests and help you make sure the GPUs aren’t stretched too far.
When a GPU is low on resources, read and write operations take a long time to complete. Administrators can use performance counters to know when to adjust resources and prevent downtime for users.
Learn more about performance counters for monitoring RemoteFX vGPU behavior at Diagnose graphics performance issues in Remote Desktop.