Introduction
Ce document est le fruit de mon expérience dans le domaine de la sauvegarde. Il ne s’agit pas d’un « copié – collé » d’informations trouvées sur le Net ou ailleurs.
Son but n’est pas de rentrer dans le détail de telle ou telle solution de sauvegarde, mais bien de présenter le ou les concepts. Les logiciels de sauvegarde cités ne le sont qu’à titre indicatif.
Quel but pour une sauvegarde?
En étant un peu provocateur, la sauvegarde… ne sert à rien si elle est mal faite. La sauvegarde en elle même n’intéresse en réalité personne (sauf la personne chargée de sa surveillance, de son administration). Ce qui intéresse le client, l’utilisateur, c’est la possibilité qu’elle offre de récupérer des données perdues. Comment, à quelle fréquence, sous quelle forme est faite la sauvegarde…
Pourquoi sauvegarder ?
La perte des données suite à une erreur de l’utilisateur. C’est le cas le plus fréquent. Il touche un utilisateur, un ou peu de fichiers. Ce ou ces fichiers sont effacés (ou corrompus) depuis très peu de temps.
La malveillance (interne ou externe). C’est le cas le plus sournois. Il impacte quoi ? Sa découverte intervient quand, au bout de combien de temps ? Cela dit, en réalité, ce cas est bien plus rare que ne le pense le grand public
Le bug logiciel. Par exemple, le logiciel de compta qui contient une erreur, erreur qui n’impacte pas le travail quotidien, mais qui se fait jour lors des clôtures. Cas rare, certes, mais dont les conséquences, se chiffrent en jours, en semaines de travail.
Le plantage du système d’exploitation. Dans ce cas, c’est une restauration en masse qu’il convient d’envisager. Ce cas est rare, mais son traitement nécessite une approche spécifique.
Le plantage matériel. Ce cas est aujourd’hui rarissime. Du fait de la redondance possible des disques, même sur des ordinateurs accessibles au grand public. Deux disques en miroir, les données de l’un sont automatiquement dupliquées sur l’autre.
La destruction du système informatique, pour des raisons d’incendie, d’innondation,… Ce cas est le plus grave. Il implique la mise en sécurité, en extérieur des locaux hébergeant les systèmes informatiques, à intervalle régulier, d’une copie (sur bande en général) de la sauvegarde.
La rotation GFS absolue
Le premier type de sauvegarde, le plus connu, est la rotation « gfs », G comme « grand father » ou grand-père, F comme « father » ou père et S comme « Son » ou fils.
Chaque jour, lundi, mardi, mercredi, jeudi, vendredi, samedi, une sauvegarde « son ». Chaque semaine, la sauvegarde du même jours de la semaine d’avant est écrasée.
Chaque semaine, le dimanche (seul jour manquant précédemment), une sauvegarde « father » qui est mise de côté un mois
Chaque mois, le dernier jours du mois (ou le dernier jours ouvrable), une sauvegarde « grand father ». Cette sauvegarde remplace la sauvegarde « son » ou « father » du jour en question. Elle est archivée un an.
Au total, appliquée intégralement, la rotation GFS s’appuie sur 6+4+12=22 sauvegardes différentes. Ceci a son importance dans le cas de sauvegardes sur périphérique à bande, une bande par sauvegarde. Dans le cas de la sauvegarde GFS absolue, la plupart du temps, c’est tout le système qui est sauvegardé, ceci afin de palier à tous les cas de figure évoqués précédemment.
Variantes autour de la sauvegarde GSF absolue.
S sont des incrémentielles
Les sauvegardes G et F sont toujours des sauvegardes totales. Les sauvegardes S sont des sauvegardes incrémentielles : Cette méthode consiste à sauvegarder les fichiers créés ou modifiés depuis la dernière sauvegarde quel que soit son type (complète, différentielle ou incrémentielle).
Exemple : une sauvegarde complète est réalisée le jour J. Le jour J+1, la sauvegarde incrémentielle est réalisée par référence au jour J. Le jour J+2, la sauvegarde incrémentielle est réalisée par référence au jour J+1. Et ainsi de suite.
Si la restauration se porte sur un disque complet qui a été sauvegardé le jour J+4, on doit alors recopier sur disque la sauvegarde du jour J et les sauvegardes incrémentielles des jours J+1, J+2, J+3 et J+4 afin d’obtenir la dernière version de la totalité des données.
Cependant lorsqu’il s’agit de la restauration d’un fichier ou d’un répertoire qui a été sauvegardé le jour J+3, seule la dernière sauvegarde, ici l’incrémentielle, est utile. (source Wikipédia)
S sont des différentielles
Les sauvegardes G et F sont toujours des sauvegardes totales. Les sauvegardes S sont des sauvegardes différentielles : Cette méthode effectue une copie des fichiers créés ou modifiés depuis la dernière sauvegarde complète, quelles que soient les sauvegardes intermédiaires. En d’autres termes, la sauvegarde complète du jour J sert de référence pour identifier les fichiers créés, modifiés ou ajoutés et ainsi ne sauvegarder que ces derniers du jour J+1 au jour J+6.
La restauration faite à partir de ce type de sauvegarde nécessite la recopie sur disque de la dernière sauvegarde complète et de la sauvegarde différentielle la plus récente.
Avec notre exemple, si la restauration se porte sur un disque complet qui a été sauvegardé le jour J+2, on doit alors recopier sur disque la sauvegarde complète du jour J et la sauvegarde différentielle du jour J+2 afin d’avoir la dernière version des données.
Cependant lorsqu’il s’agit de la restauration d’un fichier ou d’un répertoire qui a été sauvegardé le jour J+2 seule la dernière sauvegarde, ici la différentielle, est utile.
Avantages et inconvénients des variantes.
Moins de bandes nécessaires. Il est tout à fait envisageable de n’avoir qu’une seule bande pour les sauvegardes « S », cette bande n’ayant qu’à recevoir un volume réduit d’informations chaque jour.
Moins de manipulations de bandes. Du lundi au samedi, c’est la même bande qui est dans le lecteur. L’opérateur n’a à sa charge que le changement du dimanche pour une « F », du lundi pour remettre la « S » et en fin de mois, la mise en place de la « G »
restauration complète du système plus longue : il faut au moins restaurer la dernière complète (F ou G) puis la différentielle allant jusqu’au jour du crash, voir les N incrémentielles entre la dernière « F » ou « G » et le jour du crash?.
Il est aussi possible de ne pas faire une sauvegarde chaque jour. Par exemple, ne pas faire de sauvegarde le samedi et le dimanche, mais faire la « F » le vendredi.
La sauvegarde en « versioning »
Dans ce cas, on ne parle plus de sauvegarde en fonction du jour, mais de sauvegarde en fonction de la vie du fichier.
Ainsi, un fichier présent sur le système (appelé actif) peut être sauvegardé chaque fois qu’il est modifié, en gardant N versions de ce fichier (la N+1) est effacée du système de sauvegarde. Il est aussi possible d’associer ce nombre de versions à une durée. Par exemple, 3 versions sur 1 mois. Ainsi, un fichier modifié le lundi, le mardi, le mercredi et le jeudi de la semaine n’aura, dans le système de sauvegarde, que trois versions. Un fichier modifié tous les vendredi aura, lui aussi trois versions dans le système. Un fichier modifié tous mes mois n’aura qu’une seule version dans le système.
Un fichier effacé du disque (appelé inactif) est conservé pour une durée « X ».Il est donc possible de le restaurer pendant « X » jours. A J « X+1 », sa restauration devient impossible.
Le nombre de versions « actif » / « inactif » peut varier en fonction dy type de fichier. Ainsi, un « DOC », un « XLS » peuvent avoir 5 versions actives sur 1 mois et 2 inactives sur 6 mois. A un « EXE » ou un « DLL », on peut avoir 3 versions sur 3 mois actives et 2 inactives sur 6 mois.
Cette répartition peut aussi se faire en fonction du répertoire contenant le fichier.
Dans le cas de la sauvegarde en « versioning », il n’y a plus de sauvegarde complète « G » ou « F », mais que des inrémentielles. Seules les données modifiées depuis la sauvegarde précédente sont sauvegardées. La sauvegarde initiale est, en pratique, une ‘totale’. Le système la considère cependant bien comme une incrémentielle, mais partant de « O ».
Ce type de sauvegarde présente l’avantage d’être très rapide car le volume traité chaque jour est faible.
La restauration des données est plus compliquée. Dans le cas du fichier effacé par l’utilisateur, il y a peu de manipulation de bandes à prévoir. Par contre, la restauration complète du système s’appuie sur plusieurs sauvegardes échelonnées dans le temps.
Pour des raisons pratiques, la sauvegarde en « versioning » utilise des robots de sauvegarde. Ces robots contiennent plusieurs bandes (de 8 à plusieurs centaines) et deux (pour les plus petits) à plusieurs dizaines lecteurs de bandes.
Compte tenu de la complexité de ce type de sauvegardes, le logiciel les gérant est particulièrement robuste. Il doit être capable de retrouver un fichier parmi un grand nombre de sauvegardes différentes, selon des critères différents.
Les logiciels utilisant la rotation GSF :
Les plus connus sont NT Backup, ArcServe, Backup Exec.
Les logiciels utilisant le « Versioning »
Le plus connu est TSM, nouveau nom d’ADSM
Importance du contrat de service.
Comme je l’ai déjà dit plus haut, le but d’une sauvegarde est de pouvoir récupérer les fichiers effacés, corrompus, mais aussi de remonter un système informatique planté. Ceci nécessite des capacités de stockage importantes, en plus des volumes utilisés par les données actives et le système d’exploitation des ordinateurs recevant ces données.
Pour schématiser, plus on veut être précis et plus on veut remonter loin dans le temps, plus ces volumes de stockages additionnels sont importants et donc coûteux.
Le client (utilisateur) doit être informé de ce qui est possible de restaurer. Dans bien des cas, il doit participer à l’élaboration de ce qui sera le contrat de service.
Ainsi, il acceptera de ne pouvoir récupérer une information datant de plus de « n » jours, de plus de « n » versions.
Dans l’absolu, ce contrat de service doit être formalisé, écrit. Son importance est capitale.