- Шаг 0. Исходные данные. Схема решения.
- Шаг 1. Установка основных ролей (Connection Broker + Web Access + Session Hosts).
- Шаг 2. Настройка высокой доступности Посредника подключений (Connection Broker High Availability).
- Шаг 3. Настройка высокой доступности Веб доступа (Web Access High Availability)
- Шаг 4. Настройка высокой доступности Шлюза удаленных рабочих столов (RD Gateway + Web Access High Availability).
- Шаг 5. Настройка использования сертификатов для служб удаленных рабочих столов.
- Шаг 6. Настройка сервера Лицензий (КВ Licensing).
- Шаг 7. Создание и настройка коллекции приложений.
- Шаг 8. Использование Дисков Профилей Пользователей (UPD). Настройка высокой доступности.
В первую очередь для настройки высокой доступности роли Connection Broker потребуется SQL сервер.
В соответствии с требования SQL сервер на Windows Server 2012 R2, версия SQL 2012 Standard.
Данные о сервере:
SQL1.lab.local 192.168.1.15 Sql Instance — Default.
Для того, чтобы иметь возможность настроить высокую доступность роли Connection Broker потребуется выполнить следующие 7 условий:
1. Создать группу безопасности в Active Directory, включив туда серверы RDCB1 и RDCB2. В моем случае я назвал её просто RDCB.
2. На сервере SQL, используя Management Studio | Security, создать новый Login и назначить доменной группе RDCB права с возможностью создания и редактирования баз данных.
3. Установить SQL Native Client на серверы, на которых планируется разместить роль Connection Broker (RDCB1 и RDCB2). Дистрибутив SQL клиента можно найти на установочном диске SQL Server 2012 в каталоге «\1033_ENU_LP\x64\Setup\x64», называется он sqlncli.msi.
4. На SQL сервере создать правило в брандмауэре, если еще не сделано. Открыть 1433 порт TCP для доменных машин.
Предлагаю использовать для этого командную строку:
netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN
5. Назначить статические IP адреса серверам Connection Broker, если этого еще не сделано.
6. Создать папку на SQL сервере, в которой будут храниться файлы базы данных. В моем случае я создал папку C:\RDCB.
7. Создать записи DNS зоне, для балансировки нагрузки (Round Robin) между серверами с ролью Connection Broker.
- A RD.alekssh.com 192.168.1.21 (ip
RDSH1RDCB1) - A RD.alekssh.com 192.168.1.22 (ip
RDSH2RDCB2)
После настройки прав, можно перейти на RDCB1 и настроить режим высокой доступности.
Далее надо настроить параметры базы данных.
- В поле «Строка подключения к базе данных»: ввести значение
DRIVER=SQL Server Native Client 11.0;SERVER=<SQL Server FQDN>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=<Database Name>
в моем случае я использовал
DRIVER=SQL Server Native Client 11.0;SERVER=SQL1.LAB.LOCAL;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDCB
- В поле «Папка для хранения файлов базы данных» указать локальный путь к cерверу SQL. В моем случае я использовал заранее подготовленную папку (п.6) C:\RDCB.
- В поле имя циклического перебора DNS, указать адрес балансировки нагрузки(п.7). В моем случае RD.alekssh.com.
Далее, если предыдущие 7 пунктов не были выполнены, то вы уведите замечательную ошибку:
«База данных, указанная в строке подключения к базе данных, недоступна с сервера…».
или в англоязычном варианте «The database specified in the database connection string is not available from the server…«
Если же предыдущие 7 шагов были выполнены, настройка базы все пройдет без ошибок.
Далее подтверждение выбранной конфигурации.
Настройка базы данных завершена.
Можно убедиться в наличии базы на SQL сервере. В списке баз данных появилась база RDCB.
Теперь для обеспечения высокой доступности нужно в текущую конфигурацию добавить второй узел Connection Broker.
Далее нужно указать сервер, на который будет установлена роль Connection Broker. RDCB2.
Далее подтверждение и установка. Установка займет 5-7 минут.
Второй сервер Connection Broker добавлен успешно.
Следующим шагом будет настройка высокой доступности роли Web Access.
Информация используемая для этой статьи
- Шаг 0. Исходные данные. Схема решения.
- Шаг 1. Установка основных ролей (Connection Broker + Web Access + Session Hosts).
- Шаг 2. Настройка высокой доступности Посредника подключений (Connection Broker High Availability).
- Шаг 3. Настройка высокой доступности Веб доступа (Web Access High Availability)
- Шаг 4. Настройка высокой доступности Шлюза удаленных рабочих столов (RD Gateway + Web Access High Availability).
- Шаг 5. Настройка использования сертификатов для служб удаленных рабочих столов.
- Шаг 6. Настройка сервера Лицензий (КВ Licensing).
- Шаг 7. Создание и настройка коллекции приложений.
- Шаг 8. Использование Дисков Профилей Пользователей (UPD). Настройка высокой доступности.
опечатка в адресе ссылки «Следующим шагом будет настройка высокой доступности роли Web Access.»
НравитсяНравится
Спасибо, очепятка исправлена 🙂
НравитсяНравится
Вроде как решил свой вопрос, ошибка была в неправильном указании адресов при создании rd.domain.ru, нашел у Вас опечатку ниже
7. Создать записи DNS зоне, для балансировки нагрузки (Round Robin) между серверами с ролью Connection Broker.
A RD.alekssh.com 192.168.1.21 (ip RDSH1)
A RD.alekssh.com 192.168.1.22 (ip RDSH2)
в скобках должны быть указаны «ip RDCB1» и «ip RDCB2»
НравитсяНравится
Спасибо, исправлено.
НравитсяНравится
тестовый стенд с двумя аналогичными серверами(win2012r2). sql база на sql server 2008. Первый сервер подключился к базе и настроил роль посредника, второй выдает ошибку подключения.
НравитсяНравится
Дано: 2 RDSH + HA RDCB (2 хоста).
Пытаюсь через mstsc зайти на RR DNS для RDCB (terminal.domen.com) и получаю ошибку что данный юзер не имеет права для удаленного входа. Хотя на всех RDSH данный юзер входит в группу «Remote Desktop Users». Если юзера добавить в группу «Remote Desktop Users» на брокерах — он логинится на самих брокерах а не на RDSH
ЧЯДНТ ??
НравитсяНравится
Погодите, добавлять пользователя на каждый узел не надо. Пользователей (группу) для удаленного доступа надо добавить в коллекции. Включите в коллекцию нужные узлы, чтобы брокер мог управлять подключениями.
НравитсяНравится
да, речь была про группу. Мне нужен старый добрый терминал а не ремоут_апп. Т.е. юзеры в mstsc вводят terminal.domen.com и НА RDCB сам смотрит куда их покдлючить в зависимости от нагрузки того или иного RDSH — такое реально?
НравитсяНравится
Для этого в общем-то все это и делается) Добавьте коллекцию, приложения можете никакие не публиковать.
НравитсяНравится
Коллекция есть, в ней блокнот для теста. Но при попытке зайти через mstsc на RR DNS для RDCB (terminal.domen.com) получаю ошибку что данный юзер не имеет права для удаленного входа.
НравитсяНравится
А группа с этим пользователей добавлена в коллекцию?
НравитсяНравится
Да конечно )
НравитсяНравится
То есть приложение (блокнот) открывается, а рабочий стол нет?
НравитсяНравится
Именно так.
Но я скачал РДП-файл для него и теперь если тупо запустить этот файл — все ОК.
если же вводить руками адрес брокера — нифига 😦
НравитсяНравится
Поделитесь настройками рабочего и не рабочего rdp файла (открыв в блокноте). Давайте сравним, найдем в чем же разница 🙂
НравитсяНравится
вот оно че Михалыч (с)
http://microsoftplatform.blogspot.ru/2012/04/rd-connection-broker-ha-and-rdp.html
НравитсяНравится
Отлично 🙂
НравитсяНравится
«Пул серверов не соответствует находящимся в нём посредникам подключений к удалённому рабочему столу.
Ошибки: 1. В пуле серверов содержатся серверы посредников подключений к удалённому рабочему столу, часть из которых входит в кластер, а часть — нет.»
Как быть? После добавления второго сервера RDCB в режим HA
НравитсяНравится
Доброго дня. Когда появляется эта ошибка?
НравитсяНравится
Честно говоря не сталкивался с такой ошибкой, у вас настроена кластреная роль на одном из Брокеров?
НравитсяНравится
Добрый день, пытаюсь настроить Настройка высокой доступности Посредника подключений (Connection Broker High Availability) по вашей инструкции, но у меня так и появляется сообщение о не возможности создать базу, хотя в sql сервере подключения я вижу, права группе дал максимальные, sqlncli одинаковой версии с сервером (я использую 2008 r2 sp3)
Может подскажете, где я мог накосячить?
НравитсяНравится
Добрый день,
Проверьте на SQL в configuration manager, что TCP протокол включен. Так же может быть фаервол, попробуйте отключить в целях тестирования.
НравитсяНравится
Эти варианты я уже попробовал, иначе бы у меня не работал ssms удаленно. Просто выглядит все просто, но что-то не так. Вот моя строка подключения:
DRIVER=SQL Server Native Client 10.0;SERVER=SQL1.*.*;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSCB
за звездочками домен скрыт
единственное что меня смущает, на SQL сервере коннекты появляются от пользователя СИСТЕМА, но по времени совпадают с моими попытками.
НравитсяНравится
Хм, да нет, все правильно. Попробуйте назначить права dbcreator на login в sql. Что еще? Папка, которую указываете для хранения базы существует на SQL сервере? Не могли ошибиться в написании?
НравитсяНравится
а может быть дело в том, что я ставлю sqlncli.msi из папки 1049_RUS_LP?
правда в 1033_ENG_LP у меня в дистрибутиве нету sqlncli.msi
НравитсяНравится
У нас просто разные дистрибутивы, у меня англо, а у вас русскоязычный. Нет в этом не может быть дело, тем более если и сервер и нативный клиент одной версии. Дело в чем-то другом. Имя DNS RR правильно разрешается и на брокере и на SQL?
НравитсяНравится
Если честно хз, я создал отдельную зону, в ней 2 А записи с одинаковыми именами и ip адресами двух серверов брокеров (один из них еще не брокер) и выставил на тесты параметр TTL 15с, при пингах ip меняется.
НравитсяНравится 1 человек
В общем разобрался в чем была проблема, ни в коем случае не меняйте имя экземпляра SQL сервера.
НравитсяНравится
Спасибо за обратную связь. Экземпляр именованный в итоге или дефолтный?
НравитсяНравится
Хороший админ всегда задокументирует фичу 😉
В итоге экземпляр по дефолту MSSQLSERVER иначе работать с данной строкой подключения не будет.
НравитсяНравится
И спасибо вам за статью!
НравитсяНравится
Добрый день, если не сложно подскажите как решить проблему, у меня такая же ошибка выпадает, я все перепроверил, прошелся по 10 раз по инструкции, не могу подключиться к базе, как Вы в итоге решили проблему, если не затрудни напишите по пунктам. Спасибо
НравитсяНравится
Посмотрите проходит ли telnet до SQL, 1433 по-умолчанию
НравитсяНравится
А если SQL ляжет или хост на котором развернут SQL? Получается точка отказа в отказоустойчивой среде?
НравитсяНравится
Да, все верно. Но можно использовать SQL кластер, ну или зеркалирование 🙂
НравитсяНравится
Ну вот собственно заходит сделать кластиризацию sql на том же кластере, что и файловые ресурсы UPD (шаг 8), но выдает ошибку SCSI-3 резервирование.
Разшаренные диски создавал как вы писали. И вот сижу и не могу понять в чем проблема…
НравитсяНравится
на этапе — настроить режим высокой доступности.
«The database specified in the database connection string is not available from the server…»
все 7 пунктов сделал, как указано
ЧЯДНТ? 🙂
НравитсяНравится
Была проблема с SQL сервером, поставил на новый сервер чистый SQL — всё заработало.
НравитсяНравится
Да, прошу прощения, что не сразу ответил. Тут сложно сказать что было. 😦
НравитсяНравится
а как заставить RDCB HA юзать базу которая «живет» на shared database server? В моем случае на MS SQL AО кластере.
НравитсяНравится
подскажите пожалуйста у меня умер сервер, он был с ролью посредника в итоге ни чего не дает делать пишет ошибки,
Сбой:
Не удалось удалить посредник подключений к удаленному рабочему столу из развертывания, так как следующие серверы были недоступны: SERVTERM.rmk.local. При удалении посредника подключений к удаленному рабочему столу «SERVTERM.RMK.LOCAL» произошла ошибка.
что нужно исключить посредника, но и этого сделать не могу. Спасибо
НравитсяНравится