RDSH сервер не переводится в режим Drain Mode

Обновлено 06.08.2021

rdp drain mode

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов по системному администрированию Pyatilistnik.org. В прошлый раз мы с вами разобрали, как создать изолированный терминальный стол в рамках одного сервера. В сегодняшней статья я вам хочу показать интересную ситуацию при которой один из серверов в коллекции RDS сервера не переходит в режим стока и не закрывает новые подключения. Давайте разбираться в чем дело.

Описание ситуации

И так у меня в организации есть RDS ферма из 20 хостов на базе Windows Server 2012 R2. Ранее я вам рассказывал, что если нужно произвести обслуживание нужного RDSH хоста, вам необходимо его было перевести в режим стока (Drain Mode). Вроде бы операция рядовая, но в этот раз у меня выскочила ошибка:

Не удалось изменить состояние подключения для сервера term01

Не удалось изменить состояние подключения для сервера

Как решается проблема

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

Настройка параметров балансировки нагрузки на RDS ферме

 

Я попытался подключиться к нужному хосту через оснастку "Tsconfig.msc "Конфигурация узла сеансов удаленных рабочих столов (Remote Desctop Session Host Configuration)", но получил ошибку:

Unable to complete operation: No such interface supported

Unable to complete operation: No such interface supported

У меня еще была удобная утилита для управления RDSH хостами Terminal Services Manager, и в ней я увидел причину:

Удаленный вызов процедур (RPC) — это механизм, который позволяет процессам Windows взаимодействовать друг с другом как между клиентом и сервером по сети, так и в рамках одной системы. Множество встроенных компонентов Windows используют RPC. RPC использует динамические порты для взаимодействия между системами, но статический порт (TCP-порт 135) также должен использоваться как начальная точка взаимодействия. Данный статический порт прослушивает сопоставителя конечных точек RPC.

Сервер RPC недоступен в Terminal Services Manager

Самое интересное, что в данный момент на сервере работали пользователи и мне нужно было в ручную закрыть новые подключения к данному серверу, ввести его в режим стока. Для этого можно воспользоваться настройкой в реестре Windows. Через окно "Выполнить" откройте regedit и перейдите в раздел:

HKLM\SYSTEM\Currentcontrolset\control\Terminal Server\TSServerDrainMode

Если у ключа TSServerDrainMod стоит значение "0", то у него нет ограничений на подключение, если вы выставите "2", то включите режим стока (Drain Mode).

Ввод компьютера в режим стока через реестр

Далее вы ждете когда у вас все пользовательские сеансы будут отключены, не забывайте настраивать временные лимиты на подключения к RDSH хостам. Пробуем перезагрузить ваш сервер, в подавляющем количестве случаев это решает проблему с переводом сервера в режим стока. В итоге я вижу, что сервер стал отображать правильно подключения и ресурсы. В оснастке управления RDS серверами, все успешно отработало и ошибка "Не удалось изменить состояние подключения для сервера" исчезла.

Успешно устраненная ошибка Сервер RPC недоступен

Хочу напомнить, чтобы у вас были работающие службы:

  • DcomLaunch - Модуль запуска процессов DCOM-сервера
  • RpcEptMapper - Сопоставитель конечных точек RPC
  • RpcLocator - Локатор удаленного вызова процедур (RPC)
  • RpcSs - Удаленный вызов процедур (RPC)
  • WiaRpd - События получения неподвижных изображений

Хочу отметить, что если вы будит перезапускать службы, то учтите, что в момент их перезапуска активные сессии отвалятся

Службы RPC

Далее ели подключений все нет и вы не можете из оснастке перевести хост в режим стока, то проверьте, доступен ли у вас порт 135. Как проверять открытые порты я уже рассказывал, посмотрите. Далее советую вам проверить, что на сетевом интерфейсе у вас выставлены галки:

  • Служба доступа к файлам и принтерам сетей Microsoft
  • Протокол Интернета версии 6 (TCP/IPv6)

Сервер RPC недоступен

На этом у меня все. Надеюсь, что у вас все получилось. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *