Qu’est-ce qu’une sauvegarde cohérente avec les applications ?
En matière de sauvegardes, vous disposez d’un large éventail d’options à prendre en compte pour garantir une récupération rapide et efficace des données. Ces options comprennent notamment le type de sauvegarde, la fréquence, la source, la destination et bien d’autres encore. De nos jours, il ne suffit plus que les solutions de sauvegarde se contentent de capturer des fichiers sur un disque, étant donné que la plupart des entreprises utilisent des serveurs pour exécuter leurs applications. Les sauvegardes de fichiers « incohérentes » ne permettent pas d’atteindre des objectifs de temps de récupération (RTO) et de point de récupération (RPO) optimaux.
Nous avons déjà abordé les sauvegardes de volume cohérentes ( Sauvegardes « cohérentes »), qui sont cohérentes pour un volume sauvegardé par la méthode « Volume Shadow Copy Service (VSS)». Cependant, vous pouvez également créer des sauvegardes cohérentes avec les applications. La plupart des solutions de sauvegarde de machines virtuelles et physiques disponibles sur le marché proposent une option de sauvegardes cohérentes avec les applications, rendant celles-ci disponibles immédiatement après la récupération d’une machine virtuelle ou d’une machine physique.
Sauvegardes cohérentes avec les applications : comment ça marche
Les sauvegardes cohérentes avec les applications sont des sauvegardes qui garantissent que toutes les données d’une application sont capturées dans un état cohérent, assurant ainsi que ces données peuvent être restaurées intégralement, sans corruption ni problème d’intégrité. Ces sauvegardes vont au-delà de la simple copie de fichiers ou de données sur disque : elles se coordonnent avec l’application pour la mettre en état de repos (la suspendre temporairement ou la stabiliser) et s’assurer que toutes les données en cours de traitement sont validées sur le disque avant le début du processus de sauvegarde.
Les sauvegardes cohérentes au niveau de l’application vont plus loin que les sauvegardes cohérentes en cas de panne. Alors que ces dernières créent des sauvegardes cohérentes des fichiers d’un volume en utilisant le {3}, elles ne prennent pas en compte les données d’application pouvant se trouver en mémoire, ni les opérations I/O en attente. Les sauvegardes « cohérentes avec les applications » exploitent des points d’accrochage spéciaux fournis par le Volume Shadow Copy Service, appelés VSS writers. Les
VSS writers sont des composants spécifiques aux applications de Microsoft’s Volume Shadow Copy Service. Ils ont pour rôle particulier de s’assurer que les données d’application sont correctement vidées de la mémoire, gelées suffisamment longtemps pour qu’un instantané VSS puisse être pris, puis dégelées après l’instantané. Le processus ne prend généralement que quelques secondes.
Ce processus est important pour les applications qui nécessitent une cohérence transactionnelle, telles que Microsoft SQL Server. Les Microsoft VSS writers pour SQL Server sont capables de vider les données de la mémoire, de geler les opérations SQL, puis de lever le gel après l’instantané pris. Cela garantit que les données présentes en mémoire et les opérations de données en attente I/O sont correctement vidées et traitées avant que l’opération d’instantané ne prenne l’instantané VSS du disque.
Cela rend l’opération de sauvegarde « cohérente au niveau de l’application », car non seulement le disque, mais aussi l’application sont sauvegardés dans un état où la cohérence transactionnelle est préservée. Si l’on utilise uniquement une sauvegarde cohérente en cas de panne sans activer les fonctionnalités cohérentes avec les applications, il y a de fortes chances que l’application ne se retrouve pas dans un état cohérent.
La cohérence de l’application n’est pas seulement une préoccupation au moment où l’opération de sauvegarde a lieu. Elle l’est et doit l’être également pour les opérations de récupération. Il est possible de restaurer avec succès un serveur d’application tel que Microsoft Exchange Server ou SQL Server à partir d’une sauvegarde cohérente en cas de panne. Cependant, il est nécessaire de suivre le processus requis par ces applications pour les amener à un état cohérent. Cela peut notamment impliquer la relecture des journaux. C’est pourquoi le temps nécessaire à la restauration de ces serveurs inclura non seulement le temps de restauration des ressources de fichiers bruts, qu’il s’agisse d’une machine virtuelle VMware ou Hyper-V ou d’une machine physique, mais également le temps nécessaire pour amener l’application à un état cohérent.
Création de sauvegardes cohérentes avec les applications avec NAKIVO Backup & Replication
Ci-dessous, voici un exemple de tâche de sauvegarde dans NAKIVO Backup & Replication. Vous devez sélectionner App-aware mode ainsi que la manière dont vous souhaitez que la tâche se déroule en cas d’erreurs via VSS sur la page Options de l’assistant.

Si vous passez la souris sur l’icône « point d’interrogation » à côté de la case « app-ware », vous pouvez voir une description détaillée du processus « app-ware » et de ses dépendances. Notez la mention, dans le cas des machines virtuelles VMware, de {16}. VMware Tools est utilisé pour le système d’exploitation invité en phase de repos pour les données d’application.

VSS Writers et Dépannage
Comme mentionné, VSS writers sont les composants spécifiques à une application et à usage particulier de Volume Shadow Copy Servicede Microsoft. Il peut s’agir de composants Microsoft ou tiers qui sont généralement installés avec l’application elle-même. Dans le cas des composants Microsoft VSS writer , ceux-ci sont installés en fonction de l’application concernée. Les contrôleurs de domaine disposeront du «NTDS», SQL Server du «SqlServerwriter» et Exchange Server du «Microsoft Exchange Writer». En matière de dépannage des VSS writers , en cas de problèmes avec les sauvegardes cohérentes avec les applications, plusieurs utilitaires et ressources sont à notre disposition pour résoudre ces incidents.
La commande VSS writers est un excellent utilitaire en ligne de commande permettant de visualiser et de dépanner les vssadmin spécifiques qui sont actifs, ainsi que l’état de ces enregistreurs. Si vous ouvrez une invite de commande et que vous tapez simplement vssadmin , vous pouvez voir les commandes spécifiques disponibles avec vssadmin.

À l’aide de la commande vssadmin list writers , nous pouvons consulter la liste détaillée des VSS writers spécifiques utilisés pour diverses applications. Notez ci-dessous que nous avons exécuté la commande sur un serveur Microsoft SQL Server. Les SqlServerWriter sont répertoriés. Notez également les mentions « State » et « Last error », car elles sont très utiles pour connaître l’état actuel et détecter d’éventuelles erreurs sur le VSS writerconcerné.

La capture d’écran suivante provient d’un contrôleur de domaine {36} . Notez que pour ce serveur, la commande vssadmin list writers affiche le module d’écriture NTDS , spécifique aux services de domaine Active Directory.

Comme indiqué ci-dessus, VMware Tools est un élément essentiel du traitement cohérent avec les applications au sein d’une machine virtuelle. Par défaut, la journalisation pour VMware Tools n’est pas activée. Lors du dépannage de problèmes liés à VSS sur une machine virtuelle, il peut s’avérer nécessaire d’activer la journalisation pour VMware Tools au sein du système d’exploitation invité. Pour ce faire, nous devons modifier ou créer le fichier tools.conf dans notre machine virtuelle.
Ci-dessous, le fichier n’était pas présent dans notre machine virtuelle Windows Server 2016 . En accédant au répertoire C:ProgramdataVMwareVMware Tools , nous avons créé le fichier de configuration. Assurez-vous que l’affichage des extensions est activé pour nommer correctement le fichier.

Une fois le fichier créé, nous devons le modifier et y ajouter les éléments suivants en fonction du système d’exploitation concerné. Notez que sous Windows, le chemin d’accès aux données des outils doit comporter deux barres obliques inversées. Vous pouvez également utiliser une seule barre oblique sous Windows.
pour les machines invitées Windows
[logging]
log = true
vmtoolsd.level = debug
vmtoolsd.handler = file
vmtoolsd.data = c:windowstempvmtoolsd.log
pour les machines invitées Linux
vmtoolsd.data = /tmp/vmtoolsd.log
Après avoir créé/modifié le fichier, il suffit de redémarrer le VMware Tools service.

Le fichier journal généré contient des informations de débogage, notamment des informations sur les opérations VSS . Vous trouverez ci-dessous un extrait d’un journal de débogage relativement clair, obtenu juste après l’activation du mode débogage de VMware Tools.

Par ailleurs, lors du dépannage de toute erreur liée à VSS , il est conseillé de consulter les journaux d’événements Windows, en particulier les journaux Application et Système. Les entrées du journal Application apparaîtront sous la source VSS et celles du journal Système sous la source volsnap. Il existe également des Étapes de dépannage spécifiques à {57} à consulter pour examiner et résoudre les erreurs liées à VMware Tools, notamment celles concernant VSS .
Conclusion
L’utilisation de sauvegardes de machines virtuelles « cohérentes avec les applications » pour les applications critiques est essentielle pour disposer d’une stratégie de reprise après sinistre solide lors de la sauvegarde d’applications qui reposent sur la cohérence transactionnelle. Les sauvegardes « cohérentes avec les applications » permettent de vider sur le disque toutes les données présentes en mémoire ainsi que les opérations en attente I/O avant que la sauvegarde cohérente du disque ne soit effectuée. Ceci est rendu possible grâce à des Volume Shadow Copy Service spécifiques qui communiquent avec l’application concernée et gèlent correctement les opérations suffisamment longtemps pour que l’application soit sauvegardée avec une cohérence transactionnelle. Pour les entreprises souhaitant à la fois protéger leurs données et être en mesure de restaurer les données d’application aussi rapidement que possible, la restauration de sauvegardes « cohérentes avec les applications » évite d’avoir à restaurer séparément les données d’application, par exemple en relisant les journaux, etc. Cela garantit que les entreprises peuvent respecter à la fois leurs objectifs de point de récupération (RPO) et leurs objectifs de temps de récupération (RTO).