До появления персональных компьютеров вычислительные задачи выполнялись на больших машинах – «мэйн-фреймах», которые в нашей стране назывались ЭВМ. Пользователи получали к ним доступ в режиме разделения времени через терминал, чаще всего представлявший собой алфавитно-цифровой дисплей и клавиатуру. Такой терминал подключался к ЭВМ через выделенную линию, в качестве которой могла использоваться даже обычная телефонная линия, либо, позднее, через ранние прообразы компьютерной сети. Именно в таком режиме, будучи ещё школьником, начинал свою работу основатель компании Microsoft Билл Гейтс.

Режим разделения времени означает, что процессорное время разделяется между всеми пользователями по очереди (которых могло быть до нескольких сот). Однако за счёт относительно высокого быстродействия процессора и небольшого периода обслуживания каждому пользователю казалось, что он работает на ЭВМ в полном одиночестве.

Терминальные устройства и ЭВМ VAX-11/780 за работой

Так выглядели терминальные устройства и ЭВМ VAX-11/780 компании DEC. Такая ЭВМ и терминалы были поставлены для обслуживания московской Олимпиады 1980 г. (источник: thg.ru)

В наши дни решение удалённого терминального доступа RDS (Remote Desktop Service) продолжает успешно использоваться и входит в состав операционной системы Windows Server, начиная с Windows NT 4.0. Оно стало основой для более продвинутого решения виртуальной инфраструктуры рабочих столов VDI (Virtual Desktop Infrastructure).

Различия терминального доступа и виртуализации рабочего стола

Основное различие между решениями RDS и VDI в том, что если в RDS у всех пользователей рабочий стол выглядит одинаково (берётся с удалённого сервера), то в VDI каждый пользователь может иметь свой собственный рабочий стол, т. е. полностью эмулировать работу на персональном компьютере.

Ключевым отличием решений виртуализации рабочего стола и терминального сервера является уровень изоляции ресурсов для пользователей. В терминальном сервере создаются учётные записи пользователей, которые обеспечивают работу в единой операционной системе так, чтобы они не мешали друг другу. На терминалы пользователей устанавливаются специальные приложения, которые дают им возможность работать с отдельными сессиями на терминальном сервере. Однако в терминальном режиме можно запустить не каждое приложение. При терминальном доступе изоляция пользователей происходит на уровне сессии. И если какое-то приложение вызывает сбой на уровне операционной системы, то вместе с пользователем, вызвавшим сбой, перезагрузятся и остальные пользователи, работающие на этом же сервере.

Технология виртуализации VDI предоставляет гораздо большие возможности, в частности возможность создания персональной виртуальной машины для каждого пользователя. Однако это требует бóльших серверных мощностей по сравнению с терминальным доступом. Кроме того, для развёртывания VDI часто требуется система хранения данных с высоким IOPS.

Решение в пользу одного или другого решения должно приниматься на основе анализа стоящих задач.

Терминальный сервер проще и дешевле в развёртывании, однако часто не обеспечивает требуемого уровня изоляции пользователей.

Виртуализация полезна в случаях, если пользователю необходимы права администратора либо требуются приложения, которые нестабильно работают на терминальном сервере.

Что такое терминальный сервер

Итак, терминальный сервер – это сервер или кластер серверов, который обеспечивает удалённое обслуживание многих клиентских систем (рабочих компьютеров пользователей), которые подключаются к локальной сети без использования модема или сетевой интерфейсной карты. Эта концепция была введена компанией Microsoft в виде функции терминальных услуг (terminal services) в ОС Windows Server. Начиная с версии Windows Server 2008 R2, эти услуги стали именоваться Remote Desktop Services (RDS).

На сегодняшний день для организации сервера терминалов Windows чаще всего используется ОС Windows Server 2019, 2016, 2012 R2. Более ранние версии 2008 и 2010 уже мало актуальны и сейчас лишь поддерживаются.

Преимущества и недостатки

Терминальные серверы дают возможность централизованного хостинга приложений и данных предприятия вне зависимости от расположения и платформы устройств конечных пользователей, давая доступ к ним через терминальные клиентские устройства. Эта концепция даёт много преимуществ:

  • Доступ к цифровым ресурсам предприятия из любого места, в любое время и практически с любого устройства.
  • Наличие единой точки мониторинга позволяет контролировать всю инфраструктуру с центрального пульта.
  • Приложения устанавливаются однократно и регулярно обновляются в терминальном сервере централизованно, то есть нет необходимости делать это на каждом компьютере в сети.
  • Наличие одновременной централизованной лицензии вместо лицензирования каждого устройства, что снижает стоимость лицензирования.
  • Замена пользовательских компьютеров на рабочих местах на т. н. «тонкие клиенты» (thin clients – устройства для подключения к терминальному серверу) снижает капитальные и операционные затраты предприятия за счёт централизации обслуживания, а также снижения расходов на электроэнергию.
  • Увеличивается срок службы терминального оборудования.
  • Повышается безопасность сети предприятия.
  • Однако и недостатки у такого решения тоже есть:
  • Концентрация всей функциональности в рамках одного или нескольких серверов. Поэтому выход из строя любого элемента между приложением и терминалами приводит к простою многих пользователей.
  • Усиливаются последствия ошибок конфигурации и работы ПО, которые затрагивают сразу всех пользователей.
  • Возможные проблемы с лицензированием: некоторые приложения не предусматривают работы нескольких пользователей на одном сервере или требуют использования более дорогих лицензий.

Архитектура и лицензирование

Терминальный сервер состоит из трёх основных компонентов:

  • Многоядерный сервер для централизованного хостинга ресурсов.
  • Протокол для связи с удалёнными рабочими столами пользователей RDP (Remote Desktop Protocol), который управляет передачей данных между сервером и клиентом.
  • Клиентская программа на каждом пользовательском устройстве, которая позволяет ему подключаться к серверу по протоколу RDP.

Кроме того, необходима служба лицензирования терминалов (Terminal Services Licensing Service), которая представляет серверу клиентские лицензии служб терминалов TS CAL (Terminal Services Client Access License), чтобы они могли к нему подключаться. Список сессий при этом сохраняется в службе Sessions Directory Service. Список индексируется по имени пользователя, что позволяет ему всё время подключаться к одному и тому же серверу.

Начиная с Windows Server 2008, лицензии служб удалённых рабочих столов называют RDS CAL.

Существует два типа лицензий RDS CAL.

  • CAL на пользователя, которая позволяет установить сеанс удалённого рабочего стола на сервере независимо от количества устройств, используемых для подключения.
  • CAL на устройство, которая позволяет определенному устройству установить сеанс удалённого рабочего стола на сервере независимо от количества пользователей, подключённых с помощью этого устройства.

Примеры продуктов

Microsoft RDS

Службы удалённого рабочего стола (RDS) – один из компонентов Microsoft Windows Server, позволяющий пользователю работать под управлением удалённого компьютера, на котором установлены нужные ему приложения, через устройства тонкого клиента либо через сетевое соединение при помощи протокола удалённого рабочего стола (RDP).

Схема служб удаленного рабочего стола

Службы удалённого рабочего стола RDS (источник: Microsoft)

Платформа RemoteApp Service позволяет представлять приложения, доступ к которым может быть получен удалённо через Службы удалённых рабочих столов (RDS), как если бы они были запущены на локальном компьютере пользователя. Программа RemoteApp запускается на терминале пользователя в собственном окне, размеры которого можно менять, оно может перемещаться между несколькими мониторами, а также имеет собственный значок на панели задач. Если один пользователь запускает несколько программ RemoteApp на одном сервере, эти программы RemoteApp совместно используют один сеанс RDS.

Citrix XenApp и XenDesktop

В решении Citrix используется платформа Microsoft RDS. В инфраструктуре виртуализации Citrix есть много компонентов, но главные среди них следующие:

  • Citrix Virtual Apps.
  • Citrix Virtual Apps & Desktops.

Citrix Virtual Apps – основной продукт, предназначенный для удалённой работы в приложениях для пользователей. Citrix Virtual Apps & Desktops расширяет возможности RDS, организуя инфраструктуру виртуальных рабочих столов (VDI). Оба продукта обеспечивают пользователям безопасную работу приложений и настройки безопасности в зависимости от устройства пользователя.

В названиях продуктов терминального сервера Citrix есть некоторая путаница. Компания ввела наименования Citrix XenApp для виртуализации приложений и Citrix XenDesktop для виртуализации рабочих столов. Затем Citrix объединила оба продукта в одном бренде – XenDesktop 7.0. Затем компания отказалась от такого объединения, и это иногда путает пользователей. Сейчас Citrix опять поставляет два раздельных продукта – XenApp 7.6 и XenDesktop 7.6, в то же время называя их Citrix Virtual Apps и Citrix Virtual Apps & Desktops, поскольку второе решение включает в себя практически весь функционал первого.

Как Citrix Virtual Apps, так и Citrix Virtual Apps & Desktops поставляются в трёх комплектациях, с разным функционалом и ценами:

  • Standard.
  • Advanced.
  • Premium.

Для того чтобы повысить воспринимаемое качество работы пользователей, нужно приобрести и другие продукты – такие, как Citrix Provisioning Services (PVS) и Citrix Director

Установка продуктов Citrix может быть достаточно сложной, и для этой цели часто требуются сертифицированные профессионалы. Кроме того, необходимо подобрать правильные конфигурации большого количества компонентов. Для поддержки инфраструктуры Citrix также требуется база данных Microsoft SQL.

VMware Server и VMware ESX

Компания VMware занимает прочные позиции на рынке виртуализации серверов, а также на рынке ПО виртуализации рабочих столов (VDI). В сегменте бесплатных средств виртуализации серверов есть продукт VMware Server, который с 2010 года не поддерживается.

Функции VMware Server (ранее VMware GSX Server) входят теперь в функционал решения VMware ESX. Решение VMware Server позволяет не только работать в режиме терминального сервера, но также есть возможность создания, редактирования и работы виртуальных машин. В нём могут работать виртуальные машины, созданные другими продуктами VMware, а также Microsoft Virtual PC. В настоящее время функции VMware Server заменены функцией "Shared Virtual Machines", введённой в продукте VMware Workstation 8.0 и его более поздних версиях.

<

Оборудование для хостинга услуг RDS

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

Это могут быть, например, следующие платформы: