Zusatzinformationen zum Lastenausgleich für den SharePoint 2010-Topologiedienst
Zusatzinformationen zum Lastenausgleich für den SharePoint 2010-Topologiedienst
Dieser Beitrag ist im Wesentlichen eine Ergänzung zu dem ausgezeichneten Beitrag, den JoshGav im Blog Beside the Point unter https://blogs.msdn.com/b/besidethepoint/archive/2010/12/08/load-balancing-the-sharepoint-2010-topology-service.aspxeingestellt hat. Wie Josh scharfsinnigerweise bereits erwähnt hat, ist der Topologiedienst verantwortlich für den Lastenausgleich bei Anforderungen, die an unterschiedliche Endpunkte von Dienstanwendungen übermittelt werden. Wenn Sie jedoch Dienstanwendungen in anderen Farmen veröffentlichen, brauchen Sie ein Tool, das beim Topologiedienst selbst einen Lastenausgleich sicherstellt. Beispielsweise stellen Sie eine Verbindung zu einer anderen Dienstanwendung typischerweise über eine URL her, die etwa so aussieht: https://serverNetBiosName:32844/Topology/topology.svc. Das Problem ist nur: wenn „serverNetBiosName“ ausfällt, können die Proxys keine Verbindung zum Abrufen der URL für den benötigten Dienstendpunkt mehr herstellen.
Was also tun? Nun, zuerst einmal lesen Sie am besten den Blog von Josh zu diesem Thema. Diesen Blog ergänze ich hier lediglich mit ein paar zusätzlichen Anmerkungen zu dem, was mir beim Einrichten aufgefallen ist. Ich ging also nach der von Josh beschriebenen Methode 1 vor, d. h. ich erstellte ein neues SSL-Zertifikat mit mehreren alternativen Antragstellernamen (Subject Alternative Names, SAN) und installierte dies auf jedem Server in meiner Farm. Hier sind meine Notizen:
1. Erstellen Sie ein neues SSL-Zertifikat mit SAN-Unterstützung: Sie möchten auf jedem Server ein neues Zertifikat für SSL erstellen. Dieses sollte drei Namen unterstützen: localhost, den NetBIOS-Namen des Servers und den gewünschten Namen mit Lastenausgleich. Gemäß dem Standardverhalten von SharePoint ist localhost und der NetBIOS-Name bereits enthalten, daher gehen wir hier genauso vor und fügen nur noch den zusätzlichen Namen mit Lastenausgleich hinzu.
a. Diejenigen von Ihnen, die das in einer Testumgebung ausprobieren und zum Ausstellen von Zertifikaten Active Directory-Zertifikatdienste verwenden, können diese so konfigurieren, dass sie SAN-Namen unterstützen. Führen Sie auf den Servern, auf denen die Zertifikatdienste ausgeführt werden, an einer Eingabeaufforderung folgenden Befehl aus:
certutil –setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc
Sobald die erste Zeile ausgeführt worden ist, erhalten Sie Feedback darüber, ob es funktioniert hat oder nicht.
b. Starten Sie eine Microsoft Management Console (MMC), und fügen Sie das Add-In Zertifikatvorlagen hinzu (dies müssen Sie auf einem Server mit Active Directory-Zertifikatdienste tun). Klicken Sie auf den Knoten Zertifikatvorlagen, um alle Vorlagen einzublenden. Blättern Sie nach unten, und doppelklicken Sie auf die Vorlage Webserver. Klicken Sie auf die Registerkarte Sicherheit. Für Authentifizierte Benutzer sollten Sie das Kontrollkästchen neben Registrieren in der Spalte Zulassen aktivieren. Speichern Sie dann die Änderungen. Bevor Sie dies nicht erledigt haben, können Sie die Anleitungen im folgenden Schritt nicht ausführen.
c. Schritt-für-Schritt-Anweisungen zum Anfordern eines Zertifikats in AD-Zertifikatdienste mit SAN-Unterstützung finden Sie im folgenden Artikel: https://technet.microsoft.com/en-us/library/ff625722(WS.10).aspx. Denken Sie daran, dass Sie diesen Schritt auf JEDEM Server in der Farm ausführen müssen, auf dem der Webanwendungsdienst läuft.
2. Ändern Sie das SSL-Zertifikat für die SharePoint Services-Webanwendung: Ich habe ein einfaches PowerShell-Skript verwendet, das ich im Prinzip einfach aus Josh's Beitrag übernommen habe. Ich habe es in die ZIP-Datei eingebunden, die ich an diesen Beitrag hier angehängt habe. Denken Sie wieder daran, dass Sie den Fingerabdruck des Zertifikats ändern und auf jedem Server in der Farm ausführen müssen, auf dem der Webanwendungsdienst läuft. Um das Abrufen der Zertifikat-Fingerabdrücke zu vereinfachen, habe ich ein kleines Tool geschrieben, das sich ebenfalls in der angehängten ZIP-Datei befindet: „GetThumbprints“. Dieses Tool durchsucht einfach nur den Zertifikatspeicher Lokaler Computer im eigenen und im SharePoint-Speicher. Stellen Sie sicher, dass das oben in Schritt 1 erstellte Zertifikat sich in einem dieser Speicher befindet, wenn Sie dieses Tool verwenden möchten.
3. Richten Sie den VIP für den Namen mit Lastenausgleich auf allen Servern ein: Wie bei jedem Lastenausgleichsdienst brauchen Sie einen VIP, der auf allen Computern im Pool verwendet wird. Je nach der Lastenausgleichslösung, die Sie verwenden, können Sie u. U. einen vorhandenen VIP verwenden, oder Sie müssen einen neuen erstellen. Entscheiden Sie, was für Ihre Lastenausgleichslösung zutrifft, und stellen Sie bei Bedarf einen neuen VIP bereit. Auf meinem System habe ich bereits den Netzwerklastenausgleich verwendet, der in Windows Server enthalten ist, um die Anforderungen für Farminhalte auszugleichen. Deshalb konnte ich einfach den schon vorhandenen VIP beim Lastenausgleich für den Topologiedienst übernehmen. In meinem Fall bedeutet das, dass nur meine Web-Front-Ends Anforderungen für veröffentlichte Dienstanwendungen erhalten.
4. Richten Sie das Lastenausgleichsmodul und DNS für den Namen mit Lastenausgleich ein: Wenn Sie eine Farm mit mehreren Servern betreiben, sollte bereits irgendeine Lastenausgleichslösung vorhanden sein. Richten Sie in Ihrem Lastenausgleichsmodul den Namen mit Lastenausgleich für den Topologiedienst ein. In meinem Fall brauchte ich nur einen neuen Alias-(A)-Datensatz für meinen Topologiedienst-Namen mit Lastenausgleich in DNS erstellen. Als Adresse gab ich den gleichen VIP an wie für den Lastenausgleich für Webanforderungen an die Farm.
5. Konfigurieren Sie die URL mit Lastenausgleich für den SharePoint-Topologiedienst: Dies führen Sie am besten in zwei Schritten aus:
a. Rufen Sie zuerst die Informationen zum Topologiedienst ab, indem Sie folgenden Befehl ausführen: Get-SPTopologyServiceApplication in PowerShell. Dadurch werden die ID des Dienstes sowie die aktuelle URL mit Lastenausgleich angezeigt.
b. Führen Sie den Befehl Set-SPTopologyServiceApplication -LoadBalancerUrl <Name mit Lastenausgleich> aus. Achten Sie darauf, dass Sie die Tipps von Josh zu diesem Punkt befolgen. Sie werden von PowerShell nach der Kennung des Topologiedienstes gefragt. Hier können Sie die ID kopieren, die beim Ausführen des Befehls Get-SPTopologyServiceApplication im vorherigen Schritt angezeigt wurde.
6. Veröffentlichen Sie die Dienstanwendung: Hier gibt es nichts Wichtiges hinzuzufügen. Achten Sie einfach darauf, dass Sie wirklich ALLE SCHRITTE AUSFÜHREN, die in dem Artikel „Freigeben von Dienstanwendungen für mehrere Farmen“ unter https://technet.microsoft.com/en-us/library/ff621100.aspxbeschrieben werden. Auch wenn Sie vorher schon Dienstanwendungen zwischen Farmen veröffentlicht und verwendet haben – denken Sie auf jeden Fall daran, der Remotefarm in den Berechtigungen der veröffentlichten Dienstanwendung mindestens die Berechtigung Vollzugriff zu erteilen. Andernfalls erhalten Sie Fehlermeldungen vom Typ „Zugriff verweigert“.
7. Verwenden Sie die veröffentlichte Dienstanwendung: Auch hier habe ich nur die gleiche Empfehlung wie weiter oben hinzuzufügen: Achten Sie darauf, dass Sie die Schritte in diesem Artikel wirklich genau einhalten.
Mit diesen Hinweisen sollten Sie nun loslegen können. Ich empfehle Ihnen, zunächst mit einem leichter zu validierenden Szenario zu beginnen, z. B. Veröffentlichen und Verwenden einer Suchdienstanwendung. Damit ist es relativ einfach, eine Abfrage auszuführen, von der Sie wissen, dass sie ein ganz bestimmtes Dokument zurückgeben sollte, und das Ganze dann in der Abonnentenfarm auszuprobieren.
Nochmals ein herzliches Dankeschön an Josh für seinen Artikel. Alle wichtigen und hilfreichen Informationen finden Sie dort, ich habe hier nur versucht, einige Details herauszuarbeiten.
Es handelt sich hierbei um einen übersetzten Blogbeitrag. Sie finden den Originalartikel unter Additional Info on Load Balancing the SharePoint 2010 Topology Service