Université Pierre et Marie Curie

Systèmes d'exploitation des ordinateurs

Chapitre 1. Les systèmes d'exploitation
Chapitre 2. Mécanismes d'exécution et de communication
Chapitre 3. Gestion des activités parallèles
Chapitre 4. Gestion des fichiers
Chapitre 5. Partage des ressources
Chapitre 6. Au-dessus du système d'exploitation
6.1. Programmation shell sous Unix
6.2. Compilateurs
6.3. Fichiers et bases de données
6.4. Sauvegardes et archivage
Chapitre 7. Notions sur les communications
Chapitre 8. Notions sur la sécurité
Bibliographie
Chapitre 9. Exercices et TPs
Examens
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

6.4. Sauvegardes et archivage

Les utilitaires de sauvegarde permettent de créer des copies multiples d'un ensemble de fichiers afin de pouvoir reconstruire l'information en cas d'accident : destruction involontaire d'un fichier ou problème matériel sur le support.

Ils se distinguent de la simple commande de copie d'abord par la possibilité de sélectionner les fichiers à recopier en fonction de critères variés, comme leur date de création ou de dernière modification. Les outils les plus sophistiqués sont capables de proposer une stratégie de sauvegarde pour un ensemble de machines en réseau en équilibrant la charge que cela représente sur celui-ci. Nous nous limiterons à des principes généraux en envisageant le cas d'une seule machine autonome.

Les utilitaires d'archivage déplacent des fichiers sur un autre support. Ils sont employés pour des informations qui ne sont plus utilisées mais qui pour différentes raisons (juridiques, usage ultérieur éventuel...), doivent être conservées. Il est inutile de les garder sur les disques à accès immédiat et on les déplace sur un autre support, souvent à accès plus lent mais moins onéreux (bandes magnétiques, disquettes, CD-ROMs...). Il est indispensable de maintenir une base de données des archives afin de pouvoir les retrouver rapidement. Nous ne les évoquerons pas ici car cela dépasse le cadre normal du système d'exploitation.

Archivage et sauvegarde correspondent donc à deux usages différents :

  • Les sauvegardes sont nécessaires pour restaurer le contenu des disques en cas d'accident (erreur des utilisateurs le plus souvent ou dommage causé au périphérique).
  • L'archivage vise à libérer de l'espace sur les disques et à se prémunir contre tout accident.

Des outils simples nécessaires à l'établissement de procédures de sauvegardes font, le plus souvent, partie de la livraison du système d'exploitation. Il reste néanmoins à les mettre en œuvre. De meilleurs existent  soit chez d'autres fournisseurs soit dans le domaine public. 

La sauvegarde de l'information consiste en la recopie à intervalles régulier des fichiers sur un autre support. Ce sont des opérations fastidieuses, sans intérêt aucun, qui bloquent totalement ou partiellement l'usage d'une partition disque. Personne n'est donc enclin naturellement à y prêter attention. Ces opérations sont pourtant primordiales. Les pertes financières annuelles des compagnies, que des sauvegardes efficaces auraient pu éviter, sont mal connues mais se chiffrent en milliards de francs.

La règle d'or du responsable informatique est:

"les utilisateurs ne sauvegardent pas leurs fichiers, aussi compétents soient-ils. Il faut le faire à leur place et si possible de façon automatique."

Il faut se prémunir contre les erreurs dans les sauvegardes elles-mêmes. Un accident peut ne pas être détectée lors du transfert ou bien le support magnétique peut mal vieillir ou présenter des défauts. Deux sauvegardes sont un minimum, il est plus sage d'en prévoir au moins trois. Il faut donc recopier les informations sur plusieurs bandes ou disques successivement en recyclant les plus anciens. Nous décrirons plus loin un exemple de stratégie de sauvegarde.

Les sauvegardes ou backup sont à la limite entre système d'exploitation et applicatifs utilitaires. Néanmoins elles sont tellement fondamentales pour la sécurité et le bon fonctionnement d'une machine qu'il convient de les considérer comme un élément à part entière du système d'exploitation.

Les différents niveaux de sauvegarde

Une sauvegarde physique est la recopie octet après octet, sur un autre support, d'un disque ou d'une partition dans son intégralité. Les fichiers ne sont pas distinguée et ceci ne peuvent servir qu'à restaurer le disque ou la partition. Il est impossible ou mal aisé de retrouver un fichier particulier. On l'emploie lorsqu'un disque a du être remplacé ou formaté.

Une sauvegarde logique copie les fichiers successivement. On peut donc les restaurer individuellement. Elle est moins rapides qu'une sauvegarde physique car le disque est parcouru dans un ordre logique. Lorsque les fichiers sont très morcelés cela nécessite de nombreux déplacements des têtes de lecture. On peut employer des critères de sélection : par exemple ne retenir que les fichiers modifiés ou créés dans un intervalle de temps donné, exclure ceux d'un type particulier, ignorer certains répertoires... Les critères retenus correspondent à des combinaisons d'opérateurs logiques plus ou moins sophistiqués selon les utilitaires. Une sauvegarde incrémentale. est la copie des fichiers modifiés ou créés depuis la date de la dernière sauvegarde. Certains systèmes incluent un bit d'archivage : celui-ci est levé à la création et lors de la modification du fichier, l'utilitaire de sauvegarde le baisse. 

Une stratégie pour un micro-ordinateur individuel

Nous imaginerons le propriétaire d'un PC, seul responsable de sa machine. Il doit donc effectuer lui-même toutes les opérations de maintenance donc les sauvegardes. Il dispose d'un disque externe.

Les logiciels ne nécessitent pas de recopie. Ils peuvent être installés à partir des disquettes et CD-ROMs d'origine ou des copies qu'on aura pris soin de faire avant la première installation. Rappelons que la loi n'interdit pas les copies de sauvegarde.

Lorsque la machine sert au développement de programmes il est inutile de copier les modules objets ni même les programmes compilés qui peuvent toujours être reconstitués. Cependant il ne faut pas oublier de sauvegarder les procédures de compilation (makefile...).

On ne conserve pas sur le disque les informations qui n'ont plus qu'une valeur d'archives. Elles sont stockées en plusieurs exemplaires dans des lieux différents sur CD ou DVD.

Les données sont regroupées de façon logique dans des répertoires spécifiques de façon à pouvoir effectuer des sauvegardes sélectives aisément. En appliquant ces quelques règles on diminue considérablement le volume à sauvegarder et le temps nécessaire.

On peut alors choisir une stratégie :

  • sauvegardes incrémentales, c'est à dire sauvegarde de tout ce qui a été modifié depuis la précédente sauvegarde incrémentale. Windoiws comme Unix permettent de construire des procédures d'exécution qui se lancent automatiquement à une heure choisie. La fréquence dépend de l'utilisation mais dans le cas d'une utilisation quotidienne une fois par semaine est le minimum.
  • Recopie systématique chaque jour des informations nouvelles ou modifiées. Ceci n'est valable que lorsqu'on modifie peu de fichiers.
  • Sauvegarde d'un sous ensemble de répertoires chaque jour et également sauvegarde régulière (chaque jour par exemple) des fichiers modifiés depuis la dernière sauvegarde. L'intérêt de ne sauvegarder qu'un sous ensemble est de ne pas prendre trop de temps pour transférer les fichiers sur le support externe. En effet cette procédure pénalise le fonctionnement de l'ordinateur car elle sature les transferts.

Cette liste n'est pas limitative et n'est fournie qu'à titre d'exemple.

Dans tous les cas ne jamais oublier qu'ajouter les sauvegardes sur un même support, un disque externe par exemple, n'est pas complètement fiable. On s'en contentera en espoérant que ce disque externe ne tombe pas en panne en même temps que le disque interne. Un palliatif serait de graver des DVDs de temps en temps si on le peut.

Une stratégie pour un petit centre de calcul

Les sauvegardes sont la responsabilité d'un professionnel et occupent une part de son temps de façon légitime et régulière, au même titre que l'installation de nouveaux logiciels et la maintenance du système d'exploitation. Cette personne a donc réfléchi à une stratégie capable de pallier les différents accidents possibles:

  • perte totale d'un disque
  • perte de fichiers du système d'exploitation et de son environnement.
  • perte d'informations par erreur des utilisateurs.

On doit réduire au maximum les effets d'un accident et rétablir au plus vite un fonctionnement correct.

Il n'existe pas de réponse unique. Celle-ci dépend du type d'informations : les besoins d'une banque ne sont pas ceux d'un service chargé de développer des logiciels. La taille totale de l'espace disque, l'efficacité des transferts sur le réseau sont un point à prendre en considération.

L'exemple choisi est basé sur une expérience personnelle dans un centre devant gérer plusieurs dizaines de Teraoctets environ répartis sur les serveurs Unix du service.

Le support de sauvegarde est une bande LTO capable de stocker 400 gigaoctets. Les bandes sont manipulées par un robot et rangées dans une bibliothèque qui peut en stocker une trentaine.

Une fois par semaine chaque partition est sauvegardée, ce qui ne pose pas de problème car aucune n'atteint la limite de capacité d'une bande. Les systèmes Unix ne connaissant pas la notion de sauvegardes physiques on peut y retrouver tout un système ou un seul fichier. Les bandes magnétiques sont conservées trois semaines, puis recyclées sauf la première de chaque mois. Enfin le temps passant on garde seulement une bande par trimestre (fig. 4.22).

Chaque nuit, également, on effectue une sauvegarde incrémentale de l'ensemble des partitions : les fichiers crées ou modifiées depuis moins de trois semaines, aussi bien sur les serveurs Unix que sur les micro-ordinateurs (s'ils n'ont pas été éteints), sont recopiées sur un disque réservé à cet usage. Le format compressé employé permet de stocker cet ensemble.

schéma de sauvegarde

Figure 4.22 - Sauvegardes disponibles pour un disque

Cette configuration permet de répondre aux différents accidents :

  • perte d'un disque : on restaure à partir de la bande la plus récente. Les deux précédentes pourraient être exploitées en cas de problème sur celle-ci. Puis à partir du disque des sauvegardes journalières on rétablit l'information modifiée ou créée depuis la date de création de la bande de sauvegarde. Durée de l'opération: de quatre heures à plus d'une journée selon la taile de la partition!
  • perte d'une information vieille de moins de trois semaines : elle existe sur une bande de sauvegarde. Il suffit donc de la décompresser.
  • perte d'une information vieille de plus de trois semaines :
    il faut connaître la date de dernière existence de l'information puis analyser les bandes successivement en reculant dans le temps à partir de cette donnée. Ceci peut être très long et fastidieux et n'est entrepris que pour des fichiers qu'on ne peut reconstituer. Si une bande venait à être défectueuse, il est probable qu'on pourrait retrouver cette information sur la bande précédente.

Cette stratégie n'est pas applicable au-delà d'une capacité de quelques centaines de gigaoctets. Au-delà il faut la complexifier : par exemple les serveurs de stockage de très grande capacité seront installés en RAID5 pour se prémunir contre des erreurs et la moitié de la capacité sera réservée pour sauvegarder automatiquement chaque nuit l'autre moitié. De cette façon le recours aux bandes de sauvegarde sera moins fréquent et inutile si on s'aperçoit de l'erreur avant le surlendemlain.

Une stratégie pour un réseau de stations

Il existe maintenant des utilitaires disponibles commercialement ou dans le domaine public, qui permettent de gérer un réseau de stations. Leur principe dérive des schémas évoqués ci-dessus.

L'utilitaire distingue plusieurs niveaux de sauvegarde, depuis celui qui concerne des fichiers individuels jusqu'aux partitions disques entières. Lorsqu'un élément doit être sauvegardé il est recopié à travers le réseau, depuis la machine d'origine, sur un disque intermédiaire connecté directement au serveur de sauvegarde. Parallèlement le contenu de ce disque est recopié sur le support final, une bande magnétique le plus souvent. Les systèmes les plus sophistiqués sont capables de gérer un ensemble de bandes rangées dans un silo.

Un des problèmes clefs est d'équilibrer le volume d'informations transférées sur le réseau. Celui-ci est crucial lorsque le parc contient un grand nombre de machines. Les sauvegardes se déroulent, le plus souvent de nuit, afin de ne pas gêner l'exploitation dans la journée. L'utilitaire de sauvegarde doit donc établir une stratégie en évaluant à l'avance la quantité d'informations à transférer. Il peut avancer les dates de certains niveaux de sauvegarde afin d'équilibrer les échanges.

Le problème se complique si les sauvegardes doivent être fréquentes et se dérouler parallèlement à l'exploitation comme dans les systèmes transactionnels. On introduit souvent un niveau physique intermédiaire en écrivant l'information de façon redondante sur les disques (disques miroirs, RAID...) de façon à palier à toute défaillance physique. Mais ceci ne supprime le type de sauvegarde que nous venons d'évoquer.

Les produits disponibles se distinguent par leur souplesse d'emploi, les facilités pour ajouter ou supprimer des machines dans le parc ainsi que par les possibilités laissées à l'utilisateur final. Celui peut, dans certaines réalisations, spécifier qu'il veut ou ne veut pas voir sauvegarder ses informations. La facilité (existence d'interfaces graphiques notamment), l'efficacité des procédures pour restaurer des fichiers perdus sont également un élément qui distingue ces outils.


Copyright Yves Epelboin, université P.M. Curie, février 2003, MAJ 25 février, 2007

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante