← Назад в блог

SharePoint 2013/2016: перенос Search Service на другой сервер

Опубликовано
3 мин чтения
--- просмотров

Перенос службы поиска с одного сервера на другой в SharePoint — обычная задача, особенно на старых и крупных проектах. Если ты не можешь масштабировать ресурсы старого сервера приложений поиска, единственный способ заставить его нормально работать — перенести службу на другой, более мощный сервер. Это руководство поможет тебе это сделать.

Существующая топология:

Ферма SharePoint 2016:

  • WEB — веб-сервер (FrontEnd, ...)
  • APP — сервер приложений (SearchService, ...)
  • APP-2 — новый сервер приложений (SearchService, ...)
  • ...

Задача:

Перенести SearchService с APP на новый и более мощный компьютер APP-2.

Инструкция:

  1. Клонируй существующую топологию поиска. Используй эту команду в powershell:
  $ssa = Get-SPEnterpriseSearchServiceApplication
  $active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
  $clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active
  1. В виртуальном клоне топологии службы ($clone) добавь новые компоненты поиска:
  • New-SPEnterpriseSearchAdminComponent
    New-SPEnterpriseSearchAdminComponent -SearchTopology $clone -SearchServiceInstance <GUID>
    # <GUID> - id of SearchService on new application server
    ```
- New-SPEnterpriseSearchAnalyticsProcessingComponent
```powershell
    New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $clone -SearchServiceInstance <GUID>
    # <GUID> - id of SearchService on new application server
    ```
- New-SPEnterpriseSearchContentProcessingComponent
```powershell
    <pre class="lang:ps" decode:true="">New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $clone -SearchServiceInstance <GUID>
    # <GUID> - id of SearchService on new application server
    ```
- New-SPEnterpriseSearchCrawlComponent
- ```powershell
    New-SPEnterpriseSearchCrawlComponent -SearchTopology $clone -SearchServiceInstance <GUID>
    # <GUID> - id of SearchService on new application server
    ```
- New-SPEnterpriseSearchQueryProcessingComponent
```powershell
    New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $clone -SearchServiceInstance <GUID>
    # <GUID> - id of SearchService on new application server
    ```
- New-SPEnterpriseSearchIndexComponent
```powershell
    <pre class="lang:ps" decode:true="">New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -IndexPartition 0 -SearchServiceInstance <GUID> -RootDirectory <PATH>
    # <GUID> - id of SearchService on new application server
    # <PATH> - local path where search index will be stored on new app server
    #    example: C:\SearchIndex
    ```
3. Activate new search topology
```powershell
Set-SPEnterpriseSearchTopology -Identity $clone

И проверь, что новая топология настроена корректно:

Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa
  1. Проверь, что всё правильно, в SharePoint Central Admin. Перейди в администрирование Search Service Application и посмотри на верхнее меню с топологией службы. Там будет два одинаковых сервера приложений с одинаковыми компонентами поиска.
  1. Клонируй топологию поиска снова (шаг 1).
  2. Удали компоненты поиска, расположенные на старом сервере приложений:
    • SearchAdmin
    • SearchAnalytics
    • SearchContent
    • SearchCrawl
    • SearchQuery
    • SearchIndex
    Remove-SPEnterpriseSearchComponent -Identity <GUID> -SearchTopology $clone
    # <GUID> - id of old search service component
    
  3. Снова активируй топологию поиска (шаг 3).
  4. Проверь (шаг 4). Теперь должен остаться только один сервер поиска (новый APP-2).
  1. Запусти полное сканирование (full crawl) в SharePoint Admin Center → Search Application Management → Content Sources.

Открыт для работы по контракту

Я доступен для работы по контракту. Если у вас есть интересная идея проекта — запишитесь на звонок через Calendly.

Записаться на 30-минутный звонок