Поделиться через


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

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

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

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

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

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

Шаги по развертыванию сервера отчетов в кластере NLB

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

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

Не забудьте сопоставить имя заголовка узла IP-адресу виртуального сервера NLB-кластера. Имя заголовка узла используется в URL-адресе сервера отчетов; его проще запомнить и ввести, чем IP-адрес.
Дополнительные сведения см. в документации по продукту Windows Server для соответствующей версии операционной системы Windows.
3 Добавьте netBIOS и полное доменное имя (FQDN) для заголовка узла в список 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-кластера. Как настроить имя узла и 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 Откройте файл для Reportserver, а в <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

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

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

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

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

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

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

Настройка и настройка HostnameUrlRoot

При настройке сервера отчетов в конфигурации масштабного развертывания для запуска в 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> может быть сброшен ею в значение по умолчанию. Всегда сохраняйте резервную копию файлов конфигурации на тот случай, если понадобится восстановить настроенные параметры.