Установка Microsoft SQL Server Reporting Services на NLB-кластер
Submitted by Vladislav Osmanov on 09.04.2011 20:49
Для обеспечения дополнительной надёжности и повышения производительности сервера отчётов, можно развернуть службы сервера отчётов на кластере балансировки нагрузки (NLB-кластере). Большим плюсом такого решения будет единый адрес для конфигурирования службы отчётов, развёрнутого в связке кластера сервера-приложений и SQL-кластера. Это позволяет гибко переключать сервер отчётов на другие базы не перенастраивая клиентские приложения на новый адрес SSRS. Более подробно об этом можно прочитать в статьях, ссылки на которые приведены в конце заметки.
Приступим к настройке SSRS на NLB-кластере. Процедура эта простая, но имеет ряд тонкостей. Предполагается, что NLB-кластер уже развёрнут и настроен (например, для сервера приложений CRM).
Итак, сначала устанавливаем сервер отчётов на каждой из нод кластера. Минимальная установка потребует всего двух компонентов: SQL Server Database Engine и Reporting Services. Во время установки важно отметить опцию "Install but do not configure server" (установить, но не настраивать сервер), т.к. необходимые настройки будут произведены позже.
Запускаем Диспетчер конфигурации служб Reporting Services (Reporting Services Configuration Manager) и настраиваем с его помощью сервер отчётов (подключаемся к базе данных SSRS, задаём URL-адреса доступа, импортируем ключи шифрования настроек). Одним из важных моментов на этом шаге - прописать специально созданную учётную запись под которой будет запускаться служба отчётов.
Под учётной записью пользователя с ролью доменного администратора регистрируем идентификаторы SPN, для чего в консоли выполняем следующие команды (для кластера из 2-ух серверов):
node1.FQDN - полный адрес сервера, включая наименование домена (Fully Qualified Domain Name, например, node1.domain.ru),
domain\clusteraccount - учётная запись под которой будет запущены службы SSRS (должна быть помечена как Trusted for Kerberos delegation в AD).
Конфигурируем проверку состояния (view state validation) на каждом из серверов. Создайте ключ проверки и ключ дешифрования представления. Добавьте раздел с ключами в секцию <system.web> файла Web.config менеджера службы отчётов (обычно тут: \Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\Web.config):
<!-- Это пример с невалидными ключами, не используйте его в своих настройках! -->
<machineKey validationKey="21F090935F..." decryptionKey="ABAA84D7EC..." validation="SHA1" decryption="AES"/>
Данный шаг необходим для обеспечения обработки запросов разными SSRS-серверами: наличие одинакового ключа позволяет дешифровать состояние представления отчёта (view state) различными серверами отчётов, независимо от того, какой сервер из кластера зашифровал состояние.
Настраиваем Hostname и UrlRoot на использование виртуального адреса NLB-кластера. Для этого в конфигурационном файле RSReportServer.config (обычно тут: \Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config) указываем значения параметров Hostname и UrlRoot:
Planning a Deployment Topology - рассмотрен ряд типичных топологий развёртывания сервера отчётов: от одиночного сервера до масштабируемого, с использованием различных видов кластеров.
Добавить комментарий