Panoramica del backup effettivo dei file
VSS consente a un richiedente di accedere alla copia shadow dei volumi contenenti dati per il backup e di copiare i dati nei supporti di backup. I writer in genere procedeno con un'operazione normale durante questo processo. Per altre informazioni, vedere Panoramica dell'elaborazione di un backup in VSS.
Nella tabella seguente viene illustrata la sequenza di azioni ed eventi necessari per il backup dei file.
Azione del richiedente | Evento | Azione writer |
---|---|---|
Accedere ai file nel volume copiato dall'ombreggiatura (vedere IVssBackupComponents::GetSnapshotProperties, VSS_SNAPSHOT_PROP) | Nessuno | Nessuno |
Generare l'elenco di file per eseguire il backup e copiare i dati dei file nel supporto di backup. | Nessuno | Nessuno |
Indicare l'esito positivo o negativo del backup con IVssBackupComponents::SetBackupSucceeded. | Nessuno | Nessuno |
Il richiedente indica che il backup è stato completato chiamando IVssBackupComponents::BackupComplete. | BackupComplete | Eseguire qualsiasi pulizia post-backup (vedere CVssWriter::OnBackupComplete, IVssWriterComponents, IVssComponents). |
Il richiedente attende che tutti i writer accettino la ricezione dell'evento IVssBackupComponents::BackupComplete usando IVssAsync. Dovrebbe anche verificare lo stato del writer (vedere IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus). Il richiedente deve chiamare GatherWriterStatus in questo momento per causare l'impostazione della sessione writer su uno stato completato.
Nota: Questa operazione è necessaria solo in Windows Server 2008 con Service Pack 2 (SP2) e versioni precedenti. |
Nessuno | Nessuno |
Salvare il documento Componenti di backup e ogni documento di metadati writer in documenti XML, che possono essere scritti nel supporto di backup (vedere IVssBackupComponents::SaveAsXML e IVssExamineWriterMetadata::SaveAsXML). | Nessuno | Nessuno |
Azioni writer durante il backup dei file
Al termine della copia shadow, tutte le operazioni di I/O nel sistema sottoposto a backup devono essere in grado di riprendere senza interrompere l'integrità del backup. Si tratta di una delle motivazioni principali per avere la funzionalità di copia shadow.
Pertanto, come nella fase di individuazione (vedere Panoramica della fase di individuazione del backup), esistono alcune richieste inserite nei writer mentre i file vengono effettivamente sottoposti a backup.
Dopo aver completato un backup e un richiedente ha generato un evento BackupComplete , VSS chiamerà i CVssWriter di ogni writer::OnBackupComplete , un metodo virtuale che per impostazione predefinita restituisce SEMPLICEMENTE TRUE. Tuttavia, i writer possono eseguire l'override dell'implementazione predefinita e intraprendere azioni come la rimozione di file temporanei rimanenti o l'uso dell'interfaccia IVssWriterComponents con cui viene chiamato per controllare lo stato del backup di ognuno dei relativi componenti inclusi (e qualsiasi set di componenti che potrebbero definire) recuperando l'oggetto IVssComponent corrispondente. Il writer può quindi determinare e agire, l'esito positivo o negativo del backup chiamando IVssComponent:GetBackupSucceeded. Il valore restituito da IVssComponent:GetBackupSucceeded sarà TRUE solo se tutti i file inclusi in modo esplicito nel componente e tutti i relativi sottocomponenti sono stati sottoposti a backup.
Al termine della chiamata a CVssWriter::OnBackupComplete, il richiedente deve chiamare IVssBackupComponents::GatherWriterStatus e IVssBackupComponents::GetWriterStatus (per ogni writer) un'ultima volta. La memoria dello stato della sessione writer è una risorsa limitata e i writer devono infine riutilizzare gli stati della sessione. Questo passaggio contrassegna lo stato della sessione di backup del writer come completato e notifica a VSS che questo slot di sessione di backup può essere riutilizzato da un'operazione di backup successiva.
Azioni del richiedente durante il backup dei file
Come indicato in Panoramica della fase di individuazione backup, non è necessario generare l'elenco effettivo di file da eseguire fino al completamento della copia shadow.
L'oggetto dispositivo corrispondente alla copia shadow di un determinato volume viene usato per ottenere l'accesso ai file nel volume copiato dall'ombreggiatura dopo il completamento della copia shadow. L'oggetto device viene ottenuto dall'oggetto VSS_SNAPSHOT_PROP restituito da IVssBackupComponents::GetSnapshotProperties. Ogni copia shadow di un set di copia shadow avrà un proprio oggetto dispositivo.
L'oggetto dispositivo e i percorsi ottenuti dalle specifiche del documento metadati writer dei componenti vengono quindi usati per selezionare i file per il backup. Per altre informazioni, vedere Accesso del richiedente ai dati copiati dall'ombreggiatura .
I file inclusi nell'elenco di backup dipendono dalla natura del backup specifico, al momento della selezione dei componenti per il backup e della struttura del percorso logico del writer (vedere Utilizzo della selezionabilità per il backup).
Oltre ai file specificati nei componenti, un determinato writer può anche avere file esplicitamente esclusi. L'esclusione dei file deve essere sempre rispettata, indipendentemente dalla selezione dei componenti.
Come indicato anche in Panoramica della fase di individuazione backup, una cartella montata o un punto di ripristino può essere visualizzata in una copia shadow e può essere eseguito il backup. Tuttavia, non è possibile attraversare una cartella montata o un punto di riparse nel volume copiato dall'ombreggiatura (vedere Uso delle cartelle montate e dei punti reparse).
È necessario prestare attenzione anche durante un'operazione di backup, se il percorso alternativo restituito da IVssWMFiledesc::GetAlternateLocation non è vuoto. Un percorso alternativo differisce da un mapping di percorso alternativo in cui viene usato solo durante i backup, mentre un mapping di percorso alternativo viene usato solo durante i ripristini.
In questo caso, i dati non devono essere sottoposti a backup dalla sua posizione normale (indicata da IVssWMFiledesc::GetPath), ma dalla posizione restituita da IVssWMFiledesc::GetAlternateLocation. Nel ripristino, il file deve essere restituito alla posizione normale. Per altre informazioni, vedere Backup e ripristino non predefinito .
VSS non applica restrizioni al meccanismo effettivo di backup dei dati in un supporto di archiviazione o alla scelta di tale supporto. È tuttavia consigliabile elaborare i file di ogni componente di ogni istanza del writer come unità. Vedere Generazione di un set di backup per una discussione sulle procedure consigliate per la generazione dell'elenco di file di backup.
L'esito positivo o negativo del backup di uno dei file gestiti da un determinato componente e, se definisce un set di componenti, i relativi sottocomponenti per un'istanza di writer specificata devono essere conservati nel documento Componenti di backup chiamando IVssBackupComponents::SetBackupSucceeded. Se un file gestito da un componente o un set di componenti non riesce a eseguire il backup, l'intero componente ha esito negativo. Informazioni esatte sul file di cui non è stato eseguito il backup devono essere sempre registrate.
Gli sviluppatori possono trovare utile archiviare un record nel supporto di backup dei quali file vengono sottoposti a backup, i componenti e i componenti impostati erano membri, la specifica e i percorsi originali. Può anche essere utile archiviare informazioni come la definizione del componente di ogni writer. A tale scopo, l'operazione di recupero può risultare più semplice. Tuttavia, tali dettagli vengono lasciati allo sviluppatore del richiedente.
Poiché i writer possono modificare il documento Componenti di backup durante la gestione dell'evento PostSnapshot generato dalla chiamata del richiedente a IVssBackupComponents::D oSnapshotSet, il documento Componenti di backup non deve essere salvato fino al completamento della chiamata asincrona.
Anche se può verificarsi in precedenza, questo è anche un momento pratico per salvare il documento metadati writer.
È molto importante che sia il documento componenti di backup che i documenti dei metadati writer vengano conservati usando IVssBackupComponents::SaveAsXML e IVssExamineWriterMetadata::SaveAsXML. In caso contrario, non sarà possibile usare VSS durante il ripristino dei file.
Oltre all'archiviazione dei metadati originali, alcune applicazioni di backup possono risultare utili per salvare una copia del proprio elenco dei file (nel formato ottimizzato) e i relativi writer, componenti, procedure di ripristino e informazioni sulla posizione associati, al supporto di backup per il recupero successivo. Tale elenco può essere usato per evitare l'analisi e il confronto tra documenti metadati writer e documenti componente di backup durante il ripristino.
I volumi di cui è stato eseguito il backup possono avere dati che non sono gestiti dai writer VSS. Questi dati possono e devono essere sottoposti a backup dal volume copiato dall'ombreggiatura, in cui sarà in uno stato coerente con l'arresto anomalo. Per altre informazioni, vedere Backup senza partecipazione writer .