Copia de seguridad y restauración de una aplicación de servicio de búsqueda en SharePoint mediante VSS
Obtenga información sobre cómo realizar copias de seguridad y restaurar una aplicación de servicio de búsqueda en SharePoint mediante el servicio de instantáneas de volumen (VSS).
Requisitos previos para la copia de seguridad y restauración de SharePoint con el servicio de instantáneas de volumen
Para programar una solución de copia de seguridad y restauración para SharePoint, debe comprender cómo funciona VSS y la interfaz de SharePoint con ella.
Tabla 1. Conceptos básicos para realizar copias de seguridad y restaurar SharePoint con el servicio de instantáneas de volumen
Artículo | Descripción |
---|---|
Servicio de instantáneas de volumen y sus artículos secundarios. | Obtenga información sobre el VSS y cómo se programa para él. |
Windows SharePoint Services y Servicio de instantáneas de volumen y sus artículos secundarios. | Información general y procedimientos paso a paso para realizar copias de seguridad y restaurar datos de SharePoint mediante VSS y la interfaz de SharePoint con VSS. |
Usar el servicio de instantáneas de volumen para la copia de seguridad y restaurar una aplicación de servicio de búsqueda
Los siguientes procedimientos están diseñados para ayudar a los desarrolladores con la creación de una aplicación de copia de seguridad o restauración que usa el VSS. Si es un profesional de TI que busca instrucciones sobre cómo realizar copias de seguridad o restaurar una aplicación de servicio de búsqueda de SharePoint, consulte Copia de seguridad y restauración de SharePoint.
Requisitos previos: Descargue e instale Microsoft Windows SDK para Windows 7 y .NET Framework 4 en el servidor con la aplicación de servicio de búsqueda (SSA) y a todos los servidores con un componente de índice de búsqueda. Entre otras cosas, Esto instalará vshadow.exe y betest.exe a C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin\\x64\\vsstools
.
Propina: Para obtener más información sobre los cmdlets de Windows PowerShell que se mencionan en este artículo, consulte Windows PowerShell para la referencia de SharePoint.
Para registrar el escritor de VSS de SharePoint y preparación de los servidores de copia de seguridad y restauración
Registre el escritor de VSS de SharePoint con cualquiera de estos métodos:
Abra Servicios en Herramientas administrativas e inicie el servicio del Escritor de VSS de SharePoint.
Abra una consola de comandos y ejecute
stsadm.exe -o registerwsswriter
. La utilidad stsadm se encuentra en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\BIN. Compruebe que se está ejecutando el servicio de Servicios en Herramientas administrativas.
Para hacer copia de seguridad de una aplicación de servicio de búsqueda de SharePoint con VSS
Obtenga metadatos de VSS mediante la ejecución
vshadow.exe -wm > writers.txt
en una línea de comandos en cada servidor que contiene un componente de índice y también en el equipo que ejecuta SQL Server donde se encuentran las bases de datos de búsqueda. El archivo writers.txt que se crea, enumera todos los escritores VSS asociados con el servidor. Use este archivo en los pasos siguientes para generar archivos de manifiesto para la aplicación de servicio de búsqueda (SSA) y el índice de búsqueda.Siga estos pasos para crear un manifiesto para la aplicación de servicio en el equipo que ejecuta SQL Server donde se encuentran las bases de datos de búsqueda.
Cree un archivo XML y copie lo siguiente en él:
<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>
Reemplace los marcadores de 10 posición de este archivo con valores adecuados desde el archivo writer.txt que genera en el primer paso. Use la tabla siguiente como guía.
Nota:
En la columna derecha, SSA es en sí mismo un marcador de posición para el nombre de la aplicación de servicio de búsqueda.
Tabla 2. Marcadores de posición y valores de archivo de manifiesto de SSA de writers.txt
Marcador de posición Donde la información se encuentra en writers.txt. SharePoint Services Writer ID El GUID WriterId que se enumeran en la entrada "Escritor de SharePoint Services" PathSSA La entrada de ruta de acceso lógica aparece con el nombre de la aplicación de servicio de búsqueda en la entrada "Escritor de SharePoint Services" PathC La entrada de la ruta de acceso lógica enumerados para el componente denominado" _SSA__CrawlStore" en la entrada "Escritor de SharePoint Services" PathA La entrada de la ruta de acceso lógica enumerados para el componente denominado" SSA _AnalyticsReportingStore" en la entrada "Escritor de SharePoint Services" PathL La entrada de la ruta de acceso lógica enumerados para el componente denominado" _SSA__LinksStore" en la entrada "Escritor de SharePoint Services" SQL Server Writer ID El GUID WriterId que se enumeran en la entrada "SqlServerWriter" PathDbSSA La entrada de ruta de acceso lógica enumerada para el componente con el nombre de la aplicación de servicio de búsqueda en la entrada "SqlServerWriter" PathDbC La entrada de la ruta de acceso lógica enumerados para el componente denominado" _SSA__CrawlStore" en la entrada "SqlServerWriter" PathDbA La entrada de la ruta de acceso lógica enumerados para el componente denominado" _SSA__AnalyticsReportingStore" en la entrada "SqlServerWriter" PathDbL La entrada de la ruta de acceso lógica enumerados para el componente denominado" _SSA__LinksStore" en la entrada "SqlServerWriter" Este es el archivo de manifiesto de SSA. Para obtener un ejemplo de un archivo de manifiesto de SSA completado, consulte Archivos de manifiesto de ejemplo.
Siga estos pasos para crear un manifiesto para la búsqueda de archivos de índice. Repita estos pasos en cada servidor que tiene un componente de índice.
Cree un archivo XML y copie lo siguiente en él:
<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>
Reemplace los marcadores de seis posición de este archivo con valores adecuados desde el archivo writer.txt que genera en el primer paso. Use la tabla siguiente como guía.
Tabla 3. Buscar marcadores de posición y valores de archivo de manifiesto de índice de writer.txt
Marcador de posición Donde la información se encuentra en writers.txt SharePoint Services Writer ID El GUID WriterId que se enumeran en la entrada "Escritor de SharePoint Services" PathIndex La entrada de ruta de acceso lógica enumerada para el componente cuyo nombre comienza por "IndexComponentGroup" en la entrada "Escritor de SharePoint Services" NameIndex La entrada de nombre enumerada para el componente cuyo nombre comienza por "IndexComponentGroup" en la entrada "Escritor de SharePoint Services" OSearch15 Writer ID El GUID WriterId que se enumeran en la entrada "Escritor de VSS de OSearch15" PathOSearch15 La entrada de la ruta de acceso lógica enumerada para el componente cuyo nombre comienza por "IndexComponentGroup" en la entrada "Escritor de VSS de OSearch15". Está normalmente vacío. IndexComponentGroup La entrada de nombre enumerada para el componente cuyo nombre comienza por "IndexComponentGroup" en la entrada "Escritor de VSS de OSearch15" Este es el archivo de manifiesto de índice de búsqueda. Para obtener un ejemplo de un archivo de manifiesto de índice de búsqueda completado, consulte Archivos de manifiesto de ejemplo.
(Opcional) Registre los tamaños de las carpetas de IndexComponent en cada servidor que contiene un componente de índice. Puede usar esta información más adelante para comprobar la copia de seguridad.
En cualquier servidor de la granja de servidores, abra el Shell de administración de SharePoint y ejecute las líneas siguientes, donde el nombre de la aplicación de servicio de búsqueda es la SSA de la que desea realizar una copia de seguridad. Deje abierta la ventana de Shell de administración de SharePoint de posteriormente.
$ssa = Get-SpenterpriseSearchServiceApplication -Identity "name of search service application" Suspend-SPEnterpriseSearchServiceApplication -Identity $ssa
Realizar copias de seguridad de las bases de datos de aplicación de servicio y el índice siguiendo estos pasos:
En el servidor con las bases de datos de SSA, ejecute el siguiente comando en una línea de comandos, donde la carpeta de copia de seguridad de destino es la ruta de acceso completa de la carpeta de los archivos de copia de seguridad, el archivo de registro de copia de seguridad es la ruta de acceso completa y el nombre del archivo de registro de copia de seguridad, y el archivo de manifiesto de SSA es la ruta de acceso y el nombre del archivo de manifiesto de SSA.
betest.exe /v /b /d "destination backup folder" /s "backup log file" /x "SSA manifest file"
En el servidor con la ventana open SharePoint Management Shell (Shell de administración de SharePoint), ejecute la línea siguiente, donde el nombre del archivo de topología es la ruta de acceso completa y el nombre del archivo exportado que contiene la información de topología. Este archivo en el procedimiento de restauración va a usar para la aplicación de servicio.
Export-SPEnterpriseSearchTopology -SearchApplication $ssa -Filename "topology file name"
Compruebe que se ha creado el archivo.
En cada servidor que tenga un componente de índice, ejecute lo siguiente en una línea de comandos, donde la carpeta de copia de seguridad de destino es la ruta de acceso completa de la carpeta de los archivos de copia de seguridad, el archivo de registro de copia de seguridad es la ruta de acceso completa y el nombre del archivo de registro de copia de seguridad, y el archivo de manifiesto de índice es la ruta de acceso y el nombre del archivo de índice.
betest.exe /v /b /d "destination backup folder" /s "backup log file" /x "index manifest file"
(Opcional) Inspeccionar las carpetas de índice que se copiaron. Compruebe que los tamaños y nombres de carpeta coinciden con las que se registren en el paso anterior.
Para restaurar una aplicación de servicio de búsqueda de SharePoint con VSS
En cualquier servidor de la granja de servidores, abra el Shell de administración de SharePoint y ejecute las siguientes líneas para quitar la aplicación de servicio de búsqueda existente y su proxy, donde el nombre de la aplicación de servicio de búsqueda es la SSA que desea restaurar y el nombre del proxy es su proxy de aplicación. Tenga en cuenta que name of SSA proxy normalmente es el mismo que el nombre de la aplicación de servicio con la palabra "Proxy" se agrega al final. El modificador
RemoveData
garantiza que se han quitado las bases de datos de búsqueda.$ssa = Get-SPEnterpriseSearchServiceApplication -Identity "name of search service application" Remove-SPEnterpriseSearchServiceApplication -Identity $ssa -RemoveData Remove-SPEnterpriseSearchServiceApplicationProxy -Identity "name of SSA proxy"
En el mismo servidor, ejecute lo siguiente en una línea de comandos para restaurar las bases de datos de SSA, donde la carpeta de copia de seguridad de destino es la ruta de acceso completa de la carpeta para los archivos de copia de seguridad, el archivo de registro de copia de seguridad es la ruta de acceso completa y el nombre del archivo de registro de copia de seguridad, y el archivo de manifiesto de SSA es la ruta de acceso y el nombre del archivo de manifiesto de SSA.
betest.exe /v /r /d "destination backup folder" /s "backup log file" /x SSA_manifest_file
En el mismo servidor, abra un Shell de administración de SharePoint y ejecute las líneas siguientes para restaurar la SSA, donde nombre del grupo de aplicaciones es el nombre del nuevo grupo, dominio\usuario es el nombre de dominio del usuario en el que el grupo de aplicaciones inicia sesión como, el nombre de la aplicación de servicio de búsqueda es el nombre de la SSA, y topology_file_name es la ruta de acceso y el nombre del archivo de tipología que creó cuando se realizó la copia de seguridad de la SSA.
Sugerencia
[!SUGERENCIA] Este código crea una nueva identidad del grupo de aplicaciones para ejecutar la aplicación de servicio restaurado, pero también puede usar una cuenta existente con el cmdlet 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
Crear a un proxy para la aplicación de servicio con los siguientes cmdlets. Se recomienda usar los mismos valores para el nombre de la aplicación de servicio de búsqueda y el nombre del proxy de SSA que usó en el paso 1.
$ssa = Get-SpenterpriseSearchServiceApplication -Identity "name of search service application" New-SPEnterpriseSearchServiceApplicationProxy -Name "name of SSA proxy" -SearchApplication $ssa
(Opcional) Compruebe que la aplicación de servicio y su proxy existen abriendo la Administración Central. Elija Administrar aplicaciones de servicio y compruebe que la aplicación de servicio y su proxy se muestran.
(Opcional) Haga clic en la aplicación de servicio en la lista de servicios y, a continuación, en la página que se abre, compruebe que la tabla de la Topología de la aplicación de búsqueda coincide con la tipología que exportó en el procedimiento de copia de seguridad. (También puede comprobar la topología con el cmdlet Get-SPEnterpriseSearchStatus.)
Restaure los archivos de índice con el siguiente procedimiento en todos los servidores con componentes de índice.
Detenga el servicio controlador de host en Servicios de herramientas > administrativas o ejecute el siguiente cmdlet en el Shell de administración de SharePoint:
stop-service SPSearchHostController
En los mismos servidores, ejecute lo siguiente en una línea de comandos, donde el archivo de manifiesto de índice es la ruta de acceso y el nombre de archivo del manifiesto de índice que creó en el procedimiento de copia de seguridad.
betest.exe /v /r /d "destination backup folder" /s "backup log file" /x "index manifest file"
(Opcional) Compruebe que los nombres de carpeta y tamaños coinciden con los que registró en el procedimiento de copia de seguridad.
Para cada componente de índice, cambiar el nombre de datos en la carpeta de datos, siga estos pasos:
En Shell de administración de SharePoint, ejecute el siguiente cmdlet.
Get-SPEnterpriseSearchVssDataPath
Desde el resultado del cmdlet, registre la última parte de cada GUID. Por ejemplo, si una línea de la salida es
IndexComponentGroup_e255918b-6ab0-4d7c-8049-720b2744c62f
, registre 720b2744c62f.En Explorador de archivos (o explorador de Windows en Windows Server 2008), vaya a
C:\\Program Files\\Microsoft Office Servers\\15.0\\Data\\Office Server\\Applications\\Search\\Nodes\\24488A\\IndexComponentN\\storage\\data
, donde N es el número de un componente de índice.Cada una de estas carpetas tiene una subcarpeta cuyo nombre comienza con "SP" seguido de 12 dígitos hexadecimales, seguidos de un número de versión. Para cada una de estas subcarpetas donde los 12 dígitos hexadecimales coincide con uno de los finales de GUID que registró en el paso anterior, cambie el nombre de la subcarpeta para importindex. En el ejemplo siguiente, cambiaría el nombre de la subcarpeta
SP720b2744c62f.1.I.1.0
aimportindex.Reinicie el servicio de controlador de host en Servicios de herramientas > administrativas o ejecutando el siguiente cmdlet en el Shell de administración de SharePoint:
start-service SPSearchHostController
Compruebe que los nombres de carpeta de datos de índice se ha vuelto a su nombre anterior. (En el presente ejemplo, sería "'SP720b2744c62f.1.I.1.0".)
(Opcional) Compruebe que los tamaños de las carpetas de IndexComponent coinciden con los tamaños que registró en el procedimiento de copia de seguridad.
Reinicie la aplicación de servicio.
En todos los servidores afectados, ejecute el siguiente cmdlet en Shell de administración de SharePoint para comprobar que el servicio de aplicación de búsqueda se está ejecutando correctamente:
Get-SPEnterpriseSearchStatus
Compruebe que funciona en la alimentación y la búsqueda para nuevos documentos. Por ejemplo, compruebe el tamaño del índice mediante la consulta "size>=0". También agregue un nuevo documento y compruebe que es que admite búsqueda.
Archivos de manifiesto de ejemplo
Archivo de manifiesto de aplicación de servicio
<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>
Archivo de manifiesto de índice
<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>