- Установка и настройка терминального сервера на Windows Server
- Шаг 1. Выбор оборудования и подготовка сервера к работе
- Выбор оборудования
- Подготовка сервера
- Шаг 2. Установка Windows Server и базовая настройка системы
- Установка системы
- Базовая настройка Windows Server
- Шаг 3. Установка и настройка терминального сервера
- Подготовка системы
- Установка роли и компонентов
- Установка служб удаленных рабочих столов
- Настройка лицензирования удаленных рабочих столов
- Добавление лицензий
- Шаг 4. Тюнинг терминального сервера
- Ограничение сессий
- Анализатор соответствия рекомендациям
- Теневые копии
- Ошибка 36888 (Source: schannel)
- Шаг 5. Настройка средств обслуживания
- Резервное копирование
- Мониторинг
- Шаг 6. Тестирование
- Особый порт для подключения
- Терминальный сервер
- Назначение терминального сервера
- Технологии
- Требования к железу
Установка и настройка терминального сервера на Windows Server
Инструкция разбита на 6 шагов. Первых 3 представляют стандартные действия для настройки терминального сервера. Остальные являются профессиональными советами, которые помогут создать надежную и профессиональную инфраструктуру для сервера терминалов.
В качестве операционной системы используется Windows Server 2012 R2 / 2016.
Шаг 1. Выбор оборудования и подготовка сервера к работе
Выбор оборудования
Выбирая оборудование для данного типа серверов, необходимо опираться на требования приложений, которые будут запускаться пользователями и количество последних. Например, если устанавливается терминальный сервер для программы 1С, а количество одновременно работающих сотрудников равно 20, получим следующие характеристики (приблизительно):
- Процессор от Xeon E5.
- Памяти не менее 28 Гб (по 1 Гб на каждого пользователя + 4 для операционной системы + 4 запас — это чуть меньше 20%).
- Дисковую систему лучше построить на базе дисков SAS. Объем необходимо учесть индивидуально, так как это зависит от характера задач и методов их решения.
Также предлагаю для чтения статью Как выбрать сервер.
Подготовка сервера
Прежде чем начать установку операционной системы выполните следующее:
- Настройте отказоустойчивый RAID-массив (уровни 1, 5, 6 или 10, а также их комбинации). Данная настройка выполняется во встроенной утилите контроллера. Для ее запуска следуйте подсказкам на экране во время загрузки сервера.
- Подключите сервер к источнику бесперебойного питания (ИБП). Проверьте, что он работает. Отключите подачу питания на ИБП и убедитесь, что сервер продолжает работать.
Шаг 2. Установка Windows Server и базовая настройка системы
Установка системы
Во время установки системы важно учесть только один нюанс — дисковую систему необходимо разбить на два логических раздела. Первый (малый, 70 – 120 Гб) выделить для системных файлов, второй — под пользовательские данные.
На это есть две основные причины:
- Системный диск малого размера быстрее работает и обслуживается (проверка, дефрагментация, антивирусное сканирование и так далее)
- Пользователи не должны иметь возможность хранить свою информацию на системном разделе. В противно случае, возможно переполнение диска и, как результат, медленная и нестабильная работа сервера.
Базовая настройка Windows Server
- Проверяем правильность настройки времени и часового пояса;
- Задаем понятное имя для сервера и, при необходимости, вводим его в домен;
- Настраиваем статический IP-адрес;
- Если сервер не подключен напрямую к сети Интернет, стоит отключить брандмауэр;
- Для удаленного администрирования, включаем удаленный рабочий стол;
- Устанавливаем все обновления системы.
Шаг 3. Установка и настройка терминального сервера
Подготовка системы
Начиная с Windows 2012 терминальный сервер должен работать в среде Active Directory.
Если в вашей IT-среде есть контроллер домена, просто присоединяем к нему наш сервер. В противном случае, устанавливаем на наш сервер роль контроллера.
Установка роли и компонентов
В панели быстрого запуска открываем Диспетчер серверов:
Кликаем Управление — Добавить роли и компоненты:
Нажимаем Далее до «Выбор типа установки». Оставляем Установка ролей и компонентов и нажимаем Далее дважды:
В окне «Выбор ролей сервера» выбираем Службы удаленных рабочих столов:
Кликаем Далее, пока не появится окно «Выбор служб ролей» и выбираем следующие:
- Лицензирование удаленных рабочих столов
- Узел сеансов удаленных рабочих столов
* при появлении запроса на установку дополнительных компонентов соглашаемся.
При необходимости, также выставляем остальные галочки:
- Веб-доступ — возможность выбора терминальных приложений в браузере
- Посредник подключений — для кластера терминальных серверов посредник контролирует нагрузку каждой ноды и распределяет ее.
- Узел виртуализации — для виртуализации приложений и запуска их через терминал.
- Шлюз — центральный сервер для проверки подлинности подключения и шифрования трафика. Позволяет настроить RDP внутри HTTPS.
Нажимаем Далее и в следующем окне Установить. Дожидаемся окончания процесса установки и перезагружаем сервер.
Установка служб удаленных рабочих столов
После перезагрузки открываем Диспетчер серверов и нажимаем Управление — Добавить роли и компоненты:
В окне «Выбор типа установки» выбираем Установка служб удаленных рабочих столов и нажимаем Далее:
В окне «Выбор типа развертывания» выбираем Быстрый запуск и нажимаем Далее:
В «Выбор сценария развертывания» — Развертывание рабочих столов на основе сеансов — Далее:
Еще раз Далее — при необходимости, ставим галочку «Автоматически перезапускать конечный сервер, если это потребуется» и кликаем по Развернуть.
Настройка лицензирования удаленных рабочих столов
Для корректной работы сервера, необходимо настроить службу лицензирования. Для этого открываем диспетчер серверов и кликаем по Средства — Terminal Services — Диспетчер лицензирования удаленных рабочих столов:
В открывшемся окне кликаем правой кнопкой мыши по нашему серверу и выбираем Активировать сервер:
В открывшемся окне дважды кликаем Далее — заполняем форму — Далее — Далее — Снимаем галочку «Запустить мастер установки лицензий» — Готово.
Снова открываем диспетчер серверов и переходим в «Службы удаленных рабочих столов»:
В «Обзоре развертывания» кликаем по Задачи — Изменить свойства развертывания:
В открывшемся окне переходим в Лицензирование — Выбираем тип лицензий — прописываем имя сервера лицензирования (в данном случае локальный сервер) и наживаем Добавить:
Применяем настройки, нажав OK.
Добавление лицензий
Открываем диспетчер серверов и кликаем по Средства — Terminal Services — Диспетчер лицензирования удаленных рабочих столов:
В открывшемся окне кликаем правой кнопкой мыши по нашему серверу и выбираем Установить лицензии:
В открывшемся окне нажимаем Далее — выбираем программу, по которой куплены лицензии, например, Enterprise Agreement — Далее — вводим номер соглашения и данные лицензии — выбираем версию продукта, тип лицензии и их количество — Далее — Готово.
Проверить статус лицензирования можно в диспетчере серверов: Средства — Terminal Services — Средство диагностики лицензирования удаленных рабочих столов.
Шаг 4. Тюнинг терминального сервера
Ограничение сессий
По умолчанию, пользователи удаленных рабочих столов могут находиться в системе в активном состоянии без ограничения. Это может привести к зависаниям или проблемам при повторном подключении. Для решения возможных проблем установите ограничения на терминальные сессии.
Анализатор соответствия рекомендациям
Для некоторых серверных ролей Windows (в частности, терминальных) существует база успешных конфигураций. Придерживаясь советам данной базы можно повысить надежность и стабильность системы.
Для сервера удаленных рабочих столов, как правило, необходимо выполнить следующие рекомендации:
1. Файл Srv.sys должен быть настроен на запуск по требованию.
В командной строке от имени администратора вводим:
sc config srv start= demand
2. Создание коротких имен файлов должно быть отключено.
В командной строке от имени администратора вводим:
fsutil 8dot3name set 1
Теневые копии
Если подразумевается хранение ценной информации на терминальном сервере, стоит настроить возможность восстановления предыдущих версий файлов.
Как настроить и пользоваться данной возможностью, читайте подробнее в инструкции Как включить и настроить теневые копии.
Ошибка 36888 (Source: schannel)
В журнале Windows может появляться ошибка «Возникло следующее неустранимое предупреждение: 10. Внутреннее состояние ошибки: 1203.» от источника Schannel и кодом 36888. Ее причину, однозначно, определить мне не удалось. Во многих информационных источниках пишут, что это давно известная проблема и списывают на ошибку самой операционной системы.
Точного решения найти не удалось, но можно отключить ведение лога для Schannel. Для этого в редакторе реестра находим ветку HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel — в ней параметр EventLogging и меняем его значение на 0. Команда для редактирования реестра:
reg add «HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel» /v EventLogging /t REG_DWORD /d 0 /f
* данную команду необходимо выполнить из командной строки, запущенной от администратора.
Шаг 5. Настройка средств обслуживания
Основные средства, помогающие полноценно обслуживать сервер — мониторинг и резервное копирование.
Резервное копирование
Для терминального сервера необходимо резервировать все рабочие каталоги пользователей. Если на самом сервере организована общий каталог для обмена и хранения важной информации, копируем и его. Лучшим решением будет ежедневное копирование новых данных, и с определенной периодичностью (например, раз в месяц), создание полного архива.
Мониторинг
- Сетевую доступность сервера;
- Свободное дисковое пространство.
Шаг 6. Тестирование
Тестирование состоит из 3-х основных действий:
- Проверить журналы Windows и убедиться в отсутствие ошибок. В случае их обнаружения, необходимо устранить все проблемы.
- Выполнить действия анализатора соответствий рекомендациям.
- Провести живой тест работы сервиса с компьютера пользователя.
Особый порт для подключения
По умолчанию, для подключения к терминальному серверу по RDP используется порт 3389. Если необходимо, чтобы сервер слушал на другом порту, открываем реестр, и переходим в ветку:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Находим ключ PortNumber и задаем ему значение в десятично представлении, равное нужному номеру порта:
Также можно применить команду:
reg add «HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp» /v PortNumber /t REG_DWORD /d 3388 /f
* где 3388 — номер порта, на котором будет принимать запросы терминальный сервер.
Терминальный сервер
Терминальный сервер — устройство, предоставляющее удаленный доступ к рабочим столам, делегирующее вычислительные ресурсы конечному пользователю. Используется со специализированным программным обеспечением, поддерживающим возможность работы посредством удаленной сессии. В 2020 году технология сохраняет свою актуальность, так как позволяет экономить и получать максимальную выгоду.
Пришло время подробнее узнать про терминальный сервер, ведь применения такого аппаратно-программного комплекса широко распространено. Иногда проще сделать одну производительную единицу техники и создать десяток рабочих столов с удаленным доступом, чем применять множество персональных компьютеров, усложняющих обслуживание и администрирование.
Назначение терминального сервера
Предположим, возникла такая ситуация. Есть 10 сотрудников компании, им необходимо работать с Word, Exel, отправлять почту и обрабатывать заказы в CRM. Иногда требуется интерфейс работы с 1С. Конечно, можно каждому работнику купить по ПК, но каких вложений это потребует? При том на компьютер нужно будет установить Windows, периодически обслуживать. Одни сложности.
Есть более простой способ решить задачу:
создать центральный узел, в качестве которого выступит сервер терминалов;
позволить доступ конечного пользователя к нему;
выделять ровно столько мощностей, сколько потребуется для решения задачи.
Как видите, терминальный сервер позволяет просто и незамысловато решить задачу. Ставите один производительный сервер, создаете 10 учетных записей для сотрудников, ставите тонкие клиенты и даете доступ к ТС. Просто учтите, что следующее нужно в достаточных объемах:
количество оперативной памяти;
Как видите, учесть требуется минимальное количество факторов, но могут возникнуть другие проблемы — лицензии. Тут есть свой подход, позволяющий хорошо сэкономить, если решили действовать легально. В конце статьи о них расскажу.
Технологии
Требования к устройству будут разниться от численности пользователей, операционной системы и требований программного обеспечения. Пойдем от простого к сложному. Начнем с требований к программному обеспечению.
Здесь зависит от типа гостевых сессий. Например, для каждого рабочего стола может инициализировать отдельный процесс, который будет потреблять указанное в требованиях количество вычислительных ресурсов, например, у Adobe Acrobat встречалась такая проблема. Процессы рендеринга при отображении страниц, ускорение 2 D- графики, разные типы сглаживания, работали для каждого удаленного рабочего стола отдельно, что сжирало производительность колоссально.
Второй тип, когда терминальный доступ предоставляется не посредством запуска отдельных рабочих столов, а созданием отдельных сессий в одном приложении. Например, так построены веб-серверы, которые работают под одной ОС, но создают разные сессии внутри себя.
Так что, в первую очередь нужно выяснить, сколько будет съедать ресурсов отдельный процесс. Фактически, придется вычислить полное потребление каждого рабочего стола. Занятие довольно сложное.
Теперь вопрос об операционной системе. Вообще, раскрыть в рамках статьи подобный вопрос довольно сложно, существуют десятки ОС, наиболее распространенные из которых:
Unix- подобные, наиболее популярные из которых относятся к подтипу Linux ;
Windows, в том числе и серверные версии;
BSD, также UNIX- подобная система, но перетерпевшая колоссальные изменения;
множество других, например, самописных, заточенных под специализированные задачи.
Каждая OS будет иметь собственные требования, а также разные возможности предоставления терминального доступа. Требования к устройству будут серьезно разниться в зависимости от типа операционной системы.
И на закуску. Численность пользователей наиболее важна, ведь в зависимости от численности единовременных сессий будут зависеть конечные требования к терминальному серверу. Фактически, каждый человек — потенциальный удаленный рабочий стол. Придется считаться с этим, когда создаете техническую инфраструктуру.
Требования к железу
Посмотрели, с чем придется столкнуться? Отлично. Надеюсь, вы понимаете, что не смогу раскрыть всевозможные варианты сборок под каждую задачу. Только под те, что реализовывал самостоятельно, могу рассказать. Но всегда сталкивался с несколькими проблемами, которым стоит уделить внимание.
Когда проектируете сервер терминалов , всегда учитывайте простой факт — лучше выделить на каждый рабочий стол отдельный поток процессора. Например, если пользователей 20, то рекомендуется взять минимум 10-ядерный CPU с 20 потоками. Но тут зависит от требований приложений. Если это какой-нибудь офис, юзаемый сотрудниками, ничего страшного. А если ребята усиленно возятся с программированием и периодически запускают компиляторы, то каждый сотрудник может сжирать колоссальные ресурсы.
Дисковая подсистема — слабое звено терминального сервера, если там усиленно работают с файловой базой. Например, если пользователи запускают разные приложения, но все находятся на одном диске. Делайте RAID, устанавливайте SSD, раскидывайте приложения по разным накопителям. Сделайте так, чтобы один HDD не забивался кучей обращений.
Оперативная память. Если на всех требуется 64 ГБ, то большая ошибка ставить 2 планки по 32 ГБ. Желательно, чтобы ОЗУ тоже дробилась и количество обращений к планке не становилось критическим. Разбейте по 16 ГБ, так будет надежнее. Но учтите максимальное количество разъемов. Если их всего 4, а в планах 128 ГБ, то тогда придется остановиться на планках по 32.
Сетевая плата. Очень серьезная проблема! Почему? Да потому, что 1 GbE на большую численность соединений попросту не хватает. Не потому, что канал забивается, а попросту не параллелится. Это серьезная проблема. Берите платы с поддержкой независимых каналов, тогда проблем получится избежать. 2, а лучше 4.
Блоки питания лучше использовать с возможностью горячей замены, иначе при отказе одного, устройство будет обесточено. Не забудьте взять хороший источник бесперебойного питания. В случае обесточивания это даст время нормально завершить работу, сохранив все данные. Остальное уже по усмотрению. Впрочем, могу накидать несколько полноценных сборок, которые можете заказать. Все сделаю на базе Supermicro, чтобы обойтись без переплат. Цену указывать не буду, так как постоянно скачет, как надежда с небоскреба.