You are on page 1of 7

Guía consolidada para configurar SQL Server 2008

como servidor de Reporting Services en un clúster


con equilibrio de carga de red NLB

Ing. Eduardo Castro Martínez


Microsoft SQL Server MVP
http://ecastrom.blogspot.com
http://comunidadwindows.org

Este documento corresponde a una guía consolidada para configurar Reporting Services en
un ambiente de granja escalable con uso de Network Load Balancing de Windows 2008 R2.
Si va a configurar una granja de un Reporting Services para ejecutarse en un clúster con
equilibrio de carga de red (NLB), debe hacer lo siguiente:
 Primero tiene que tener instalado un clúster NLB de Windows 2008 R2. Puede utilizar
la siguiente referencia para instalar el NLB de Windows 2008 R2
http://technet.microsoft.com/en-us/library/cc731695.aspx

 Una vez instalado el clúster NLB asegúrese de que el clúster NLB es accesible a
través de un nombre de servidor virtual que se asigna a la dirección IP del servidor
virtual.

Estos son los pasos para la implementación del Reporting Services en un clúster NLB

1. Antes de instalar Reporting Services en los nodos de servidor en un clúster NLB,


compruebe los requisitos de la implementación de una granja.
2. Configure el clúster NLB y compruebe si funciona correctamente. Puede utilizar la
siguiente referencia para instalar el NLB de Windows 2008 R2
http://technet.microsoft.com/en-us/library/cc731695.aspx
3. Asegúrese de asignar un nombre a la dirección IP del servidor virtual del clúster
NLB, este se hace en el servidor DNS. El nombre se utiliza en la dirección URL del
Reporting Services y es más fácil de recordar y escribir que una dirección IP.
4. Instale Reporting Services en los nodos que ya forman parte de un clúster NLB y
configure las instancias del Reporting Services para la granja.

a) Primero necesita un servidor de base de datos para alojar las bases de datos de
Reporting Services, para esto instale una instancia de SQL Server en el equipo
que hospedará las bases de datos del servidor de informes. Como mínimo, instale
SQL Server Database Engine (Motor de base de datos de SQL Server).
b) Si es necesario, habilite el SQL Server para conexiones remotas. Algunas
versiones de SQL Server no habilitan las conexiones TCP/IP remotas ni las
conexiones de canalizaciones con nombre de forma predeterminada. Para
confirmar si se permiten las conexiones remotas, use el Administrador de
configuración de SQL Server y consulte la configuración de red de la instancia de
destino. Realice todas las excepciones necesarias en el Firewall de Windows.

Para instalar la primera instancia del servidor de informes

i. Instale la primera instancia del Reporting Services que forma parte de la


implementación. Cuando instale Reporting Services, elija la opción
Instalar, pero no configurar el Reporting Services en la página
Opciones de instalación del servidor de informes.

ii. Inicie la herramienta de configuración de Reporting Services.

iii. Configure la dirección URL del servicio web del servidor de informes, la
dirección URL del Administrador de informes y la base de datos del
servidor de informes.

 Inicie la herramienta Configuración de Reporting Services y


conéctese a la instancia del servidor de informes.

 Haga clic en Dirección URL del servicio web con el fin de abrir la
página para configurar una dirección URL para el servidor de
informes.

 Haga clic en Base de datos para crear la base de datos del


servidor de informes.

 Vuelva a la página Dirección URL del servicio web y haga clic en


la dirección URL para comprobar que funciona.

iv. Compruebe que el Reporting Services está operativo.

Para instalar y configurar la segunda instancia del servidor de informes

i. Ejecute el programa de instalación para instalar una segunda instancia de


Reporting Services en otro equipo o como una instancia con nombre en el
mismo equipo. Cuando instale Reporting Services, elija la opción
Instalar, pero no configurar el Reporting Services en la página
Opciones de instalación del servidor de informes.
ii. Inicie la herramienta de configuración de Reporting Services y conéctese a
la nueva instancia recién instalada.

iii. Conecte el Reporting Services a la misma base de datos que usó para la
primera instancia del servidor de informes:

a. Haga clic en Base de datos para abrir la página Base de datos.

b. Haga clic en Cambiar base de datos.

c. Haga clic en Elija una base de datos del Reporting Services


existente.

d. Escriba el nombre del servidor de la instancia del motor de base de


datos de SQL Server que hospeda la base de datos del Reporting
Services que desea usar. Debe ser el mismo servidor al que se
conectó en el grupo anterior de instrucciones.

e. Haga clic en Probar conexión y, a continuación, haga clic en


Siguiente.

f. En Base de datos del servidor de informes, seleccione la base


de datos que creó para el primer Reporting Services y, a
continuación, haga clic en Siguiente. El nombre predeterminado
es ReportServer. No seleccione ReportServerTempDB; solo se usa
para almacenar datos temporales al procesar los informes. Si la
lista de bases de datos está vacía, repita los cuatro pasos
anteriores para establecer una conexión con el servidor.

g. En la página Credenciales, seleccione el tipo de cuenta y las


credenciales que el Reporting Services utilizará para conectarse a
la base de datos del servidor de informes. Puede utilizar las
mismas credenciales que para la primera instancia del Reporting
Services u otras. Haga clic en Siguiente.

h. Haga clic en Resumen y, a continuación, haga clic en Finalizar.

iv. Configure la dirección URL del servicio web del servidor de informes. No
pruebe todavía la dirección URL. No se resolverá hasta que el Reporting
Services se una a la implementación escalada.

v. Configure la dirección URL del Administrador de informes. No pruebe


todavía la dirección URL ni intente comprobar la implementación. El
Reporting Services no estará disponible hasta que el Reporting Services se
una a la implementación escalada.

Para unir la segunda instancia del Reporting Services a la


implementación escalada

i. En el primer servidor de Reporting Services, abra la herramienta de


configuración de Reporting Services y vuelva a conectarse a la primera
instancia del servidor de informes. El primer Reporting Services ya se ha
inicializado para operaciones de cifrado reversibles, de modo que se puede
usar para unir más instancias a la implementación escalada.

ii. Haga clic en Scale Out Deployment para abrir la página de


implementación de granjas. Debería ver dos entradas, una para cada
instancia del Reporting Services que esté conectada a la base de datos del
servidor de informes. La primera instancia debería estar unida. El segundo
Reporting Services debe mostrar un estado de "Esperando para unirse". Si
no ve entradas similares en su implementación, compruebe que está
conectado al primer Reporting Services que ya esté configurado e
inicializado para utilizar la base de datos del servidor de informes.

iii. Seleccione la instancia del Reporting Services que está esperando para
unirse a la implementación y haga clic en Agregar servidor.

iv. Ahora debería poder para comprobar que ambas instancias del Reporting
Services están operativas. Para comprobar la segunda instancia, puede
utilizar la herramienta Configuración de Reporting Services con el fin de
conectarse al Reporting Services y hacer clic en la dirección URL del
servicio web o en la dirección URL del Administrador de informes.

5. Configure la validación del estado de la vista (view state and session state). Para
ejecutar una granja en un clúster NLB, debe configurar la validación del estado de la
vista para que los usuarios puedan ver los informes HTML interactivos. Debe hacer
esto con el Reporting Services y el Administrador de informes.
ASP.NET controla la validación del estado de la vista. De forma predeterminada, la
validación del estado de la vista está habilitada y utiliza la identidad del servicio web
para realizarse. Sin embargo, en un escenario con clústeres NLB hay varias
instancias de servicios e identidades de servicios web que se ejecutan en equipos
diferentes. Dado que la identidad del servicio varía para cada nodo, no puede confiar
en una única identidad del proceso para realizar la validación.
Para evitar este problema, puede generar una clave de validación arbitraria que
admita la validación del estado de la vista y, después, configurar manualmente cada
nodo del Reporting Services para que utilice la misma clave. Puede utilizar cualquier
secuencia hexadecimal generada de forma aleatoria. El algoritmo de validación
(como SHA1) determina la longitud que debe tener la secuencia hexadecimal. Para
hacer esto siga los siguientes pasos:

a) Genere una clave de validación y una clave de descifrado utilizando la


funcionalidad de generación automática que proporciona .NET Framework. Al
final, debe tener una única entrada <machineKey> que puede pegar en el
archivo Web.config para cada instancia del Administrador de informes de la
implementación escalada.

i. En el ejemplo siguiente se ilustra el valor que se debe obtener.


Puede utilizar la herramienta disponible en
http://aspnetresources.com/tools/machinekey para generar el
Machine Key. Tal y como se muestra a continuación

<machineKey
validationKey="CDEE78093A4CAA828079BAE3E87E78D6F31258D9E
060A76FDE6A5814740131E87C4F3D70F3CE611636D20C2C3A28D4
1F9D5A35C685AA3654C50D2E0E209E458B"
decryptionKey="EC06AA16F1C61C0E1955CFE5F19A099E5FF174095
2D6377CCFDB734377B81123" validation="SHA1" decryption="AES"
/>
b) Abra el archivo Web.config del Administrador de informes y, en la sección
<system.web>, pegue el elemento <machineKey> que generó. De forma
predeterminada para SQL Server 2008, el archivo Web.config del Administrador
de informes se encuentra en \Archivos de programa\Microsoft SQL
Server\MSRS10_50.MSSQLSERVER\Reporting
Services\ReportManager\Web.config.

c) Guarde el archivo.

d) Repita el paso anterior en cada Reporting Services granja.

e) Compruebe que todos los archivos Web.Config de las carpetas \Reporting


Services\Report Manager contienen elementos <machineKey> idénticos en la
sección <system.web>.

6. Configure Hostname y UrlRoot para que usen la dirección IP del servidor virtual del
clúster NLB.
a) Para configurar una granja del Reporting Services en un clúster NLB, debe definir
un nombre único del servidor virtual que proporcione un solo punto de acceso al
clúster de servidores. A continuación, registre este nombre de servidor virtual
con el Servidor de nombres de dominio DNS.
b) Después de definir el nombre del servidor virtual, puede configurar las
propiedades Hostname y UrlRoot en el archivo RSReportServer.config para
incluir el nombre del servidor virtual en la dirección URL del servidor de informes.
c) Configure la propiedad Hostname. Al especificar la propiedad Hostname como
el nombre de servidor virtual del servidor NLB, el tráfico de red para el entorno
de informe se dirige al servidor NLB.
d) Además, configure la propiedad UrlRoot para que los vínculos de informe
funcionen en los informes que se hayan exportado a informes estáticos, como en
formato de Excel o PDF, o en informes que generen las suscripciones, por
ejemplo las de correo electrónico.
e) No modifique ReportServerUrl.
f) Para realizar la modificación siga los siguientes pasos:
i. Abra RSReportServer.config en un editor de texto.

ii. Busque la sección <Service> y agregue la información siguiente al


archivo de configuración, reemplazando el valor Hostname con el nombre
de servidor virtual del servidor NLB:

a. <Hostname>Nombre Virtual del NLB</Hostname>


iii. Busque UrlRoot. El elemento no está especificado en el archivo de
configuración, pero el valor predeterminado que se usa es una dirección
URL con este formato: http:// o
https://<nombreDeEquipo>/<servidorDeInformes>, donde
<servidorDeInformes> es el nombre del directorio virtual del servicio web
del servidor de informes.
iv. Escriba un valor para UrlRoot que incluya el nombre virtual del clúster en
este formato: http:// o
https://<servidor_virtual>/<servidor_de_informes>.
v. Guarde el archivo.

vi. Repita estos pasos en cada archivo RSReportServer.config de cada


Reporting Services de la implementación escalada.

7. Abra el Registry en cada servidor en la cree la siguiente entrada DWORD que se


llame DisableLoopbackCheck y que tenga el valor 1, esto dentro de la llave
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

8. Compruebe que los servidores son accesibles a través del nombre de host que
especificó.
a. Compruebe que puede tener acceso a la granja a través del nombre del
servidor virtual (por ejemplo,
https://miNombreDeServidorVirtual/servidorDeInformes y
https://miNombreDeServidorVirtual/informes).

Fuentes externas consultadas:

http://technet.microsoft.com/es-mx/library/cc281307.aspx
http://technet.microsoft.com/es-mx/library/ms159114.aspx
http://technet.microsoft.com/es-mx/library/cc281385.aspx
http://aspnetresources.com/tools/machinekey

You might also like