Резервное копирование и восстановление приложения службы поиска в 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\\vsstools
vshadow.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 с помощью служба теневого копирования ТОМОВ
Получение метаданных VSS путем выполнения
vshadow.exe -wm > writers.txt
в командной строке на каждом сервере, содержащем компонент индекса, а также на компьютере, на котором выполняются SQL Server, где находятся базы данных поиска. Файл writers.txt, созданный перечислены все записи VSS, связанный с сервером. Используйте этот файл дальнейшие действия для создания файлов манифеста для приложения-службы поиска (SSA) и индекс поиска.Выполните следующие действия для создания манифеста для SSA на компьютере, на котором работает SQL Server, где размещены базы данных поиска.
Создайте 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>
Замените заполнители 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 см. в разделе Примеры файлов манифеста.
Выполните следующие действия для создания манифеста для поиска файлов индекса. Повторите эти действия на каждом сервере, содержащий компонент индекса.
Создайте 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>
Замените заполнители шесть в этот файл с соответствующими значениями из файла 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» Это файл манифеста индекса поиска. Пример завершенного файла манифеста индекса поиска см. в разделе Примеры файлов манифеста.
(Необязательно) Запишите размеры папок IndexComponent на каждом сервере, который содержит компонент индекса. Эти сведения можно использовать более поздней версии для проверки резервной копии.
На любом сервере в ферме откройте командную консоль SharePoint и выполните следующие строки, где имя приложения службы поиска — это SSA, резервная копия которого требуется создать. Не закрывайте окно Командная консоль SharePoint позже.
$ssa = Get-SpenterpriseSearchServiceApplication -Identity "name of search service application" Suspend-SPEnterpriseSearchServiceApplication -Identity $ssa
Выполните резервное копирование баз данных SSA и индекса, выполнив следующие действия:
На сервере с базами данных SSA выполните следующую команду в командной строке, где целевая папка резервного копирования — это полный путь к папке для файлов резервной копии, файл журнала резервной копии — полный путь и имя файла журнала резервной копии, а файл манифеста SSA — путь и имя файла манифеста SSA.
betest.exe /v /b /d "destination backup folder" /s "backup log file" /x "SSA manifest file"
На сервере с открытым окном командной консоли SharePoint выполните следующую строку, где имя файла топологии — это полный путь и имя экспортированного файла, содержащего сведения о топологии. Необходимо использовать этот файл в процедуре восстановления для SSA.
Export-SPEnterpriseSearchTopology -SearchApplication $ssa -Filename "topology file name"
Убедитесь, что файл создан.
На каждом сервере с компонентом индекса выполните следующую команду в командной строке, где целевая папка резервного копирования — это полный путь к папке для файлов резервной копии, файл журнала резервной копии — полный путь и имя файла журнала резервной копии, а файл манифеста индекса — путь и имя файла манифеста индекса.
betest.exe /v /b /d "destination backup folder" /s "backup log file" /x "index manifest file"
(Необязательно) Проверьте индекс папки, которые были созданы резервные копии. Убедитесь, что имена папок и размеры совпадают с учетными записями в предыдущем шаге.
Для восстановления приложения службы поиска SharePoint с помощью служба теневого копирования ТОМОВ
На любом сервере в ферме откройте командную консоль 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"
На том же сервере выполните следующую команду в командной строке, чтобы восстановить базы данных SSA, где папка резервного копирования назначения — полный путь к папке для файлов резервной копии, файл журнала резервной копии — полный путь и имя файла журнала резервной копии, а файл манифеста SSA — путь и имя файла манифеста SSA.
betest.exe /v /r /d "destination backup folder" /s "backup log file" /x SSA_manifest_file
На том же сервере откройте командную консоль 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
Создание прокси-сервера для SSA с помощью следующих командлетов. Для имени приложения службы поиска и имени прокси-сервера SSA рекомендуется использовать те же значения, что и на шаге 1.
$ssa = Get-SpenterpriseSearchServiceApplication -Identity "name of search service application" New-SPEnterpriseSearchServiceApplicationProxy -Name "name of SSA proxy" -SearchApplication $ssa
(Необязательно) Проверьте существование SSA и его прокси-сервер, откройте Центр администрирования. Выберите Управление приложениями-службами и убедитесь, что указано SSA и его прокси-сервера.
(Необязательно) Нажмите кнопку SSA в списке служб и на открывшейся странице убедитесь, что в таблице Топология приложения поиска соответствует топология, который был экспортирован в процедуры резервного копирования. (Можно также проверить топологию с помощью командлета Get-SPEnterpriseSearchStatus.)
Восстановите файлы индекса, используя следующую процедуру на всех серверах с компонентами индекса.
Остановите службу контроллера узла либо в службах администрирования>, либо выполнив следующий командлет в командной консоли SharePoint:
stop-service SPSearchHostController
На тех же серверах выполните следующую команду в командной строке, где файл манифеста индекса — это путь и имя файла манифеста индекса, созданного в процедуре резервного копирования.
betest.exe /v /r /d "destination backup folder" /s "backup log file" /x "index manifest file"
(Необязательно) Убедитесь, что имена папок и размеры равны, записанные в процедуры резервного копирования.
Для каждого компонента индекса переименуйте данных в папке данных, выполнив следующие действия:
В Командная консоль SharePoint выполните следующий командлет.
Get-SPEnterpriseSearchVssDataPath
Выходные данные командлета запишите последнюю часть каждый идентификатор GUID. Например, если одна строка выходных данных —
IndexComponentGroup_e255918b-6ab0-4d7c-8049-720b2744c62f
, запишите 720b2744c62f.В проводник (или проводнике Windows в Windows Server 2008) перейдите по адресу
C:\\Program Files\\Microsoft Office Servers\\15.0\\Data\\Office Server\\Applications\\Search\\Nodes\\24488A\\IndexComponentN\\storage\\data
, где N — номер компонента индекса.Каждая из этих папок имеет вложенной папке, имя которых начинается с «Пакет обновления», а затем 12 шестнадцатеричных цифр, за которым следует номер версии. Для каждого из этих вложенных папок, в которых 12 шестнадцатеричных цифр соответствуют окончания идентификатор GUID, записанные в предыдущем шаге переименуйте вложенной папке в importindex. В следующем примере вложенную папку
SP720b2744c62f.1.I.1.0
следует переименовать вimportindex.Перезапустите службу контроллера узла либо в службах администрирования>, либо выполнив следующий командлет в командной консоли SharePoint:
start-service SPSearchHostController
Убедитесь, что имена папок индекса данные возвращаются обратно в их предыдущее имя. (В качестве основного примера, это может быть "" SP720b2744c62f.1.I.1.0 ".)
(Необязательно) Проверьте соответствие размеры папок IndexComponent размеры, записанные в процедуры резервного копирования.
Перезапустите SSA.
На затронутых серверах запустите следующий командлет в Командная консоль SharePoint, чтобы проверить правильность работы приложения службы поиска:
Get-SPEnterpriseSearchStatus
Проверка работы передачи данных и поиска для новых документов. Например, проверьте размер индекса с помощью запроса "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>