Comparaison de Sauvegarde Coherente par Crash vs. Coherente par Application

La fiabilité des sauvegardes et des stratégies de protection des données en général dépend de la validité et de l’utilisabilité des données de sauvegarde immédiatement en cas de besoin. En 2021, des échecs de restauration ont été signalés à hauteur de 34% des tâches par certaines organisations.

La question des restaurations rapides et réussies est particulièrement préoccupante pour les charges de travail de base de données en direct telles que Microsoft SQL Server et Exchange Server. Celles-ci sont généralement critiques et ne peuvent pas être interrompues pendant la durée de la sauvegarde de la machine virtuelle ou physique, qui peut parfois prendre des heures en fonction de la taille de la machine. Pour résoudre ce problème, les solutions modernes offrent plusieurs types de sauvegardes, y compris les sauvegardes cohérentes en cas de crash et les sauvegardes cohérentes avec l’application.

Lisez cet article pour découvrir les principales différences entre ces types de sauvegardes et comprendre comment chacun affecte la sauvegarde et la récupération des données d’application.

Sauvegarde Cohérente en Cas de CrashComment les logiciels de sauvegarde prennent-ils une snapshot d’un ensemble de données entier au même moment ? Cela est accompli en exploitant le Service de cliché instantané de volume (VSS) de Microsoft, qui fait partie du système d’exploitation Windows à partir de Microsoft Server 2003. Le service VSS facilite la communication entre les différents composants dans un environnement : logiciel de sauvegarde, applications de production qui ne peuvent pas être arrêtées (avec des modifications écrites sur elles pendant que les sauvegardes sont en cours) et stockage. Pour que le VSS de Microsoft fonctionne, tous ces composants doivent prendre en charge cette fonctionnalité.

A crash-consistent backup takes a snapshot of all the data found on a disk at the exact same time, while preserving the write order. This means that files that rely on each other are backed up at the same point in time, and thus they are consistent. The term “crash-consistent” describes the capturing of the data for backup, as it is similar to a restore point being captured at the instant leading up to a server crashing or being powered off.

Comment le logiciel de sauvegarde prend-il un instantané de l’ensemble des données à un moment donné ? Cela est réalisé en exploitant le service de copie instantanée de volume de Microsoft (VSS), qui fait partie du système d’exploitation Windows à partir de Microsoft Server 2003. Le service VSS facilite la communication entre les différents composants dans un environnement : le logiciel de sauvegarde, les applications de production qui ne peuvent pas être arrêtées (avec des modifications écrites sur elles pendant que les sauvegardes sont en cours) et le stockage. Pour que Microsoft VSS fonctionne, tous ces composants doivent prendre en charge cette fonctionnalité.

Le « demandeur VSS », c’est-à-dire le logiciel de sauvegarde, demande la création d’une copie d’ombre. VSS gèle rapidement les opérations d’E/S sur un volume, qui sont ensuite mises en file d’attente. Il enregistre ensuite les blocs actuellement utilisés par le volume. Le logiciel de sauvegarde copie ensuite toutes les données du disque même après que les blocs aient changé, car il sait quels blocs étaient utilisés pour l’instantané.

Remarquez que la sauvegarde cohérente avec les pannes est nettement supérieure à l’ancienne sauvegarde incohérente, qui se résume essentiellement à une copie des fichiers sur le disque. Cela signifiait que si des fichiers changeaient pendant la durée du processus de sauvegarde, des fichiers dépendant les uns des autres seraient laissés dans un état incohérent, car un fichier sur lequel un autre fichier dépend peut avoir changé pendant la fenêtre de sauvegarde.

Même avec les avantages par rapport à la sauvegarde inconsistante, les sauvegardes cohérentes avec les crash ont leurs limites. Plus important encore, les informations trouvées en mémoire ou dans toute transaction E/S en attente sont ignorées. Cela est particulièrement critique dans le cas des applications de base de données telles que Microsoft SQL Server et Microsoft Exchange Server. Avec des sauvegardes cohérentes avec les crash de ce type d’applications, des procédures sont nécessaires après la récupération des données pour amener les données de sauvegarde dans un état cohérent, entraînant ainsi des temps de récupération plus longs et des risques de perte de données.

Sauvegarde cohérente avec l’application

Les sauvegardes cohérentes avec l’application, également connues sous le nom de sauvegardes conscientes de l’application, peuvent capturer les informations de l’application à la fois en mémoire et dans les opérations E/S en attente. Cela est possible en utilisant des composants spécifiques à l’application pour le service de Microsoft connu sous le nom de écrivains VSS. Ces écrivains garantissent la cohérence des données de l’application lorsqu’une copie d’ombre est créée. Lorsque le logiciel de sauvegarde demande la création d’une copie d’ombre, les écrivains VSS de Microsoft ou des écrivains tiers permettent à VSS de contrôler des données d’application spécifiques, pas seulement des fichiers sur le disque, et permettent à ces applications d’être sauvegardées avec une cohérence transactionnelle.

Microsoft SQL Server peut avoir des données résidant en mémoire et dans des opérations d’E/S en attente. Une sauvegarde régulière cohérente des fichiers sur le disque, même si elle est cohérente au niveau du fichier, manquera les données résidant à ces emplacements. Cependant, avec des sauvegardes cohérentes avec l’application, l’écrivain VSS pour Microsoft SQL Server permet à l’information en mémoire d’être purgée et aux opérations d’E/S en attente d’être écrites sur le disque dans l’ordre transactionnel correct afin que la sauvegarde du disque avec les données de l’application contienne des données transactionnelles cohérentes.

Sauvegarde cohérente avec l’application pour les machines Linux

Pour les machines basées sur Linux pour lesquelles les services VSS ne sont pas disponibles, vous pouvez utiliser les commandes de pré-script et de post-script Linux.

  • Les scripts de pré-gel peuvent être exécutés juste avant que l’instantané VM ne soit pris pour mettre en pause les opérations d’E/S et écrire les informations en mémoire sur le disque.
  • Les scripts de post-décongélation s’exécutent ensuite immédiatement après que l’instantané VM a été pris pour décongeler les opérations d’E/S afin que l’application puisse reprendre ses opérations régulières.

Récupération à partir de sauvegardes cohérentes avec l’application

Une autre différence critique entre les sauvegardes cohérentes avec l’application et les sauvegardes cohérentes avec les crash est la quantité de travail que vous devez effectuer lorsque vous restaurez des données, surtout après que la récupération a eu lieu.

  • Avec les sauvegardes cohérentes avec les crash, puisque les données de l’application peuvent ne pas être cohérentes, vous devez suivre une procédure spécifique pour amener les applications à un état cohérent. Ce processus varie entre les produits tels que Microsoft Exchange Server ou Microsoft SQL Server.
  • Avec des sauvegardes cohérentes au niveau de l’application, les données de l’application sont déjà cohérentes. Dans un scénario de récupération d’urgence des données de l’application, il est très avantageux d’avoir des sauvegardes sensibles aux applications plutôt que des sauvegardes cohérentes en cas de crash, car le processus de récupération est beaucoup plus rapide et fiable.

Commandes des Writers VSS

Le vssadmin est un outil puissant de dépannage pour les writers VSS, et de nombreuses options sont disponibles depuis la ligne de commande. Vous pouvez voir l’état des writers VSS sous Windows en utilisant la commande vssadmin list writers. L’image ci-dessous montre le VSS spécial SqlServerWriter ainsi que pour Exchange Microsoft Exchange Writer.

Le Microsoft Exchange Writer est présenté ci-dessous.

Voici les commandes prises en charge par l’utilitaire vssadmin.

Sauvegarde Cohérente en cas de Crash vs Sauvegarde Cohérente au Niveau de l’Application

Voici un bref aperçu des différences entre les sauvegardes cohérentes en cas de crash et les sauvegardes cohérentes au niveau de l’application :

Opération Coïncidence d’écrasement Coïncidence d’application
Sauvegarde cohérente dans le temps des fichiers Oui Oui
Copie d’ombre de volume utilisée pour la sauvegarde au niveau des blocs Oui Oui
Consistance de l’application Non Oui
Conscience des informations de mémoire et des transactions d’E/S en attente Non Oui
Écrivains VSS utilisés Non Oui
Nécessite aucune étape spéciale pour restaurer les données d’application Non Oui

Conclusion

Il existe des différences notables dans la manière dont les sauvegardes cohérentes avec les crash et les sauvegardes cohérentes avec les applications gèrent les données dans les applications en direct telles que Microsoft SQL Server ou Microsoft Exchange Server. Les sauvegardes cohérentes avec les crash ne copient pas les données en mémoire et les opérations d’E/S en attente. Les sauvegardes conscientes des applications sont conscientes de ces types de données transitoires et les capturent en utilisant les écrivains VSS comme composants du service VSS dans Windows pour mettre correctement l’application en pause en vidant la mémoire et les opérations d’E/S en attente sur le disque, ce qui permet de la sauvegarder correctement avec une cohérence transactionnelle.

Les solutions de sauvegarde vSphere modernes telles que NAKIVO Backup & Replication offrent plusieurs options de sauvegarde pour différents charges de travail pour vous aider à protéger vos données et garantir une récupération après un désastre. Téléchargez la version gratuite pour découvrir tous les outils et fonctionnalités avancés.

Source:
https://www.nakivo.com/blog/crash-consistent-vs-application-consistent-backup/