Writers
Les enregistreurs sont des applications ou des services qui stockent des informations persistantes dans des fichiers sur disque et qui fournissent les noms et les emplacements de ces fichiers aux demandeurs à l’aide de l’interface de cliché instantané.
Pendant les opérations de sauvegarde, les rédacteurs s’assurent que leurs données sont stables et stables, ce qui convient pour le cliché instantané et la sauvegarde. Les rédacteurs collaborent avec les restaurations en déverrouillant des fichiers lorsque cela est possible et en indiquant d’autres emplacements si nécessaire.
Si aucun enregistreur n’est présent pendant une opération de sauvegarde VSS, un cliché instantané peut toujours être créé. Dans ce cas, toutes les données sur le volume copié en mode instantané seront à l’état de cohérence des incidents.
État de l’enregistreur
Les rédacteurs conservent leur état dans un objet de métadonnées XML, le document de métadonnées writer.
Ces métadonnées d’enregistreur sont la seule structure de données qui contient le jeu de fichiers (chemin d’accès, spécification de fichier et indicateur de récursivité) des données à sauvegarder et à restaurer.
Le document de métadonnées de l’enregistreur organise les jeux de fichiers de l’enregistreur en groupes ou composants. La relation de l’un de ces composants pendant les opérations de sauvegarde et de restauration avec les autres composants gérés par l’enregistreur est décrite dans le document de métadonnées de l’enregistreur en fonction de la capacité de sélection du composant pour la sauvegarde, de sa capacité de sélection pour la restauration et de ses chemins logiques. (Pour plus d’informations, consultez Configuration de l’organisation des composants et Utilisation de la sélection et des chemins logiques.)
Des informations supplémentaires qui régissent la restauration des fichiers et d’autres problèmes sont également contenues dans ce document.
Le demandeur a besoin des métadonnées de l’enregistreur, conjointement avec son propre document de composants de sauvegarde, pour traiter une sauvegarde ou une restauration.
Contrairement au document de composants de sauvegarde, le document de métadonnées de l’enregistreur doit être considéré comme une structure en lecture seule. Une fois qu’un enregistreur l’a créé, le document n’est pas modifié.
Gestion des événements writer
Les opérations VSS d’un rédacteur sont lancées via la réception d’événements COM.
Lorsqu’aucun événement n’est présent, un enregistreur n’effectue pas d’opérations VSS (telles qu’une sauvegarde ou une restauration VSS). Au lieu de cela, il effectue son travail normal, comme répondre aux requêtes de base de données, gérer les données utilisateur ou fournir d’autres services.
Pour vous assurer que la gestion des erreurs pour plusieurs sessions de sauvegarde et de restauration parallèles est effectuée correctement, et pour vous assurer qu’une session de sauvegarde ou de restauration n’en endommage pas une autre, vous devez effectuer les opérations suivantes :
- Si le gestionnaire d’événements d’un rédacteur (tel que CVssWriter::OnFreeze) appelle la méthode CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure ou CVssWriterEx2::SetWriterFailureEx, le gestionnaire d’événements doit appeler la méthode dans le même thread qui a appelé le gestionnaire d’événements.
- L’implémentation par votre enregistreur d’un gestionnaire d’événements tel qu’OnFreeze peut décharger le travail sur les threads de travail si vous le souhaitez, à condition que chaque thread de travail marshale toute erreur nécessaire rapportant au thread de gestionnaire d’événements d’origine.
Gestion des événements d’identification
À l’exception de l’événement Identifier, le type et l’ordre des événements reçus par un enregistreur dépendent uniquement du type d’opérations VSS en cours.
L’événement Identifier exige que les rédacteurs fournissent les informations système sur leur configuration et les fichiers qu’ils gèrent via leur document de métadonnées writer. Un événement Identifier est généré pour prendre en charge presque toutes les opérations VSS, y compris les requêtes système, ainsi que les opérations de cliché instantané et de sauvegarde et de restauration. Par conséquent, l’implémentation par n’importe quel rédacteur du gestionnaire d’événements Identifier CVssWriter::OnIdentify doit être en mesure de gérer un événement d’identification à tout moment, y compris au milieu du traitement d’une autre opération VSS, telle qu’une sauvegarde ou une restauration. Un événement Identifier ne doit jamais être considéré comme faisant partie du cycle de vie d’une opération VSS, même si sa génération peut être attendue et requise avant le début de cette opération.
Il est particulièrement important que les informations d’état relatives à une opération VSS ne soient pas modifiées dans CVssWriter::OnIdentify, car la réception d’un événement en désordre réinitialiserait ces informations.
Événements de sauvegarde et de restauration
Selon qu’il participe à une sauvegarde ou à une restauration, un rédacteur reçoit entre deux et sept événements, en plus d’un événement d’identification initial.
La gestion de ces événements constitue (du point de vue d’un enregistreur) le cycle de vie d’une opération de sauvegarde ou de restauration.
Dans une opération de sauvegarde classique (voir Vue d’ensemble du traitement d’une sauvegarde sous VSS), un enregistreur gère les événements suivants (en plus d’un événement d’identification initial) :
- PrepareForBackup
- PrepareForSnapshot
- Freeze
- Libérer
- PostSnapshot
- BackupComplete
- BackupShutdown
Dans une opération de restauration classique (voir Vue d’ensemble du traitement d’une restauration sous VSS), un enregistreur gère les événements suivants :
- PreRestore
- PostRestore