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


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

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

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

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

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

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

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

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

Шаг

Описание

Дополнительные сведения

1

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

Раздел Configuring Reporting Services for Scale-Out Deployment в электронной документации по SQL Server

2

Настройте NLB-кластер и убедитесь в его правильной работе.

Не забудьте сопоставить имя заголовка узла IP-адресу виртуального сервера NLB-кластера. Имя заголовка узла используется в URL-адресе сервера отчетов; его проще запомнить и ввести, чем IP-адрес.

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

3

Добавьте NetBIOS и полное доменное имя заголовка узла в список BackConnectionHostNames, который находится в реестре Windows. Выполните шаги, указанные в разделе Метод 2. Задание имен узлов в статье 896861 базы знаний (https://support.microsoft.com/kb/896861) с последующей корректировкой. В Шаге 7 статьи базы знаний содержится следующее указание: «Закройте редактор реестра и перезапустите службу IISAdmin». Вместо этого перезагрузите компьютер, чтобы изменения вступили в силу.

Например, если имя заголовка узла <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-отчеты. Это необходимо сделать для сервера отчетов и диспетчера отчетов.

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

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

  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\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\Web.config.

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

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

  5. Убедитесь в том, что все файлы Web.Config в папках \Reporting Services\Report Manager содержат идентичные элементы <machineKey> в разделе <system.web>.

Как настроить свойства 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) электронной документации по SQL Server.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Задания

настроить URL-адреса

Настройка масштабного развертывания сервера отчетов, работающего в собственном режиме

Основные понятия

Управление сервером отчетов служб Reporting Services в собственном режиме

Другие ресурсы

How to: Start Reporting Services Configuration Manager