La sauvegarde à chaud permet de sauvegarder des fichiers ouverts (c’est-à-dire en cours d’utilisation par une application tierce) sans interrompre de fonctionnement du système.
Ainsi, les fichiers d’une base de données peuvent être sauvegardés à chaud sans que celle-ci ne s’arrête de fonctionner, et donc sans interruption du système.
Cette technique exsite sur Windows, et le composant orchestrant le système d’accès à chaud des fichiers se nomme VSS (pour Volume Snapshot Services, ou services de cliché de volume).
Là où les choses se compliquent, c’est qu’il existe deux types de sauvegarde à chaud.
- La première est la sauvegarde en mode composant : l’application est consciente que le système est dans une sauvegarde, et garantit que les fichiers qu’elle fournit au système de sauvegarde sont dans un état cohérent. C’est le cas par exemple pour Microsoft SQL Server, Microsoft Hyper-V ou Microsoft Exchange.
- La seconde est en mode fichier : l’application ne sait pas qu’il y a une sauvegarde (parce qu’elle n’est pas conçue pour), et il ne peut donc pas y avoir de garantie quant à la cohérence du fichier. En effet celui-ci est lu alors que l’application tierce travaille dessus. Parmi les exemples il y a Microsoft Outlook et ses
.pst
, mais aussi un certain nombre de bases de données qui n’implémentent pas la sauvegarde au niveau composant (comme Microsoft Access).
L’agent de sauvegarde peut fonctionner en trois modes :
- Sauvegarde à froid, c’est-à-dire tentative d’ouverture du fichier de façon habituelle. Cela fonctionne si le fichier n’est pas ouvert par une autre application.
- Sauvegarde en mode composant, si le fichier est ouvert et compatible avec ce mode (c’est l’application concernée qui fournit cette information).
- Sauvegarde à chaud, si le fichier est ouvert et non compatible avec le mode composant. C’est sur ce point qu’il y a un avertissement : le fichier étant ouvert sans que l’application l’utilisant en soit informée, il y a une possibilité pour que celui-ci ne soit pas dans un état incohérent.
- Si le fichier est un fichier de bases de données, il y a plusieurs options :
- La meilleure option est de stopper la base avant sauvegarde et de la relancer ensuite, fain que l’agent de sauvegarde puisse accéder aux fichiers à froid.
- Si le temps d’interruption n’est pas acceptable, stopper la base, copier les fichiers de base, relancer la base et sauvegarder la copie. Cela offre l’avantage de conserver une déduplication efficace et de réduire au mieux le temps de transfert et l’espace utilisé sur le serveur de sauvegarde.
- Si la base n’est pas stoppable, faire un dump et sauvegarder le dump non compressé (cela facilité là encore le travail de l’agent de sauvegarde).
- Si le fichier est autre, c’est à voir au cas par cas, il n’y a hélas pas de solution miracle