Share via


Como configurar um servidor de relatório em um cluster com balanceamento de carga de rede

Se você estiver configurando uma expansão do servidor de relatório a ser executada em um cluster NLB (Balanceamento de Carga de Rede), deverá fazer o seguinte:

  • Verifique se o cluster NLB pode ser acessado através de um nome de servidor virtual que mapeia para o endereço IP do servidor virtual. Um nome de servidor virtual é necessário para que você possa configurar um único ponto de entrada para o cluster NLB. Quando você configurar uma URL para cada instância do servidor de relatório, especificará o nome do servidor virtual como host.

  • Configure a validação do estado de exibição para permitir a exibição de relatórios interativos. Esses relatórios costumam ser renderizados inúmeras vezes durante uma única sessão de usuário para exibir dados novos ou diferentes em resposta a ações do usuário. Quando você configura a validação do estado de exibição, a continuidade é preservada na sessão de usuário, independentemente dos serviços do servidor de relatório solicitados.

O Reporting Services não fornece a funcionalidade para balancear a carga de uma implantação em expansão ou para definir um único ponto de acesso através de uma URL compartilhada. Você deve implementar uma solução separada de software ou hardware de cluster NLB para dar suporte a uma implantação em expansão do Reporting Services.

Você pode instalar o Reporting Services em nós que já fazem parte de um cluster NLB ou pode configurar primeiro uma implementação em expansão e, depois, instalar o software de cluster.

Etapas da implantação do servidor de relatório em um cluster NLB

Use as seguintes diretrizes para instalar e configurar sua implantação:

Etapa

Descrição

Mais informações

1

Antes de instalar o Reporting Services em nós de servidor em um cluster NLB, verifique os requisitos de implantação em expansão.

Planejando implantação de expansão nos Manuais Online do SQL Server

2

Configure o cluster NLB e verifique se ele está funcionando corretamente.

Mapeie um nome de cabeçalho de host para o IP de servidor virtual do cluster NLB. O nome de cabeçalho de host é usado na URL do servidor de relatório e é mais fácil de lembrar e digitar do que um endereço IP.

Para obter mais informações, consulte a documentação do produto do Windows Server para a versão do sistema operacional Windows que você executa.

4

Instale o Reporting Services no modo somente arquivos nos nós que já fazem parte de um cluster NLB e configure as instâncias do servidor de relatório para a implantação da expansão.

A expansão configurada poderá não responder às solicitações dirigidas ao IP do servidor virtual. A configuração da expansão para usar o IP do servidor virtual ocorre em uma etapa posterior, depois que você configura a validação do estado de exibição.

Como configurar uma implantação em expansão do servidor de relatório (Configuração do Reporting Services)

5

Configure a validação do estado de exibição.

Para obter os melhores resultados, execute esta etapa depois de configurar a implantação em expansão e antes de configurar as instâncias do servidor de relatório que usarão o IP do servidor virtual. Ao configurar primeiro a validação do estado de exibição, você evitará exceções sobre falha na validação do estado quando usuários tentarem acessar relatórios interativos.

Como configurar a validação do estado de exibição neste tópico.

6

Configure o Hostname e o UrlRoot para usar o IP do servidor virtual do cluster NLB.

Como configurar Hostname e UrlRoot neste tópico.

7

Verifique se é possível acessar os servidores através do nome do host especificado.

Verificar o acesso ao servidor de relatório neste tópico.

Como configurar a validação do estado de exibição

Para executar uma implantação em expansão em um cluster NLB, você deve configurar a validação do estado de exibição para que os usuários possam exibir relatórios HTML interativos. Você deve fazer isso para o servidor de relatório e Gerenciador de Relatórios.

A validação do estado de exibição é controlada pelo ASP .NET. Por padrão, ela fica habilitada e usa a identidade do serviço Web para efetuar a validação. Porém, em um cenário de cluster NLB, existem várias instâncias de serviço e identidades de serviço Web que são executadas em computadores diferentes. Como a identidade do serviço varia para cada nó, não é possível usar uma única identidade de processo para efetuar a validação.

Para contornar esse problema, você pode gerar uma chave de validação arbitrária para dar suporte à validação do estado de exibição e, depois, configurar manualmente cada nó do servidor de relatório para usar a mesma chave. É possível usar qualquer sequência hexadecimal gerada aleatoriamente. O algoritmo de validação (como SHA1) determina o comprimento da sequência hexadecimal.

  1. Gere uma chave de validação e uma chave de descriptografia usando a funcionalidade de geração automática fornecida pelo .NET Framework. No final, você deverá ter uma única entrada <machineKey> que possa ser colada no arquivo Web.config de cada instância do Gerenciador de Relatórios na implantação em expansão.

    O exemplo a seguir mostra uma ilustração do valor a ser obtido. Não copie o exemplo nos seus arquivos de configuração; os valores de chave não são válidos.

    <machineKey validationKey="123455555" decryptionKey="678999999" validation="SHA1" decryption="AES"/>
    
  2. Abra o arquivo Web.config do Gerenciador de Relatórios e na seção <system.web> cole o elemento <machineKey> que você gerou. Por padrão, o arquivo Web.config do Gerenciador de Relatórios está localizado em \Arquivos de Programas\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\Web.config.

  3. Salve o arquivo.

  4. Repita a etapa anterior para cada servidor de relatório na implantação em expansão.

  5. Verifique se todos os arquivos Web.config das pastas \Reporting Services\Gerenciador de Relatórios contêm elementos <machineKey> idênticos na seção <system.web>.

Como configurar Hostname e UrlRoot

Para configurar uma implantação em expansão do servidor de relatório em um cluster NLB, é necessário definir um único nome de servidor virtual que forneça um único ponto de acesso ao cluster de servidores. Então registre esse nome de servidor virtual com o DNS (Domain Name Server, servidor de nomes de domínio) em seu ambiente.

Depois de definir o nome do servidor virtual, você poderá configurar as propriedades Hostname e UrlRoot no arquivo RSReportServer.config para incluir o nome do servidor virtual na URL do servidor de relatório.

Observação sobre cuidadosCuidado

A propriedade UrlRoot afeta a URL que os usuários verão no email que é enviado por uma assinatura do Reporting Services. Se a propriedade UrlRoot permanecer vazia no arquivo RSReportServer.config, a URL visível no email conterá o nome do computador físico e não a URL do servidor virtual NLB. Para evitar a potencial divulgação do nome do computador físico a usuários mal-intencionados que possam receber a assinatura, altere a propriedade UrlRoot para o nome do servidor virtual NLB apropriado.

Configure a propriedade Hostname quando estiver usando reservas curinga de URL em seu ambiente de relatório. Quando você especifica a propriedade Hostname para ser o nome do servidor virtual do servidor NLB, o tráfego de rede para o ambiente de relatório é direcionado ao servidor NLB. O NLB, em seguida, distribui solicitações entre os nós de servidor de relatório.

Além disso, configure a propriedade UrlRoot de forma que os links de relatório funcionem nos relatórios que foram exportados para relatórios estáticos, como no formato Excel ou PDF, ou em relatórios que são gerados por assinaturas, como as assinaturas de e-mail.

Se você integrar o Reporting Services com o Windows SharePoint Services 3.0 ou Office SharePoint Server 2007, ou hospedar relatórios em um aplicativo Web personalizado, talvez seja necessário configurar somente a propriedade UrlRoot. Nesse caso, configure a propriedade UrlRoot para ser a URL do site do SharePoint ou do aplicativo Web. Isso direcionará o tráfego de rede para o ambiente de relatório para o aplicativo que trata dos relatórios e não para o servidor de relatório ou cluster NLB.

Não modifique ReportServerUrl. Se você modificar essa URL, introduzirá uma viagem de ida e volta a mais no servidor virtual sempre que uma solicitação interna for tratada. Para obter mais informações, consulte URLs em arquivos de configuração (Reporting Services). Para obter mais informações sobre como editar o arquivo de configuração, consulte Como modificar um arquivo de configuração do Reporting Services nos Manuais Online do SQL Server.

  1. Abra o RSReportServer.config em um editor de texto.

  2. Localize a seção <Service> e adicione as seguintes informações ao arquivo de configuração, substituindo o valor Hostname pelo nome do servidor virtual para seu servidor NLB:

    <Hostname>virtual_server</Hostname>
    
  3. Localize UrlRoot. O elemento é especificado no arquivo de configuração, mas o valor padrão usado é uma URL neste formato: http:// ou https://<nome_do_computador>/<servidor_de_relatório>, em que <servidor_de_relatório> corresponde ao nome do diretório virtual do serviço Web servidor de relatórios.

  4. Digite um valor para UrlRoot que inclua o nome virtual do cluster neste formato: http:// ou https://<servidor_virtual>/<servidor_de_relatório>.

  5. Salve o arquivo.

  6. Repita estas etapas em cada arquivo RSReportServer.config de cada servidor de relatório na implantação em expansão.

Verificar o acesso ao servidor de relatório

Verifique se é possível acessar a implantação em expansão através do nome do servidor virtual (por exemplo, https://MyVirtualServerName/reportserver e https://MyVirtualServerName/reports).

Você pode verificar que nó efetivamente processa relatórios examinando os arquivos de log do servidor de relatório ou verificando o log de execução do RS (a tabela do log de execução contém uma coluna denominada InstanceName que mostra qual instância processou uma determinada solicitação). Para obter mais informações, consulte Arquivos de log do Reporting Services nos Manuais Online do SQL Server.

Se não for possível se conectar ao servidor de relatório, verifique o NLB para assegurar que as solicitações sejam enviadas para o servidor de relatório e visualize o log do HTTP do servidor de relatório para assegurar que o servidor esteja recebendo as solicitações.

Solucionando problemas de solicitações falhas

Se as solicitações não chegarem até as instâncias do servidor de relatório, verifique no arquivo RSReportServer.config se o nome do servidor virtual está especificado como o nome do host para as URLs do servidor de relatório:

  1. Abra o arquivo RSReportServer.config em um editor de texto.

  2. Localize o <Hostname>, <ReportServerUrl> e <UrlRoot> e verifique o nome do host para cada configuração. Se o valor não for o nome de host esperado, substitua-o pelo nome de host correto.

Se você iniciar a ferramenta Configuração do Reporting Services depois de fazer essas alterações, a ferramenta poderá alterar as configurações de <ReportServerUrl> com o valor padrão. Sempre tenha uma cópia de backup dos arquivos de configuração caso seja necessário substituí-los pela versão que contém as configurações desejadas.