Налаштування термінальної ферми RDS з RD Connection Broker

Remote Desktop Connection Broker (RD Connection Broker), раніше відомий під ім'ям Terminal Services Session Broker (TS Session Broker), - це роль сервера Windows 2008 R2, що надає наступний функціонал:

  • Дозволяє користувачам перепідключатися до своїх поточних сесій в фермі серверів RD Session Host (термінальні сервера Windows). Тим самим запобігає створення нових користувальницьких підключень на інших серверах ферми при наявності підключення в стані "disconnected".
  • Дозволяє рівномірно розподілити навантаження між серверами термінальної ферми RD.

RD Connection Broker відстежує всі сесії користувачів в фермі термінальних серверів Windows Server 2008 R2. База даних RD Connection Broker зберігає сесійний інформацію, включаючи імена серверів RD Session Host, на яких знаходяться сесії користувача, ідентифікатор сесії (session ID) і ім'я користувача, асоційоване з сесією. Служба RD Connection Broker використовує цю інформацію для перенаправлення користувача, що вже має активну термінальну сесію на той сервер, на якому вона запущена.

У тому випадку, якщо користувач відключився (disconnect) від своєї сесії (через мережевий збій або усвідомлено), усі додатки, які він запустив на сервері продовжують працювати. І коли користувач намагається знову підключитися до ферми терміналів, Connection Broker визначає сервер, на якому вже є сесія користувача і перенаправляє підключення користувача саме туди.

Балансування навантаження RD Connection Broker Load Balancing, дозволяє при підключенні користувача (передбачається, що у нього не залишилося підключень в стані disconnect) до ферми, перенаправити його на найменш завантажений сервер ферми (з найменшою кількістю користувальницьких сесій). Щоб більш гнучко управляти балансуванням навантаження в фермі термінальних серверів, адміністратор може в залежності від обчислювальних потужностей серверів ферми призначити кожному з них відносна вага.

компоненти RDConnectionBroker

Для побудови ферми термінальних серверів з балансуванням навантаження потрібні два компоненти:

Сервер RD Connection Broker. Це сервер із запущеною службою Remote Desktop Connection Broker, який відстежує сесії користувачів і здійснює балансування навантаження між членами ферми RD. Існує ім'я сервера RD Connection Broker, за допомогою якого можна віднести конкретний термінальний сервер до тієї чи іншої фермі.

Сервера RD Session Host, налаштовані на використання Connection Broker. Це рядові члени термінальної ферми. Для того, щоб бути членом ферми під управління RD Connection Broker, термінальний сервер повинен відповідати наступним критеріям:

  • На сервері повинна бути встановлена ​​роль RD Session Host.
  • Сервер повинен бути членом домену Active Directory.
  • Сервер повинен входити в локальну групу "Session Broker Computers" на сервері з роллю RD Connection Broker.

Послідовність настройки термінальної ферми RDConnectionBroker з балансуванням навантаження:

  1. Встановіть роль RD Connection Broker на сервері (це може бути виділений сервер, або один з членів майбутньої ферми).
  2. Додайте всі термінальні сервера в локальну групу безпеки "Session Broker Computers" на сервері з роллю RD Connection Broker.
  3. Налаштуйте всіх членів ферми на використання сервера RD Connection Broker
  4. Налаштуйте записи DNS для реалізація механізму "DNS round robin"

Крок 1: Установка ролі ConnectionBroker

Якщо роль Remote Desktop Services вже встановлена:

  • Розгорніть роль Remote Desktop Services.
  • Натисніть кнопку Add Role Services.
  • На сторінці служб ролі виберіть Remote Desktop Connection Broker і натисніть Next

У моєму стенді 2 сервера, налаштованих наступним чином:

RDS01

RDS02

крок 2: додаємосервера RD Session Host влокальнугрупу Session Broker Computers.

Для цього на сервер із встановленою роллю RDConnectionBroker:

  • Натисніть Start -> Administrative Tools -> Computer Management.
  • У лівій панелі розгорніть вузол Local Users and Groups, і виберіть Groups.
  • Знайдіть локальну групу Session Broker Computers, і виберіть пункт Properties.
  • На вкладці General, натисніть Add.
  • У вікні вибору натисніть кнопку Object Types.
  • Відзначте пункт Computers, і натисніть OK.
  • Послідовно вкажіть і додайте імена всіх серверів, які будуть брати участь в термінальній фермі
  • натисніть OK.

на RDS01

Крок 3: Включаємо сервера RDSessionHostв ферму RDConnectionBroker,  налаштовуємо балансування навантаження

На кожному з термінальних серверів RD Session Host виконайте наступне:

  • На сервер RD Session Host відкрийте консоль Remote Desktop Session Host Configuration (Start -> Administrative Tools-> Remote Desktop Services -> Remote Desktop Session Host Configuration).
  • У розділі Edit settings, клацніть по полю Member of farm in RD Connection Broker.
  • На вкладці RD Connection Broker натисніть кнопку Change Settings.
  • У вікні RD Connection Broker Settings виберіть Farm member.
  • Введіть ім'я сервера з роллю RD Connection Broker.
  • У вікні Farm name, вкажіть ім'я створюваної ферми.
  • Щоб активувати балансування навантаження в фермі RD Connection Broker відзначте опцію Participate in Connection Broker Load-Balancing.
  • У разі необхідності можна налаштувати відносна вага кожного з серверів в фермі (Server weight). Значення за замовчуванням - 100. В тому випадку, якщо ви задасте вага одного сервера 100, а іншого 50, це буде означати, що сервер з меншою вагою буде отримувати в 2 рази менше підключень.
  • За замовчуванням використовується перенаправлення по IP адресою (IP address redirection), також можна використовувати перенаправлення по токені (Use token redirection).

Я виконав відповідну настройку на обох серверах RDS01 і RDS02

Task 4: Налаштування DNSroundrobin

Для балансування навантаження в термінальних фермах RD Session Host, можна використовувати балансування навантаження RD Connection Broker Load Balancing спільно з функцією DNS round robin. У другому випадку, ви повинні для кожного з серверів членів ферми створити DNS запис (тип A), що створює відповідність між IP адресою кожного сервера RD Session Host і DNS ім'ям ферми.

Я опишу процедуру настройки DNS записів на контролері домену Windows Server 2008 R2. Відразу варто відзначити, що для виконання даної процедури у вас повинні бути права Domain Admins / Enterprise Admins / DNS Admins.

  • Відкрийте оснастку DNS (Start-> Administrative Tools-> DNS).
  • Розгорніть сервер, і в зонах прямого перегляду (Forward Lookup Zones), розгорніть гілку з ім'ям вашого домену.
  • Клацніть по зоні і виберіть New Host (A or AAAA).
  • В поле Name вкажіть ім'я ферми (саме ферми, а не конкретного сервера в ній), а в полі IP address вкажіть ip адреса першого сервера в фермі.

Ці дії необхідно повторити для кожного з серверів-членів ферми RDS (в кожному випадку змінюватися буде тільки ip адреса)

Перевіримо, що наша ферма створилася, для чого відкрийте Remote Desktop Services Manager. Клацніть правою кнопкою по Remote Desktop Services Manager і виберіть Import from RD Connection Broker і вкажіть FQDN ім'я сервера з роллю Connection broker (в моєму випадку RDS01.winitpro.ru)

Тепер в дереві RD Connection Broker з'явиться нова термінальна ферма!