Резервное копирование и восстановление приложения службы поиска в SharePoint с помощью VSS

Узнайте, как создать резервную копию и восстановить приложение службы поиска в SharePoint с помощью службы теневого копирования томов (VSS).

Необходимые условия для резервного копирования и восстановления SharePoint с помощью службы теневого копирования томов

Чтобы запрограммировать решение резервного копирования и восстановления для SharePoint, необходимо понять, как работает VSS и как с ним работает интерфейс SharePoint.

Таблица 1. Основные понятия резервного копирования и восстановления SharePoint с помощью службы теневого копирования томов

Статья Описание
Службы теневого копирования томов и его дочерних статьи. Сведения о службе теневого копирования ТОМОВ и объясняется, как программировать для него.
Службы Windows SharePoint Services и служба теневого копирования томов и его дочерних статьи. Общие сведения и пошаговые инструкции по резервному копированию и восстановлению данных SharePoint с помощью VSS и интерфейса SharePoint с VSS.

Использование службы теневого копирования томов для резервного копирования и восстановления приложения-службы поиска

Следующие процедуры предназначены для помощи разработчикам с создания приложения резервного копирования и восстановления, с помощью службы VSS. Если вы ИТ-специалист ищете инструкции по резервному копированию или восстановлению приложения службы поиска SharePoint, см. статью Резервное копирование и восстановление SharePoint.

Необходимых компонентов: Загрузить и установить пакет SDK для Microsoft Windows для Windows 7 и .NET Framework 4 на сервер с приложением-службой поиска (SSA) и на каждый сервер с компонентом индексирования поиска. Помимо прочего это будет установить C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin\\x64\\vsstoolsvshadow.exe и betest.exe.

Совет: Дополнительные сведения о командлетах Windows PowerShell, упомянутых в этой статье, см. в справочнике по Windows PowerShell для SharePoint.

Регистрация модуля записи VSS SharePoint и Подготовка серверов для резервного копирования и восстановления

  • Регистрация модуля записи VSS SharePoint с помощью одного из следующих методов:

    • В Меню Администрирование откройте службы и запустить службу Модуля записи VSS SharePoint.

    • Откройте консоль команд и выполните .stsadm.exe -o registerwsswriter Служебная программа stsadm находится в папке %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\BIN. Убедитесь, что служба запущена в служб в Меню Администрирование.

Резервное копирование приложения службы поиска SharePoint с помощью служба теневого копирования ТОМОВ

  1. Получение метаданных VSS путем выполнения vshadow.exe -wm > writers.txt в командной строке на каждом сервере, содержащем компонент индекса, а также на компьютере, на котором выполняются SQL Server, где находятся базы данных поиска. Файл writers.txt, созданный перечислены все записи VSS, связанный с сервером. Используйте этот файл дальнейшие действия для создания файлов манифеста для приложения-службы поиска (SSA) и индекс поиска.

  2. Выполните следующие действия для создания манифеста для SSA на компьютере, на котором работает SQL Server, где размещены базы данных поиска.

  3. Создайте XML-файл и скопируйте в него следующий:

    <BETest>
      <Writer writerid="SharePoint Services Writer ID">
        <Component logicalPath="PathSSA" componentName="SearchAppOffice" />
        <Component logicalPath="PathC" componentName="SearchAppOffice_CrawlStore" />
        <Component logicalPath="PathA" componentName="SearchAppOffice_AnalyticsReportingStore" />
        <Component logicalPath="PathL" componentName="SearchAppOffice_LinksStore" />
      </Writer>
      <Writer writerid="SQL Server Writer ID">
        <Component logicalPath="PathDbSSA" componentName="SearchAppOffice" />
        <Component logicalPath="PathDbC" componentName="SearchAppOffice_CrawlStore" />
        <Component logicalPath="PathDbA" componentName="SearchAppOffice_AnalyticsReportingStore" />
        <Component logicalPath="PathDbL" componentName="SearchAppOffice_LinksStore" />
      </Writer>
    </BETest>
    
  4. Замените заполнители 10 в этот файл с соответствующими значениями из файла writer.txt, который вы создали на первом шаге. Используйте следующие таблицы в качестве руководства.

    Примечание.

    В правом столбце SSA сам по себе является заполнителем для имени приложения службы поиска.

    Табл. 2. Заполнители и значения файлов манифеста SSA из writers.txt

    Placeholder Расположение сведения в writers.txt.
    SharePoint Services Writer ID Идентификатор GUID WriterId из списка в разделе запись «Записи SharePoint Services»
    PathSSA Запись логический путь, имя приложения-службы поиска в запись «Записи SharePoint Services» в списке
    PathC Запись логический путь из списка для компонент с именем" _SSA__CrawlStore" в запись "Записи SharePoint Services"
    PathA Запись логический путь из списка для компонент с именем" SSA _AnalyticsReportingStore" в запись "Записи SharePoint Services"
    PathL Запись логический путь из списка для компонент с именем" _SSA__LinksStore" в запись "Записи SharePoint Services"
    SQL Server Writer ID Идентификатор GUID WriterId из списка в разделе запись «SqlServerWriter»
    PathDbSSA Операция логический путь из списка для компонента с именем приложения-службы поиска в записи «SqlServerWriter»
    PathDbC Запись логический путь из списка для компонент с именем" _SSA__CrawlStore" операции "SqlServerWriter"
    PathDbA Запись логический путь из списка для компонент с именем" _SSA__AnalyticsReportingStore" операции "SqlServerWriter"
    PathDbL Запись логический путь из списка для компонент с именем" _SSA__LinksStore" операции "SqlServerWriter"

    Это файл манифеста SSA. Пример завершенного файла манифеста SSA см. в разделе Примеры файлов манифеста.

  5. Выполните следующие действия для создания манифеста для поиска файлов индекса. Повторите эти действия на каждом сервере, содержащий компонент индекса.

  6. Создайте XML-файл и скопируйте в него следующий:

    <BETest>
      <Writer writerid="SharePoint Services Writer ID">
          <Component logicalPath="PathIndex" componentName="NameIndex" />
      </Writer>
      <Writer writerid="OSearch15 Writer ID">
          <Component logicalPath="PathOSearch15" componentName="IndexComponentGroup" />
      </Writer>    
    </BETest>
    
  7. Замените заполнители шесть в этот файл с соответствующими значениями из файла writer.txt, который вы создали на первом шаге. Используйте следующие таблицы в качестве руководства.

    Табл. 3. Поиск заполнителей и значений файла манифеста индекса из writer.txt

    Placeholder Расположение сведения в writers.txt
    SharePoint Services Writer ID
    Идентификатор GUID WriterId из списка в разделе запись «Записи SharePoint Services»
    PathIndex
    Операция логический путь из списка для компонента, имена которых начинаются с «IndexComponentGroup» в запись «Записи SharePoint Services»
    NameIndex
    Запись имени, перечисленных для компонента, имена которых начинаются с «IndexComponentGroup» в запись «Записи SharePoint Services»
    OSearch15 Writer ID
    Идентификатор GUID WriterId из списка в разделе запись «Записи VSS OSearch15»
    PathOSearch15
    Запись логический путь, указанные для компонента, имена которых начинаются с «IndexComponentGroup» в запись «Записи VSS OSearch15». Это обычно пустым.
    IndexComponentGroup
    Запись имени, перечисленных для компонента, имена которых начинаются с «IndexComponentGroup» в запись «Записи VSS OSearch15»

    Это файл манифеста индекса поиска. Пример завершенного файла манифеста индекса поиска см. в разделе Примеры файлов манифеста.

  8. (Необязательно) Запишите размеры папок IndexComponent на каждом сервере, который содержит компонент индекса. Эти сведения можно использовать более поздней версии для проверки резервной копии.

  9. На любом сервере в ферме откройте командную консоль SharePoint и выполните следующие строки, где имя приложения службы поиска — это SSA, резервная копия которого требуется создать. Не закрывайте окно Командная консоль SharePoint позже.

    $ssa = Get-SpenterpriseSearchServiceApplication -Identity "name of search service application"
    Suspend-SPEnterpriseSearchServiceApplication -Identity $ssa
    
  10. Выполните резервное копирование баз данных SSA и индекса, выполнив следующие действия:

  11. На сервере с базами данных SSA выполните следующую команду в командной строке, где целевая папка резервного копирования — это полный путь к папке для файлов резервной копии, файл журнала резервной копии — полный путь и имя файла журнала резервной копии, а файл манифеста SSA — путь и имя файла манифеста SSA.

    betest.exe /v /b /d "destination backup folder" /s "backup log file" /x "SSA manifest file"
    
  12. На сервере с открытым окном командной консоли SharePoint выполните следующую строку, где имя файла топологии — это полный путь и имя экспортированного файла, содержащего сведения о топологии. Необходимо использовать этот файл в процедуре восстановления для SSA.

    Export-SPEnterpriseSearchTopology -SearchApplication $ssa -Filename "topology file name"
    
  13. Убедитесь, что файл создан.

  14. На каждом сервере с компонентом индекса выполните следующую команду в командной строке, где целевая папка резервного копирования — это полный путь к папке для файлов резервной копии, файл журнала резервной копии — полный путь и имя файла журнала резервной копии, а файл манифеста индекса — путь и имя файла манифеста индекса.

    betest.exe /v /b /d "destination backup folder" /s "backup log file" /x "index manifest file"
    
  15. (Необязательно) Проверьте индекс папки, которые были созданы резервные копии. Убедитесь, что имена папок и размеры совпадают с учетными записями в предыдущем шаге.

Для восстановления приложения службы поиска SharePoint с помощью служба теневого копирования ТОМОВ

  1. На любом сервере в ферме откройте командную консоль SharePoint и выполните следующие строки, чтобы удалить существующее приложение службы поиска и его прокси-сервер, где имя приложения службы поиска — это служба SSA, которую требуется восстановить, а имя прокси-сервера — это прокси-сервер приложения. Обратите внимание, что этот name of SSA proxy — это обычно совпадает с именем SSA с слово "Прокси" добавлен в конец. Переключатель RemoveData гарантирует, что удаляются баз данных поиска.

    $ssa = Get-SPEnterpriseSearchServiceApplication -Identity "name of search service application"
    Remove-SPEnterpriseSearchServiceApplication -Identity $ssa -RemoveData
    Remove-SPEnterpriseSearchServiceApplicationProxy -Identity "name of SSA proxy"
    
  2. На том же сервере выполните следующую команду в командной строке, чтобы восстановить базы данных SSA, где папка резервного копирования назначения — полный путь к папке для файлов резервной копии, файл журнала резервной копии — полный путь и имя файла журнала резервной копии, а файл манифеста SSA — путь и имя файла манифеста SSA.

    betest.exe /v /r /d "destination backup folder" /s "backup log file" /x SSA_manifest_file
    
  3. На том же сервере откройте командную консоль SharePoint и выполните следующие строки, чтобы восстановить SSA, где имя пула приложений — это имя нового пула, domain\user — это доменное имя пользователя, в который входит пул приложений, имя приложения службы поиска — имя SSA. и topology_file_name — это путь и имя файла типологии, созданного при резервной копии SSA.

    Совет

    [!Совет] В этом коде создается новый удостоверения пула приложений для запуска восстановленных SSA, но можно также использовать существующую учетную запись с помощью командлета Get-SPServiceApplicationPool.

    $applicationPool = New-SPServiceApplicationPool -name "application pool name" -account "domain\\user"
    Restore-SPEnterpriseSearchServiceApplication -Name "name of the search service application" -ApplicationPool $applicationPool -TopologyFile "topology_file_name" -KeepId
    
  4. Создание прокси-сервера для SSA с помощью следующих командлетов. Для имени приложения службы поиска и имени прокси-сервера SSA рекомендуется использовать те же значения, что и на шаге 1.

    $ssa = Get-SpenterpriseSearchServiceApplication -Identity "name of search service application"
    New-SPEnterpriseSearchServiceApplicationProxy -Name "name of SSA proxy" -SearchApplication $ssa
    
  5. (Необязательно) Проверьте существование SSA и его прокси-сервер, откройте Центр администрирования. Выберите Управление приложениями-службами и убедитесь, что указано SSA и его прокси-сервера.

  6. (Необязательно) Нажмите кнопку SSA в списке служб и на открывшейся странице убедитесь, что в таблице Топология приложения поиска соответствует топология, который был экспортирован в процедуры резервного копирования. (Можно также проверить топологию с помощью командлета Get-SPEnterpriseSearchStatus.)

  7. Восстановите файлы индекса, используя следующую процедуру на всех серверах с компонентами индекса.

  8. Остановите службу контроллера узла либо в службах администрирования>, либо выполнив следующий командлет в командной консоли SharePoint:

    stop-service SPSearchHostController
    
  9. На тех же серверах выполните следующую команду в командной строке, где файл манифеста индекса — это путь и имя файла манифеста индекса, созданного в процедуре резервного копирования.

    betest.exe /v /r /d "destination backup folder" /s "backup log file" /x "index manifest file"
    
  10. (Необязательно) Убедитесь, что имена папок и размеры равны, записанные в процедуры резервного копирования.

  11. Для каждого компонента индекса переименуйте данных в папке данных, выполнив следующие действия:

  12. В Командная консоль SharePoint выполните следующий командлет.

    Get-SPEnterpriseSearchVssDataPath
    
  13. Выходные данные командлета запишите последнюю часть каждый идентификатор GUID. Например, если одна строка выходных данных — IndexComponentGroup_e255918b-6ab0-4d7c-8049-720b2744c62f, запишите 720b2744c62f.

  14. В проводник (или проводнике Windows в Windows Server 2008) перейдите по адресу C:\\Program Files\\Microsoft Office Servers\\15.0\\Data\\Office Server\\Applications\\Search\\Nodes\\24488A\\IndexComponentN\\storage\\data, где N — номер компонента индекса.

  15. Каждая из этих папок имеет вложенной папке, имя которых начинается с «Пакет обновления», а затем 12 шестнадцатеричных цифр, за которым следует номер версии. Для каждого из этих вложенных папок, в которых 12 шестнадцатеричных цифр соответствуют окончания идентификатор GUID, записанные в предыдущем шаге переименуйте вложенной папке в importindex. В следующем примере вложенную папку SP720b2744c62f.1.I.1.0 следует переименовать вimportindex.

  16. Перезапустите службу контроллера узла либо в службах администрирования>, либо выполнив следующий командлет в командной консоли SharePoint:

    start-service SPSearchHostController
    
  17. Убедитесь, что имена папок индекса данные возвращаются обратно в их предыдущее имя. (В качестве основного примера, это может быть "" SP720b2744c62f.1.I.1.0 ".)

  18. (Необязательно) Проверьте соответствие размеры папок IndexComponent размеры, записанные в процедуры резервного копирования.

  19. Перезапустите SSA.

  20. На затронутых серверах запустите следующий командлет в Командная консоль SharePoint, чтобы проверить правильность работы приложения службы поиска:

    Get-SPEnterpriseSearchStatus
    
  21. Проверка работы передачи данных и поиска для новых документов. Например, проверьте размер индекса с помощью запроса "size>=0". Добавить новый документ и убедитесь, что для поиска.

Пример файлов манифестов

Файл манифеста SSA

<BETest>
  <Writer writerid="da452614-4858-5e53-a512-38aab25c61ad">
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\2e1f9435-d714-4bcb-be8d-ae1214e2ea22" componentName="SearchAppOffice" />
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\b8bb09b8-a823-43b0-a131-7bd5464f91fb" componentName="SearchAppOffice_CrawlStore" />
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\20c0c0b5-2086-4b16-8ce8-2cecb5186ebe" componentName="SearchAppOffice_AnalyticsReportingStore" />
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\15004c47-21ca-441e-80fe-9e068ef4ad14" componentName="SearchAppOffice_LinksStore" />
  </Writer>
  <Writer writerid="a65faa63-5ea8-4ebc-9dbd-a0c4db26912a">
    <Component logicalPath="DDDVSS4\\SQLEXPRESS" componentName="SearchAppOffice" />
    <Component logicalPath="DDDVSS4\\SQLEXPRESS" componentName="SearchAppOffice_CrawlStore" />
    <Component logicalPath="DDDVSS4\\SQLEXPRESS" componentName="SearchAppOffice_AnalyticsReportingStore" />
    <Component logicalPath="DDDVSS4\\SQLEXPRESS" componentName="SearchAppOffice_LinksStore" />
  </Writer>
</BETest>

Файл манифеста индекса

<BETest>
  <Writer writerid="da452614-4858-5e53-a512-38aab25c61ad">
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\cfbddb07-2409-4b3d-997b-ee1b936c3dbd" componentName="IndexComponentGroup_3bca1050-c15a-4987-93dc-8f911d35a0ba" />
  </Writer>
  <Writer writerid="0ff1ce15-0201-0000-0000-000000000000">
    <Component logicalPath="" componentName="IndexComponentGroup_3bca1050-c15a-4987-93dc-8f911d35a0ba" />
  </Writer>
</BETest>

См. также