SharePoint 2010 – Verteilung der Komponenten in der Suchtopology
Die Suche ist eine der zentralen Komponenten bei SharePoint 2010 und bedarf einiger Anpassungen nach der Installation. Wenn man die Suche ohne Anpassungen installiert sind erst einmal alle Komponenten der „Suchtpology“ auf einem Server installiert. Microsoft empfiehlt diese Komponenten auf die Server aufzuteilen um eine Lastverteilung und eine Ausfallsicherheit zu gewährleisten.
Bei einer kleinen bis mittleren SharePoint 2010 Farm sind sehr häufig folgende Server vorhanden.
Index
Begriffserklärung
Generell lässt sich die Suche in drei Elemente einteilen: Durchforstung (Crawl), Indizieren und das Abfragen (Query). Die Durchforstung bereitet die Ergebnisse durch das Lesen der Dateiinhalte auf und schreibt die Ergebnisse (z.B. Wortstammerkennung) in die Indexdatenbank. Wenn nun ein Anwender eine Suche starten, wird dem Anwender das Ergebnis durch die Abfragekomponente mithilfe des Index und der Suchdatenbanken ermittelt. Dabei ist der Abfrageserver dann die Schnittstelle einer Suchanfrage an den Index. Hier werden die Suchanfragen aufbereitet und z.B. überprüft ob der Anwender mindestens Leseberechtigung auf das Dokument hat.
Aufteilung der Komponenten:
Die Komponenten der Suche sollten „optimal“ wie folgt auf die Server verteilt werden.
Die wichtigste Suchkomponente Durchforstung (Crawl) wird auf dem „App“ Server installiert. Diese ist eine zwingende Voraussetzung um den Index erstellen zu können. Da die Furchforstung eine hohe CPU Last erzeugt, sollte der „App“ Server mit entsprechend leistungsfähigen CPUs ausgestattet sein. Sollte die Durchforstung zu langsam sein und/oder zu viel CPU Last auf dem „App“ Server erzeugen so empfiehlt es sich einen weiteren Server für das Durchforsten in der Farm aufzunehmen. Die Last wird dann automatisch von den Durchforstungskomponenten aufgeteilt und verhindert, dass eine Datei von mehreren Durchforstungskomponenten parallel verarbeitet wird.
Hinzufügen einer Durchforstungskomponente
Die Administrations Komponente wird ebenfalls auf dem „App“ Server bereitgestellt. Diese Komponente kann nur auf einem Server je „Search Service Application“ bereitgestellt werden.
Der Index wird durch die Durchforstungskomponente angelegt. Um die größe des Index zu reduzieren und einer Ausfallsicherheit zu gewährleisten sollte der Index mitsamt der Abfragekomponente auf min. 2 Server verteilen werden.
WFE1 = Index Partition 0 – Query Component | Index Partition 1 – Query Component („Mirror“)
WFE2 = Index Partition 1 – Query Component | Index Partition 0 – Query Component („Mirror“)
Hinzufügen einer Indexpartition
Hinzufügen einer Abfragekomponente
Für die Query Topology habe ich folgendes PowerShell Script im aktuellen Projekt erstellt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Add-PSSnapin Microsoft.SharePoint.PowerShell -ea SilentlyContinue $searchSA = "SearchService" $searchPropertyDBName = "SearchService_PropertyStoreDB" $searchPropertyDBServer = "SQLSERVER.FIRSTATTRIBUTE.COM" $indexLocation = "C:\Program Files\Microsoft Office Servers\14.0\Data\Office Server\Applications" $queryServer1 = Get-SPEnterpriseSearchServiceInstance "WFE1" $queryServer2 = Get-SPEnterpriseSearchServiceInstance "WFE2" $queryTopology = New-SPEnterpriseSearchQueryTopology -SearchApplication $searchSA -Partitions 2 $propertyDatabase = New-SPEnterpriseSearchPropertyDatabase -SearchApplication $searchSA -DatabaseName $searchPropertyDBName -DatabaseServer $searchPropertyDBServer $indexPartitions = Get-SPEnterpriseSearchIndexPartition -QueryTopology $queryTopology $indexPartition1 = $indexPartitions[0] $indexPartition1 | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase $propertyDatabase $indexPartition2 = $indexPartitions[1] $indexPartition2 | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase $propertyDatabase Get-SPEnterpriseSearchQueryComponent -QueryTopology $queryTopology $queryComponent1 = New-SPEnterpriseSearchQuerycomponent -QueryTopology $queryTopology -IndexPartition $indexPartition1 -SearchServiceInstance $queryServer1 $queryComponent2 = New-SPEnterpriseSearchQuerycomponent -QueryTopology $queryTopology -IndexPartition $indexPartition2 -SearchServiceInstance $queryServer2 $mirrorQueryComponent1 = New-SPEnterpriseSearchQuerycomponent -QueryTopology $queryTopology -IndexPartition $indexPartition2 -SearchServiceInstance $queryServer1 $mirrorqueryComponent2 = New-SPEnterpriseSearchQuerycomponent -QueryTopology $queryTopology -IndexPartition $indexPartition1 -SearchServiceInstance $queryServer2 $queryTopology | Set-SPEnterpriseSearchQueryTopology -Active |
Leave a Reply
<p>Danke für Ihre Anregungen, Fragen und Hinweise.<br/>Infos zum <a href="https://www.active-directory-faq.dekontakt/">Datenschutz</a></p>