Vue d’ensemble de la phase de découverte de sauvegarde
Après avoir appelé IVssBackupComponents::GatherWriterMetadata, un demandeur utilise la instance de l’interface IVssAsync retournée par cet appel pour déterminer quand tous les enregistreurs sur le système ont terminé la construction de leurs documents de métadonnées writer. Pour plus d’informations, consultez Vue d’ensemble du traitement d’une sauvegarde sous VSS.
À ce stade, le demandeur peut commencer une phase de découverte, en examinant les métadonnées pour déterminer quelles applications sont en cours d’exécution et quels volumes doivent être copiés en mode instantané pour obtenir une sauvegarde complète. Le tableau suivant montre la séquence d’actions et d’événements requis pour la phase de découverte de sauvegarde.
Action du demandeur | Événement | Action writer |
---|---|---|
Récupérez des documents de métadonnées writer (voir IVssBackupComponents::GetWriterMetadata, IVssExamineWriterMetadata). | None | Pendant cette période, les enregistreurs peuvent être en mesure de poursuivre leurs opérations normales. |
Utilisez la liste des composants et de leurs jeux de fichiers, ainsi que des fichiers exclus, pour obtenir la liste des volumes et fichiers impliqués dans la sauvegarde (voir IVssWMComponent, IVssWMFiledesc). | None | None |
Choisissez les composants du document de métadonnées writer de l’enregistreur à sauvegarder. Appelez IVssBackupComponents::AddComponent pour chaque composant afin de l’ajouter au document Composants de sauvegarde. (Voir Utilisation de la sélection pour la sauvegarde et Utilisation des composants de sauvegarde.) | None | None |
Initialisez le jeu de clichés instantanés, le contexte et les case activée pour les volumes pris en charge (voir IVssBackupComponents::StartSnapshotSet, IVssBackupComponents::IsVolumeSupported). | None | None |
Si vous effectuez une sauvegarde sans composant, ajoutez les volumes cibles souhaités à partir du document de métadonnées writer au jeu de clichés instantanés en appelant IVssBackupComponents::AddToSnapshotSet pour chaque volume. Sinon, pour les composants du document de métadonnées writer qui ont déjà été ajoutés au document composants de sauvegarde (en appelant AddComponent), le demandeur doit également appeler IVssBackupComponents::AddToSnapshotSet pour chaque volume affecté. | None | None |
Actions de l’enregistreur pendant la phase de découverte
Étant donné que la phase de découverte d’une sauvegarde se compose principalement d’un demandeur qui traite les informations qu’il a récupérées à partir des documents de métadonnées writer, il existe peu d’exigences, voire aucune, sur un enregistreur.
En théorie, un rédacteur pourrait continuer à fonctionner normalement à ce stade. Toutefois, il peut être souhaitable que les rédacteurs commencent à préparer les opérations de cliché instantané et de sauvegarde à venir.
Actions du demandeur pendant la phase de découverte
Un demandeur utilise les objets IVssExamineWriterMetadata obtenus via IVssBackupComponents::GetWriterMetadata pour itérer sur toutes les métadonnées des rédacteurs et sélectionner les rédacteurs dont il a l’intention de sauvegarder les données.
À ce stade, le demandeur doit générer une liste initiale des candidats de sauvegarde de chaque writer en effectuant une itération sur les composants de l’enregistreur à l’aide de IVssExamineWriterMetadata::GetComponent. Cela fournit au demandeur des objets IVssWMComponent , à partir desquels vous pouvez obtenir les spécifications des fichiers à sauvegarder à l’aide de IVssWMComponent::GetFile, IVssWMComponent::GetDatabaseFile et IVssWMComponent::GetDatabaseLogFile.
Étant donné que l’objet IVssWMFiledesc peut utiliser des caractères génériques pour contenir les informations d’emplacement du fichier, il peut être nécessaire d’utiliser des fonctions telles que FindFirstFile, FindFirstFileEx et FindNextFile.
Tant que le cliché instantané n’est pas terminé, il est toujours possible pour les enregistreurs d’ajouter ou de supprimer des fichiers sur le disque dans le cours normal de leur travail. Vous ne devez donc pas générer la liste réelle des fichiers à sauvegarder pour le moment.
Au lieu de cela, la liste initiale des fichiers et volumes à sauvegarder est trouvée à ce stade en procédant comme suit :
- L’examen de tous les composants pouvant être sélectionnés pour la sauvegarde et les composants non sélectionnables dans le document de métadonnées writer de chaque enregistreur (à l’aide d’IVssExamineWriterMetadata) et leur organisation dans des jeux de composants utilisent le chemin logique (voir Utilisation de la sélectabilité et des chemins logiques)
- Inclusion explicite de tous les composants requis (non sélectionnables pour les composants de sauvegarde sans sélection pour les ancêtres de sauvegarde) dans le document Composants de sauvegarde à l’aide de IVssBackupComponents::AddComponent
- Choix d’inclure explicitement une option sélectionnable pour les composants de sauvegarde qui ne définissent pas d’ensemble de composants (à l’aide de IVssBackupComponents::AddComponent)
- Sélection d’ensembles de composants pour la participation à une sauvegarde en ajoutant explicitement leur définition sélectionnable pour le composant de sauvegarde (à l’aide de IVssBackupComponents::AddComponent), qui inclut implicitement les sous-composants du jeu de composants.
- À l’aide des informations de jeu de fichiers dans les fonctions de gestion des volumes et du document de métadonnées de l’enregistreur sélectionnés, un demandeur détermine les chemins d’accès des fichiers à sauvegarder et les volumes qui devront être copiés en mode instantané
Notez que seuls les composants explicitement inclus (à l’aide de IVssBackupComponents::AddComponent) dans la sauvegarde et dans le document composants de sauvegarde auront des instances de l’interface IVssComponent ajoutées à ce document. Ces instances seront utilisées pour examiner et modifier les paramètres des composants explicitement inclus et de leurs sous-composants implicitement inclus (voir Selectability et Working with Component Properties).
Si un writer inclut l’un des composants d’un enregistreur, il doit ajouter tous ses composants requis. Toutefois, un demandeur est également libre d’ignorer entièrement tous les jeux de composants d’un writer. Si aucun des composants d’un writer n’est explicitement sélectionné, l’enregistreur n’est pas sélectionné et VSS empêche cet enregistreur de participer au reste de l’opération de sauvegarde.
Le demandeur lance le jeu de clichés instantanés qui contiendra les volumes sélectionnés en appelant IVssBackupComponents::StartSnapshotSet.
Si le volume peut participer à un cliché instantané (qui peut être vérifié avec IVssBackupComponents::IsVolumeSupported), le demandeur peut ajouter ce volume au jeu de clichés instantanés à l’aide de IVssBackupComponents::AddToSnapshotSet.
Bien qu’il ne soit généralement pas utile, un demandeur peut parfois également choisir quel fournisseur conservera le cliché instantané pour un volume donné (voir Sélection de fournisseurs pour plus d’informations).
Une attention particulière doit être accordée à la gestion d’un volume contenant des dossiers montés ou des points d’analyse. Un dossier monté ou un point d’analyse peut apparaître dans un cliché instantané et peut être sauvegardé. Toutefois, un dossier monté ou un point d’analyse ne peut pas être parcouru sur le volume copié de l’ombre (voir Utilisation des dossiers montés et points d’analyse).
À ce stade de la sauvegarde, le document composants de sauvegarde est initialisé et rempli. Dans les opérations futures, les rédacteurs et les demandeurs peuvent utiliser l’interface IVssComponent pour communiquer entre eux.
Les rédacteurs ont accès à l’interface IVssComponent lors de la gestion des événements PrepareForBackup, PostSnapshot et BackupComplete .