Procedura: Configurazione di un server di report in un cluster per il bilanciamento del carico di rete

Se si intende configurare la scalabilità orizzontale di un server di report per l'esecuzione in un cluster per il bilanciamento del carico di rete (NLB, Network Load Balancing), è necessario effettuare le operazioni seguenti:

  • Verificare che il cluster per il bilanciamento del carico di rete sia accessibile tramite un nome del server virtuale mappato all'indirizzo IP del server virtuale. Un nome del server virtuale è necessario per poter configurare un singolo punto di ingresso nel cluster per il bilanciamento del carico di rete. Quando si configura un URL per ogni istanza del server di report, è necessario specificare il nome del server virtuale come host.

  • Configurare la convalida dello stato di visualizzazione per supportare la visualizzazione di report interattivi. Il rendering dei report interattivi viene in genere eseguito diverse volte durante una singola sessione utente per visualizzare dati nuovi o diversi in risposta alle azioni dell'utente. La configurazione della convalida dello stato di visualizzazione consente di mantenere la continuità all'interno della sessione utente, indipendentemente dal server di report che risponde alla richiesta effettiva.

Reporting Services non fornisce la funzionalità per il bilanciamento del carico di una distribuzione con scalabilità orizzontale, né per la definizione di un singolo punto di accesso tramite un URL condiviso. Per supportare una distribuzione con scalabilità orizzontale di Reporting Services, è necessario implementare una soluzione cluster per il bilanciamento del carico di rete software o hardware distinta.

È possibile installare Reporting Services in nodi che fanno già parte di un cluster per il bilanciamento del carico di rete oppure configurare innanzitutto una distribuzione con scalabilità orizzontale e quindi installare il software del cluster.

Passaggi per la distribuzione del server di report in un cluster per il bilanciamento del carico di rete

Per installare e configurare la distribuzione, utilizzare le linee guida seguenti:

Passaggio

Descrizione

Ulteriori informazioni

1

Prima di installare Reporting Services nei nodi del server in un cluster per il bilanciamento del carico di rete, verificare i requisiti per la distribuzione con scalabilità orizzontale.

Pianificazione della distribuzione con scalabilità orizzontale nella documentazione online di SQL Server

2

Configurare il cluster per il bilanciamento del carico di rete e verificarne il corretto funzionamento.

Assicurarsi di eseguire il mapping di un nome dell'intestazione host all'IP del server virtuale del cluster per il bilanciamento del carico di rete. Il nome dell'intestazione host viene utilizzato nell'URL del server di report ed è più semplice da ricordare e digitare rispetto a un indirizzo IP.

Per ulteriori informazioni, vedere la documentazione di Windows Server relativa alla versione del sistema operativo Windows utilizzato.

4

Installare Reporting Services in modalità solo file in nodi che appartengono già a un cluster per il bilanciamento del carico di rete e configurare le istanze del server di report per la distribuzione con scalabilità orizzontale.

La scalabilità orizzontale configurata potrebbe non rispondere a richieste indirizzate all'IP del server virtuale. La configurazione della scalabilità orizzontale per l'utilizzo dell'IP del server virtuale viene effettuata in un passaggio successivo, dopo la configurazione della convalida dello stato di visualizzazione.

Procedura: Configurazione di una distribuzione con scalabilità orizzontale del server di report (configurazione di Reporting Services)

5

Configurare la convalida dello stato di visualizzazione.

Per ottenere risultati ottimali, eseguire questo passaggio dopo avere configurato la distribuzione con scalabilità orizzontale e prima di configurare le istanze del server di report per l'utilizzo dell'IP del server virtuale. Configurando innanzitutto la convalida dello stato di visualizzazione, è possibile evitare eccezioni a causa di errori di convalida dello stato quando gli utenti tentano di accedere a report interattivi.

Come configurare la convalida dello stato di visualizzazione in questo argomento.

6

Configurare Hostname e UrlRoot per l'utilizzo dell'IP del server virtuale del cluster per il bilanciamento del carico di rete.

Come configurare Hostname e UrlRoot in questo argomento.

7

Verificare che sia possibile accedere ai server tramite il nome host specificato.

Verificare l'accesso al server di report in questo argomento.

Come configurare la convalida dello stato di visualizzazione

Per eseguire una distribuzione con scalabilità orizzontale in un cluster per il bilanciamento del carico di rete, è necessario configurare la convalida dello stato di visualizzazione in modo che gli utenti possano visualizzare report HTML interattivi. Questa operazione deve essere eseguita sia per il server di report che per Gestione report.

La convalida dello stato di visualizzazione è controllata da ASP.NET, è abilitata per impostazione predefinita e utilizza l'identità del servizio Web per eseguire la convalida. In uno scenario di cluster per il bilanciamento del carico di rete, tuttavia, sono presenti più istanze del servizio e identità del servizio Web eseguite in computer diversi. Poiché l'identità del servizio varia per ciascun nodo, non è possibile basarsi su una singola identità del processo per eseguire la convalida.

Per risolvere questo problema, è possibile generare una chiave di convalida arbitraria per supportare la convalida dello stato di visualizzazione e quindi configurare manualmente ciascun nodo del server di report per l'utilizzo della stessa chiave. È possibile utilizzare qualsiasi sequenza esadecimale generata casualmente. L'algoritmo di convalida, ad esempio SHA1, determina la lunghezza della sequenza esadecimale.

  1. Generare una chiave di convalida e una chiave di decrittografia mediante la funzionalità di generazione automatica disponibile in .NET Framework. Al termine, è necessario disporre di una singola voce <machineKey>, che è possibile incollare nel file Web.config per ogni istanza di Gestione report presente nella distribuzione con scalabilità orizzontale.

    Nell'esempio seguente viene illustrato il valore che è necessario ottenere: Non copiare l'esempio nei file di configurazione in uso, in quanto i valori di chiave non sono validi.

    <machineKey validationKey="123455555" decryptionKey="678999999" validation="SHA1" decryption="AES"/>
    
  2. Aprire il file Web.config di Gestione report, quindi nella sezione <system.web> incollare l'elemento <machineKey> generato. Per impostazione predefinita, il file Web.config di Gestione report si trova in \Programmi\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\Web.config.

  3. Salvare il file.

  4. Ripetere il passaggio precedente per ogni server di report presente nella distribuzione con scalabilità orizzontale.

  5. Verificare che tutti i file Web.Config nelle cartelle \Reporting Services\Report Manager contengano elementi <machineKey> identici nella sezione <system.web>.

Come configurare Hostname e UrlRoot

Per configurare una distribuzione con scalabilità orizzontale del server di report in un cluster per il bilanciamento del carico di rete, è necessario definire un unico nome del server virtuale che fornisce un singolo punto di accesso al cluster di server. Successivamente, registrare il nome del server virtuale con Domain Name Server (DNS) nel proprio ambiente.

Dopo aver definito il nome del server virtuale, è possibile configurare le proprietà Hostname e UrlRoot nel file RSReportServer.config per includere tale nome nell'URL del server di report.

Nota di attenzioneAttenzione

La proprietà UrlRoot influisce sull'URL visualizzato dagli utenti nel messaggio di posta elettronica inviato da una sottoscrizione di Reporting Services. Se la proprietà UrlRoot rimane vuota nel file RSReportServer.config, nell'URL visualizzato nel messaggio di posta elettronica sarà contenuto il nome del computer fisico anziché l'URL del server virtuale NLB. Per evitare la possibile diffusione del nome del computer fisico a utenti malintenzionati che potrebbero ricevere la sottoscrizione, impostare la proprietà UrlRoot sul nome del server virtuale NLB appropriato.

Configurare la proprietà Hostname quando si utilizzano prenotazioni URL con caratteri jolly nell'ambiente di gestione dei report. Quando si specifica la proprietà Hostname come nome del server virtuale del server con bilanciamento del carico di rete, il traffico di rete relativo all'ambiente di gestione dei report viene indirizzato a quest'ultimo server, che distribuisce quindi le richieste tra i nodi del server di report.

Configurare inoltre la proprietà UrlRoot in modo che i collegamenti al report funzionino nei report esportati in report statici, ad esempio in formato Excel o PDF, oppure in report generati da sottoscrizioni, ad esempio una sottoscrizione con recapito tramite posta elettronica.

Se si integra Reporting Services con Windows SharePoint Services 3.0 o Office SharePoint Server 2007 o se i report vengono ospitati in un'applicazione Web personalizzata, potrebbe essere necessario configurare solo la proprietà UrlRoot. In questo caso, configurare la proprietà UrlRoot in modo che rappresenti l'URL del sito di SharePoint o dell'applicazione Web. In questo modo il traffico di rete relativo all'ambiente di gestione dei report verrà indirizzato all'applicazione che gestisce i report anziché al server di report o al cluster per il bilanciamento del carico di rete.

Non modificare ReportServerUrl per evitare di introdurre un round trip aggiuntivo attraverso il server virtuale ogni volta che viene gestita una richiesta interna. Per ulteriori informazioni, vedere URL nei file di configurazione (Reporting Services). Per ulteriori informazioni sulla modifica del file di configurazione, vedere Procedura: Modifica di un file di configurazione di Reporting Services nella documentazione online di SQL Server.

  1. Aprire RSReportServer.config in un editor di testo.

  2. Individuare la sezione <Service> e aggiungere le informazioni seguenti al file di configurazione, sostituendo il valore Hostname con il nome del server virtuale per il server per il bilanciamento del carico di rete:

    <Hostname>virtual_server</Hostname>
    
  3. Individuare UrlRoot. L'elemento non è specificato nel file di configurazione, ma il valore predefinito utilizzato è un URL in formato http:// o https://<nomecomputer>/<serverreport>, dove <serverreport> corrisponde al nome della directory virtuale del servizio Web ReportServer.

  4. Digitare un valore per UrlRoot che includa il nome virtuale del cluster in formato http:// o https://<server_virtuale>/<serverreport>.

  5. Salvare il file.

  6. Ripetere questi passaggi in ciascun file RSReportServer.config per ogni server di report presente nella distribuzione con scalabilità orizzontale.

Verifica dell'accesso al server di report

Verificare di poter accedere alla distribuzione con scalabilità orizzontale tramite il nome del server virtuale, ad esempio https://NomeServerVirtuale/reportserver e https://NomeServerVirtuale/reports.

È possibile determinare il nodo che elabora effettivamente i report esaminando i file di log del server di report o controllando il log di esecuzione di Reporting Services. La tabella del log di esecuzione contiene una colonna denominata InstanceName che indica l'istanza che ha elaborato una richiesta specifica. Per ulteriori informazioni, vedere File di log di Reporting Services nella documentazione online di SQL Server.

Se non è possibile connettersi al server di report, controllare il bilanciamento del carico di rete per verificare che le richieste vengano inviate al server di report e visualizzare il log HTTP del server di report per appurare che il server le stia ricevendo.

Risoluzione dei problemi relativi alle richieste non riuscite

Se le richieste non raggiungono le istanze del server di report, controllare il file RSReportServer.config per verificare che il nome del server virtuale sia specificato come nome host per gli URL del server di report:

  1. Aprire il file RSReportServer.config in un editor di testo.

  2. Individuare <Hostname>, <ReportServerUrl> e <UrlRoot>, quindi verificare il nome host per ogni impostazione. Se il valore non corrisponde al nome host previsto, sostituirlo con il nome host corretto.

Se si avvia lo strumento di configurazione di Reporting Services dopo avere apportato queste modifiche, lo strumento potrebbe modificare le impostazioni di <ReportServerUrl> ripristinando il valore predefinito. Mantenere sempre una copia di backup dei file di configurazione per i casi in cui sia necessario sostituirli con la versione contenente le impostazioni che si desidera utilizzare.