Терминальный сервер — устройство, предоставляющее удаленный доступ к рабочим столам, делегирующее вычислительные ресурсы конечному пользователю. Используется со специализированным программным обеспечением, поддерживающим возможность работы посредством удаленной сессии. В 2020 году технология сохраняет свою актуальность, так как позволяет экономить и получать максимальную выгоду.
Пришло время подробнее узнать про терминальный сервер, ведь применения такого аппаратно-программного комплекса широко распространено. Иногда проще сделать одну производительную единицу техники и создать десяток рабочих столов с удаленным доступом, чем применять множество персональных компьютеров, усложняющих обслуживание и администрирование.
Назначение терминального сервера
Предположим, возникла такая ситуация. Есть 10 сотрудников компании, им необходимо работать с Word, Exel, отправлять почту и обрабатывать заказы в CRM. Иногда требуется интерфейс работы с 1С. Конечно, можно каждому работнику купить по ПК, но каких вложений это потребует? При том на компьютер нужно будет установить Windows, периодически обслуживать. Одни сложности.
Есть более простой способ решить задачу:
создать центральный узел, в качестве которого выступит сервер терминалов;
позволить доступ конечного пользователя к нему;
выделять ровно столько мощностей, сколько потребуется для решения задачи.
Как видите, терминальный сервер позволяет просто и незамысловато решить задачу. Ставите один производительный сервер, создаете 10 учетных записей для сотрудников, ставите тонкие клиенты и даете доступ к ТС. Просто учтите, что следующее нужно в достаточных объемах:
сетевой канал;
ресурсы процессора;
количество оперативной памяти;
дисковая память.
Как видите, учесть требуется минимальное количество факторов, но могут возникнуть другие проблемы — лицензии. Тут есть свой подход, позволяющий хорошо сэкономить, если решили действовать легально. В конце статьи о них расскажу.
Технологии
Требования к устройству будут разниться от численности пользователей, операционной системы и требований программного обеспечения. Пойдем от простого к сложному. Начнем с требований к программному обеспечению.
Здесь зависит от типа гостевых сессий. Например, для каждого рабочего стола может инициализировать отдельный процесс, который будет потреблять указанное в требованиях количество вычислительных ресурсов, например, у Adobe Acrobat встречалась такая проблема. Процессы рендеринга при отображении страниц, ускорение 2D-графики, разные типы сглаживания, работали для каждого удаленного рабочего стола отдельно, что сжирало производительность колоссально.
Второй тип, когда терминальный доступ предоставляется не посредством запуска отдельных рабочих столов, а созданием отдельных сессий в одном приложении. Например, так построены веб-серверы, которые работают под одной ОС, но создают разные сессии внутри себя.
Так что, в первую очередь нужно выяснить, сколько будет съедать ресурсов отдельный процесс. Фактически, придется вычислить полное потребление каждого рабочего стола. Занятие довольно сложное.
Теперь вопрос об операционной системе. Вообще, раскрыть в рамках статьи подобный вопрос довольно сложно, существуют десятки ОС, наиболее распространенные из которых:
Unix-подобные, наиболее популярные из которых относятся к подтипу Linux;
Windows, в том числе и серверные версии;
BSD, также UNIX-подобная система, но перетерпевшая колоссальные изменения;
множество других, например, самописных, заточенных под специализированные задачи.
Каждая OS будет иметь собственные требования, а также разные возможности предоставления терминального доступа. Требования к устройству будут серьезно разниться в зависимости от типа операционной системы.
И на закуску. Численность пользователей наиболее важна, ведь в зависимости от численности единовременных сессий будут зависеть конечные требования к терминальному серверу. Фактически, каждый человек — потенциальный удаленный рабочий стол. Придется считаться с этим, когда создаете техническую инфраструктуру.
Требования к железу
Посмотрели, с чем придется столкнуться? Отлично. Надеюсь, вы понимаете, что не смогу раскрыть всевозможные варианты сборок под каждую задачу. Только под те, что реализовывал самостоятельно, могу рассказать. Но всегда сталкивался с несколькими проблемами, которым стоит уделить внимание.
Когда проектируете сервер терминалов, всегда учитывайте простой факт — лучше выделить на каждый рабочий стол отдельный поток процессора. Например, если пользователей 20, то рекомендуется взять минимум 10-ядерный CPU с 20 потоками. Но тут зависит от требований приложений. Если это какой-нибудь офис, юзаемый сотрудниками, ничего страшного. А если ребята усиленно возятся с программированием и периодически запускают компиляторы, то каждый сотрудник может сжирать колоссальные ресурсы.
Дисковая подсистема — слабое звено терминального сервера, если там усиленно работают с файловой базой. Например, если пользователи запускают разные приложения, но все находятся на одном диске. Делайте RAID, устанавливайте SSD, раскидывайте приложения по разным накопителям. Сделайте так, чтобы один HDD не забивался кучей обращений.
Оперативная память. Если на всех требуется 64 ГБ, то большая ошибка ставить 2 планки по 32 ГБ. Желательно, чтобы ОЗУ тоже дробилась и количество обращений к планке не становилось критическим. Разбейте по 16 ГБ, так будет надежнее. Но учтите максимальное количество разъемов. Если их всего 4, а в планах 128 ГБ, то тогда придется остановиться на планках по 32.
Сетевая плата. Очень серьезная проблема! Почему? Да потому, что 1GbE на большую численность соединений попросту не хватает. Не потому, что канал забивается, а попросту не параллелится. Это серьезная проблема. Берите платы с поддержкой независимых каналов, тогда проблем получится избежать. 2, а лучше 4.
Блоки питания лучше использовать с возможностью горячей замены, иначе при отказе одного, устройство будет обесточено. Не забудьте взять хороший источник бесперебойного питания. В случае обесточивания это даст время нормально завершить работу, сохранив все данные. Остальное уже по усмотрению. Впрочем, могу накидать несколько полноценных сборок, которые можете заказать. Все сделаю на базе Supermicro, чтобы обойтись без переплат. Цену указывать не буду, так как постоянно скачет, как надежда с небоскреба.