Detalles de creación de instantáneas
En general, la forma en que se crea una instantánea depende del tipo de instantánea que se va a crear, su contexto y el rol asignado a los escritores en la operación de instantáneas. (Vea Configuraciones de contexto de instantáneas para obtener más información).
El contexto de instantánea se establece llamando al método IVssBackupComponents::SetContext . Antes de llamar al método IVssBackupComponents::D SnapshotSet para crear una instantánea, los solicitantes deben llamar a los métodos IVssBackupComponents en el orden especificado en las secciones siguientes.
Requisitos previos para todas las instantáneas
Independientemente del nivel de participación del escritor, la creación de cualquier instantánea siempre requerirá que el solicitante se inicialice con llamadas a IVssBackupComponents::InitializeForBackup e IVssBackupComponents::StartSnapshotSet.
Si no se realiza esta llamada, el método IVssBackupComponents::D oSnapshotSet devolverá un error.
Instantáneas con participación de escritor
Si el contexto de instantánea especifica la participación del escritor (es decir, se llama a IVssBackupComponents::SetContext con VSS_CTX_BACKUP o VSS_CTX_APP_ROLLBACK):
- Los solicitantes siempre deben llamar a IVssBackupComponents::GatherWriterMetadata cuando el contexto de instantánea admite la participación del escritor. Si el contexto de instantánea admite la participación del escritor e IVssBackupComponents::GatherWriterMetadata no se llama antes de IVssBackupComponents::D oSnapshotSet, se devolverá un error.
- Si un solicitante quiere seleccionar componentes de escritor específicos, debe llamar a IVssBackupComponents::AddComponent antes de llamar a StartSnapshotSet para crear el conjunto de instantáneas.
- Se debe llamar a StartSnapshotSet para crear el conjunto de instantáneas.
- Los solicitantes pueden agregar uno o más volúmenes al conjunto de instantáneas llamando a AddToSnapshotSet. Es posible que algunos componentes de escritor no especifiquen ningún volumen afectado. En este caso, es aceptable que un conjunto de instantáneas esté vacío (es decir, que no contenga volúmenes).
- Para garantizar la coherencia de los metadatos del escritor, un solicitante siempre debe llamar a IVssBackupComponents::P repareForBackup incluso si no se selecciona ningún componente. Esto hace que VSS genere un evento PrepareForBackup , en el que VSS llama al método CVssWriter::OnPrepareBackup para cada escritor participante.
- VSS generará eventos PrepareForSnapshot y Freeze antes de crear la instantánea en respuesta a IVssBackupComponents::D oSnapshotSet. Los escritores controlarán los eventos con CVssWriter::OnPrepareSnapshot y CVssWriter::OnFreeze.
- VSS generará eventos Thaw y eventos PostSnapshot después de crear una instantánea en respuesta a IVssBackupComponents::D oSnapshotSet. Los escritores controlarán los eventos con CVssWriter::OnThaw y CVssWriter::OnPostSnapshot.
Instantáneas sin participación de escritor
No se recomienda crear instantáneas sin participación en el escritor para las aplicaciones de copia de seguridad estándar (consulte Copias de seguridad sin participación de escritor).
Hay usos, como copias de seguridad rápidas de un disco para proporcionar una red de seguridad contra daños accidentales de archivos, que se pueden llevar a cabo sin la participación explícita del escritor. Esta instantánea tendría un contexto de VSS_CTX_FILE_SHARE_BACKUP o VSS_CTX_NAS_ROLLBACK.
Para este tipo de instantánea, tenga en cuenta lo siguiente:
- Los solicitantes deben seguir llamando a los métodos necesarios enumerados en Requisitos previos para todas las instantáneas.
- Los solicitantes pueden llamar a IVssBackupComponents::GatherWriterMetadata, pero esto no es necesario.
- Si los solicitantes llaman a IVssBackupComponents::AddComponent, IVssBackupComponents::P repareForBackup o IVssBackupComponents::BackupComplete, se devolverá un error.
- Los proveedores no generarán eventos PrepareForSnapshot, Freeze, Thaw o PostSnapshot para este tipo de instantáneas.