Qu'est-ce qu'une sauvegarde cohérente avec les applications ?
La sauvegarde cohérente avec les applications (application-aware backup) est une méthode de sauvegarde qui se coordonne avec les applications exécutées dans un système avant la prise de la copie. L'application vide ses écritures en attente et amène ses fichiers dans un état cohérent, de sorte que le point de restauration peut être démarré et utilisé sans réparation ni perte de données.
Pourquoi la cohérence pose-t-elle question ?
Les bases de données et les serveurs de messagerie gardent les changements récents en mémoire et dans des journaux de transactions avant de les écrire dans leurs fichiers de données principaux. Une copie du disque prise à un instant quelconque capture ces fichiers en cours de mise à jour. L'application peut se rétablir à partir de cet état, comme après une coupure de courant, ou ne pas y parvenir.
| Niveau | Ce qui est capturé | Résultat à la restauration |
|---|---|---|
| Cohérence après incident (crash-consistent) | Le contenu du disque à un instant donné | Comme un redémarrage après une coupure de courant |
| Cohérence du système de fichiers | Le disque après vidage des tampons du système de fichiers | Fichiers intacts, l'application peut nécessiter une récupération |
| Cohérence applicative | Le disque après mise au repos de l'application | L'application démarre proprement |
Comment fonctionne la sauvegarde cohérente avec les applications ?
Avant le snapshot, le logiciel de sauvegarde prévient le système d'exploitation et l'application. Sous Windows, cela passe par le service de cliché instantané des volumes (VSS), dont les enregistreurs demandent à SQL Server, Exchange, Active Directory et d'autres de se préparer. Sous Linux, des scripts s'exécutent avant et après le snapshot pour figer puis libérer l'application. Une fois le snapshot créé, l'application reprend son activité et la sauvegarde lit l'image figée.
Que permet d'autre la prise en compte des applications ?
La coordination avec l'application apporte davantage qu'une copie propre. Les journaux de transactions peuvent être tronqués après une sauvegarde réussie, ce qui les empêche de remplir le disque. Ils peuvent aussi être sauvegardés entre deux exécutions complètes, ce qui permet une restauration à un instant donné. Enfin, le logiciel de sauvegarde peut lire la structure de l'application, ce qui rend possible la restauration granulaire d'une base, d'une boîte aux lettres ou d'un objet d'annuaire.
Quand n'est-elle pas nécessaire ?
Les serveurs sans état, comme des frontaux web qui ne détiennent aucune donnée propre, se restaurent bien à partir d'une copie cohérente après incident. Les systèmes dont les bases sont protégées séparément par des exports natifs ou par l'envoi de journaux peuvent aussi s'en passer au niveau de l'image. Pour tout ce qui stocke des données transactionnelles et se restaure depuis son image, la prise en compte des applications est le choix par défaut le plus sûr, et un test de restauration est le moyen de vérifier qu'elle fonctionne.
Questions fréquentes
La sauvegarde cohérente avec les applications ralentit-elle l'application ?
Les écritures sont brièvement suspendues pendant la prise du snapshot, en général quelques secondes. Sur des bases très sollicitées, il vaut mieux la planifier en période creuse.
Est-elle nécessaire pour les machines virtuelles ?
Elle l'est pour les applications qui s'y exécutent. Un snapshot d'hyperviseur seul donne une copie cohérente après incident.
Que se passe-t-il si la mise au repos échoue ?
Le logiciel de sauvegarde peut être réglé pour faire échouer la tâche ou pour continuer avec une copie cohérente après incident. Ce choix doit être délibéré et l'avertissement doit rester visible.
