- Как настроить кластер терминальных серверов
- Как настроить кластер терминальных серверов
- Как работает кластер WTware
- Несколько кластеров в одной сети
- Критерии оценки загруженности серверов
- Критерий: балансировка по количеству пользователей
- Критерий: балансировка по количеству физической памяти, приходящейся на одного пользователя
- Критерий: балансировка по загруженности процессора
- Критерий: эмпирическая оценка загруженности оперативной памяти.
- Поиск остальных серверов в кластере
- Конфигурационный файл
- Установка и настройка терминального сервера на Windows Server
- Шаг 1. Выбор оборудования и подготовка сервера к работе
- Выбор оборудования
- Подготовка сервера
- Шаг 2. Установка Windows Server и базовая настройка системы
- Установка системы
- Базовая настройка Windows Server
- Шаг 3. Установка и настройка терминального сервера
- Подготовка системы
- Установка роли и компонентов
- Установка служб удаленных рабочих столов
- Настройка лицензирования удаленных рабочих столов
- Добавление лицензий
- Шаг 4. Тюнинг терминального сервера
- Ограничение сессий
- Анализатор соответствия рекомендациям
- Теневые копии
- Ошибка 36888 (Source: schannel)
- Шаг 5. Настройка средств обслуживания
- Резервное копирование
- Мониторинг
- Шаг 6. Тестирование
- Особый порт для подключения
Как настроить кластер терминальных серверов
Данная статья написана в рамках общего описания настройки терминальных служб в Windows server 2012. Центральная статья с описанием тут.
Отказоустойчивость в RDS
Давайте подумаем, из чего может складываться отказоустойчивость работы в опубликованных приложениях при использовании терминальных служб.
Отказоустойчивость серверной части можно обеспечить на двух уровнях:
- аппаратный — когда выход из строя физического сервера не ведет к долгому простою терминального сервера. Это легко осуществимо при использовании платформы виртуализации от любого производителя VMware, Citrix, Microsoft, у них у всех есть технология высокой доступности HA (High Availability)
- программный — когда выходит из строя операционная система (Windows server 2008 или 2012) и администратору приходится восстанавливать данные из резервной копии с неизбежной потерей информации. Чтобы пережить программные сбои нужно настраивать кластеры, дублирующие серверы и не забывать о резервном копировании.
Клиентское устройство, очевидно, что это должен быть тонкий клиент, на котором не хранится никакой информации, только базовые настройки подключения. Он должен уметь подключаться к терминальному серверу (серверам) по RDP протоколу и отображать на экране монитора удаленный рабочий стол или опубликованные приложения. Таких тонких клиентов сейчас на рынке очень много, от недорогих китайских (3000 руб) до дорогих брендовых на платформе Windows Embedded (до 20 000 руб). Я предлагаю использовать вот такие решения — самосборные, HP, Wise.
Распределение нагрузки и отказоустойчивость. Если клиент будет подключаться напрямую к терминальному серверу (точка-точка), то в такой схеме не будет никакой отказоустойчивости. Выходит из строя сервер — работа встает. Нужно несколько терминальных серверов с одинаковым функционалом, чтобы при поломке первого клиент мог бы продолжить работу на втором, третьем и т.д. Для этого устанавливают посредник подключения к удаленными рабочим столам. В 2012 сервере (и ранее в 2008) в этой роли выступает RD connection broker – это роль, которую можно добавить через мастер добавления ролей в диспетчере сервера. Посредник подключений в первую очередь распределяет нагрузку между терминальными серверами, отправляет пользователей на тот сервер терминалов, на котором в данный момент меньше пользователей.
Для отказоустойчивости роль посредника устанавливали на два сервера, затем объединяли их в кластер, если в Windows server 2008 Broker работал по схеме Active – Passive, т.е. один из серверов посредника, находясь в простое, ждал, пока откажет основной, то в 2012 эта схема улучшена (переработана) и работает как Active –Active кластер. Клиенты поочередно обращаются то к одному, то к другому Connection Broker (за счет работы службы DNS Round Robin), который уже указывает на терминальный сервер к которому ему следует подключаться.
Но есть одно НО, для работы в отказоустойчивом режиме Connection Broker использует базу данных MSSQL. По логике отказоустойчивости нужно и ее дублировать, создавать кластер, а это еще больше усложнит схему.
Не забываем, про доменные службы, которые должны обеспечивать аутентификацию пользователей, DNS сервер должен разрешать имена, без этого наши терминальные службы тоже работать не будут.
В итоге, для отказоустойчивой схемы потребуется как минимум два сервера с Ролью Connection Broker, два терминальных сервера, два MSSQL сервера, два контроллера домена и два DNS сервера. Плюс два сервера, на которых будут хранениться профили пользователей. Общая папка, в которой они будут храниться, должна реплицироваться между двумя серверами.
Теперь я задам вопрос: » Стоит ли городить такой огород из разнообразных служб Microsoft? Может быть есть другой способ?»
Думаю, что есть. Не создаем кластеры из MSSQL, контроллеров доменов, DNS серверов, а используя технологии виртуализации, реплицируем виртуальные машины на другой физический сервер и не забываем делать резервное копирование. Но такая схема потребует вмешательства администратора при сбое, он должен будет удостовериться, что основные виртуальные машины вышли из строя и в ручном режиме запустить реплики.
Источник
Как настроить кластер терминальных серверов
NB: вопросы и пожелания по кластерe пишите, пожалуйста, в форум.
Как работает кластер WTware
Кластер — это некоторое количество терминальных серверов, на которых установлена служба балансировки нагрузки WTware. Ссылка для скачивания здесь. Служба называется «WTware Load Balancing».
Все сервера в кластере равноправны. Основное преимущество такого подхода состоит в отсутствии точек отказа. Мы можем выключить любое количество серверов, и клиенты будут обслуживаться до тех пор, пока останется хотя бы один работающий сервер из кластера. Недостатком такого подхода является то, что любые различия в настройках службы балансировки на серверах одного кластера могут помешать корректной балансировке нагрузки.
Сервера узнают друг о друге, используя автоматический поиск либо загружая список адресов из файла конфигурации. В кластер может входить до ста серверов.
Каждый кластер имеет свое уникальное имя и пароль. Имя необходимо клиенту для указания кластера, к которому он желает подключиться. Пароль используется для избежания постороннего вмешательства в работу кластера. Имя и пароль хранятся в файле конфигурации.
Схематично взаимодействие клиентского терминала с кластером можно отобразить в трех шагах. Оно начинается с запроса терминала.
Затем сервера совещаются мажду собой, определяя наименее загруженный.
После этого наименее загруженный терминальный сервер сообщает терминалу свой IP-адрес для подключения.
На практике кластер работает именно так, и еще добавляется проверка логина для обеспечения сохранности оборванных сессий.
Несколько кластеров в одной сети
В сети может одновременно существовать несколько кластеров WTware. Они не будут мешать друг другу, если у каждого кластера будет уникальное имя.
Каждый сервер может одновременно входить в несколько (до девяти) кластеров. Такой режим может быть использован, например, для распределения приложений по серверам. Предположим, на серверах
Пользователи, которым для работы нужен только Microsoft Office, будут подключаться к кластеру secretary. Пользователи, которые работают только с Corel Draw, будут подключаться к кластеру artist. Пользователи, которым нужно работать с обоими программами, будут подключаться к кластеру manager. Служба балансировки нагрузки WTware поможет равномерно распределить нагрузку на физические сервера.
Критерии оценки загруженности серверов
Служба балансировки нагрузки WTware реализует четыре критерия оценки загруженности серверов. Очень важно, чтобы внутри одного кластера все сервера были настроены на использование одного и того же критерия.
Для учета различий между серверами используется корректирующий коэффициент, который есть у каждого критерия. Например, если мы используем два сервера, балансировку по количеству пользователей и желаем, чтобы на сервер
В этом случае при принятии решения «куда подключать нового пользователя?» будет сравниваться число пользователей на сервере
Критерий: балансировка по количеству пользователей
Число, определяющее загруженность сервера, вычисляется как количество пользователей, подключенных к службе терминалов этого сервера в настоящий момент, умноженное на корректирующий коэффициент этого сервера.
Критерий: балансировка по количеству физической памяти, приходящейся на одного пользователя
Число, определяющее загруженность сервера, вычисляется как объем физической памяти на сервере, разделенный на количество пользователей, подключенных к службе терминалов этого сервера в настоящий момент, и умноженное на корректирующий коэффициент этого сервера.
Критерий: балансировка по загруженности процессора
Число, определяющее загруженность сервера, вычисляется как длина очереди процессора, умноженная на корректирующий коэффициент этого сервера. Длина очереди процессора равна числу ожидающих выполенния потоков. Эта величина лучше отражает нагрузку процессоров, чем «загрузка ЦП», показываемая Task Manager. Длину очереди процессора можно увидеть в Perfomance Monitor, объект System/Система, счетчик Processor Queue Length/Длина очереди процессора.
Критерий: эмпирическая оценка загруженности оперативной памяти.
Суммируется объем оперативной памяти, потребляемой в настоящий момент каждым пользователем по отдельности. При этом если пользователь в настоящий момент потребляет менее некоторой базовой величины (по умолчанию 40Мб), то вместо реальной цифры для него принимается 40Мб. В конце сумма умножается на корректирующий коэффициент этого сервера. Этот критерий используется по умолчанию.
Поиск остальных серверов в кластере
Сервера могут воспользоваться автоматическим поиском себе подобных. Поиск выполняется при помощи широковещательных сообщений. Широковещательные сообщения проходят через свичи и хабы.
Клиентский терминал также может искать сервера при помощи широковещательных сообщений. Если все сервера и терминалы соединены между собой только свичами и/или хабами, то вы вполне можете положиться на автоматический поиск.
Если между серверами находятся маршрутизаторы, которые не пропускают широковещательные пакеты, придется воспользоваться статическим списком входящих в кластер серверов, который задается в файле конфигурации кластера.
Автоматический поиск можно совмещать с использованием статического списка серверов. Например, в случае, изображенном на картинке внизу, достаточно указать серверу
Конфигурационный файл
Конфигурационный файл называется ‘wtlb.cfg’. Находится в каталоге, в который была проинсталлирована служба балансировки нагрузки WTware.
Каждый кластер описывается отдельной строчкой clusterN = . Один сервер может входить в девять кластеров. Индекс N принимает значения от 1 до 9 и не должен повторяться в одном файле. Синтаксис строки:
Второй параметр, который указывается в конфигурационном файле, называется debug. Он задает имя файла, в который ведется подробный протокол работы службы балансировки. Если закомментировать этот параметр, то служба будет отправлять сообщения в системный журнал, просматривать их можно системной утилитой Event View/Просмотр событий.
Файл со списком адресов серверов, входящих в кластер, имеет еще более простой формат. Адреса перечисляются по одному в строке. Можно указывать как ip-адрес, так и dns и wins-имена, если они распознаются. В дистрибутиве есть два примера этих файлов. Рекомендую использовать один и тот же файл со списком адресов на каждом сервере и этот же файл отдавать терминалам. Также рекомендую указывать в этом файле только IP-адреса, так как терминалы не смогут распознать имена wins.
Для того, чтобы служба приняла изменения в конфигурационных файлах, ее нужно остановить и запустить заново. Для этого можно воспользоваться системной консолью «Службы».
NB: вопросы и пожелания по кластеру пишите, пожалуйста, в форум.
Источник
Установка и настройка терминального сервера на 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 — номер порта, на котором будет принимать запросы терминальный сервер.
Источник