Cómo configurar un servidor de informes en un clúster con equilibrio de carga de red

Si va a configurar una ampliación escalada de un servidor de informes para ejecutarse en un clúster con equilibrio de carga de red (NLB), debe hacer lo siguiente:

  • 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. Un nombre de servidor virtual es necesario para poder configurar un único punto de entrada al clúster NLB. Cuando configure una dirección URL para cada instancia del servidor de informes, especificará el nombre del servidor virtual como host.

  • Configure la validación del estado de la vista para admitir la vista de los informes interactivos. Los informes interactivos se suelen representar varias veces durante una sesión de un solo usuario para visualizar datos nuevos o diferentes en respuesta a las acciones del usuario. Configurando la validación del estado de la vista, se preserva la continuidad dentro de la sesión de usuario independientemente del servidor de informes que atienda la solicitud real.

Reporting Services no proporciona funcionalidad para equilibrar la carga en una implementación escalada o para definir un punto único de acceso a través de una dirección URL compartida. Debe implementar una solución de clúster NLB de hardware o software independiente para admitir una implementación escalada de Reporting Services.

Puede instalar Reporting Services en los nodos que ya formen parte de un clúster NLB, o puede configurar una implementación escalada primero e instalar el software del clúster después.

Pasos para la implementación del servidor de informes en un clúster NLB

Siga estas instrucciones para instalar y configurar la implementación:

Paso

Descripción

Más información

1

Antes de instalar Reporting Services en los nodos de servidor en un clúster NLB, compruebe los requisitos de la implementación escalada.

Planear la implementación escalada en los Libros en pantalla de SQL Server

2

Configure el clúster NLB y compruebe si funciona correctamente.

Asegúrese de asignar un nombre de encabezado de host a la dirección IP del servidor virtual del clúster NLB. El nombre de encabezado de host se utiliza en la dirección URL del servidor de informes y es más fácil de recordar y escribir que una dirección IP.

Para obtener más información, consulte la documentación de producto de Windows Server correspondiente a la versión del sistema operativo Windows que se ejecute.

4

Instale Reporting Services en el modo de solo archivos en los nodos que ya formen parte de un clúster NLB y configure las instancias del servidor de informes para la implementación escalada.

La implementación escalada que configure podría no responder a las solicitudes que se dirijan a la dirección IP del servidor virtual. La configuración de la implementación escalada para utilizar la dirección IP del servidor virtual se produce en un paso posterior, después de configurar la validación del estado de la vista.

Cómo configurar una implementación escalada del servidor de informes (configuración de Reporting Services)

5

Configure la validación del estado de la vista.

Para obtener los mejores resultados, realice este paso después de configurar la implementación escalada y antes de configurar las instancias del servidor de informes para utilizar la dirección IP del servidor virtual. Al configurar la validación del estado de la vista primero, puede evitar las excepciones de la validación del estado con errores que se producen cuando los usuarios intentan tener acceso a informes interactivos.

Cómo configurar la validación del estado de la vista en este tema.

6

Configure Hostname y UrlRoot para que usen la dirección IP del servidor virtual del clúster NLB.

Cómo configurar Hostname y UrlRoot en este tema.

7

Compruebe que los servidores son accesibles a través del nombre de host que especificó.

Comprobar el acceso del servidor de informes en este tema.

Cómo configurar la validación del estado de la vista

Para ejecutar una implementación escalada 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 servidor de informes 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 servidor de informes 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.

  1. 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.

    En el ejemplo siguiente se ilustra el valor que se debe obtener. No copie el ejemplo en sus archivos de configuración; los valores de las claves no son válidos.

    <machineKey validationKey="123455555" decryptionKey="678999999" validation="SHA1" decryption="AES"/>
    
  2. 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, 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.

  3. Guarde el archivo.

  4. Repita el paso anterior en cada servidor de informes de la implementación escalada.

  5. 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>.

Cómo configurar Hostname y UrlRoot

Para configurar una implementación escalada del servidor de informes 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) del entorno.

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.

Nota de advertenciaAdvertencia

La propiedad UrlRoot afecta a la dirección URL que verán los usuarios en el correo electrónico que envíe una suscripción de Reporting Services. Si la propiedad UrlRoot permanece vacía en el archivo RSReportServer.config, la dirección URL que se ve en el correo electrónico contendrá el nombre del equipo físico en vez de la dirección URL del servidor virtual NLB. Para evitar la divulgación potencial del nombre del equipo físico a usuarios malintencionados que puedan recibir la suscripción, cambie la propiedad UrlRoot al nombre del servidor virtual NLB adecuado.

Configure la propiedad Hostname cuando esté utilizando las reservas de direcciones URL comodín en el entorno de informes. 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. A continuación, el NLB distribuye las solicitudes entre los nodos del servidor de informes.

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.

Si integra Reporting Services con Windows SharePoint Services 3.0 u Office SharePoint Server 2007, u hospeda los informes en una aplicación web personalizada, es posible que únicamente tenga que configurar la propiedad UrlRoot. En este caso, configure la propiedad UrlRoot para que sea la dirección URL del sitio de SharePoint o aplicación web. Esto dirigirá el tráfico de red para el entorno de informe a la aplicación que administra los informes en lugar de al servidor de informes o al clúster NLB.

No modifique ReportServerUrl. Si modifica esta dirección URL, añadirá un viaje de ida y vuelta adicional a través del servidor virtual cada vez que se administre una solicitud interna. Para obtener más información, vea Direcciones URL en archivos de configuración (Reporting Services). Para obtener más información acerca de la modificación de la configuración, vea Cómo modificar un archivo de configuración de Reporting Services en los Libros en pantalla de SQL Server.

  1. Abra RSReportServer.config en un editor de texto.

  2. 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:

    <Hostname>virtual_server</Hostname>
    
  3. 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.

  4. Escriba un valor para UrlRoot que incluya el nombre virtual del clúster en este formato: http:// o https://<servidor_virtual>/<servidor_de_informes>.

  5. Guarde el archivo.

  6. Repita estos pasos en cada archivo RSReportServer.config de cada servidor de informes de la implementación escalada.

Comprobar el acceso del servidor de informes

Compruebe que puede tener acceso a la implementación escalada a través del nombre del servidor virtual (por ejemplo, https://miNombreDeServidorVirtual/servidorDeInformes y https://miNombreDeServidorVirtual/informes).

Para comprobar qué nodo procesa los informes en realidad, consulte los archivos de registro del servidor de informes o el registro de ejecución de RS (la tabla del registro de ejecución contiene una columna denominada InstanceName que muestra qué instancia ha procesado una solicitud concreta). Para obtener más información, vea Archivos de registro de Reporting Services en los Libros en pantalla de SQL Server.

Si no puede conectarse al servidor de informes, compruebe el NLB para asegurarse de que las solicitudes se envían al servidor de informes y vea el registro HTTP del servidor de informes para asegurarse de que el servidor está recibiendo las solicitudes.

Solucionar problemas de solicitudes con errores

Si las solicitudes no llegan a las instancias del servidor de informes, revise el archivo RSReportServer.config para comprobar que el nombre del servidor virtual se especifica como nombre de host para las direcciones URL del servidor de informes:

  1. Abra el archivo RSReportServer.config en un procesador de texto.

  2. Busque <Hostname>, <ReportServerUrl> y <UrlRoot>, y compruebe el nombre de host de cada valor de configuración. Si el valor no es el nombre de host que espera, reemplácelo por el correcto.

Si se inicia la herramienta Configuración de Reporting Services después de efectuar estos cambios, es posible que la herramienta cambie los valores de configuración de <ReportServerUrl> al valor predeterminado. Mantenga siempre una copia de seguridad de los archivos de configuración por si necesita sustituirlos por la versión que contiene la configuración que desee utilizar.