Автор статьи — Роман Левченко (www.rlevchenko.com), MVP — Cloud and Datacenter Management

Продолжаем погружаться в новшества RDS Windows Server 2016.
Первая часть была посвящена новому типу развертывания RDS – MultiPoint Services.
Сегодня будем говорить о не менее прекрасном, а именно Personal Session Desktop и других нововведениях, которые расширяют и дополняют имеющуюся функциональность RDS в средах Windows Server 2012 и Windows Server 2012 R2.

Еще раз отмечу, что на данный момент отталкиваемся от той версии Windows Server 2016, которая официально доступна и открыта для использования – Technical Preview 4. В RTM-версии, возможно, будут изменения, о которых непременно оповестим.

Приступим.


Personal Session Desktop


Если Вы сервис-провайдер и хотите предоставить полноценный «десктоп» своим клиентам, то в текущих условиях сценарий VDI и SPLA (Service Provider License Agreement) являются непреодолимой стеной ну пути решения поставленной задачи. Согласно SPLA, нельзя предоставлять инфраструктуру VDI, построенную на базе клиентских ОС, «облачным» пользователям.

Хабр любит доказательства, поэтому привожу цитаты из официальных руководств по лицензированию DaaS (Desktop As A Service).

SPLA (январь, 2016):


Desktops delivered as a service are supported under SPLA using Windows Server and Remote Desktop Services (RDS). The Windows Desktop Operating System cannot be used to provide a hosted client, hosted graphical user interface or desktop as a service.


Руководство по лицензированию «Microsoft Desktop as a Service»:


No option is available in the SPLA to provide a hosted virtual desktop using the Windows Desktop Operating System; however this is possible to do through Dedicated Outsourcing

Под Dedicated Outsourcing понимается ситуация, когда клиент лицензируется через VL, и Вы, как сервис-провайдер, предоставляете выделенные физические ресурсы под VDI на базе клиентских ОС. Важно отметить, что этот сценарий так же не даёт нам право на предоставление ресурсов по схеме one to many (1 апп. сервер <-> много клиентов). Только соотношение 1:1. По сути, мы отдаём пару юнитов в нашем шкафу в аренду одному и только одному клиенту.



Для обхода подобных ограничений, как правило, строится система на базе классических терминальных решений (session-based архитектура, конечно, с desktop experience на борту) и отдаётся на «растерзание» клиентам или пользователям.

В Windows Server 2016 решили это дело упростить и добавить метод «привязки» пользователей к конкретным терминальным узлам (в рамках RDS это узлы Remote Desktop Session Host, RDSH). В итоге, получаем новый вид RDS-коллекции — Personal Session Desktops (PSD) или частные рабочие столы на базе терминальных сессий. Очевидно, что можно провести аналогию с Personal Virtual Desktops в VDI, предназначенные так же для выделения «изолированной» среды пользователям.

Давайте посмотрим на пару сценариев, которые успешно решаются благодаря PSD:
  • Если пользователю для работы требуется, чтобы ОС имела все возможности и внешний вид «как у клиентской» (к примеру, Windows 10), то полноценной заменой его рабочего стола будет PSD с установленными компонентами Desktop Experience, которые позволяют добиться внешнего вида интерфейса Windows Server близкого к обычной клиентской ОС.
  • Если пользователь имеет административные полномочия на своём привычном ПК, и вы хотите перевести его на PSD, то это возможно сделать путем добавления пользователя в группу локальных администраторов (определяется на этапе развертывания PSD, «ручной труд» не требуется)
  • Если пользователь не видит свою дальнейшую жизнь без графических приложений, требующих дополнительных аппаратных ресурсов, то можно предоставить PSD с обновленными возможностями RemoteFX. Об этом поговорим чуть позже. Забегая вперед, наконец-то мы дождались…


Впервые PSD был анонсирован в Technical Preview 2 и изменен в TP3/TP4 (одним из изменений была замена структуры cmdlet, отвечающего за конфигурацию PSD). На текущий момент единственный способ развернуть PSD – PowerShell. Опцию GUI планируют добавить не ранее RTM-релиза.

Для целей демонстраций и тестирования можно использовать тип развертывания Quick Start на базе сессий. При этом будут установлены RD Connection Broker, RD Web Access и RD Session Host на одном физическом сервере. Для реального использования рекомендуется сформировать распределенную архитектуру. Не забываем, что каждый компонент RDS поддерживает виртуализацию (к примеру, 1 VM RDSH <-> 1 PSD User) и высокую доступность (например, RD Connection Broker иметь высокодоступную конфигурацию).

На всякий случай привожу шаги по конфигурации
«фундамента»












Дополнительно устанавливаем Desktop Experience на узле RDSH

Install-WindowsFeature Desktop-Experience


Переходим к созданию коллекции PSD.

New-RDSessionCollection был дополнен свитчем -PersonalUnmanaged, который используется для создания коллекции типа Personal Session Desktop (в Technical Preview 2 наименование свитча было другим, а именно -PersonalSessionCollection)

#Переменная для имени RDSH
$rdshost="tp4-root.democorp.ru" 

#Создание PSD-коллекции с административными привилегиями для пользователя
New-RDSessionCollection -CollectionName Personal -ConnectionBroker $rdshost -SessionHost $rdshost -GrantAdministrativePrivilege -PersonalUnmanaged
 
#Привязка пользователя rdsuser к коллекции PSD с именем Personal
Set-RDPersonalSessionDesktopAssignment -CollectionName Personal -User democorp\rdsuser -Name $rdshost
 
#Проверяем
Get-RDPersonalSessionDesktopAssignment -CollectionName Personal
 
CollectionName DesktopName User
-------------- ----------- ----
Personal TP4-ROOT.DEMOCORP.RU DEMOCORP\rdsuser

Если RDSH уже находится в одной из PSD-коллекций, то на его основе нельзя создать новую коллекцию. Только после удаления данного RDSH из текущей коллекции появится возможность определить его в новую.

New-RDSessionCollection -CollectionName Personal -ConnectionBroker $rdshost -SessionHost $rdshost -GrantAdministrativePrivilege -PersonalUnmanaged
WARNING: The RD Session Host server tp4-root.democorp.ru already exists in another collection.
New-RDSessionCollection : Unable to create the session collection.
 
#Выводим список коллекций
Get-RDSessionCollection
 
CollectionName Size ResourceType CollectionType CollectionDescription
-------------- ---- ------------ -------------- ---------------------
QuickSessionCollection 1 RemoteApp programs PooledUnmanaged
 
#Удаляем коллекцию 
Get-RDSessionCollection|Remove-RDSessionCollection

После создания коллекции PSD и привязки к ней пользователя, перейдем в RD Web Access узел (https://host fqdn/rdweb) для дополнительной проверки, используя учетные данные нашего пользователя. Должен появиться список коллекций, доступных пользователю



Отмечу, что в привычном для администратора списке коллекций (Server Manager –> RDS –> Collection List) данный вид коллекций не отображается, поскольку он создается и управляется только с помощью PowerShell (по крайней мере, до выхода RTM-версии).

Вот такой вид имеет панель «Пуск» в сессии PSD:



Наша коллекция была создана с ключом -GrantAdministrativePrivilege, поэтому пользователь автоматически был добавлен в группу Администраторов на выделенном сервере RDSH.



Двигаемся дальше.


Улучшения RemoteFX


В Windows Server 2012 R2 RemoteFX-адаптер имеет ряд ограничений: 256 MB максимальный объем выделенной VRAM, поддержка только OpenGL 1.1, отсутствие поддержки OpenCL. Всё это сказывается на поддерживаемом количестве мониторов, разрешении и адекватной работе новых графических приложений (к примеру, Autocad Re-Cap требует OpenGL 3.3 и 1 GB VRAM, Photoshop CC — OpenGL 2.0 и 512 MB VRAM как минимум).

Windows Server 2016 призван решить данные проблемы и вносит ряд изменений:
  • Возможность выделения до 1 GB VRAM. Виртуальные машины Hyper-V могут использовать до 1 GB выделенной VRAM + увеличивать количество VRAM за счет системной памяти ВМ, получая до 2 GB VRAM, в зависимости от величины имеющейся у виртуальной машины памяти.

    Кроме того, динамическое определение объема VRAM на основе количества мониторов и разрешения заменяется возможностью задания конкретного значения VRAM для каждой ВМ вне зависимости от максимального количества мониторов и разрешения.



  • Поддержка OpenGL 4.4 и OpenCL 1.1. Как итог, имеем «карт-бланш» на использование современных графических приложений.


Параметры RemoteFX определяются как через GUI, так и через PowerShell.

Set-VMRemoteFx3dVideoAdapter

Set-VMRemoteFx3dVideoAdapter [-VM] <VirtualMachine[]> [[-MonitorCount] <byte>] [[-MaximumResolution] <string>]
[[-VRAMSizeBytes] <uint64>] [-Passthru] [-WhatIf] [-Confirm]  [<CommonParameters>]



Новые клиенты RDS


Ещё буквально недавно у Microsoft не было ни одного мобильного клиента для доступа к удаленным рабочим столам, и приходилось использовать платные решения сторонних производителей с поддержкой RD Gateway. Однако по мере продвижения и использования RDS-решений были выпущены и добавлены следующие клиенты:

Клиент RDP (MSTSC.EXE) был обновлен до 10-ой версии, которая имеет улучшенную поддержку кодека AVC/H.264 и режима AVC 444, призванного улучшить fps, понизить потерю цветности за счет использования функций аппаратного декодера H.264 в высоких разрешениях вплоть до 4K (GPU должен иметь поддержку DirectX 11.0, H.264 декодер Level 4.1/BT.709). Пока только в рамках полноценного клиента, но планируется добавить поддержку и для мобильных клиентов, обозначенных выше.
Режим AVC444 используется по умолчанию в RemoteFX, но есть возможность использования AVC444 и в других сценариях с помощью настройки групповой политики:

Сomputer Configuration/Administrative Templates/Windows Components/Remote Desktop Session Host/Remote Session Environment:
Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections
и
Configure H.264/AVC hardware encoding for Remote Desktop connections>


Поддержка виртуальных машин второго поколения


ВМ второго поколения (Generation 2) стали доступны ещё в Windows Server 2012 R2, но их использование в рамках RDS/VDI (и не только) откладывалось. Например, возможность создания шаблонов сервисов VMM на базе Gen2 была добавлена только в рамках UR6.
В Windows Server 2016 мы можем задействовать оба поколения для использования в различных типах коллекций (personal/pooled или personal session). Дополнительная конфигурация не требуется.


Поддержка стилуса и браузера Edge


Если ваше устройство, например Surface, поддерживает работу со стилусом, а локальная система не ниже Windows 10, то вы можете использовать стилус в рамках RDP-сессии.

В Windows Server 2012/2012 R2 подобные устройства также перенаправляются, но используются в качестве замены мыши. В рамках Windows Server 2016 и Windows 10 стилусом можно рисовать или писать, открыв, например, граффити-приложение в Microsoft Edge, который так же обзавелся поддержкой при работе в удаленной сессии.


Выводы


Обновленные RemoteFX и RDP с поддержкой разрешения 4K увеличивают отдачу от ВМ с «тяжелыми» приложениями в рамках VDI и повышают их быстродействие по сравнению с Windows Server 2012 / 2012 R2 (конечно, необходимо провести тестирование и взглянуть на реальные цифры).

MultiPoint Server, переехавший под «крыло» RDS, расширяет область применения удаленных рабочих столов и делает более привлекательным их использование (интерактивность в dashboard, простота настройки играют в этом не последнюю роль).

Personal Session Desktop (PSD) упрощает предоставление рабочих столов в рамках DaaS-услуги и расширяет возможности RDS в Azure. Ожидать глобального изменения условий SPLA, думаю, не приходится. Скажем «спасибо», что и тут не забыли о нас.

Надеюсь, что было интересно. Всем хорошей виртуализации и RDS-имплементации.

Комментарии (6)


  1. achekalin
    18.02.2016 20:24

    > Хабр любит доказательства, поэтому привожу цитаты из официальных руководств по лицензированию DaaS (Desktop As A Service).

    Ну вот что MS любил делать не как человеку кажется логичным, а по принципу «вы заплатите побольше, и получите все понеудобнее» — это мы привыкли. Любит ли он так делать сейчас — это вопрос. Вроде как начался разворот к пользователю чуть другой, чем филейная, частью тела :)

    2016-я верся, конечно, обещает очень многое. Ей даже интерфейс можно простить за это :)


    1. Courteous
      25.02.2016 02:44
      -1

      achekalin разворот начался ещё давно и это не может не радовать (по крайней мере, с функциональной точки зрения). По мнению компании-производителя отношения ОС: пользователь строятся на базе: "Any hardware running an instance of Microsoft software (OS or application) must be dedicated to a single customer" + есть бооольшой и отдельный канал OEM. Уловить некую взаимосвязь можно)

      2016-й продолжает линию 2012 R2 и расширит степень влияния на рынок. 3d parties никуда не денутся. Хотим большее — докупаем. Так будет всегда, думаю. Но конвергентность становится более эффективной рамках WS.

      P.S. вернули ведь "классический пуск". что ещё нужно то?


      1. achekalin
        25.02.2016 08:36

        Вернуть — и все остальное )) Это, конечно, вкусовщина, но мне до сих пор не очень понятно, как угловатое оформление в стиле «мама, я CSS освоил… почти» многим людям кажется более красивым, чем вид той же 7-ки. 10-ка и ее стиль (а 2012/2016, сами понимаете, ближе к нему) кажутся немного недоделанными, что ли, недополированными. Так и наоборот, знаю массу людей, которые говорят «наконец-то, мне стиль 7-ки не нравился, а вот 10-ка — это прямо свежий глоток.»

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

        Ну а отношения в стиле «ты купил не софт, ты купил связку „железо + ПО“, и менять должен все вместе при отказе чего-то одного из этой связки» — это понятно, да, чья-то маркетинговая мечта. Хотя почему я не могу переставить жесткий диск с ОС и файлами из старого ПК в новый — ни идейно, ни финансово (для меня), ли технически не понимаю. Дрова не подойдут — так это мой вопрос, что я MS мало денег заплатил — так кто сказал мало, мало на фоне чего? На фоне цены «коробки», установленной непонятно кем и почему — так я заплатил сколько попросили, в чем вопрос? А что коробка дороже OEM стоит, так это может не OEM «слишком дешевая» (и я не брался заботиться, чтобы MS не было мало денег), а это коробка, с тех же успехом можно сказать, слишком дорогая.

        Понятно, что разворот от того, что иначе рынок уйдет другим, не весь, конечно. Но хорошо, что хоть так. «Рынок заставит», как говорят )


        1. Courteous
          25.02.2016 12:59

          achekalin мы можем лишь предполагать и отталкиваться от той информации, которую МС сам же и публикует. с тем же успехом можно говорить о глобальной экономике, не зная возможности "невидимой руки" :). Не всё логично, к сожалению.

          IMO: С интерфейсом проблем не испытываю. Кол-во кликов уменьшается по средством исп-я хот кейс/msc/cpl.
          Единственный момент в 2012 R2: sidebar выезжающий. это лишнее, на мой взгляд. если цепляться консолькой, то он уходит практически сразу в утиль. В 2016 TP4 претензий нет + есть и будут возможности трансформации GUI вплоть до core.
          Дело вкуса. Совсем от критики не убежишь.


  1. shane54
    24.02.2016 18:22

    Решил тут спросить, может не мне одному будет полезно.
    У нас используется 2012 R2 Datacenter Edition, т.е. мы плодим виртуалки без ограничений. Но когда тестировали VDI, уперлись в ограничение, что гостевой системой может быть только Windows 7/8/8.1, сейчас уже может и 10 — но не серверные версии, не 2008/2012. При том что у конкурентов — тот же Citrix VDI-in-a-Box — гостями могут быть все перечисленные, и десктопные и серверные ОС.
    За сим вопрос — как с этим делом у VDI 2016? И заодно — может я что-то не так понимаю и гостем в 2012 R2 может быть серверная ОС? Заранее спасибо.


    1. Courteous
      25.02.2016 02:26

      shane54 к сожалению, подобная схема реализация не является поддерживаемой. Вариант покрыть всё Datacenter + AVMA — шикарен и удобен, но увы, нужен клиент (для 2012 R2: win7/8/8.1 Pro/Ent). Строить Citrix XenDekstop/Horizon только лишь для "более эффективного использования" лицензии Datacenter в рамках WS — не рационально ($)

      В 2016-м история продолжается, но уже с Personal Session Desktops (см.выше), которые Вы можете строить на базе ВМ с WS и закрывать отношения 1 юзер:1 машина. Не забываем про дополнительную строчку в бюджете и сейчас… и в 2016-м: RDS CALs + уже сейчас стоит учесть нек-ые изменения в методологии лицензирования WS2016. Глобальных изменений к RTM не ожидаю.