Condividi tramite


Configurare 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 di cui viene eseguito il mapping 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. È necessario implementare una soluzione cluster separata di bilanciamento del carico di rete software o hardware per supportare una distribuzione con scalabilità orizzontale di Reporting Services.

È possibile installare Reporting Services in nodi che fanno già parte di un cluster per il bilanciamento del carico di rete oppure configurare prima 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. Configurare una distribuzione Scale-Out server di report in modalità nativa (SSRS Configuration Manager) SQL Server documentazione online
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.
3 Aggiungere il nome del NetBIOS e il nome di dominio completo (FQDN) per l'intestazione host all'elenco di BackConnectionHostNames archiviato nel Registro di sistema di Windows. Usare i passaggi descritti in Metodo 2: Specificare i nomi host in KB 896861 (https://support.microsoft.com/kb/896861), con la regolazione seguente. Il passaggio 7 dell'articolo della Knowledge Base indica "Uscire dall'editor del Registro di sistema e quindi riavviare il servizio IISAdmin". Riavviare invece il computer per assicurarsi che le modifiche siano effettive.

Ad esempio, se il nome dell'intestazione host <MyServer> è un nome virtuale per il nome computer Windows "contoso", probabilmente è possibile fare riferimento al modulo FQDN come "contoso.domain.com". Sarà necessario aggiungere il nome di intestazione host (MyServer ) e il nome FQDN (contoso.domain.com) all'elenco in BackConnectionHostNames.
Questo passaggio è obbligatorio se l'ambiente server implica l'autenticazione NTLM sul computer locale, creando una connessione loopback.

In tal caso, le richieste tra Gestione report e Server di report restituiscono un errore 401 (Unauthorized).
4 Installare Reporting Services in modalità solo file nei nodi che fanno già parte di un cluster bilanciamento 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.
Configurare una distribuzione con scalabilità orizzontale di un server di report in modalità nativa (Gestione configurazione SSRS)
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 usando la funzionalità di generazione automatica disponibile in . NET Framework. Alla fine, è necessario avere una singola <machineKey> voce che è possibile incollare nel file di Web.config per ogni istanza di Gestione report 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 per Gestione report e nella <system.web> sezione 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\Gestione report contengano elementi identici <machineKey> nella <system.web> sezione.

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

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 oppure si ospitano i report in un'applicazione Web personalizzata, potrebbe essere necessario configurare solo la UrlRoot proprietà . 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 altre informazioni, vedere URL nei file di configurazione (SSRS Configuration Manager).For more information, see URLs in Configuration Files (SSRS Configuration Manager). Per altre informazioni sulla modifica del file di configurazione, vedere Modificare un file di configurazione Reporting Services (RSreportserver.config) nella documentazione online di SQL Server.

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

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

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

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

  5. Salvare il file.

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

Verificare l'accesso al server di report

Verificare che sia possibile accedere alla distribuzione con scalabilità orizzontale tramite il nome del server virtuale , https://MyVirtualServerName/reportserver ad esempio e https://MyVirtualServerName/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 RS. La tabella del log di esecuzione contiene una colonna denominata InstanceName che indica l'istanza che ha elaborato una richiesta specifica. Per altre informazioni, vedere Reporting Services file di log e origini 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. Trovare <>Hostname, <ReportServerUrl>e <UrlRoot>e controllare 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 Reporting Services dopo aver apportato queste modifiche, lo strumento potrebbe modificare le <ReportServerUrl> impostazioni nel 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.

Vedere anche

Gestione configurazione Reporting Services (modalità nativa)
Configurare un URL (Gestione configurazione SSRS)
Configurare una distribuzione con scalabilità orizzontale di un server di report in modalità nativa (Gestione configurazione SSRS)
Gestire un server di report in modalità nativa di Reporting Services