Konfigurieren eines Berichtsservers in einem NLB-Cluster (Network Load Balancing, Netzwerklastenausgleich)

Wenn Sie einen Berichtsserver für horizontales Skalieren für die Ausführung in einem NLB-Cluster (Network Load Balancing, Netzwerklastenausgleich) konfigurieren möchten, müssen Sie folgende Aufgaben ausführen:

  • Stellen Sie sicher, dass der Zugriff auf den NLB-Cluster über den Namen eines virtuellen Servers möglich ist, der der IP-Adresse des virtuellen Servers zugeordnet ist. Der Name eines virtuellen Servers ist erforderlich, damit Sie einen einzelnen Zugriffspunkt für den NLB-Cluster konfigurieren können. Wenn Sie für jede Berichtsserverinstanz eine URL konfigurieren, geben Sie den Namen des virtuellen Servers als Host an.

  • Konfigurieren Sie die Anzeigestatusüberprüfung, um das Anzeigen interaktiver Berichte zu unterstützen. Interaktive Berichte werden i. d. R. in einer Benutzersitzung mehrfach gerendert, um als Reaktion auf Benutzeraktionen neue oder andere Daten anzuzeigen. Durch das Konfigurieren der Anzeigestatusüberprüfung wird die Kontinuität in Benutzersitzungen unabhängig davon gewahrt, welcher Berichtsserver die Anforderung tatsächlich bearbeitet.

Reporting Services bietet keine Funktionalität für den Lastenausgleich einer Bereitstellung für horizontales Skalieren oder zum Definieren eines einzelnen Zugriffspunkts über eine freigegebene URL. Sie müssen eine separate Software oder eine Hardware-NLB-Clusterlösung implementieren, um eine Reporting Services-Bereitstellung für horizontales Skalieren zu unterstützen.

Sie können Reporting Services auf Knoten installieren, die bereits zu einem NLB-Cluster gehören, oder Sie können eine Bereitstellung für horizontales Skalieren konfigurieren und anschließend die Clustersoftware installieren.

Schritte zur Berichtsserverbereitstellung in einem NLB-Cluster

Beachten Sie beim Installieren und Konfigurieren der Bereitstellung die folgenden Richtlinien:

Schritt Beschreibung Weitere Informationen
1 Überprüfen Sie vor der Installation von Reporting Services auf Serverknoten in einem NLB-Cluster die Anforderungen für die Bereitstellung für horizontales Skalieren. Konfigurieren der Bereitstellung für horizontales Skalieren für Berichtsserver im nativen Modus
2 Konfigurieren Sie den NLB-Cluster, und überprüfen Sie, ob er ordnungsgemäß arbeitet.

Ordnen Sie unbedingt der virtuellen Server-IP-Adresse des NLB-Clusters einen Hostheadernamen zu. Der Hostheadername wird in der Berichtsserver-URL verwendet, und er ist leichter zu behalten als eine IP-Adresse.
Weitere Informationen finden Sie in der Windows Server-Produktdokumentation für die Version des verwendeten Windows-Betriebssystems.
3 Fügen Sie den NetBIOS-Namen und den vollqualifizierten Domänennamen (Fully Qualified Domain Name oder FQDN) für den Hostheader der in der Windows-Registrierung gespeicherten Liste von BackConnectionHostNames hinzu.

Wenn z. B. der Hostheadername <MyServer> ein virtueller Name für den Windows-Computernamen „contoso“ ist, können Sie wahrscheinlich mit contoso.domain.com auf das FQDN-Formular verweisen. Sie müssen sowohl den Hostheadernamen (MyServer ) als auch den FQDN-Namen (contoso.domain.com) zur Liste in BackConnectionHostNames hinzufügen.

Starten Sie dann den Computer neu, damit die Änderungen wirksam werden.
Dieser Schritt ist erforderlich, wenn Ihre Serverumgebung die NTLM-Authentifizierung auf dem lokalen Computer verwendet und eine Loopbackverbindung erstellt.

In diesem Fall tritt bei Anforderungen zwischen dem Berichts-Manager und dem Berichtsserver der Fehler 401 (Nicht autorisiert) auf.
4 Installieren Sie Reporting Services im reinen Dateimodus auf Knoten, die bereits zu einem NLB-Cluster gehören, oder konfigurieren Sie die Berichtsserverinstanzen für die Bereitstellung für horizontales Skalieren.

Die konfigurierte Bereitstellung für horizontales Skalieren antwortet möglicherweise nicht auf Anforderungen, die an die IP des virtuellen Servers gerichtet sind. Sie wird erst in einem späteren Schritt so konfiguriert, dass die IP des virtuellen Servers verwendet wird, und zwar nach dem Konfigurieren der Anzeigestatusüberprüfung.
Konfigurieren eines Berichtsservers im nativen Modus für Bereitstellungen für horizontales Skalieren (Berichtsserver-Configuration Manager)
5 Konfigurieren der Anzeigestatusüberprüfung

Optimale Ergebnisse erzielen Sie, wenn Sie diesen Schritt nach dem Konfigurieren der Bereitstellung für horizontales Skalieren und vor dem Konfigurieren der Berichtsserverinstanzen für die Verwendung der virtuellen Server-IP-Adresse ausführen. Indem Sie zuerst die Anzeigestatusüberprüfung konfigurieren, können Sie Ausnahmen für fehlgeschlagene Statusüberprüfungen vermeiden, wenn Benutzer versuchen, auf interaktive Berichte zuzugreifen.
Konfigurieren der Anzeigestatusüberprüfung in diesem Artikel.
6 Konfigurieren Sie Hostname und UrlRoot so, dass die IP des virtuellen Servers des NLB-Clusters verwendet wird. Konfigurieren von HostName und UrlRoot in diesem Artikel.
7 Überprüfen Sie, ob der Zugriff auf die Server mit dem angegebenen Hostnamen möglich ist. Überprüfen des Zugriffs auf Berichtsserver in diesem Artikel.

Konfigurieren der Anzeigestatusüberprüfung

Zum Ausführen einer Bereitstellung für horizontales Skalieren in einem NLB-Cluster müssen Sie die Anzeigestatusüberprüfung konfigurieren, sodass Benutzer interaktive HTML-Berichte anzeigen können. Sie müssen die Anzeigestatusüberprüfung für den Berichtsserver-Webdienst konfigurieren.

Zum Ausführen einer Bereitstellung für horizontales Skalieren in einem NLB-Cluster müssen Sie die Anzeigestatusüberprüfung konfigurieren, sodass Benutzer interaktive HTML-Berichte anzeigen können.

Die Anzeigestatusüberprüfung wird von ASP.NET gesteuert. Sie ist standardmäßig aktiviert und verwendet die Identitätsinformationen des Webdiensts zum Ausführen der Überprüfung. In einem Szenario mit NLB-Cluster sind jedoch mehrere Dienstinstanzen und Webdienstidentitäten, die auf unterschiedlichen Computern ausgeführt werden, vorhanden. Da die Dienstidentität von Knoten zu Knoten variiert, können Sie die Überprüfung nicht nur anhand einer einzigen Prozessidentität ausführen.

Zum Umgehen dieses Problems können Sie einen willkürlichen Validierungsschlüssel generieren, um die Anzeigestatusüberprüfung zu unterstützen, und anschließend jeden Berichtsserverknoten zum Verwenden desselben Schlüssels manuell konfigurieren. Sie können eine beliebige nach dem Zufallsprinzip generierte hexadezimale Sequenz verwenden. Der Überprüfungsalgorithmus (z. B. SHA1) bestimmt, wie lang die hexadezimale Sequenz sein muss.

Gilt für: SQL Server Reporting Services (2016)

  1. Generieren Sie mithilfe der von dem .NET Framework bereitgestellten Funktionalität automatisch einen Überprüfungsschlüssel und einen Entschlüsselungsschlüssel. Letztlich benötigen Sie einen einzigen <machineKey>-Eintrag, den Sie für jede Berichtsserverinstanz in der Bereitstellung für horizontales Skalieren in die Datei Web.config einfügen können.

    Das folgende Beispiel zeigt den Wert, den Sie benötigen. Kopieren Sie das Beispiel nicht in die Konfigurationsdateien, denn die Schlüsselwerte sind ungültig.

    <machineKey validationKey="123455555" decryptionKey="678999999" validation="SHA1" decryption="AES"/>  
    
  2. Öffnen Sie die Datei Web.config für Reportserver und fügen Sie im Abschnitt <system.web> das <machineKey>-Element ein, das Sie generiert haben. Standardmäßig ist die Web.config-Datei unter \Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\Reportserver\Web.config gespeichert.

  3. Speichern Sie die Datei .

  4. Wiederholen Sie den vorherigen Schritt für alle Berichtsserver in der Bereitstellung für horizontales Skalieren.

  5. Stellen Sie sicher, dass alle Web.Config-Dateien für alle Berichtsserver bei der Bereitstellung für die horizontale Skalierung die identischen <machineKey>-Elemente im Bereich <system.web> enthalten.

Gilt für: SQL Server Reporting Services (2017 und höher) Power BI-Berichtsserver

  1. Generieren Sie mithilfe der von dem .NET Framework bereitgestellten Funktionalität automatisch einen Überprüfungsschlüssel und einen Entschlüsselungsschlüssel. Letztlich benötigen Sie einen einzigen <machineKey>-Eintrag, den Sie für jede Berichtsserverinstanz in der Bereitstellung für horizontales Skalieren in die Datei RSReportServer.config einfügen können.

    Das folgende Beispiel zeigt den Wert, den Sie benötigen. Kopieren Sie das Beispiel nicht in die Konfigurationsdateien, denn die Schlüsselwerte sind ungültig. Der Berichtsserver erfordert korrekte Groß- und Kleinschreibung.

    <MachineKey ValidationKey="123455555" DecryptionKey="678999999" Validation="SHA1" Decryption="AES"/>
    
  2. Öffnen Sie die Datei RSReportServer.config für Reportserver und fügen Sie im Abschnitt <Configuration> das <machineKey>-Element ein, das Sie generiert haben. Standardmäßig ist die RSReportServer.config-Datei für Reporting Services unter \Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\RSReportServer.config gespeichert. Für Power BI-Berichtsserver ist die Datei unter \Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer\RSReportServer.config gespeichert.

  3. Speichern Sie die Datei .

  4. Wiederholen Sie den vorherigen Schritt für alle Berichtsserver in der Bereitstellung für horizontales Skalieren.

  5. Stellen Sie sicher, dass alle RSReportServer.config-Dateien für alle Berichtsserver bei der Bereitstellung für die horizontale Skalierung die identischen <MachineKey>-Elemente im Bereich <Configuration> enthalten.

Konfigurieren von Hostname und UrlRoot

Wenn Sie eine Berichtsserverbereitstellung für horizontales Skalieren in einem NLB-Cluster konfigurieren möchten, müssen Sie den Namen eines einzelnen virtuellen Servers definieren, der einen einzelnen Zugriffspunkt für den Servercluster bietet. Registrieren Sie den Namen dieses virtuellen Servers dann beim DNS-Server in der Umgebung.

Nachdem Sie den Namen des virtuellen Servers definiert haben, können Sie die Eigenschaften Hostname und UrlRoot in der Datei RSReportServer.config so konfigurieren, dass sie den Namen des virtuellen Servers in der Berichtsserver-URL enthalten.

Konfigurieren Sie die Eigenschaft Hostname, wenn Sie Platzhalter-URL-Reservierungen in der Berichtsumgebung verwenden. Wenn Sie in der Hostname-Eigenschaft den virtuellen Servernamen des NLB-Servers angeben, dann wird der Netzwerkverkehr für die Berichtsumgebung an den NLB-Server geleitet. Der NLB verteilt die Anforderungen dann an die Berichtsserverknoten.

Konfigurieren Sie außerdem die Eigenschaft UrlRoot, damit Berichtslinks in Berichten funktionieren, die in statische Berichte, z. B. in das Excel- oder PDF-Format, exportiert wurden, oder in Berichten, die von Abonnements erzeugt werden, beispielsweise E-Mail-Abonnements.

Wenn Sie Reporting Services mit Windows SharePoint Services 3.0 oder Office SharePoint Server 2007 integrieren oder Ihre Berichte in einer benutzerdefinierten Webanwendung hosten, müssen Sie unter Umständen die Eigenschaft UrlRoot konfigurieren. In diesem Fall legen Sie die UrlRoot-Eigenschaft auf die URL der SharePoint-Site oder Webanwendung fest. Mit dieser Konfiguration wird der Netzwerkverkehr für die Berichtsumgebung an die Anwendung geleitet, welche die Berichte handhabt, statt an den Berichtsserver oder NLB-Cluster.

Ändern Sie ReportServerUrl nicht. Wenn Sie diese URL ändern, führt dies dazu, dass jedes Mal, wenn eine interne Anforderungen verarbeitet wird, ein zusätzlicher Roundtrip über den virtuellen Server ausgeführt wird. Weitere Informationen finden Sie unter URLs in Konfigurationsdateien (Berichtsserver-Configuration Manager). Weitere Informationen zum Bearbeiten von Konfigurationsdateien finden Sie unter Ändern einer Reporting Services-Konfigurationsdatei (RSreportserver.config).

  1. Öffnen Sie RSReportServer.config in einem Text-Editor.

  2. Suchen Sie nach dem <Service>-Abschnitt, und fügen Sie der Konfigurationsdatei die folgenden Informationen hinzu, wodurch der Wert für Hostname durch den Namen des virtuellen Servers für den NLB-Server ersetzt wird:

    <Hostname>virtual_server</Hostname>  
    
  3. Suchen Sie UrlRoot. Das Element ist in der Konfigurationsdatei nicht angegeben, aber als Standardwert wird eine URL in folgendem Format verwendet: https:// oder https://<computername>/<reportserver>, wobei <reportserver> der Name des virtuellen Verzeichnisses des Berichtsserver-Webdiensts ist.

  4. Geben Sie für UrlRoot einen Wert ein, der den virtuellen Namen des Clusters im folgenden Format enthält: https:// oder https://<virtual_server>/<reportserver>.

  5. Speichern Sie die Datei .

  6. Wiederholen Sie diese Schritte jeweils in der Datei RSReportServer.config für alle Berichtsserver in der Bereitstellung für horizontales Skalieren.

Überprüfen des Zugriffs auf Berichtsserver

Überprüfen Sie, ob Sie auf die Bereitstellung für horizontales Skalieren über den Namen des virtuellen Servers (z.B. https://MyVirtualServerName/reportserver und https://MyVirtualServerName/reports) zugreifen können.

Sie können überprüfen, welcher Knoten tatsächlich Berichte verarbeitet, indem Sie die Berichtsserver-Protokolldateien untersuchen oder indem Sie das RS-Ausführungsprotokoll überprüfen (die Ausführungsprotokolltabelle enthält eine Spalte namens InstanceName , die anzeigt, welche Instanz eine bestimmte Anforderung verarbeitet hat). Weitere Informationen finden Sie unter Reporting Services-Protokolldateien und Quellen.

Wenn keine Verbindung mit dem Berichtsserver hergestellt werden kann, überprüfen Sie den NLB. Stellen Sie sicher, dass Anforderungen an den Berichtsserver gesendet werden, und zeigen Sie die HTTP-Protokolldatei des Berichtsservers an, um sich davon zu überzeugen, dass der Server die Anforderungen empfängt.

Problembehandlung bei fehlgeschlagenen Anforderungen

Wenn Anforderungen die Berichtsserverinstanzen nicht erreichen, überprüfen Sie die Datei RSReportServer.config, um festzustellen, ob der Name des virtuellen Servers als Hostname für die Berichtsserver-URLs angegeben wurde:

  1. Öffnen Sie die Datei RSReportServer.config in einem Text-Editor.

  2. Suchen Sie nach <Hostname>, <ReportServerUrl> und <UrlRoot>, und überprüfen Sie den Hostnamen auf jede Einstellung. Wenn der Wert nicht dem erwarteten Hostnamen entspricht, ersetzen Sie ihn durch den richtigen Hostnamen.

Wenn Sie das Reporting Services-Konfigurationstool starten, nachdem Sie diese Änderungen vorgenommen haben, ändert das Tool möglicherweise die Einstellungen für <ReportServerUrl> in den Standardwert. Bewahren Sie immer eine Sicherungskopie der Konfigurationsdateien für den Fall auf, dass Sie diese durch die Version ersetzen müssen, die die gewünschten Einstellungen enthält.

Konfigurieren einer URL (Berichtsserver-Konfigurations-Manager)
Konfigurieren eines Berichtsservers im nativen Modus für Bereitstellungen für horizontales Skalieren (Berichtsserver-Configuration Manager)
Berichtsserver-Configuration Manager (nativer Modus)
Verwalten eines Berichtsservers von Reporting Services im nativen Modus