Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Scroll Content Block

Общая схема установки решения Termidesk VDI

Решение Termidesk VDI используется, если пользователю нужно предоставить полнофункциональное окружение VDI и расширенный функционал работы с терминальными серверами.

Архитектура Termidesk VDI приведена на рисунке

Информация

Фонд - совокупность ВРМ, размещенных на платформе виртуализации.

Публикация - запуск процесса наполнения фонда ВРМ в соответствии с заданными параметрами. 

Scroll Title
anchorАрхитектура Termidesk VDI
title-alignmentcenter
titleАрхитектура Termidesk VDI

draw.io Diagram
borderfalse
diagramNameАрхитектура Termidesk VDI
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth1720
revision1

Когда пользователь запускает компонент «Клиент» и нажимает кнопку [Подключиться] для получения ВРМ происходит следующее:

Информация

Фонд – совокупность рабочих мест, размещенных на поставщике ресурсов.

Публикация – запуск процесса наполнения фонда рабочих мест в соответствии с заданными параметрами.

  • «Клиент» подключается к указанному серверу («Универсальному диспетчеру») и передает учетные данные пользователя, с которыми он хочет подключиться;
  • «Универсальный диспетчер» запрашивает сервер каталогов для аутентификации пользователя;
  • при успешной аутентификации «Универсальный диспетчер» посылает команду платформе виртуализации на запуск ВМ для аутентифицированного пользователя;
  • в случае, если используется программный комплекс «Средства виртуализации «Брест» (далее - ПК СВ Брест), платформа виртуализации получает билет kerberos от сервера каталогов. Это гарантирует, что платформа виртуализации получила полномочия на запуск ВМ через единый центр управления пользователями;
  • платформа виртуализации размещает ВМ на гипервизоре и запускает ее;
  • гипервизор контролирует состояние ВМ;
  • после запуска ОС на ВМ установленный в ней «Агент виртуального рабочего места» проводит необходимые настройки и добавляет ВМ в домен. Если ВМ уже была создана ранее (использовалась), то заново настройки не выполняются;
  • «Агент виртуального рабочего места» сообщает «Универсальному диспетчеру» о готовности ВМ к работе;
  • «Универсальный диспетчер» формирует параметры подключения к ВМ для «Клиента» и передает их.

Пользователь получает ВРМ через «Клиент», который в свою очередь запускает приложение доставки рабочего места ПО Termidesk Viewer для отображения экрана.

Если пользователь хочет получить рабочее место с автономной машины, происходит следующее:

  • «Клиент» подключается к указанному серверу («Универсальному диспетчеру») и передает учетные данные пользователя, с которыми он хочет подключиться;
  • «Универсальный диспетчер» запрашивает сервер каталогов для аутентификации пользователя;
  • при успешной аутентификации «Универсальный диспетчер» обращается к «Агенту виртуального рабочего места»;
  • «Агент виртуального рабочего места» сообщает «Универсальному диспетчеру» о готовности рабочего места;
  • «Универсальный диспетчер» формирует параметры подключения к автономной машине для «Клиента» и передает их.
  • пользователь получает рабочее место через «Клиент», который в свою очередь запускает ПО Termidesk Viewer для отображения экрана.

Если пользователь хочет получить терминальную сессию или приложение STAL, происходит следующее:

  • «Клиент» подключается к указанному серверу («Универсальному диспетчеру») и передает учетные данные пользователя, с которыми он хочет подключиться;
  • «Универсальный диспетчер» запрашивает сервер каталогов для аутентификации пользователя;
  • при успешной аутентификации «Универсальный диспетчер» посылает команду STAL о подключении аутентифицированного пользователя через компонент «Сессионный агент»;
  • от «Сессионного агента» на STAL поступает запрос на создание сессии. Взаимодействие выполняется посредством шины dbus;
  • при успешном создании сессии «Сессионный агент» сообщает «Универсальному диспетчеру» о готовности к работе;
  • пользователь получает доступ в сессию через «Клиент», который в свою очередь запускает соответствующее приложение доставки (mstsc, xfreerdp или ПО Termidesk Viewer) для отображения экрана терминальной сессии или приложения STAL.

При туннелировании протокола доставки через «Шлюз» происходят похожие процессы, при этом появляются новые:

  • «Универсальный диспетчер» формирует параметры подключения и выдает «Клиенту» URL-адрес, содержащий токен доступа. Токен доступа представляет собой закодированную структуру данных с указанием параметров перенаправления «Клиента»;
  • «Клиент» обращается по этому URL-адресу;
  • «Шлюз» проверяет переданный от «Клиента» токен доступа API-запросом через «Универсальный диспетчер»;
  • если проверка прошла успешно, «Универсальный диспетчер» возвращает «Шлюзу» параметры подключения (хост и порт) из токена доступа;
  • «Шлюз» перенаправляет соединение «Клиента» на указанный хост и порт.

Подключения между «Клиентом» и «Шлюзом» формируются через вебсокеты (WS), которые позволяют туннелировать протоколы SPICE, TERA (протокол удаленного доступа собственной разработки) и RDP.

Соединения от «Шлюза» формируются напрямую (без WS):

  • по протоколу SPICE на гипервизор;
  • по протоколу RDP в гостевую ОС или терминальный сервер;
  • по протоколу TERA напрямую в гостевую ОС рабочего места, без участия гипервизора.

Опционально подключение пользователя может выполняться через веб-браузер с поддержкой HTML5 по протоколам SPICE и TERA, однако в этом случае функционал работы с рабочим местом будет неполным.

Scroll Content Block

Общая схема установки решения Termidesk Terminal

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

ля решения задач по доставке приложений и рабочих столов терминальных серверов с ОС Astra Linux Special Edition (Server) служит компонент STAL, который устанавливается вместе с «Сессионным агентом».

Для решения задач по доставке приложений и рабочих столов терминальных серверов с ОС Microsoft Windows Server достаточно установить «Сессионный агент» на уже настроенный для работы сервер Microsoft Windows Server с ролью «Remote Desktop Session Host» из состава «Remote Desktop Services» (далее – MS RDS).

Информация

Целевым решением для доступа пользователей к терминальному серверу MS RDS является использование поставщика ресурсов «Метапоставщик», реализованного в Termidesk.

«Метапоставщик» тиражирует приложения или рабочие столы терминального сервера через заранее созданные ВМ на платформе виртуализации. Данный подход не требует полностью развернутой инфраструктуры терминальных серверов.

«Метапоставщик» доступен в продукте Termidesk VDI.

Вариант развертывания Termidesk Terminal приведен на рисунке.

Scroll Title
anchorАрхитектура Termidesk Terminal
title-alignmentcenter
titleАрхитектура Termidesk Terminal

draw.io Diagram
borderfalse
diagramNameАрхитектура Termidesk Terminal
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth1337
revision1

Scroll Content Block

Распределенная схема установки

Общая схема распределенной установки фермы Termidesk

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

Установка нескольких экземпляров (N+1) «Универсального диспетчера», «Шлюза», «Менеджера рабочих мест» позволяет избежать единой точки отказа системы.

Доступ к таким компонентам осуществляется через балансировщики нагрузки, не входящие в состав решения Termidesk.

Общая схема распределенной установки фермы Termidesk представлена на рисунке.

Информация

Серверы СУБД и RabbitMQ входят в область инфраструктурных сервисов, однако необходимы для функционирования непосредственно Termidesk. Отказоустойчивость этих серверов настраивается согласно документации на используемые решения.

Рекомендуемое количество серверов «Менеджер рабочих мест» - 2 шт. Количество может быть N, однако активен будет всегда один сервер, поскольку используется балансировка «active-passive» через механизм keepalive

Scroll Title
anchorОбщая схема распределенной установки
title-alignmentcenter
titleОбщая схема распределенной установки

draw.io Diagram
borderfalse
diagramNameОбзая схема распределенной установки
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth3488revision1

Scroll Content Block

Схема установки Termidesk со STAL

Использование Termidesk со STAL возможно в следующих вариантах:

  • STAL как отдельный сервер, см. рисунок. Решение может использоваться как в продукте Termidesk VDI, так и в Termidesk Terminal;
  • STAL в метапоставщике, см. рисунок. Решение может использоваться в продукте Termidesk VDI.
Scroll Title
anchorСхема распределенной установки Termidesk с отдельным сервером STAL
title-alignmentcenter
titleСхема распределенной установки Termidesk с отдельным сервером STAL

draw.io Diagram
borderfalse
diagramNameSTAL как отдельный сервер
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth3924revision1

Scroll Title
anchorСхема распределенной установки Termidesk с метапоставщиком STAL
title-alignmentcenter
titleСхема распределенной установки Termidesk с метапоставщиком STAL

draw.io Diagram
borderfalse
diagramNameSTAL в метапоставщике
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth4316
revision1

Scroll Content Block

Схема установки Termidesk с MS RDS

Использование Termidesk с MS RDS возможно в следующих вариантах:

  • MS RDS как отдельная настроенная инфраструктура, см. рисунок. Решение может использоваться как в продукте Termidesk VDI, так и в Termidesk Terminal;
  • MS RDS в метапоставщике, см. рисунок. Решение может использоваться в продукте Termidesk VDI.
Scroll Title
anchorСхема распределенной установки Termidesk с отдельной инфраструктурой MS RDS
title-alignmentcenter
titleСхема распределенной установки Termidesk с отдельной инфраструктурой MS RDS

draw.io Diagram
borderfalse
diagramNameMS RDS как отдельно настроенная инфраструктура
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth3923revision1

Scroll Title
anchorСхема распределенной установки Termidesk с метапоставщиком MS RDS
title-alignmentcenter
titleСхема распределенной установки Termidesk с метапоставщиком MS RDS

draw.io Diagram
revision
borderfalse
diagramNameMS RDS в метапоставщике
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth42301

Scroll Content Block

Масштабируемость

С целью увеличения производительности распределенной инфраструктуры VDI применяется горизонтальное масштабирование Termidesk.

Минимальная конфигурация компонентов при горизонтальном масштабировании следующая:

  • «Универсальный диспетчер» – 2 шт.;
  • «Шлюз» – 2 шт.;
  • «Менеджер рабочих мест» – 2 шт.;
  • балансировщик БД – 1 шт. (значение постоянно и остается таким при конфигурации N+1);
  • серверы БД – 2 шт. (значение постоянно и остается таким при конфигурации N+1);
  • балансировщики подключений – 2 шт. Предполагается, что необходим отдельный балансировщик для «Шлюзов», и отдельный для «Универсальных диспетчеров».
Scroll Title
anchorСхема горизонтального масштабирования Termidesk
title-alignmentcenter
titleСхема горизонтального масштабирования Termidesk

draw.io Diagram
borderfalse
diagramNameСхема горизонтального масштабирования
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth1231
revision2

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

  • Сети:
    • EXTERNAL NET – внешняя сеть, в которой находятся пользователи;
    • MGMT NET – управляющая сеть Termidesk;
    • DISPLAY NET – сеть узлов платформ виртуализации для подключения к экранам пользовательских рабочих станций;
    • VM NET – сеть рабочих мест для терминирования прямых подключений (например, RDP).
  • Компоненты:
    • балансировщик – представляет собой точку входа в Termidesk для внешних пользователей и внутренних компонент. Принимает HTTP-запросы на внешние и внутренние доменные имена Termidesk и распределяет обычные запросы между серверами Termidesk;
Примечание

В текущей архитектуре балансировщики могут быть реализованы программным обеспечением nginx/haproxy.

    • компонент «Универсальный диспетчер» – обеспечивает работу веб-интерфейса панели управления Termidesk и веб-интерфейса портала пользователя, отвечает за идентификацию пользователей, назначение и контроль доставки им рабочих мест;
    • компонент «Менеджер рабочих мест» – является обработчиком фоновых задач;
    • компонент «Шлюз» – обеспечивает работу WS-подключений. «Шлюзы» обладают общим внешним доменным именем, которое определяется в один из виртуальных IP-адресов по кругу («Round-robin»). Каждый «Шлюз» обладает собственным виртуальным IP-адресом (GWN-VRRP). При отказе одного из «Шлюзов», запросы начинает обрабатывать один из оставшихся, в зависимости от выставленного приоритета. «Шлюзы» должны иметь доступ через балансировщики к узлам Termidesk;
    • кластер БД – обеспечивает работу при больших нагрузках на БД. Состоит из балансировщика для подключений к серверам БД и непосредственно серверов БД;
    • ВРМ – непосредственно получаемые пользователем рабочие места. Должны иметь доступ к серверам Termidesk через балансировщики.
Scroll Content Block

Облачное развертывание

Для решения задач, связанных с разворачиванием Termidesk в облачной инфраструктуре, служит компонент «Оркестратор». «Оркестратор» предназначен для организации единой точки взаимодействия облачных компонентов с компонентами Termidesk.

Схема взаимодействия компонентов Termidesk в облачной инфраструктуре выглядит следующим образом.

Scroll Title
anchorАрхитектура Termidesk в облаке
title-alignmentcenter
titleАрхитектура Termidesk в облаке

draw.io Diagram
borderfalse
diagramNameСхема взаимодействия в облачной инфраструктуре
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth1790revision1

Scroll Content Block

Схемы с «Агрегатором»

Общая схема установки фермы «Агрегатора»

«Агрегатор» устанавливается на узле, отличном от того, что используется фермой Termidesk. Для «Агрегатора» также должна использоваться БД, отличная от используемых фермами Termidesk.

Общая схема установки Агрегатора и фермы Termidesk представлена на рисунке. Взаимодействие компонентов внутри фермы аналогично ранее приведенному рисунку, поэтому не отображено здесь.

Scroll Title
anchorСхема установки «Агрегатора»
title-alignmentcenter
titleСхема установки «Агрегатора»

draw.io Diagram
revision
borderfalse
diagramNameСхема установки Агрегатора
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth17492

Когда пользователь запускает компонент «Клиент» происходит следующее:

Информация

«Агрегатор» использует часть функций «Универсального диспетчера». Для упрощения описания ниже «Универсальный диспетчер», относящийся к «Агрегатору», будет назван «Агрегатором».

Сайт объединяет одну или несколько добавленных ферм и является единой точкой входа для получения ресурсов пользователями. Сайт настраивается в «Агрегаторе».

  • пользователь выбирает сайт «Агрегатора» и нажимает кнопку [Подключиться];
  • «Клиент» подключается к указанному сайту, размещенному на «Агрегаторе» и передает учетные данные пользователя, с которыми он хочет подключиться;
  • «Агрегатор» запрашивает сервер каталогов для аутентификации пользователя. При успешной аутентификации пользователя «Клиент» запросит у «Агрегатора» список доступных пользователю ресурсов;
  • «Агрегатор» запросит информацию о фермах Termidesk из своей БД, затем обратится к узлам «Универсального диспетчера» ферм для получения списка ресурсов;
  • «Универсальные диспетчеры» ферм далее получат список ресурсов из своих БД, обращаясь к ним, и возвратят «Агрегатору» этот список;
  • пользователю отобразятся доступные ресурсы. После выбора ресурса «Клиент» отправит запрос «Агрегатору» на его получение, а «Агрегатор» адресует запрос на конкретный «Универсальный диспетчер» фермы. Далее процесс не отличается от взаимодействия компонентов, приведенного для схемы развертывания фермы Termidesk VDI. 

Если пользователь хочет получить терминальную сессию или приложение STAL, то процесс происходит аналогично: «Клиент» взаимодействует с «Агрегатором», а последовательность обращений внутри фермы Termidesk не отличается от приведенного для схемы развертывания фермы Termidesk VDI.

При туннелировании протокола доставки через «Шлюз» фактически будут происходить те же обращения:

  • «Клиент» взаимодействует с «Агрегатором»;
  • «Агрегатор» делает запросы к «Универсальному диспетчеру» фермы Termidesk;
  • «Универсальный диспетчер» фермы Termidesk формирует параметры подключения через «Шлюз» фермы Termidesk и выдает сформированный URL-адрес «Агрегатору»;
  • «Клиент» обращается по этому URL-адресу.
Scroll Content Block

Общая схема распределенной установки фермы «Агрегатора»

Так же, как и ферма Termidesk, ферма «Агрегатора» может быть установлена в распределенном варианте в целях повышения отказоустойчивости системы и обеспечения ее избыточности для нормального функционирования при повышенных нагрузках.

Общая схема распределенной установки фермы «Агрегатора» представлена на рисунке, ферма №1 и ферма №2 содержат идентичный ресурс - ВРМ №1, который будет отображен пользователю в одном экземпляре (решение о подключении к конкретной ферме примет «Агрегатор»).

Scroll Title
anchorОбщая схема распределенной установки «Агрегатора»
title-alignmentcenter
titleОбщая схема распределенной установки «Агрегатора»

draw.io Diagram
borderfalse
diagramNameОбщая схема распределенной установки Агрегатора
simpleViewerfalse
width800
linksblank
tbstyletop
lboxtrue
diagramWidth4489revision2