Utilisation de la technologie Volume Shadow Copy de Microsoft pour des sauvegardes cohérentes
& Lors de la création d’une sauvegarde d’une machine virtuelle ou physique avec des applications en cours d’exécution, en particulier des applications qui écrivent intensivement des données dans des fichiers et des bases de données, il est essentiel de garantir la cohérence des données de sauvegarde. La cohérence des données de sauvegarde facilite les restaurations sans corruption ni retard des données. À cette fin, Microsoft a développé la technologie VSS.
Cet article de blog explique ce qu’est le service de cliché instantané de volume (VSS), comment il fonctionne et pourquoi cette technologie est importante pour la sauvegarde des machines virtuelles et physiques basées sur Windows.
Qu’est-ce que le VSS ?
Le service de cliché instantané de volume (VSS), une fonctionnalité native des systèmes d’exploitation Windows, facilite la création de sauvegardes cohérentes et cohérentes avec les applications. Pour garantir la cohérence des données sauvegardées, les opérations suivantes sont effectuées :
- Le service VSS interrompt temporairement les opérations d’écriture effectuées par les applications.
- Les tampons de la mémoire sont écrits sur le disque, c’est-à-dire vidés, et le système de fichiers est gelé.
- Un instantané de volume, également appelé cliché instantané, est créé dans le système d’exploitation Windows.
Volume Shadow Copy, également appelé Volume Snapshot Service, est un ensemble d’ COM (Component Object Model) interfaces dans Windows, qui fournissent le cadre permettant de créer des sauvegardes cohérentes pour différentes applications. VSS a été lancé pour la première fois avec Windows XP et Windows Server 2003.
Pourquoi vous avez besoin de la technologie VSS
La cohérence des données d’application est importante pour les sauvegardes de machines virtuelles et de serveurs physiques. La cohérence garantit que les applications exécutées sur des machines virtuelles ou physiques sont pleinement fonctionnelles après leur restauration à partir d’une sauvegarde.
Sans VSS, vous obtenez une sauvegarde incohérente. Une telle sauvegarde est créée en copiant simplement chaque bloc dans l’état où il se trouve au moment de la copie. Supposons qu’un fichier soit utilisé en continu par une application telle qu’une base de données ou une application système. Cette application modifie en permanence les données du fichier ouvert en écrivant/supprimant des blocs. Pendant que la première partie du fichier est copiée, les blocs utilisés par d’autres parties du fichier changent. Au moment où les autres parties du fichier sont copiées dans le référentiel de sauvegarde, les blocs de la première partie ont changé. Vous obtenez alors des blocs de données qui ne sont pas cohérents et qui ne représentent pas un moment précis dans le temps.
Une façon d’éviter cette situation consiste à utiliser une sauvegarde de machine virtuelle basée sur des instantanés . Lorsque le processus de sauvegarde démarre, un instantané, c’est-à-dire une copie exacte de la machine virtuelle, est pris. Au cours de ce processus, tous les disques de la VM (qui sont représentés sous forme de fichiers .vmdk dans les environnements VMware) deviennent en lecture seule. Pour stocker les modifications apportées pendant le processus de sauvegarde sur le disque maître, VMware ESXi crée un fichier delta connecté au fichier principal .vmdk . Après la création du fichier delta, le logiciel de sauvegarde commence à copier les données à partir du fichier en lecture seule .vmdk . Après le processus de sauvegarde terminé, le fichier delta est fusionné avec le fichier .vmdk .
Cette approche peut bien fonctionner pour les systèmes de fichiers dont la charge n’est pas très élevée, tels que le stockage interne de fichiers ou les serveurs web. Cependant, si le processus de sauvegarde démarre à partir du moment où certaines transactions sont en cours d’exécution et où des opérations d’E/S (entrée/sortie) sont en place, des données peuvent être perdues. Lorsque vous utilisez des applications ou des bases de données telles que Microsoft SQL Server, Active Directory ou Exchange Server, vous ne pouvez pas simplement fermer le fichier et y ajouter des données. Dans ce cas, le service de cliché instantané des volumes (VSS) peut vous aider. Cette technologie permet de créer des copies ponctuelles de fichiers ouverts et en cours d’utilisation sans compromettre l’intégrité et la facilité d’utilisation de ces copies.
Comment fonctionne le service de cliché instantané volumique
Pour comprendre le fonctionnement du VSS, nous devons d’abord passer en revue les composants qui constituent cette fonctionnalité. Les composants de haut niveau du VSS sont les suivants :
- Le fournisseur VSS est le composant central de VSS, qui crée des instantanés (shadow copies) des volumes. Le fournisseur VSS peut être implémenté sous forme logicielle ou matérielle. Le fournisseur VSS logiciel de type « copy-on-write » est inclus dans le système d’exploitation Windows. Les fournisseurs matériels sont généralement utilisés avec un stockage SAN (réseau de stockage). Les fournisseurs matériels déchargent le système d’exploitation hôte lors de la création d’un cliché instantané.
- Les writers sont des composants logiciels qui écrivent des données dans des fichiers et des bases de données afin d’assurer la cohérence. Chaque application prenant en charge VSS ajoute son rédacteur au système d’exploitation lors de l’installation. Microsoft SQL Server et Exchange Server sont des exemples d’applications fournissant un rédacteur VSS.
- Le demandeur est un composant logiciel qui ordonne au fournisseur VSS de commencer ou d’arrêter de travailler (création, suppression ou importation de clichés instantanés). Le demandeur peut être un composant Windows natif (tel que NTBackup ou Snapshot Manager for Hyper-V) ou une application tierce telle qu’un logiciel de sauvegarde.
- Le service VSS est un composant du système d’exploitation qui garantit que tous les autres composants peuvent communiquer et fonctionner ensemble.
Les instantanés sont pris au niveau du volume, et VSS fonctionne avec des blocs (les blocs sont utilisés par les fichiers). C’est pourquoi vous ne pouvez pas prendre d’instantanés de fichiers ou de dossiers. Une copie fantôme peut être stockée sur le même volume ou sur un autre volume. L’emplacement sur un volume alloué au stockage des clichés instantanés est appelé zone de différence.
Le dossier System Volume Information est utilisé pour stocker les fichiers de clichés instantanés VSS. Les fichiers ont des identifiants tels que 3517271a-d214-3a47-c5ea-01137a4fe675.
La technologie VSS peut être utilisée comme un outil natif Windows pour enregistrer des copies ponctuelles (instantanés) de volumes de disque. Ces copies vous permettent d’annuler les modifications et de revenir à l’état enregistré de l’ensemble du volume ou de fichiers particuliers. Néanmoins, il est recommandé de créer une véritable sauvegarde à enregistrer sur un support externe pour une protection plus fiable des données.
VSS est une procédure incrémentielle : Windows peut créer plusieurs instantanés de volume les uns après les autres. Après avoir créé le premier cliché instantané, VSS suit les modifications sur les disques en divisant les données en blocs de 16 Ko. S’il y a des modifications sur le disque, le service écrit l’intégralité de ce bloc dans un cliché instantané. Il n’est donc pas nécessaire de copier l’ensemble des données à chaque nouveau instantané, seuls les blocs modifiés sont copiés.
Principales conditions à remplir et limitations de VSS:
- Au moins 300 Mo d’espace disque sont nécessaires pour créer des instantanés VSS.
- Le nombre maximal de clichés instantanés de volume est de 64 par défaut.
- 10 % de l’espace disque est alloué aux clichés instantanés par le système Windows.
Notez que les clichés instantanés VSS déclenchés par une application de sauvegarde sont généralement supprimés après la tâche de sauvegarde.
Outils natifs pour gérer les clichés instantanés VSS
Vous pouvez utiliser les outils natifs de Windows pour gérer les clichés instantanés de volume. Comprendre leur fonctionnement avec les instantanés peut vous aider à mieux appréhender la technologie VSS et à résoudre d’éventuels problèmes (par exemple, un instantané VSS temporaire qui n’est pas supprimé après la création d’une sauvegarde terminée).
Certaines options VSS sont disponibles dans l’interface graphique Windows, mais toutes les options sont accessibles dans la ligne de commande, ce qui est plus intéressant pour nous. Il existe deux outils VSS que vous pouvez utiliser dans Windows PowerShell ou CMD :
- vssadmin – disponible sur toutes les versions Windows à partir de Windows XP (y compris Windows 10) et à l’exception de Windows 8.
- diskshadow – disponible uniquement sur les versions Windows Server. Il s’agit d’une implémentation avancée de vssadmin, qui vous permet non seulement de travailler en mode interactif, mais aussi de créer des scripts.
Notez que ces deux utilitaires sont différents et fonctionnent dans des contextes différents. Une copie fantôme créée dans vssadmin ne peut pas être gérée dans diskshadow et vice versa. Vous pouvez voir l’instantané créé avec un autre outil, mais vous ne pouvez effectuer aucune action avec celui-ci.
L’API Volume Shadow Copy Service est disponible pour permettre aux applications de sauvegarde d’utiliser VSS et de créer des sauvegardes cohérentes avec les applications afin d’assurer la cohérence des données sauvegardées.
Les VMs VMware exécutant Windows utilisent le composant VMware VSS comme pilote VSS dans un système d’exploitation Windows invité pour la mise en veille. Le pilote est installé lorsque vous installez VMware Tools. Dans d’autres cas, lorsque vous utilisez d’anciennes versions de Windows, un pilote SYNC est utilisé. Voici une liste des systèmes d’exploitation invités pris en charge pour la mise en veille cohérente avec les applications dans les environnements VMware.
Comment une copie fantôme est-elle créée ?
Une fois qu’une copie fantôme (instantané de volume) est créée, sa taille est de 0 octet. Lorsque de nouvelles données sont écrites, elles sont enregistrées sur le disque (là où elles devraient normalement se trouver), mais les anciennes données sont écrites dans un cliché instantané afin que vous puissiez les restaurer ultérieurement. La taille de la copie fantôme augmente en conséquence.
Il existe deux approches principales pour écrire des données lors de la création d’un instantané :
- Redirection à l’écriture (RoW): écriture de nouveaux blocs dans un instantané (copie fantôme) et enregistrement des métadonnées avec des informations sur les blocs du disque dans lesquels ils doivent être écrits. Cette approche implique une écriture rapide des données, mais une lecture lente. Si vous devez revenir à l’état initial lors de la création de l’instantané, cela prend quelques secondes par la suppression d’un instantané (presque instantanément). L’approche RoW est utilisée pour créer des instantanés de disques virtuels VM (VMDK) dans VMware ESXi et VMware poste de travail.
- Copie à l’écriture (CoW): Écriture de nouveaux blocs à l’emplacement requis sur le disque et envoi du contenu des blocs réécrits vers un instantané. L’écriture est lente, mais la lecture est rapide. Les instantanés précédents (états de données précédents) sont supprimés en quelques secondes (presque instantanément). L’approche CoW est utilisée pour les instantanés VSS.
Avec autant d’applications différentes pouvant écrire des données sur les disques, Microsoft a créé une interface unifiée avec VSS pour notifier à toutes les applications qu’un instantané est sur le point d’être créé après avoir lancé la création de l’instantané. L’idée du message de notification est la suivante : un système va créer un instantané – arrêtez vos activités d’écriture et videz les tampons d’écriture sur les disques afin d’adopter les données dans un état cohérent.
Le flux de travail pour créer un instantané VSS est le suivant :
- Le demandeur VSS vérifie les services disponibles avec lesquels il peut communiquer, énumère les rédacteurs et rassemble les métadonnées.
- Après avoir rassemblé une liste de rédacteurs, le demandeur communique avec le fournisseur VSS et indique à l’instantané quelles données il souhaite créer et l’emplacement où l’instantané doit être situé. Dans la plupart des cas, l’instantané se trouve sur le même volume que le disque d’origine. Dans d’autres cas, les fournisseurs de matériel SAN peuvent créer un volume distinct pour un instantané, appelé instantané de stockage.
-
Préparation de la sauvegarde. Cette étape consiste à demander le statut réel des rédacteurs VSS (après avoir obtenu les métadonnées) et à préparer l’opération la plus importante lorsque les rédacteurs doivent agir les uns après les autres. Les rédacteurs sont informés qu’ils doivent se préparer à la création d’instantanés. Le tampon système est vidé et l’application est gelée afin de garantir la cohérence de la copie des données. Chaque rédacteur doit respecter le délai alloué, qui est de 60 secondes par défaut. Microsoft Exchange Server ne dispose que de 20 secondes pour cette opération (ce délai est défini par Microsoft).
Remarque : 20 secondes est un délai très court. Si une application ne peut pas respecter ce délai, les rédacteurs renvoient une erreur et l’instantané n’est pas pris. Si les performances de stockage ne sont pas suffisantes pour respecter ce délai, vous pouvez essayer de mettre à niveau votre matériel pour résoudre ce problème. Par exemple, vous pouvez remplacer les disques durs par des disques SSD. Vous pouvez également essayer de migrer d’autres Workloads vers un autre stockage et utiliser un stockage dédié uniquement pour la machine exécutant Microsoft Exchange Server. Vérifiez les journaux pour détecter quel rédacteur a échoué dans la tâche de création d’instantané.
-
Si tout est OK et que l’activité du système est gelée, VSS indique que le fournisseur peut créer un cliché instantané. Vous disposez de 10 secondes pour créer un instantané. Les demandes d’E/S du système de fichiers sont temporairement indisponibles pendant cette période. C’est à ce moment-là que vous pouvez également créer un instantané de machine virtuelle. Une fois les 10 secondes écoulées, tous les enregistreurs sont débloqués et les opérations d’entrée/sortie (E/S) sont à nouveau actives.
Remarque : Si les fournisseurs VSS prennent plus de 10 secondes pour valider la copie fantôme, l’opération échoue.
- VSS indique aux rédacteurs que les applications peuvent débloquer les demandes d’E/S et continuer à écrire des données sur les disques. Si nous utilisons une application de sauvegarde et qu’une sauvegarde utilisant le service Windows VSS a été créée, l’instantané VSS peut être supprimé. Cette opération peut être effectuée par l’application de sauvegarde elle-même. Vous pouvez également supprimer un instantané de volume avec diskshadow ou vssadmin.
Si vous rencontrez des problèmes avec VSS, le redémarrage de la machine peut souvent résoudre les problèmes lorsque les autres méthodes ne fonctionnent pas. Certains problèmes liés aux limitations de temps (par exemple, 10 secondes pour créer un instantané) peuvent être résolus en mettant à niveau le matériel, y compris les périphériques de disque, ou en réduisant les charges.
Essayez de créer un instantané manuellement et vérifiez si vous respectez les 20 secondes allouées (en utilisant Exchange Server comme exemple). En cas d’échec, redémarrez, réduisez les charges et réessayez.
À partir de Windows Server 2012, VSS prend en charge les partages de fichiers SMB dans Windows. La technologie VSS est très utile avec les partages de fichiers, car les fichiers peuvent être écrits en continu par les utilisateurs et les applications, ce qui rend les sauvegardes de partages difficiles sans VSS. NAKIVO Backup & Replication 10.7 prend en charge la sauvegarde des partages de fichiers.
Comment fonctionne le service de cliché instantané de volume dans la solution NAKIVO
Nous avons exploré le fonctionnement général de VSS. Voyons maintenant comment la technologie VSS fonctionne lors de la création de sauvegardes de machines virtuelles VMware vSphere avec un logiciel de sauvegarde dédié tel que NAKIVO Backup & Replication.
En résumé, le service de cliché instantané de volume fonctionne comme suit : le demandeur lance le fournisseur VSS. Le fournisseur redirige les rédacteurs pour qu’ils écrivent les données dans un fichier journal et commence à créer l’instantané du volume. Après que l’instantané est prêt, le demandeur envoie le signal d’arrêt au fournisseur (généralement après), celui-ci commence à déplacer les données du fichier journal vers le volume.
Dans ce cas, NAKIVO Backup & Replication devient un demandeur VSS lors de la sauvegarde d’une machine virtuelle VMware vSphere à l’aide de VSS.
- Avant le début de la sauvegarde de la machine virtuelle, la solution NAKIVO écrit les données via son rédacteur VSS.
- Lorsque la sauvegarde démarre, NAKIVO Backup & Replication demande au fournisseur VSS de commencer à travailler. Le writer redirige les données vers le fichier journal pendant que le volume « se fige ».
- NAKIVO Backup & Replication & Replication commence à créer un instantané sur la couche VM. Cela peut prendre de quelques secondes à plusieurs minutes, selon la charge de stockage VMFS. Pendant ce temps, le rédacteur continue d’écrire les données dans le fichier journal.
- Un instantané de la VM a été créé avec succès. NAKIVO Backup & La réplication, en tant que demandeur, envoie le signal au fournisseur pour qu’il cesse de fonctionner.
- Le fournisseur VSS transfère les modifications du fichier journal vers le volume. NAKIVO Backup & Replication copie le bloc de données de l’instantané de la machine virtuelle vers le référentiel de sauvegarde.
Vous pouvez configurer le Mode App-Aware pour la cohérence des données de sauvegarde dans l’assistant à l’étape Options . De cette façon, vous activez VSS sur une machine fonctionnant sous Windows pour sauvegarder cette machine.
Conclusion
Le service de cliché instantané des volumes (VSS) est une technologie formidable qui permet de garantir des sauvegardes cohérentes pour les machines virtuelles, mais il ne fonctionne que sur les machines Windows. Pour créer des sauvegardes cohérentes pour les machines Linux, vous devez mettre en œuvre des scripts spéciaux de pré-gel et de post-dégel. La solution NAKIVO fournit également des sauvegardes cohérentes automatisées pour les serveurs et les postes de travail Linux.



