Что такое терминальный сервер - для чего служит, архитектура, преимущества и недостатки сервера терминалов

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

Тирекс
Тирекс Самый зубастый автор
18 мая 2022

Разбираемся, что такое терминальный сервер, чем он похож на VDI и как подобрать сервер под роль терминала.

Изображение записи

Разбираемся, что такое терминальный сервер, чем он похож на VDI и как подобрать сервер под роль терминала.

Немного истории: прообраз терминального сервера

Чтобы объяснить, что такое терминальный сервер, нужно немного углубиться в историю. Вспомнить время, когда вместо персональных компьютеров были мэйнфреймы. 

Простыми словами мэйнфрейм — это суперсервер: промышленная вычислительная система с избыточными характеристиками памяти, вычислительных ресурсов, надежности и массовой параллельной обработкой вычислений.

Например, в 2019 году IBM выпустила один из самых мощнейших мэйнфреймов — Z15. Выглядит как огромный системный блок.

мейнфрейм
Вот так выглядит этот мэйнфрейм. Источник

Эта модель может обрабатывать 1 трлн транзакций в день и шифровать данные, оперативной памяти и ядер в нем — 40 Тбайт и 190 штук, соответственно. Такие аппараты не используют обычные люди, а только государственные организации или корпорации для специфических задач. Например, провайдеры инфраструктуры ставят их как серверы в дата-центры, а банки используют для быстрой обработки и шифрования транзакций.

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

терминал
Модель IBM 2260. Источник

На картинке — модель IBM 2260. Похожа на персональный компьютер, но у нее не было системного блока с процессором, жестким диском и материнской платой. Терминал не производил никаких вычислений, а просто передавал информацию мейнфрейму и выводил его ответы.

Как видно на фотографии, рядом с терминалом нет мэйнфрейма, хотя его легко было бы заметить по гигантским размерам. Все потому, что терминал подключался удаленно —  посредством обычной телефонной линии.

С ЭВМ могли работать сразу несколько операторов — до нескольких сотен. Но по очереди — процессорное время делилось между всеми пользователями. Задержек пользователи не замечали, потому что процессор ЭВМ был относительно быстрым, а время на каждого пользователя не таким уже большим. 

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

Терминальный сервер (ТС), или Remote Desktop Services(RDS), — это один или несколько серверов, к которым операторы подключаются удаленно и используют их ресурсы — например, память или мощности процессора. Условно, это один мощный компьютер, на котором одновременно работают много пользователей. Подключаться можно как через локальную сеть, так и через интернет. 

Для работы с мэйнфреймами операторы использовали терминалы. Для работы с терминальным сервером операторы используют тонкие, или терминальные, клиенты.

Обычно тонкий клиент — это специальное устройство: маленький системный блок с процессором, видеокартой и без жесткого диска. Вместо жесткого диска обычно используется схема с разъемом IDE, флеш-памятью и микросхемой, которая реализует логику жесткого диска. К устройству подключается питание, мышь, монитор, принтер, клавиатура — готово. 

тонкий клиент
Тонкий клиент от Lenovo. Источник

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

Монитор, клавиатура и тонкий клиент — это потомок терминальных устройств для работы с мэйнфреймом. Только вместо мэйнфрейма — терминальный сервер.

Для каких целей служит терминальный сервер

Терминальный сервер помогает обеспечить удаленную работу сотрудников и централизованно управлять трафиком, ПО, доступами и обновлениями. 

Например, в компании есть отдел закупок из 10 человек. Они работают всего в нескольких программах: Word, Excel, почта в браузере, CRM. Набор программ небольшой, но для каждого ПК нужна лицензия на ОС и продукты Microsoft. Также каждого сотрудника нужно обеспечить компьютером и установить необходимое программное окружение. 

В итоге на 10 человек расходов может быть на несколько сотен тысяч рублей. Плюс к ним нужно приставить системного администратора, который будет обслуживать ПК и регулярно обновлять ПО.

Что можно сделать вместо этого? 

  1. Купить один мощный терминальный сервер, 10 устаревших или не очень производительных ПК и настроить терминальный доступ. 
  2. Установить на терминальном сервере набор ПО и приложений. 

Сотрудники/пользователи подключатся через тонкий клиент и смогут пользоваться мощностями терминального компьютера и всем установленным ПО. Для них в работе ничего не изменится: есть стандартный рабочий стол, ОС, программы.

Для администратора здесь открываются широкие возможности:

  • Пользователи не могут удалять приложения — у них нет доступа к самому серверу.
  • Администратор может назначать права пользователям — например, понизить до чтения или повысить до редактирования. 
  • Когда сотрудник увольняется, все его учетные записи закрываются одновременно.
  • Все рабочие учетные записи, файлы, рабочие программы, доступы централизованы. С такой структурой проще настроить защиту, например, поставить тот же firewall или антивирусное ПО, которое масштабируется на всю сеть.

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

Преимущества терминального сервера

Выделим преимущества работы с терминальным сервером, которые мы еще не упомянули:

  • Удобнее мониторить трафик и лишать сотрудников прав на ресурсы, если они, например, загружают через браузер тяжелые видеозаписи.
  • Выше безопасность: меньше вероятность взлома или выноса информации с сервера.
  • Программы работают стабильнее, потому что терминальный сервер производительнее и надежнее любого ПК. 
  • Высокая скорость работы с дисками из-за кэширования. Например, если в одной из сессий пользователь работал в Microsoft Office, то для других пользователей эта же программа будет загружаться так, будто они ее уже включали. 
  • Экономится память — код ПО не дублируется при загрузке программ, которые уже работают. 
  • Администратор тратит меньше времени на починку ПО и обслуживание ПК — например, замену сгоревших жестких дисков. Тонкие клиенты практически не нуждаются в обслуживании.
  • Если в компании использовали десктопные компьютеры, терминальный сервер сэкономит место в офисе на размещении системных блоков. Также тонкие клиенты не шумят, в отличие от системных блоков с жесткими дисками и видеокартами. Меньше расходы на электроэнергию.
  • Доступ к рабочему месту можно получить из любой точки, где есть интернет.
  • Лицензия на программы понадобится не на все ПК, а только одна — на терминальный сервер.

Недостатки терминального сервера

Их меньше, чем преимуществ, но минусы у технологии есть:

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

Поддерживать и настраивать терминальный сервер должен системный администратор с опытом. Управление такими серверами — довольно специфическая задача. Например, он должен следить, чтобы были открыты нужные порты сервера, обновлять групповые политики безопасности или мониторить пользовательские сеансы, которые забыли закрыть, чтобы не возникла ошибка при достижении максимального числа подключений.

Виртуальный рабочий стол или терминальный сервер?

Терминальный сервер — это технология удаленного доступа сотрудников к ресурсам одного или нескольких серверов. По описанию эта технология похожа на VDI ( Virtual Desktop Infrastructure).

VDI — это инфраструктура виртуальных рабочих столов, когда на удаленном сервере каждому пользователю создается отдельное рабочее место. Как и терминальный доступ, она экономит ресурсы на оснащении и обслуживании рабочих мест, обладает преимуществами централизации. Подключение к серверу идет также через тонкий клиент. 

Сравним технологию виртуализации рабочих столов и терминального сервера

У пользователей терминального сервера одна ОС на всех, как и набор приложений. В VDI для каждого пользователя создается отдельная виртуальная машина на сервере — со своей ОС и набором ПО. Пользователь может устанавливать новые программы или удалять текущие, если у него есть соответствующий уровень доступа. В Selectel VDI можно настроить в облаке на базе VMware.

Подробнее о виртуализации рабочих столов можно прочитать здесь → 

Архитектура терминального сервера: ОС, клиентские приложения, связь с рабочим столом

Стандартный терминальный сервер состоит из четырех частей:

  • Один или несколько серверов, на котором размещаются ресурсы: ПО, ОС, приложения.
  • Операционная система сервера.
  • Протокол для связи с удаленными рабочими столами пользователей. Он управляет передачей данных от сервера к пользователям.
  • ПО (клиентские приложения), которое обеспечивает подключение к серверу. Установлено на тонком клиенте, или ПК, пользователя. 

Сервер. Обычно это многоядерная машина или сеть из слабых серверов. Многоядерность необходима, потому что для полноценной работы часть мощностей нужно отдать под:

  • службу поддержки,
  • непосредственно приложения и рабочее ПО,
  • обработку запросов, технические программы, общение между терминалами,
  • резервирование.

Суммарная мощность сервера должна превышать заявленное потребление на 30-40%, не считая потенциал для расширения штата.

ОС. Почти всегда в современных терминальных серверах стоит ОС Windows Server. Именно в этой операционной системе устанавливаются службы удаленных рабочих столов.

Протокол связи с удаленными рабочими столами

Стандартный протокол для связи с удаленными рабочими столами — Remote Desktop Protocol, разработанный компанией Microsoft. Это основной протокол удаленного доступа для терминалов на Windows, при этом клиентские приложения есть и для Linux, и для FreeBSD, и для MAC OS. 

Протокол RDP — прикладной, он передает данные. Со стороны клиента входные данные от клавиатуры и мыши, со стороны сервера — графические: это могут быть изображения, но скорее команды на отрисовку изображения на экране пользователя.

протокол rpd

Для Linux есть еще варианты терминальных серверов, которые работают по протоколам NX или XDMCP.

Клиентские приложения. ПО, которое обеспечивает подключение к серверу со стороны клиента (пользователя), — Remote Desktop Connection (RDC) или Terminal Services Client (TSC). 

Лицензирование терминального сервера

Для использования ОС Windows Server и подключения клиентов к серверу он должен иметь лицензию, которая называется CAL. После получения и активации лицензий они устанавливаются и хранятся на сервере лицензий или в службе лицензирования терминалов — Terminal Services Licensing Service. 

служба удаленных рабочих столов

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

Как подобрать терминальный сервер

Для этого нужно понять:

  • Какие приложения и сервисы будут использоваться, сколько они потребляют ресурсов. 
  • На каких ОС работают приложения. Если критическое большинство работает только под Windows, то ОС Linux и решения под него вам не выбрать. 
  • Сколько сотрудников будет пользоваться? Если говорить о ядрах, то на одного пользователя обычно требуется 2 ядра по 2,5-3 ГГц, 512 Мб оперативной памяти на терминальную сессию. Но многое будет зависеть от характера работы пользователя: для офисных программ может хватить и одного ядра, а для команды разработчиков, которые периодически запускают компиляторы, может не хватить и трех.
  • Есть ли планы по масштабированию? Если да, стоит выбрать базу под сервер, в которую можно поставить несколько процессоров и увеличить ОЗУ и число дисков.
  • Какие диски нужны — SATA HDD, SAS HDD или SSD? У каждой системы своя скорость чтения и записи. Плюс не забываем про отказоустойчивость и выбор RAID. Так, если выбирать RAID 0, объем жестких дисков нужно увеличить вдвое.
  • Также можно заложить запас производительности в 20-30% под пиковые нагрузки.

Как может помочь инфраструктура Selectel

В качестве терминального можно арендовать выделенный сервер готовой конфигурации. Мы уже собрали и протестировали десятки конфигураций с разным количеством ядер и типом дисков. Получить готовый сервер с установленной ОС можно в течение 2-60 минут после заказа. 

выбор сервера

Если вы не нашли подходящей конфигурации, можно арендовать сервер кастомной сборки с нужными вам характеристиками. Произвольные конфигурации собираются от 1 до 5 дней. Все серверы Selectel размещаются в дата-центрах уровня Tier III. 

Установка и настройка терминального сервера

Кратко рассмотрим типичный процесс настройки и установки терминального сервера по шагам: 

Перед установкой на сервере уже должен быть создан RAID-массив, ОС Windows Server, а дисковая система разбита на два раздела: для ОС и приложений и данных пользователей. 

  1. На будущем терминальном сервере открываем диспетчер сервера через Панель управленияАдминистрированиеДиспетчер серверов. Переходим по вкладке Локальный сервер.
  2. В окне Мастер добавления ролей и компонентов в типе установки выбираем Установка ролей или компонентов: выбираем сервер — Далее — отмечаем Службы удаленных рабочих столов
  3. Отмечаем две службы в службах ролей: Узел сеансов удаленных рабочих столовДалееУстановить.
  4. В окне Выбор служб ролей выбираем Узел сеансов удаленных рабочих столов и Лицензирование удаленных рабочих столов.
  5. После установки перезагружаем сервер.

Дальше нужно разобраться с лицензированием.

1. В диспетчере серверов сконфигурируем службу лицензирования. Указываем имя сервера в разделе Лицензирование. В разделе Средства»— Remote Desktop Services — Диспетчер лицензирования удаленных рабочих столов активируем сервер.

2. В  мастере выбираем автоматический метод подключения.

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

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

5. После установки лицензии появятся в Диспетчере лицензирования.

В других ОС процесс установки может отличаться.

Для каких задач пользователя подойдет терминальный сервер

Если сотрудники компании или отдела работают с одним программным стеком, то терминальный сервер — довольно простой и удобный способ организовать удаленный доступ. Например, поднять и администрировать филиал службы поддержки или колл-центра удобнее с терминальным сервером: нагрузка от каждого сотрудника небольшая, а набор программ строго ограничен. 

Подойдет решение и для больших отделов/компаний человек. Особенно если есть устаревшие ПК, которыми можно заменить тонкие клиенты. 

Но если в компании работают специалисты разного профиля — например, программисты, дизайнеры и тестировщики, то терминальный сервер скорее не  подойдет. Набор программ у них разный, как и требования к мощности. 

Впрочем, есть исключение: если большое количество сотрудников постоянно работают в одной программе. В таком случае можно настроить терминальный сервер только под эту программу. Например, так делают с 1С — пользователи 1С иногда даже не догадываются, что их программа работает не на рабочем ПК, а на отдельном сервере.