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 sur laquelle des applications sont en cours d’exécution, en particulier des applications qui effectuent des écritures intensives dans des fichiers et des bases de données, il est essentiel de garantir la cohérence des données sauvegardées. Disposer de données de sauvegarde cohérentes facilite les restaurations sans corruption des données ni retards. À cette fin, Microsoft a développé la technologie VSS.

Cet article de blog explique ce qu’est le service de clichés de volume (VSS), comment il fonctionne et pourquoi cette technologie est importante pour la sauvegarde des machines virtuelles et physiques sous Windows.

Qu’est-ce que le VSS ?

Le service de clonage 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 à sauvegarder, le processus suivant se déroule :

  • Le VSS suspend 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é « clonage de volume », 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 sous Windows, qui fournit le cadre nécessaire à la création de sauvegardes cohérentes pour différentes applications. Le VSS a été lancé pour la première fois avec Windows XP et Windows Server 2003.

Pourquoi la technologie VSS est-elle nécessaire ?

La cohérence des données des applications est importante pour les sauvegardes de machines virtuelles et de machines physiques. La cohérence garantit que les applications s’exécutant 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 tel qu’il se présente 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 ou en supprimant des blocs. Pendant que la première partie du fichier est en cours de copie, les blocs utilisés par d’autres parties du fichier changent. Au moment où les autres parties du fichier sont copiées vers le référentiel de sauvegarde, les blocs de la première partie ont déjà changé. Vous obtenez ainsi des blocs de données incohérents qui ne représentent pas un instant précis.

Une façon d’éviter cette situation est la sauvegarde de machine virtuelle (VM) via basé sur des instantanés . Lorsque le processus de sauvegarde démarre, un instantané, c’est-à-dire une copie exacte de la machine virtuelle, est réalisé. Au cours de ce processus, tous les disques des machines virtuelles (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 associé 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, 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 au moment où certaines transactions sont en cours d’exécution et que des opérations d’E/S (entrée/sortie) sont en cours, 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 puis y ajouter des données. C’est là que le service de clichés instantanés de volume (VSS) peut vous aider. Cette technologie permet de créer des copies à un instant donné de fichiers ouverts et en cours d’utilisation sans compromettre l’intégrité ni la facilité d’utilisation de ces copies.

Fonctionnement du service de clichés instantanés de volume

Pour comprendre le fonctionnement du VSS, nous devons d’abord passer en revue les composants qui constituent cette fonctionnalité. Les composants principaux de VSS sont les suivants :

  • Le fournisseur VSS est le composant central de VSS, qui crée des copies fantômes (instantanés) des volumes. Le fournisseur VSS peut être implémenté au niveau logiciel ou matériel. 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é.
  • 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 « writer » au système d’exploitation lors de l’installation. Microsoft SQL Server et Exchange Server sont des exemples d’applications fournissant un « writer » VSS.
  • Le « requestor » est un composant logiciel qui ordonne au fournisseur VSS de démarrer ou d’arrêter son activité (création, suppression ou importation de clichés). La demande peut provenir de composants natifs de Windows (tels que NTBackup ou Snapshot Manager pour Hyper-V) ou d’une application tierce, comme 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.

How does VSS work?

Les instantanés sont créés au niveau du volume, et le service VSS fonctionne avec des blocs (lesquels sont utilisés par les fichiers). C’est pourquoi il n’est pas possible de créer des instantanés de fichiers ou de dossiers. Un clonage instantané peut être stocké sur le même volume ou sur un autre volume. L’espace alloué sur un volume au stockage des clonages instantanés est appelé « zone de différence ».

Le dossier « System Volume Information » sert à stocker les fichiers de clonage instantané VSS. Ces fichiers portent des identifiants tels que 3517271a-d214-3a47-c5ea-01137a4fe675.

La technologie VSS peut être utilisée comme outil natif de Windows pour enregistrer des copies à un instant donné (instantanés) de volumes de disque. Ces copies vous permettent d’annuler des modifications et de revenir à l’état sauvegardé de l’ensemble du volume ou de fichiers particuliers. Néanmoins, il est recommandé de créer une véritable sauvegarde à sauvegarder sur un support externe pour une protection plus fiable des données.

Le VSS est un processus incrémental : Windows peut créer plusieurs instantanés de volume les uns après les autres. Après la création du premier cliché de volume, VSS suit les modifications sur les disques en divisant les données en blocs de 16 Ko. En cas de modifications sur le disque, le service écrit ce bloc entier dans un cliché de volume. Ainsi, il n’est pas nécessaire de copier l’intégralité des données à chaque nouvel 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 d’instantanés de volume est de 64 par défaut.
  • 10 % de l’espace du volume sont alloués aux copies fantômes par le système Windows.

Notez que les 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 copies fantômes VSS

Vous pouvez utiliser les outils natifs de Windows pour gérer les copies fantômes de volume. Comprendre leur fonctionnement avec les instantanés peut 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 de Windows, mais toutes les options sont accessibles via la ligne de commande, ce qui nous intéresse davantage. Il existe deux outils VSS que vous pouvez utiliser dans Windows PowerShell ou CMD :

  • vssadmin – Disponible sur toutes les versions de Windows à partir de Windows XP (y compris Windows 10), à l’exception de Windows 8.
  • diskshadow – Disponible uniquement sur les versions de 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 distincts. Un cliché instantané créé via vssadmin ne peut pas être géré via diskshadow et vice versa. Vous pouvez visualiser l’instantané créé avec un autre outil, mais vous ne pouvez effectuer aucune action sur celui-ci.

L’API du service de clichés instantanés de volume (VSS) 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 machines virtuelles 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 Installer VMware Tools. Dans d’autres cas, lors de l’utilisation d’anciennes versions de Windows, un pilote SYNC est utilisé. Voici une liste des systèmes d’exploitation invités pris en charge systèmes 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, celles-ci sont enregistrées sur le disque (là où elles devraient normalement se trouver), mais les anciennes données sont écrites dans une copie fantôme 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 l’écriture des données lors de la création d’un instantané :

  • Redirect on write (RoW): l’écriture des nouveaux blocs dans l’instantané (copie fantôme) et l’enregistrement de métadonnées indiquant à quels blocs du disque ils doivent être écrits. Cette approche implique une écriture rapide des données, mais une lecture lente. Si vous devez revenir à l’état initial au moment de la création de l’instantané, cela prend quelques secondes en supprimant l’instantané (ce qui est quasi instantané). L’approche RoW est utilisée pour les fichiers VMDK ( créer des instantanés des disques virtuels des machines virtuelles ) dans VMware ESXi et VMware poste de travail.
  • Copy on Write (CoW): Écriture des 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 antérieurs des données) sont supprimés en quelques secondes (presque instantanément). L’approche CoW est utilisée pour les instantanés VSS.

Face à la multitude d’applications capables d’écrire des données sur les disques, Microsoft a créé une interface unifiée avec VSS afin d’avertir toutes les applications qu’un instantané est sur le point d’être créé après le lancement de la création de l’instantané. Le principe du message de notification est le suivant : Un système va créer un instantané : interrompez vos activités d’écriture et vidangez les tampons d’écriture sur les disques afin de mettre les données dans un état cohérent.

Le processus de création d’un instantané VSS se déroule comme suit :

  1. Le demandeur VSS vérifie les services disponibles avec lesquels il peut communiquer, répertorie les écrivains et recueille les métadonnées.
  2. Après avoir rassemblé la liste des écrivains, le demandeur communique avec le fournisseur VSS et lui indique quelles données il souhaite inclure dans l’instantané ainsi que l’emplacement où celui-ci doit être stocké. Dans la plupart des cas, l’instantané est stocké 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 ».
  3. 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, au cours de laquelle 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 de l’instantané. Le tampon système est vidé et l’application est gelée afin de garantir la création d’une copie cohérente des données. Chaque rédacteur doit respecter le délai qui lui est alloué, fixé par défaut à 60 secondes. Microsoft Exchange Server ne dispose que de 20 secondes pour cette opération (ce délai est défini par Microsoft).

    Remarque : 20 secondes, c’est un délai très court. Si une application ne parvient pas à respecter ce délai, les rédacteurs renvoient une erreur et l’instantané n’est pas créé. Si les performances de stockage ne sont pas suffisantes pour respecter ce délai, vous pouvez essayer de mettre à niveau votre matériel afin de résoudre ce problème. Par exemple, vous pouvez remplacer les disques durs (HDD) par des disques SSD. Vous pouvez également essayer de migrer d’autres Workloads vers un autre stockage et d’utiliser un stockage dédié uniquement pour la machine exécutant Microsoft Exchange Server. Vérifiez les journaux pour identifier quel module d’écriture a échoué lors de la création de l’instantané.

  1. Si tout est en ordre et que l’activité du système est gelée, VSS indique alors que le fournisseur peut créer un instantané. Vous ne disposez que de 10 secondes pour créer un instantané. Les requêtes d’E/S du système de fichiers sont temporairement indisponibles pendant cette période. C’est également à ce moment-là que vous pouvez créer un instantané de la machine virtuelle. Une fois ces 10 secondes écoulées, tous les « writers » sont débloqués et les opérations d’entrée/sortie (E/S) reprennent.

    Remarque : Si les fournisseurs VSS mettent plus de 10 secondes à valider le clonage, l’opération échoue.

  1. Le service VSS indique aux applications qu’elles peuvent débloquer les requêtes d’E/S et poursuivre l’écriture des données sur les disques. Si vous utilisez une application de sauvegarde et qu’une sauvegarde via le service VSS de Windows 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 à l’aide de diskshadow ou vssadmin.

    Si vous rencontrez des problèmes liés au service VSS, un redémarrage de la machine permet souvent de les résoudre lorsque les autres méthodes échouent. Certains problèmes liés à des contraintes de temps (par exemple, 10 secondes pour créer un instantané) peuvent être résolus en mettant à niveau le matériel, notamment les périphériques de stockage, ou en réduisant la charge.

    Essayez de créer un instantané manuellement et vérifiez si vous respectez le délai imparti de 20 secondes (en prenant Exchange Server comme exemple). En cas d’échec, redémarrez, réduisez la charge, puis réessayez.

À partir de Windows Server 2012, le service VSS prend en charge les partages de fichiers SMB sous Windows. La technologie VSS est très utile avec les partages de fichiers, car ceux-ci peuvent faire l’objet d’écritures continues de la part des utilisateurs et des applications, ce qui rend la sauvegarde des partages difficile sans VSS. NAKIVO Backup & Replication 10.7 prend en charge sauvegarde du partage de fichiers.

Fonctionnement du service de clonage de volume (VSS) dans la solution NAKIVO

Nous avons examiné le fonctionnement général du service 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és instantanés de volume fonctionne comme suit : le demandeur lance le fournisseur VSS. Le fournisseur redirige les processus d’écriture vers un fichier journal et commence à créer le cliché instantané du volume. Une fois que le demandeur a envoyé le signal d’arrêt au fournisseur (généralement une fois l’instantané prêt), celui-ci commence à transférer 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.

  1. Avant le démarrage de la sauvegarde de la machine virtuelle, la solution NAKIVO écrit les données via son programme d’écriture VSS.

VSS writer services are working with applications

  1. Au démarrage de la sauvegarde, NAKIVO Backup & Replication demande au fournisseur VSS de commencer à travailler. Le module d’écriture redirige les données vers le fichier journal tandis que le volume est « gelé ».

VSS backup has been started

  1. NAKIVO Backup & Replication commence à créer un instantané au niveau de la machine virtuelle. Cela peut prendre de quelques secondes à plusieurs minutes, en fonction de la charge du stockage VMFS. Pendant ce temps, le module d’écriture continue d’écrire les données dans le fichier journal.
  2. Un instantané de la machine virtuelle a été créé avec succès. NAKIVO Backup & Replication, en tant que demandeur, envoie au fournisseur un signal lui indiquant d’arrêter son activité.

VM backup using VSS software is in process

  1. 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 assurer la cohérence des données de sauvegarde dans l’assistant, à l’étape Options . Vous activez ainsi le service VSS sur une machine fonctionnant sous Windows pour sauvergarder cette machine.
    The app-aware mode is used to enable VSS for VM backup

Conclusion

Le service de clonage de volume (VSS) est une excellente technologie pour garantir la cohérence des sauvegardes de machines virtuelles, mais il ne fonctionne que sur les machines sous Windows. Pour créer des sauvegardes cohérentes pour les machines sous 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 postes de travail Linux.

Essayez NAKIVO Backup & Replication

Essayez NAKIVO Backup & Replication

Profitez d'un essai gratuit pour découvrir toutes les fonctionnalités de protection des données de la solution. 15 jours gratuits. Aucune restriction en termes de fonctionnalités ou de capacité. Aucune carte bancaire requise.

Les gens qui ont consulté cet article ont également lu