Compartilhar via


Visão geral do backup real de arquivos

O VSS permite que um solicitante acesse a cópia de sombra de volumes que contêm dados para backup e copie dados para mídia de backup. Os gravadores geralmente prossseguem com a operação normal durante esse processo. Para obter mais informações, consulte Visão geral do processamento de um backup em VSS.

A tabela a seguir mostra a sequência de ações e eventos necessários para que os arquivos sejam copiados em backup.

Ação do solicitante Evento Ação de gravador
Acessar arquivos no volume copiado por sombra (consulte IVssBackupComponents::GetSnapshotProperties, VSS_SNAPSHOT_PROP) Nenhum Nenhum
Gere a lista de arquivos para fazer backup e copiar dados de arquivo para a mídia de backup. Nenhum Nenhum
Indique o êxito ou a falha do backup com IVssBackupComponents::SetBackupSucceeded. Nenhum Nenhum
O solicitante indica que o backup foi concluído chamando IVssBackupComponents::BackupComplete. BackupComplete Execute qualquer limpeza pós-backup (consulte CVssWriter::OnBackupComplete, IVssWriterComponents, IVssComponent).
O solicitante aguarda que todos os gravadores reconheçam o recebimento do evento IVssBackupComponents::BackupComplete usando IVssAsync. Ele também deve verificar o gravador status (consulte IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus). O solicitante deve chamar GatherWriterStatus neste momento para fazer com que a sessão de gravador seja definida como um estado concluído. Nota: Isso só é necessário no Windows Server 2008 com Service Pack 2 (SP2) e anterior.
Nenhum Nenhum
Salve o Documento de Componentes de Backup e cada Documento de Metadados do Gravador em documentos XML, que podem ser gravados na mídia de backup (consulte IVssBackupComponents::SaveAsXML e IVssExamineWriterMetadata::SaveAsXML). Nenhum Nenhum

 

Ações de gravador durante o backup de arquivos

Após a conclusão da cópia de sombra, todas as operações de E/S no sistema que está sendo backup devem ser capazes de retomar sem interromper a integridade do backup. Essa é uma das principais motivações para ter a funcionalidade de cópia de sombra.

Portanto, como na fase de descoberta (consulte Visão geral da Fase de Descoberta de Backup), há poucas demandas colocadas nos gravadores enquanto os arquivos estão realmente sendo copiados em backup.

Depois que um backup for concluído e um solicitante tiver gerado um evento BackupComplete , o VSS chamará o método CVssWriter::OnBackupComplete de cada gravador, um método virtual que, por padrão, simplesmente retorna TRUE. No entanto, os gravadores podem substituir a implementação padrão e executar ações como remover arquivos temporários restantes ou usar a interface IVssWriterComponents com a qual ela é chamada para marcar o estado do backup de cada um de seus componentes incluídos explicitamente (e qualquer conjunto de componentes que eles possam definir) recuperando o objeto IVssComponent correspondente. Em seguida, o gravador pode determinar e agir sobre o sucesso ou a falha do backup chamando IVssComponent:GetBackupSucceeded. O valor retornado por IVssComponent:GetBackupSucceeded será TRUE somente se todos os arquivos explicitamente incluídos no componente e todos os implícitos incluídos de qualquer um de seus subcomponentes tiverem sido copiados com êxito.

Quando a chamada para CVssWriter::OnBackupComplete for concluída, o solicitante deverá chamar IVssBackupComponents::GatherWriterStatus e IVssBackupComponents::GetWriterStatus (para cada gravador) uma última vez. A memória do estado da sessão do gravador é um recurso limitado e os gravadores devem, eventualmente, reutilizar os estados de sessão. Esta etapa marca o estado da sessão de backup do gravador como concluído e notifica o VSS de que esse slot de sessão de backup pode ser reutilizado por uma operação de backup subsequente.

Ações do solicitante durante o backup de arquivos

Conforme observado em Visão geral da Fase de Descoberta de Backup, você não deve gerar a lista real de arquivos a serem copiados até que a cópia de sombra seja concluída.

O objeto do dispositivo correspondente à cópia de sombra de um determinado volume é usado para obter acesso aos arquivos no volume copiado de sombra após a conclusão da cópia de sombra. O objeto de dispositivo é obtido do objeto VSS_SNAPSHOT_PROP retornado por IVssBackupComponents::GetSnapshotProperties. Cada cópia de sombra de um conjunto de cópias de sombra terá seu próprio objeto de dispositivo.

O objeto do dispositivo e os caminhos obtidos das especificações do Documento de Metadados do Gravador dos componentes são usados para selecionar arquivos para backup. Consulte Acesso do solicitante aos dados copiados por sombra para obter mais informações.

Quais arquivos serão incluídos na lista de backup depende da natureza do backup específico, da selebilidade do componente para backup e da estrutura de caminho lógico do gravador (consulte Trabalhando com a selebilidade para backup).

Além dos arquivos especificados nos componentes, um determinado gravador também pode ter excluído explicitamente os arquivos. A exclusão de arquivos sempre deve ser respeitada, independentemente de quais componentes estão selecionados.

Também conforme observado em Visão geral da Fase de Descoberta de Backup, uma pasta montada ou ponto de nova análise pode aparecer em uma cópia de sombra e pode ser feito backup. No entanto, uma pasta montada ou um ponto de nova análise não pode ser percorrido no volume copiado por sombra (consulte Trabalhando com pastas montadas e pontos de nova análise).

O cuidado também deve ser tomado durante uma operação de backup, se o caminho alternativo retornado por IVssWMFiledesc::GetAlternateLocation não estiver em branco. Um caminho alternativo difere de um mapeamento de local alternativo , pois ele é usado somente durante backups, enquanto um mapeamento de localização alternativo é usado somente durante as restaurações.

Nesse caso, os dados não devem ser copiados de seu local normal (indicado por IVssWMFiledesc::GetPath), mas do local retornado por IVssWMFiledesc::GetAlternateLocation. Na restauração, o arquivo deve ser retornado ao seu local normal. Consulte Locais de backup e restauração não padrão para obter mais informações.

O VSS não impõe restrições ao mecanismo real de backup de dados em um meio de armazenamento ou à escolha desse meio. No entanto, é recomendável que os arquivos de cada componente de cada instância de gravador sejam processados como uma unidade. Consulte Gerando um conjunto de backup para obter uma discussão sobre as práticas recomendadas na geração da lista de arquivos de backup.

O êxito ou a falha de fazer backup de qualquer um dos arquivos gerenciados por um determinado componente e (se ele definir um conjunto de componentes) seus subcomponentes para uma determinada instância de gravador devem ser preservados no Documento de Componentes de Backup chamando IVssBackupComponents::SetBackupSucceeded. Se algum arquivo gerenciado por um componente ou conjunto de componentes falhar ao fazer backup, todo o componente falhará. As informações exatas sobre qual arquivo não fez backup devem ser sempre registradas.

Os desenvolvedores podem achar útil armazenar um registro na mídia de backup da qual os arquivos são copiados em backup, os componentes e o conjunto de componentes dos quais eles eram membros, sua especificação e quais eram seus caminhos originais. Também pode ser útil armazenar informações como a definição de componente de cada gravador. Fazer isso pode tornar a operação de recuperação mais simples. No entanto, esses detalhes são deixados para o desenvolvedor solicitante.

Como os gravadores podem modificar o Documento de Componentes de Backup ao manipular o evento PostSnapshot gerado pela chamada do solicitante para IVssBackupComponents::D oSnapshotSet, o Documento de Componentes de Backup não deve ser salvo até que essa chamada assíncrona seja concluída.

Embora isso possa ocorrer anteriormente, esse também é um momento conveniente para salvar o Documento de Metadados do Gravador.

É muito importante que o Documento de Componentes de Backup e os Documentos de Metadados do Gravador sejam preservados usando IVssBackupComponents::SaveAsXML e IVssExamineWriterMetadata::SaveAsXML. Se não estiverem, não será possível usar o VSS durante a restauração do arquivo.

Além de armazenar os metadados originais, alguns aplicativos de backup podem achar útil salvar uma cópia de sua própria lista de arquivos (em seu próprio formato otimizado) e seu gravador, componente, procedimento de restauração e informações de localização associados para a mídia de backup para recuperação posterior. Essa lista pode ser usada para evitar algumas análises e comparações de documentos de metadados de gravador e documentos de componente de backup durante a restauração.

Os volumes que estão sendo armazenados em backup podem ter dados que não são gerenciados por gravadores VSS. Esses dados podem e devem ser copiados do volume copiado de sombra, em que estarão em um estado consistente com falhas. Consulte Backups sem Participação do Gravador para obter mais informações.