Vue d’ensemble de la sauvegarde réelle des fichiers

VSS permet à un demandeur d’accéder au cliché instantané des volumes contenant des données à des fins de sauvegarde et de copier des données sur un support de sauvegarde. Les enregistreurs effectuent généralement un fonctionnement normal pendant ce processus. Pour plus d’informations, consultez Vue d’ensemble du traitement d’une sauvegarde sous VSS.

Le tableau suivant montre la séquence d’actions et d’événements requis pour la sauvegarde des fichiers.

Action du demandeur Événement Action d’écriture
Accéder aux fichiers sur le volume copié par l’ombre (voir IVssBackupComponents::GetSnapshotProperties, VSS_SNAPSHOT_PROP) Aucune None
Générez la liste des fichiers à sauvegarder et copiez les données de fichier sur le support de sauvegarde. Aucune Aucune
Indiquez la réussite ou l’échec de la sauvegarde avec IVssBackupComponents::SetBackupSucceeded. Aucune Aucune
Le demandeur indique que la sauvegarde est terminée en appelant IVssBackupComponents::BackupComplete. BackupComplete Effectuez un nettoyage post-sauvegarde (consultez CVssWriter::OnBackupComplete, IVssWriterComponents, IVssComponent).
Le demandeur attend que tous les rédacteurs accusent réception de l’événement IVssBackupComponents::BackupComplete à l’aide d’IVssAsync. Il doit également vérifier l’enregistreur status (voir IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus). Le demandeur doit appeler GatherWriterStatus pour que la session d’écriture soit définie sur un état terminé. Note: Cela n’est nécessaire que sur Windows Server 2008 avec Service Pack 2 (SP2) et versions antérieures.
Aucune Aucune
Enregistrez le document de composants de sauvegarde et chaque document de métadonnées writer dans des documents XML, qui peuvent être écrits sur le support de sauvegarde (voir IVssBackupComponents::SaveAsXML et IVssExamineWriterMetadata::SaveAsXML). Aucune Aucune

 

Actions de l’enregistreur pendant la sauvegarde de fichiers

Une fois le cliché instantané terminé, toutes les opérations d’E/S sur le système sauvegardé doivent pouvoir reprendre sans perturber l’intégrité de la sauvegarde. C’est l’une des principales motivations pour avoir la fonctionnalité de cliché instantané.

Par conséquent, comme dans la phase de découverte (voir Vue d’ensemble de la phase de découverte de sauvegarde), peu d’exigences sont imposées aux enregistreurs lorsque les fichiers sont réellement sauvegardés.

Une fois qu’une sauvegarde est terminée et qu’un demandeur a généré un événement BackupComplete , VSS appelle la méthode CVssWriter::OnBackupComplete de chaque enregistreur, une méthode virtuelle qui, par défaut, retourne simplement TRUE. Toutefois, les enregistreurs peuvent remplacer l’implémentation par défaut et effectuer des actions telles que la suppression des fichiers temporaires restants, ou utiliser l’interface IVssWriterComponents avec laquelle elle est appelée pour case activée l’état de la sauvegarde de chacun de ses composants inclus explicitement (et de tout ensemble de composants qu’ils peuvent définir) en récupérant l’objet IVssComponent correspondant. L’enregistreur peut ensuite déterminer et agir sur la réussite ou l’échec de la sauvegarde en appelant IVssComponent:GetBackupSucceeded. La valeur retournée par IVssComponent:GetBackupSucceeded estTRUE uniquement si tous les fichiers explicitement inclus dans le composant et tous implicitement inclus de l’un de ses sous-composants ont été sauvegardés avec succès.

Une fois l’appel à CVssWriter::OnBackupComplete terminé, le demandeur doit appeler IVssBackupComponents::GatherWriterStatus et IVssBackupComponents::GetWriterStatus (pour chaque auteur) une dernière fois. La mémoire d’état de session de l’enregistreur est une ressource limitée et les rédacteurs doivent éventuellement réutiliser les états de session. Cette étape marque l’état de la session de sauvegarde de l’enregistreur comme terminé et avertit VSS que cet emplacement de session de sauvegarde peut être réutilisé par une opération de sauvegarde suivante.

Actions du demandeur pendant la sauvegarde de fichiers

Comme indiqué dans Vue d’ensemble de la phase de découverte de sauvegarde, vous ne devez pas générer la liste réelle des fichiers à sauvegarder tant que le cliché instantané n’est pas terminé.

L’objet d’appareil correspondant au cliché instantané d’un volume donné est utilisé pour accéder aux fichiers sur le volume copié sur l’ombre une fois le cliché instantané terminé. L’objet d’appareil est obtenu à partir de l’objet VSS_SNAPSHOT_PROP retourné par IVssBackupComponents::GetSnapshotProperties. Chaque cliché instantané d’un jeu de clichés instantanés aura son propre objet d’appareil.

L’objet d’appareil et les chemins d’accès obtenus à partir des spécifications du document de métadonnées writer des composants sont ensuite utilisés pour sélectionner des fichiers à sauvegarder. Pour plus d’informations, consultez Accès du demandeur aux données copiées de l’ombre .

Les fichiers qui seront inclus dans la liste de sauvegarde dépendent de la nature de la sauvegarde particulière, de la sélection des composants pour la sauvegarde et de la structure de chemin logique du rédacteur (voir Utilisation de la sélectabilité pour la sauvegarde).

En plus des fichiers spécifiés dans les composants, un enregistreur donné peut également avoir exclu explicitement des fichiers. L’exclusion de fichier doit toujours être respectée, quels que soient les composants sélectionnés.

Comme indiqué dans Vue d’ensemble de la phase de découverte de sauvegarde, 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é sur l’ombre (voir Utilisation des dossiers montés et points d’analyse).

Vous devez également faire attention lors d’une opération de sauvegarde si l’autre chemin retourné par IVssWMFiledesc::GetAlternateLocation n’est pas vide. Un autre chemin d’accès diffère d’un autre mappage d’emplacement en ce qu’il est utilisé uniquement pendant les sauvegardes, tandis qu’un autre mappage d’emplacement est utilisé uniquement pendant les restaurations.

Dans ce cas, les données ne doivent pas être sauvegardées à partir de leur emplacement normal (indiqué par IVssWMFiledesc::GetPath), mais à partir de l’emplacement retourné par IVssWMFiledesc::GetAlternateLocation. Lors de la restauration, le fichier doit être retourné à son emplacement normal. Pour plus d’informations, consultez Emplacements de sauvegarde et de restauration non par défaut .

VSS n’impose aucune restriction au mécanisme réel de sauvegarde des données sur un support de stockage ou au choix de ce support. Toutefois, il est recommandé que les fichiers de chaque composant de chaque enregistreur instance être traités en tant qu’unité. Pour plus d’informations sur les meilleures pratiques en matière de génération de fichiers de sauvegarde, consultez Génération d’un jeu de sauvegarde.

La réussite ou l’échec de la sauvegarde d’un des fichiers gérés par un composant donné et (s’il définit un ensemble de composants) ses sous-composants pour un enregistreur donné instance doivent être conservés dans le document Composants de sauvegarde en appelant IVssBackupComponents::SetBackupSucceed. Si un fichier géré par un composant ou un ensemble de composants ne parvient pas à sauvegarder, l’ensemble du composant est dit défaillant. Les informations exactes sur le fichier qui n’a pas pu être sauvegardé doivent toujours être enregistrées.

Les développeurs peuvent trouver utile de stocker un enregistrement sur le support de sauvegarde dont les fichiers sont sauvegardés, les composants et l’ensemble de composants dont ils étaient membres, leur spécification et les chemins d’accès d’origine. Il peut également être utile de stocker des informations telles que la définition de composant de chaque enregistreur. Cela peut simplifier l’opération de récupération. Toutefois, ces détails sont laissés au développeur demandeur.

Étant donné que les rédacteurs peuvent modifier le document des composants de sauvegarde tout en gérant l’événement PostSnapshot généré par l’appel du demandeur à IVssBackupComponents::D oSnapshotSet, le document des composants de sauvegarde ne doit pas être enregistré tant que cet appel asynchrone n’est pas terminé.

Bien que cela puisse avoir lieu plus tôt, il s’agit également d’un moment pratique pour enregistrer le document de métadonnées writer.

Il est très important que le document de composants de sauvegarde et les documents de métadonnées de l’enregistreur soient conservés à l’aide d’IVssBackupComponents::SaveAsXML et d’IVssExamineWriterMetadata::SaveAsXML. Si ce n’est pas le cas, il ne sera pas possible d’utiliser VSS pendant la restauration du fichier.

En plus de stocker les métadonnées d’origine, certaines applications de sauvegarde peuvent trouver utile d’enregistrer une copie de leur propre liste des fichiers (dans leur propre format optimisé) (ainsi que leurs informations d’écriture, de composant, de procédure de restauration et d’emplacement associées) sur le support de sauvegarde pour une récupération ultérieure. Une telle liste peut être utilisée pour éviter l’analyse et la comparaison des documents de métadonnées de l’enregistreur et des documents de composant de sauvegarde pendant la restauration.

Les volumes sauvegardés peuvent contenir des données qui ne sont pas gérées par les enregistreurs VSS. Ces données peuvent et doivent être sauvegardées à partir du volume copié dans l’ombre, où elles seront dans un état cohérent avec les incidents. Pour plus d’informations, consultez Sauvegardes sans participation de l’enregistreur .