настроить сервер отчетов в кластере с балансированием сетевой нагрузки

Если настраивается масштабное развертывание сервера отчетов для запуска в кластере с балансировкой сетевой нагрузки, необходимо выполнить следующие действия.

  • Проверьте доступность NLB-кластера через имя виртуального сервера, соответствующее IP-адресу виртуального сервера. Имя виртуального сервера необходимо, чтобы настроить единую точку входа в NLB-кластер. При настройке URL-адреса для каждого экземпляра сервера отчетов имя виртуального сервера указывается как узел.

  • Настройте проверку состояния представления для интерактивного просмотра отчетов. Интерактивные отчеты обычно подготавливаются к просмотру несколько раз в течение одного сеанса пользователя, чтобы отобразить новые или другие данные в ответ на действия пользователя. Благодаря настройке проверки состояния представления сохраняется степень непрерывности внутри сеанса пользователя независимо от того, какие службы сервера отчетов были запрошены.

Reporting Services не обеспечивают ни балансировку нагрузки в конфигурации масштабного развертывания, ни описание единой точки доступа через общий URL-адрес. Для поддержки конфигурации масштабного развертывания служб Reporting Services необходима отдельная реализация программного или аппаратного решения NLB-кластера.

Можно либо установить службы Reporting Services на узлах, которые уже входят в NLB-кластер, либо сначала настроить масштабное развертывание, а затем приступать к установке программного обеспечения кластера.

Шаги масштабного развертывания сервера отчетов на NLB-кластере

Используйте следующие рекомендации для установки и настройки развертывания.

Шаг Описание Дополнительные сведения
1 Прежде чем установить службы Reporting Services на серверных узлах в NLB-кластере, проверьте требования к масштабному развертыванию. Настройка масштабного развертывания сервера отчетов, работающего в собственном режиме
2 Настройте NLB-кластер и убедитесь в его правильной работе.

Не забудьте сопоставить имя заголовка узла IP-адресу виртуального сервера NLB-кластера. Имя заголовка узла используется в URL-адресе сервера отчетов; его проще запомнить и ввести, чем IP-адрес.
Дополнительные сведения см. в документации по продукту Windows Server для соответствующей версии операционной системы Windows.
3 Добавьте NetBIOS и полное доменное имя заголовка узла в список BackConnectionHostNames , который находится в реестре Windows.

Например, если имя заголовка узла <MyServer> — это виртуальное имя для имени компьютера Windows "contoso", вероятно, можно сослаться на форму полного доменного имени в виде "contoso.domain.com". Необходимо добавить имя заголовка узла (MyServer) и полное доменное имя (contoso.domain.com) в список BackConnectionHostNames.

Затем перезагрузите компьютер, чтобы изменения вступили в силу.
Это следует сделать, если среда сервера использует проверку подлинности NTLM на локальном компьютере, создавая подключение с замыканием на себя.

В этом случае запросы между диспетчером отчетов и сервером отчетов завершаться с ошибкой 401 (Отсутствуют необходимые права доступа).
4 Установите службы Reporting Services в режиме "Только файлы" на узлах, которые уже входят в состав NLB-кластера, и подготовьте экземпляры сервера отчетов к масштабному развертыванию.

Настроенное масштабное развертывание может не отвечать на запросы, направленные по IP-адресу виртуального сервера. Настройка масштабного развертывания на использование IP-адреса виртуального сервера выполняется на более позднем шаге, после настройки проверки состояния представления.
Настройка развертывания с горизонтальным увеличением масштаба для сервера отчетов в собственном режиме (диспетчер конфигурации сервера отчетов)
5 Настройка проверки состояния представления

Для достижения наилучшего результата выполняйте этот шаг после настройки масштабного развертывания и перед настройкой экземпляров сервера отчетов на использование IP-адреса виртуального сервера. Это позволит избежать исключений о неудавшейся проверке состояния при обращении пользователей к интерактивным отчетам.
Как настроить проверку состояния представления — далее в этом разделе.
6 Настройте в Hostname и UrlRoot использование IP-адреса виртуального сервера NLB-кластера. Как настроить свойства HostName и UrlRoot — далее в этом разделе.
7 Проверьте, что серверы доступны через указанное имя узла. Проверка доступа к серверу отчетов далее в этом разделе.

Как настроить проверку состояния представления

Для запуска масштабного развертывания на NLB-кластере необходимо настроить проверку состояния представления, чтобы пользователи могли просматривать интерактивные HTML-отчеты. Это необходимо сделать для веб-службы сервера отчетов.

Для запуска масштабного развертывания на NLB-кластере необходимо настроить проверку состояния представления, чтобы пользователи могли просматривать интерактивные HTML-отчеты.

Проверка состояния представления управляется ASP.NET. По умолчанию она включена и для нее используется удостоверение веб-службы. Однако в NLB-кластере и конфигурации масштабного развертывания обычно содержится несколько экземпляров службы и удостоверения веб-службы, работающих на разных компьютерах. Поскольку разные узлы имеют разные удостоверения службы, на одно удостоверение при проверке полагаться нельзя.

Чтобы избежать этой проблемы, можно создать произвольный ключ для проверки состояния представления, а затем вручную настроить каждый узел сервера отчетов на его использование. Можно использовать любую случайно сформированную шестнадцатеричную последовательность. Алгоритм проверки (такой как SHA1) определяет длину шестнадцатеричной последовательности.

ОБЛАСТЬ ПРИМЕНЕНИЯ: ✔️ SQL Server Reporting Services (2016)

  1. Создайте ключ проверки и ключ дешифрования с помощью функции автоформирования, доступной в .NET Framework. В результате будет сформирована одна запись <machineKey>, которую можно добавить в файл Web.config для каждого экземпляра сервера отчетов, входящего в конфигурацию масштабного развертывания.

    В следующем примере приведено значение, которое должно быть получено. Не нужно вставлять в файл конфигурации данные из этого примера; значения ключа недопустимы.

    <machineKey validationKey="123455555" decryptionKey="678999999" validation="SHA1" decryption="AES"/>  
    
  2. Откройте файл конфигурации Web.config для сервера отчетов и вставьте в раздел <system.web> полученный элемент <machineKey>. Файл Web.config по умолчанию находится в папке \Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\Reportserver\Web.config.

  3. Сохраните файл.

  4. Повторите предыдущий шаг для каждого сервера отчетов в конфигурации масштабного развертывания.

  5. Убедитесь, что все файлы Web.Config для всех серверов отчетов в развертывании с горизонтальным увеличением масштаба содержат идентичные элементы <machineKey> в разделе <system.web>.

ОБЛАСТЬ ПРИМЕНЕНИЯ: ✔️ SQL Server Reporting Services (2017 и более поздних версий) ✔️ Power BI Report Server

  1. Создайте ключ проверки и ключ дешифрования с помощью функции автоформирования, доступной в .NET Framework. В результате этого будет сформирован один элемент <MachineKey>, который можно добавить в файл RSReportServer.config для каждого экземпляра сервера отчетов, входящего в конфигурацию масштабного развертывания.

    В следующем примере приведено значение, которое должно быть получено. Не нужно вставлять в файл конфигурации данные из этого примера; значения ключа недопустимы. Для сервера отчетов требуется правильный регистр.

    <MachineKey ValidationKey="123455555" DecryptionKey="678999999" Validation="SHA1" Decryption="AES"/>
    
  2. Откройте файл RSReportServer.config для сервера отчетов и вставьте в раздел <Configuration> полученный элемент <MachineKey>. По умолчанию файл RSReportServer.config находится в папке \Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\RSReportServer.config для Reporting Services и в папке \Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer\RSReportServer.config для Сервера отчетов Power BI.

  3. Сохраните файл.

  4. Повторите предыдущий шаг для каждого сервера отчетов в конфигурации масштабного развертывания.

  5. Убедитесь, что все файлы RSReportServer.config для всех серверов отчетов в развертывании с горизонтальным увеличением масштаба содержат идентичные элементы <MachineKey> в разделе <Configuration>.

Как настроить свойства HostName и UrlRoot

При настройке сервера отчетов в конфигурации масштабного развертывания для запуска в NLB-кластере с балансировкой нагрузки на сеть необходимо описать единое имя виртуального сервера, обеспечивающего единую точку доступа для всего кластера. После этого следует зарегистрировать имя виртуального сервера на сервере доменных имен в вашей среде.

После того как определено имя виртуального сервера, можно настраивать свойства Hostname и UrlRoot в файле RSReportServer.config, чтобы включить имя виртуального сервера в URL-адрес сервера отчетов.

Настройте свойство Hostname при резервировании URL-адресов по шаблону в среде создания отчетов. Если в качестве значения свойства Hostname указано имя виртуального сервера или NLB-сервера, то сетевой трафик среды создания отчетов направляется на NLB-сервер. После этого NLB распределяет запросы по узлам сервера отчетов.

Кроме того, настройте свойство UrlRoot таким образом, чтобы в отчетах, экспортированных в статические отчеты (например, в форматах Excel или PDF), либо в отчетах, сформированных подписками (например, подписками электронной почты), работали ссылки на отчеты.

При интеграции Reporting Services с Windows SharePoint Services 3.0 или Office SharePoint Server 2007, а также при размещении отчетов в пользовательском веб-приложении вам может потребоваться настроить только свойство UrlRoot. В данном случае в качестве значения свойства UrlRoot следует указать URL-адрес сайта SharePoint или веб-приложения. При этом сетевой трафик среды отчетов будет направлен на приложение, обрабатывающее отчеты, а не на сервер отчетов или NLB-кластер.

Не изменяйте параметр ReportServerUrl. При изменении этого URL-адреса вводится дополнительное обращение к виртуальному серверу при обработке каждого внутреннего запроса. Дополнительные сведения см. в разделе URL-адреса в файлах конфигурации (диспетчер конфигурации сервера отчетов). См. подробнее об изменении файла конфигурации служб Reporting Services (RSreportserver.config).

  1. Откройте файл конфигурации RSReportServer.config в текстовом редакторе.

  2. Найдите раздел <Service> и добавьте приведенную ниже информацию в файл конфигурации, заменив при этом значение Hostname именем виртуального сервера для NLB-сервера:

    <Hostname>virtual_server</Hostname>  
    
  3. Найдите параметр UrlRoot. Этот элемент не указывается в файле конфигурации, но по умолчанию используется URL-адрес в следующем формате: https:// или https://<computername>/<reportserver>, где <reportserver> — это имя виртуального каталога для веб-службы сервера отчетов.

  4. Введите значение для UrlRoot, включающее виртуальное имя кластера, в следующем формате: https:// или https://<virtual_server>/<reportserver>.

  5. Сохраните файл.

  6. Повторите эти шаги в каждом файле RSReportServer.config для каждого сервера отчетов в масштабном развертывании.

Проверка доступа к серверу отчетов

Проверьте возможность доступа к масштабному развертыванию по имени виртуального сервера (например, https://MyVirtualServerName/reportserver и https://MyVirtualServerName/reports).

Выяснить, какой из узлов в действительности обрабатывает отчеты, можно в файлах журналов или в журнале выполнения сервера отчетов (таблица журнала выполнения содержит столбец InstanceName , где указывается экземпляр, который обработал конкретный запрос). См. подробнее о файлах и источниках журналов служб Reporting Services.

Если не удается соединиться с сервером отчетов, проверьте NLB и убедитесь, что запросы отправляются на сервер отчета, а также просмотрите журнал HTTP-сервера, чтобы убедиться, что сервер получает эти запросы.

Устранение неполадок в ошибочных запросах

Если запросы не достигают экземпляров сервера отчетов, проверьте файл RSReportServer.config и убедитесь, что имя виртуального сервера указано как имя узла для URL-адресов сервера отчетов.

  1. Откройте файл RSReportServer.config в текстовом редакторе.

  2. Найдите <Hostname>, <ReportServerUrl>, <UrlRoot>, а затем проверьте имя узла для каждого параметра. Если значение отличается от предполагаемого имени узла, замените его правильным именем узла.

Если средство настройки служб Reporting Services запускается после внесения этих изменений, элемент <ReportServerUrl> может быть сброшен в значение по умолчанию. Всегда сохраняйте резервную копию файлов конфигурации на тот случай, если понадобится восстановить настроенные параметры.

См. также:

Настройка URL-адреса (диспетчер конфигурации сервера отчетов)
Настройка развертывания с горизонтальным увеличением масштаба для сервера отчетов в собственном режиме (диспетчер конфигурации сервера отчетов)
Диспетчер конфигураций сервера отчетов (собственный режим)
Управление сервером отчетов Reporting Services в собственном режиме