Самое простое определение терминального сервера звучит так: терминальный сервер — это мощное компьютерное устройство с установленной серверной ОС. К Terminal server подключены машины-клиенты (т.н. тонкие клиенты), маломощные пользовательские компьютеры, единственная задача которых — предоставить пользователю доступ к основным вычислительным ресурсам, расположенным на терминальном сервере.
Сервер содержит ряд специализированных программ, позволяющих настроить для каждого подключенного удаленно пользователя независимые сессии.
Внутри этих сессий пользователи могут запускать требуемые приложения, будто работая на локальном ПК,
но фактически получая на экран только «картинку» — видео, передаваемое сервером. Для работы с
компьютером используются мышь и клавиатура, подключенные к тонким клиентами. Данные с них
считываются и передаются на терминальный сервер. В результате пользователь получает абсолютную
иллюзию того, что работает на тонком клиенте.
Кому и зачем требуется терминальный сервер
Разумеется, первоочередная цель организации терминального сервера — это экономия средств бизнеса.
К примеру, если в штате всего 5-10 сотрудников, вполне реально организовать для каждого из них собственное рабочее место с полноценным персональным компьютером. Однако для крупных компаний это может обернуться существенными тратами, особенно если пользователям необходимо оперировать ресурсоемкими приложениями.
Кроме того, в случае модернизации, связанной, к примеру, с переходом на более мощные версии ПО, придется заменить или проапгрейдить сразу все пользовательские компьютеры.
- Терминальный сервер позволяет руководству существенно снизить затраты на компьютерные комплектующие.
- Тонкие клиенты могут годами работать без ущерба для производительности. На их стороне не производится никаких ресурсоемких вычислений, их единственная задача — обеспечить связь между пользователем и терминальным сервером.
В то же самое время терминальный сервер может неограниченно расширяться и обновляться в зависимости от количества сотрудников в штате и сложности их задач. Важный момент: гораздо проще обслуживать одну единственную машину, пускай дорогую и мощную, чем связываться с закупкой большого количества компьютеров или комплектующих.
Итак, чем конкретно могут заниматься пользователи тонких клиентов? Как мы уже писали выше, при включении тонкий клиент загружает минимальную ОС, необходимую для соединения с сервером. В момент подключения сервер генерирует для пользователя индивидуальную сессию, и пользователь попадает в полноценную операционную систему, с собственными программами, файлами и структурой директорий. «Подсмотреть» за чужой работой при этом не получится: пользователь жестко ограничен внутри своей учетной записи. При этом он может свободно запускать любые программы, заходить в интернет, подключаться к внешним и внутренним сервисам так, будто сидит за реальным «физическим» компьютером.
В числе прочих достоинств терминального сервера можно выделить следующее:
- Возможность выдавать различные права разным пользователям. К примеру, одним достаточно прав на чтение информации из общих папок, другим можно разрешить редактирование.
- Безопасность. Поскольку фактически только одно устройство выходит в интернет, достаточно установить одну копию антивирусного ПО или, к примеру, установить физический файрвол, и все пользователи тонких клиентов будут надежно защищены от любых вредоносных вмешательств извне.
- Экономия на лицензиях. Если в сценарии с использованием нескольких компьютеров вам пришлось бы покупать по несколько копий одной и той же программы (или ОС, если речь идет о Windows), с терминальным сервером будет достаточно всего одной лицензии и одной инсталляции. При этом, как уже говорилось ранее, сессии пользователей не пересекаются, и одна и та же программа может быть одновременно запущена у нескольких пользователей.
- Экономия на электроэнергии. Чем мощнее компьютер, тем больше электроэнергии он потребляет. Терминальный сервер и 100 тонких клиентов вместе будут потреблять гораздо меньше энергии, чем 100 полноценных компьютеров.
Видя многочисленные достоинства терминального сервера, запросто можно не заметить некоторые его недостатки. Кратко перечислим их ниже.
- Единая точка отказа. Предположим, администратор что-то напутал в настройках и сервер потерял связь с интернетом. Эта ошибка затронет не один компьютер, а сразу всех пользователей тонких клиентов. Поэтому любые эксперименты (а также установка новых драйверов, приложений и обновлений) в случае с терминальными серверами производятся сначала в специальной изолированной среде, и лишь затем, после тестирования, попадают в продуктив.
- Терминальный сервер постоянно находится под нагрузкой. Если вы организуете его работу самостоятельно, без участия третьей стороны в виде облачного провайдера, стоит уделить особенное внимание регулярному обслуживанию сервера и отказоустойчивости. Также при закупке не стоит чрезмерно экономить и приобретать оборудование сомнительных вендоров. А встроенные системы защиты данных вкупе с источниками бесперебойного питания позволят даже в экстренной ситуации сохранить работу или восстановить бэкап. Конечно, совершенно иначе дело обстоит с терминальным сервером, который вы арендуете у провайдера. Поставщик услуги как минимум гарантирует вам уровень доступности сервиса, закрепленный в SLA. К тому же у надежного провайдера реализованы различные механизмы отказоустойчивости. Даже если на терминальном сервере случится сбой со стороны поставщика, вы вряд ли это заметите.
Рабочие места в облаке vs терминальный сервер
На первый взгляд может показаться, что терминальный сервер и виртуальные десктопы крайне похожи. И там, и там пользователи получают доступ к рабочему столу удаленно, экономия достигается сходными путями. В чем же принципиальная разница между терминальным сервером и виртуализацией? В каких ситуациях следует использовать то или другое решение?
Во-первых, работа с терминальным сервером автоматически подразумевает, что все пользователи вынуждены использовать одну общую ОС: MS Windows или конкретный дистрибутив Linux. С одной стороны, это удобно: унификация внутри компании — это почти всегда удачный выбор. С другой — возможно, 99% процентов задач компании сможет покрыть обыкновенная Linux.
Однако, к примеру, дизайнер в ней работать не может: нет привычных Adobe-продуктов. В итоге придется либо покупать отдельный ПК с Windows, либо устанавливать ее на терминальном сервере сразу для всех.
Виртуализация предполагает, что в рамках одного физического сервера для каждого сотрудника будут развернуты отдельные виртуальные машины с любой ОС на выбор. С точки зрения обыкновенного пользователя это такой же полноценный компьютер, однако для него не требуется докупать оборудование. Отсюда вытекает сразу несколько плюсов и минусов.
Плюсы:
- Как и в случае с терминальным сервером, не требуется покупать множество мощных компьютеров, достаточно одного сервера и тонких клиентов.
- Каждая виртуальная машина пользователя — отдельная сущность со своим набором ПО и ОС по выбору, ошибка в одной из них не приведет к массовому сбою.
- Пользователь получает гораздо больше прав на изменение конфигурации системы. Если требуется установить приложение, он может сделать это самостоятельно.
Минус здесь только один и весьма условный:
- Стоимость сервера виртуализации зачастую гораздо выше, чем стоимость терминального сервера.
Фактически, уровень изоляции пользователей и стоимость являются главным отличием терминального сервера от виртуализации. Поэтому однозначно сказать, в пользу какой технологии стоит сделать выбор вашей компании, не имея вводных данных, невозможно. В первую очередь все упирается в компетенции и стандарты, принятые внутри компании. В общем случае, терминальные серверы — выбор малого и среднего бизнеса. А крупные компании, имеющие множество филиалов и сотни сотрудников, чаще всего прибегают к виртуализации.
Практика: конфигурируем терминальный сервер на базе MS Windows Server
- Первым делом стоит организовать отказоустойчивый RAID-массив. Для этого вы можете воспользоваться готовыми инструментами, встроенными в контроллер. Кроме того, на этом этапе стоит удостовериться, что сервер подсоединен к источнику бесперебойного питания. Это гарантирует, что из-за скачка напряжения или кратковременного отключения электричества ваш сервер сможет продолжить работу.
- Перед инсталляцией ОС рекомендуем разбить дисковую систему на два разноразмерных раздела. Для ОС и приложений — меньший, для хранилища файлов — больший. Непосредственно установка Windows слишком тривиальна для того, чтобы заострять на ней внимание, поэтому мы сразу перейдем к ее настройке.
- Первым делом после установки разрешите функционал удаленного рабочего стола и выдайте серверу роль контроллера домена. Если же в вашей компании уже есть компьютер с этой ролью, необходимо будет подключить к нему конфигурируемый сервер.
- В диспетчере серверов откройте «Службы удаленных рабочих столов» и отметьте следующие пункты: «Выбор служб ролей для удалённых рабочих столов», «Узел сеансов удалённых рабочих столов» и «Лицензирование удалённых рабочих столов». Вероятнее всего, система предложит вам установить ряд зависимостей — сделайте это. Дождитесь окончания всех процессов установки и перезагрузите сервер для полноценного применения всех изменений.
- После этого поочередно настройте каждый из инсталлированных компонентов, особое внимание уделите лицензированию. Вам потребуется заполнить небольшую форму, затем установить все необходимые лицензии, после чего сервер будет готов к работе.