Información general sobre la copia de seguridad real de archivos
VSS permite a un solicitante acceder a la instantánea de volúmenes que contienen datos para la copia de seguridad y copiar datos en medios de copia de seguridad. Los escritores generalmente continúan con la operación normal durante este proceso. Para obtener más información, vea Información general sobre el procesamiento de una copia de seguridad en VSS.
En la tabla siguiente se muestra la secuencia de acciones y eventos necesarios para que se realice una copia de seguridad de los archivos.
Acción del solicitante | Evento | Acción del escritor |
---|---|---|
Obtener acceso a archivos en el volumen copiado en la sombra (consulte IVssBackupComponents::GetSnapshotProperties, VSS_SNAPSHOT_PROP) | None | None |
Genere la lista de archivos para realizar copias de seguridad y copie datos de archivo en medios de copia de seguridad. | None | None |
Indique el éxito o error de la copia de seguridad con IVssBackupComponents::SetBackupSucceeded. | None | None |
El solicitante indica que la copia de seguridad se ha completado llamando a IVssBackupComponents::BackupComplete. | BackupComplete | Realice cualquier limpieza posterior a la copia de seguridad (consulte CVssWriter::OnBackupComplete, IVssWriterComponents, IVssComponent). |
El solicitante espera a que todos los escritores confirmen la recepción del evento IVssBackupComponents::BackupComplete mediante IVssAsync. También debe comprobar el estado del escritor (consulte IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus). El solicitante debe llamar a GatherWriterStatus en este momento para que la sesión del escritor se establezca en un estado completado.
Nota: Esto solo es necesario en Windows Server 2008 con Service Pack 2 (SP2) y versiones anteriores. |
None | None |
Guarde el documento componentes de copia de seguridad y cada documento de metadatos del escritor en documentos XML, que se pueden escribir en los medios de copia de seguridad (vea IVssBackupComponents::SaveAsXML e IVssExamineWriterMetadata::SaveAsXML). | None | None |
Acciones del escritor durante la copia de seguridad de archivos
Una vez completada la instantánea, todas las operaciones de E/S del sistema de copia de seguridad deben poder reanudarse sin interrumpir la integridad de la copia de seguridad. Esta es una de las principales motivaciones para tener la funcionalidad de instantáneas.
Por lo tanto, como en la fase de detección (consulte Información general de la fase de detección de copias de seguridad), hay pocas demandas que se aplican a los escritores mientras se realiza una copia de seguridad de los archivos.
Una vez completada una copia de seguridad y un solicitante ha generado un evento BackupComplete , VSS llamará al método CVssWriter::OnBackupComplete de cada escritor, un método virtual que, de forma predeterminada, simplemente devuelve TRUE. Sin embargo, los escritores pueden invalidar la implementación predeterminada y realizar acciones como quitar los archivos temporales restantes o usar la interfaz IVssWriterComponents con la que se llama para comprobar el estado de la copia de seguridad de cada uno de sus componentes incluidos explícitamente (y cualquier conjunto de componentes que puedan definir) recuperando el objeto IVssComponent correspondiente. A continuación, el escritor puede determinar y actuar sobre el éxito o el error de la copia de seguridad mediante una llamada a IVssComponent:GetBackupSucceeded. El valor devuelto por IVssComponent:GetBackupSucceededed solo será TRUE si todos los archivos incluidos explícitamente en el componente y todos los incluidos implícitamente de cualquiera de sus subcomponentes se han realizado correctamente una copia de seguridad.
Cuando se haya completado la llamada a CVssWriter::OnBackupComplete , el solicitante debe llamar a IVssBackupComponents::GatherWriterStatus e IVssBackupComponents::GetWriterStatus (para cada escritor) una última vez. La memoria de estado de sesión del escritor es un recurso limitado y los escritores deben volver a usar los estados de sesión. Este paso marca el estado de sesión de copia de seguridad del escritor como completado y notifica a VSS que esta ranura de sesión de copia de seguridad se puede reutilizar mediante una operación de copia de seguridad posterior.
Acciones del solicitante durante la copia de seguridad de archivos
Como se indicó en Información general de la fase de detección de copias de seguridad, no debe generar la lista real de archivos de los que se va a realizar una copia de seguridad hasta que se haya completado la instantánea.
El objeto de dispositivo correspondiente a la instantánea de un volumen determinado se usa para obtener acceso a los archivos del volumen de instantáneas una vez completada la instantánea. El objeto device se obtiene del objeto VSS_SNAPSHOT_PROP devuelto por IVssBackupComponents::GetSnapshotProperties. Cada instantánea de un conjunto de instantáneas tendrá su propio objeto de dispositivo.
El objeto de dispositivo y las rutas de acceso obtenidas a partir de las especificaciones del documento de metadatos del escritor de componentes se usan para seleccionar archivos para la copia de seguridad. Consulte Requester Access to Shadow Copied Data (Acceso del solicitante a datos de instantáneas copiadas ) para obtener más información.
Los archivos que se incluirán en la lista de copia de seguridad dependen de la naturaleza de la copia de seguridad determinada, de la capacidad de selección de componentes para la copia de seguridad y de la estructura de ruta de acceso lógica del escritor (consulte Working with Selectability for Backup).
Además de los archivos especificados en los componentes, un escritor determinado también puede haber excluido explícitamente los archivos. La exclusión de archivos siempre debe respetarse, independientemente de los componentes seleccionados.
También como se indica en Información general de la fase de detección de copias de seguridad, una carpeta montada o un punto de reanálisis puede aparecer en una instantánea y se puede realizar una copia de seguridad. Sin embargo, no se puede recorrer una carpeta montada o un punto de reanálisis en el volumen copiado en sombras (vea Trabajar con carpetas montadas y puntos de reanálisis).
También se debe tener cuidado durante una operación de copia de seguridad, si la ruta de acceso alternativa devuelta por IVssWMFiledesc::GetAlternateLocation no está en blanco. Una ruta de acceso alternativa difiere de una asignación de ubicación alternativa en que solo se usa durante las copias de seguridad, mientras que una asignación de ubicación alternativa solo se usa durante las restauraciones.
En este caso, los datos no se van a realizar copias de seguridad desde su ubicación normal (indicada por IVssWMFiledesc::GetPath), pero desde la ubicación devuelta por IVssWMFiledesc::GetAlternateLocation. En la restauración, el archivo debe devolverse a su ubicación normal. Consulte Ubicaciones de copia de seguridad y restauración no predeterminadas para obtener más información.
VSS no impone ninguna restricción en el mecanismo real de copia de seguridad de datos en un medio de almacenamiento o en la elección de ese medio. Sin embargo, se recomienda que los archivos de cada componente de cada instancia de escritor se procesen como una unidad. Consulte Generación de un conjunto de copia de seguridad para obtener una explicación de los procedimientos recomendados para generar la lista de archivos de copia de seguridad.
El éxito o error de realizar una copia de seguridad de cualquiera de los archivos administrados por un componente determinado y (si define un conjunto de componentes), sus subcomponentes para una instancia de escritor determinada deben conservarse en el documento componentes de copia de seguridad llamando a IVssBackupComponents::SetBackupSucceeded. Si se produce un error en cualquier archivo administrado por un componente o conjunto de componentes, se dice que se produce un error en todo el componente. La información exacta sobre qué archivo no se pudo realizar la copia de seguridad siempre debe registrarse.
Los desarrolladores pueden resultar útiles para almacenar un registro en los medios de copia de seguridad de los que se realiza una copia de seguridad de los archivos, los componentes y el conjunto de componentes de los que eran miembros, su especificación y cuáles eran sus rutas de acceso originales. También puede ser útil almacenar información como la definición de componente de cada escritor. Esto puede hacer que la operación de recuperación sea más sencilla. Sin embargo, estos detalles se dejan al desarrollador solicitante.
Dado que los escritores pueden modificar el documento de componentes de copia de seguridad mientras controla el evento PostSnapshot generado por la llamada del solicitante a IVssBackupComponents::D oSnapshotSet, el documento componentes de copia de seguridad no se debe guardar hasta después de que se haya completado esa llamada asincrónica.
Aunque puede tener lugar anteriormente, esto también es un buen momento para guardar el documento de metadatos del escritor.
Es muy importante que tanto el documento de componentes de copia de seguridad como los documentos de metadatos del escritor se conserven mediante IVssBackupComponents::SaveAsXML e IVssExamineWriterMetadata::SaveAsXML. Si no lo son, no será posible usar VSS durante la restauración de archivos.
Además de almacenar los metadatos originales, algunas aplicaciones de copia de seguridad pueden resultar útiles para guardar una copia de su propia lista de archivos (en su propio formato optimizado) y su escritor asociado, componente, procedimiento de restauración e información de ubicación, en los medios de copia de seguridad para su posterior recuperación. Esta lista se puede usar para evitar algunos de los análisis y la comparación de los documentos de metadatos del escritor y los documentos de componentes de copia de seguridad durante la restauración.
Los volúmenes de los que se realiza una copia de seguridad pueden tener datos que no están administrados por los escritores de VSS. Estos datos se pueden realizar y deben realizar copias de seguridad desde el volumen de instantáneas, donde estará en un estado coherente con bloqueos. Consulte Copias de seguridad sin participación de escritor para obtener más información.