Le document ci-dessous est la première partie du rapport du stage réalisé par Mathieu Passenaud auprès de mon service.
Comme son travail portait sur les problématiques de sauvegarde et d’archivage, ce premier chapitre rappelles quelques définitions et montre que le disque dur est un excellent support de stockage sur le long terme.
Chapitre 1 – Généralités
1.1 Définition
C’est une opération de duplication de données afin de pouvoir les mettre en sûreté. Par définition, une sauvegarde n’est pas ou peu utilisée si le système informatique fonctionne bien et s’il n’y a aucune perte de données ni effacement accidentel. Elle se fait sur des supports amovibles, transportés dans une autre zone géographique afin d’être sûr de conserver les données quel que soit les évènements.
1.2 Les types de sauvegardes
1.2.1 Sauvegarde complète
C’est l’image entière de tous les fichiers à sauvegarder, qu’ils ont été modifiés ou non depuis la dernière sauvegarde (la valeur du marqueur « archive » 1 n’a aucune importance).
1.2.2 Sauvegarde différentielle
On utilise une sauvegarde complète comme référence et on enregistre seulement les fichiers modifiés ou créés depuis cette sauvegarde de référence.
Pour la restitution, il faut remettre la dernière sauvegarde complète (la référence) ainsi que la sauvegarde différentielle visée.
1.2.3 Sauvegarde incrémentale
C’est le même principe que la sauvegarde différentielle, sauf qu’il n’y a pas de référence fixe. Une sauvegarde compléte a été effectuée le jour J, pour le jour J+n, la sauvegarde J+(n-1) servira de référence peut importe son type (différentielle, complète ou incrémentale). Ce type de sauvegarde est intéressant au niveau du volume de données, puisque seules les données modifiées sont sauvegardées. Seulement, il faudra beaucoup d’effort pour restaurer une sauvegarde. Pour restaurée la sauvegarde J+4, il faudra restaurer toutes les sauvegardes depuis le jour J (soit 5 restaurations dans ce cas).
1.2.4 Sauvegarde « delta » ou bloc
Plutôt que sauvegarder un fichier entièrement, on ne sauvegarde que la différence (le « delta ») entre deux fichiers. Le logiciel compare les deux fichiers par blocs et ne sauvegarde que les différences entre les deux fichiers. Dans certains cas, on peut trouver des solutions logicielles capables réinterpréter les données de certains fichiers (PDF, base de données MS SQL etc…) qui vont pouvoir déterminer précisément les modifications et ne sauvegarder que celles-ci.
1.3 Les méthodes
1.3.1 Sauvegarde compressée
Pour des données brutes, telles que des fichiers sources ou des documents, la compression permet un gain extrêmement important au niveau de l’espace disque occupé.
Comparatif des méthodes de compression : http ://rlwpx.free.fr/WPFF/comploc.htm
Seulement, la compression et la décompression demandent des algorithmes, parfois complexes pour arriver à effectuer ces opérations. Sur des gros volumes de données, cela peut devenir gênant puisque la charge demandée à la machine peut être assez importante. En utilisant une compression, on met l’ensemble des fichiers dans un seul fichier compressé. Ainsi, les accès disques sont diminués surtout lors de la présence de petits fichiers. De plus, les systèmes de fichiers découpent en blocs un disque dur. Chaque bloc a une taille définie. Par exemple, pour du NTFS, chaque bloc a une taille de 4 Ko. Si on sauvegarde un fichier de 1Ko, il occupera 4Ko.
Ce type de sauvegarde est utilisé pour les sauvegardes à long termes, dont la probabilité de retauration sur le serveur d’origine est faible.
1.3.2 Sauvegarde non-compressée
Avantageuse en terme de temps, elle demande moins de charge machine puisqu’il n’y a pas d’algorithme complexe à exécuter pour la machine. Chaque fichier est dupliqué sur le support de sauvegarde tel qu’il existe sur le réseau. Pour restaurer les fichiers, la demande en temps est beaucoup moins importante que pour une sauvegarde compressée. Une simple copie dans le sens inverse suffit. Ce système est avantageux pour les sauvegardes à court terme, qui sont susceptibles d’être restaurées plus souvent.
Chapitre 2 – Le matériel de sauvegarde
2.1 Le disque dur
Le disque dur n’est pas le support de stockage idéal pour les sauvegardes. La durée de vie d’un disque dur n’est pas remise en cause selon Google (http ://labs.google.com/papers/disk_failures.pdf), seulement ce n’est pas un support de stockage robuste. Dans des conditions optimales (température, utilisation), la longévité peut être très élevée (dizaine d’années) mais si toutes les conditions optimales ne sont pas réunies, un disque dur peu être détérioré et inutilisable très vite (choc, température élevée, utilisation intense).
2.1.1 Taux d’utilisation
En fonctionnement continu, le taux de panne sur un disque dur (type grand public) est relativement faible (cf graphique ci-dessous).
2.1.2 La température de fonctionnement
La température est plus déterminante sur la durée de vie que son taux d’utilisation. La température de fonctionnement moyenne a été relevée (selon l’étude de Google), mais pas la différence entre la température la plus haut et la plus basse. Pour tout matériel mécanique fragile, la température doit être la plus stable possible. De plus, il n’est pas toujours conseillé de trop refroidir un disque dur à la plus basse température. Selon le graphique ci-dessous, on peut remarquer que la température idéale de fonctionnement d’un disque dur n’est pas la température ambiante (20°C) mais supérieure (entre 35 et 40°C).
Une température élevée n’aura pas trop d’incidence sur un disque dur jeune, mais beaucoup plus sur un disque dur plus ancien. A l’inverse, une température basse aura plutôt tendance à détériorer un disque dur jeune.
En stockage, la température a beaucoup moins d’incidence sur la vie du disque. Le risque est plutôt d’endommager les composants de la carte contrôleur.
2.1.3 Les erreurs
Il se peut qu’il y ait des secteurs défectueux ou des erreurs lors de l’enregistrement de données. Les codes CRC 1 (Code à Redondance Cyclique) permettent de détecter les erreur et de les corriger. L’âge du disque dur et son passé n’ont presque pas d’influence sur le taux d’erreurs d’un disque (cf graphique ci-dessous).
Au fur et à mesure du temps, ce taux diminue et le disque devient de plus en plus fiable, mais ce taux d’erreur reste relativement élevé au vu de la quantité de données que l’on peut enregistrer sur un disque dur.
2.1.4 La pérénité
L’évolution constante des technologies pose un souci majeur : il faut renouveler la batterie de disques durs régulièrement afin de pouvoir suivre les technologies. Aujourd’hui, la norme IDE est en train d’être délaissée au profit du Serial ATA. Certaines cartes mères ne proposent plus de contrôleur IDE intégré.
Cette solution est envisageable sur des sauvegardes à court termes renouvelées régulièrement. S’il s’agissait de stocker les données sur un disque et de les conserver dans une armoire, le disque dur ne serait sûrement pas la meilleure solution. Hormis l’interface nécessaire sur la carte mère, le disque dur est entièrement autonome est n’a pas besoin de d’autres composants matériels pour pouvoir fonctionner. L’usure entre le disque et la tête de lecture est inexistante puisqu’il n’y a aucun contact entre les deux. Un disque dur est entièrement blindé contre le magnétisme et donc ne craint pas le magnétisme ambiant (cependant, l’électronique de la carte contrôleur est sensible aux chocs électro-magnétiques).
Un disque dur peut garder des données pendant plusieurs dizaines d’années, même sans être sollicité. Les composants électroniques chimiques et mécaniques (condensateurs, moteur de rotation des plateaux) vont se détériorer plus rapidement s’ils ne sont pas sollicités, et lors d’une remise sous tension, les condensateurs risquent de se mettre en court circuit ou d’exploser et le moteur risque quand à lui de ne pas redémarrer.
2.1.5 La vitesse
Aujourd’hui, une interface Serial ATA II permet un taux de transfert théorique de 300Mo par seconde sur 7 fils de données. Les disques SATA sont changeables à chaud. Aujourd’hui, la norme SATA permet de connecter des disques dur au format IDE via un petit adaptateur.
2.1.6 La récupération de données en cas de défaillance
Lors d’un défaillance mécanique du disque, il existe des solutions pour pouvoir récupérer les données. Ce service est proposé par des sociétés spécialisées qui facturent en fonction de la taille du disque et aussi en fonction de la difficulté qu’ils auront à récupérer les données. Cette solution est à éviter tant que possible… d’autant plus que les délais sont parfois long (plusieurs semaines).
2.2 Les bandes magnétiques
2.2.1 Principe de fonctionnement
L’enregistrement s’effectue par blocs sur une longue bande. la lecture peut se faire dans les deux sens. Cependant, il faut optimiser les accès aux données puisque les temps de rembobinage peuvent être très très longs (une bande de capacité nominale de 100Go fait 230 mètres de longueur) et les taux de transferts ne sont pas élevés (80Mo par seconde). La bande magnétique est lue directement par une tête de lecture qui va frotter sur la bande pour récupérer les champs magnétiques. Lors de l’écriture, la tête va être capable d’orienter différement ces champs pour pouvoir y inscrire les données. C’est un des premier support de stockage utilisé en informatique personnelle. La technologie existait déjà pour les applications audio et vidéo de l’époque. Le principe est resté le même, seule l’utilisation a changé (au milieu des années 80, les ordinateurs personnels du type Thomson MO6 utilisaient les mêmes cassettes que celles utilisées pour les enregistrements sonores).
Source : http ://fr.wikipedia.org/wiki/Bande_magn%C3%A9tique#Informatique
2.2.2 Fiabilité
La cassette s’use mécaniquement puisqu’il y a contact entre la bande et la tête de lecture. Une cassette est aussi sensible aux chocs magnétiques puisqu’elle est dans un simple boitier plastique. L’environnement étant couvert d’ondes électromagnétiques (téléphones, Wifi, ondes radio, courant du secteur etc…), il faudra prendre des précautions si l’on veut conserver longtemps les données sans y toucher. Il peut donc y avoir une altération.
2.2.3 La pérénité
Au delà de la fragilité du support, les données sont conservées pendant 10 à 20 ans selon les constructeurs. Mais le problème majeur réside dans le fait qu’il n’y a pas de standard prédéfini comme le CD ou la disquette. Chaque constructeur a son propre type de bande et de lecteur et les modèles changent régulièrement. Le souci majeur est que même si les données se conservent pendant 20 ans, pourrait-on encore les relire si le lecteur utilisé à l’époque n’est plus fonctionnel ? De plus, l’interface utilisée pour la communication entre le lecteur et la carte mère sera-t-elle toujours d’actualité ?
2.2.4 La récupération de données en cas de lecture impossible
Si le support n’est pas endommagé physiquement, les données présentent peuvent être récupérées sous plusieurs conditions :
- Le lecteur approprié soit toujours disponible où qu’il y ait un équivalent capable de lire la bande sur une machine
- Les algorithmes de décompression soient disponibles afin de pouvoir restituer les données. En effet, des données compressées sont comme des données cryptées : inutilisables.
2.3 Les supports disques optiques
Ils n’ont aucun problème d’usure à la lecture puisque la zone qui contient les données n’est jamais en contact physique avec une autre pièce. La manipulation et le stockage doivent être faits avec soin, un environnement hostile peut détériorer très vite un tel support.
2.3.1 Les CDROM
Ce sont des supports relativements fiables pour les CD pressés en usine. Cependant, les CD gravés ont une durée de vie limitée, dès 3 ans on commence à constater des pertes de données. Il faut noter que leur capacité de stockage est limitée (700Mb) et que à la longue le stock de CD peut être très important.
2.3.2 Les DVDROM
Tout comme les CD, les DVD pressés en usine ont une grande durée de vie. Cependant, les DVD gravés ne sont pas faits pour durer dans le temps. A bout de 2 ou 3 ans, on constate des pertes de données sur les DVD+R. Leur capacité de stockage est plutôt limitée (4.7 Gb) pour stocker des grandes quantités de données.
Chapitre 3 – Les systèmes de fichiers
3.1 Introduction
3.1.1 Définition
Un système de fichiers, c’est un « langage » d’enregistrement des fichiers sur un support. Il existe différents types de systèmes de fichiers, adaptés chacun à une utilisation particulière en fonction de la quantité de fichiers, de la taille des fichiers, de la quantité, de la sécurité etc…
3.1.2 Les différentes familles
Les systèmes de fichiers :
- disque : Adaptés aux disques durs mécaniques
- flash : pour les nouveaux disques dur SSD (Solid State Drive), la manière d’accès aux données est différente. On ne peut pas réécrire sur un secteur sans l’avoir effacé au préalable/
- base de données : les fichiers sur le disque sont gérés comme une base de données. Les fichiers sont identifiés avec des « métadonnées » (type de fichier, auteur, résumé etc…).
- journalisés : il conserve un journal des modifications à effectuer. En cas de crash, il suffit de recharger le journal pour réavoir un système de fichiers propre. Exemple : on supprime un répertoire (1) et on marque l’espace du répertoire comme libre (2). S’il y a plantage entre les opérations 1 et 2, il y aura un lien orphelin entre le i-noeud et l’espace. Lors du redémarrage, la deuxième opération pourra être exécutée pour maintenir le système de fichiers propre.
- réseau : c’est le langage d’échange des fichiers entre deux stations à travers un réseau. On retrouve SAMBA, NFS, FTP, TFTP etc…
3.2 Les principaux systèmes de fichiers
Les systèmes de fichiers les plus utilisés sur des disques durs. Pour la plupart, la longueur maximale du chemin d’accès ( pathname ) n’est pas renseignée.
3.2.1 Le NTFS
Disponible sous Windows NT, il permet de gérer l’indexation des fichiers (pour une recherche plus rapide), les quotas par utilisateur, la compression directe. Le NTFS permet aussi, contrairement au Fat32, d’enregistrer des fichiers volumineux de plus de 4 gigas. Il peut gérer (en théorie) des fichiers de 16Tb sur des volumes de 256Tb. Pour lire ce type de partition sous BSD, il faut un utilitaire spécifique (NTFS -3G). On peut y mettre au maximum 2³²-1 fichiers (environ 4 milliards de fichiers).
La longueur du chemin d’accès ne peut pas dépasser 32 767 caractères.
3.2.2 Le EXT3
Principalement utilisé sur les systèmes Linux, il est très performant en terme de rapidité tout en permettant des tailles de fichiers extrêmement importantes (2Tb) sur des volumes de très grosse capacité (16Tb). C’est un système de fichiers journalisé, mais il ne dispose pas de la compression ni du checksum dans sa journalisation. 231 -1 fichiers peuvent être enregistrés (environ 2 milliards).
3.2.3 Le EXT4
C’est une évolution du EXT3, la principale évolution réside dans le fait que l’on peut réserver un espace contigu sur le disque (comme un malloc en mémoire). La taille maximale des fichiers est restée à 16Tb et le volume maximal d’un disque à 1Eb (1 exabyte = 1024 Tebibytes = 1024² = 1 048 576 Terabytes). On peut y enregistrer 4 miliards de fichiers. Il faut un noyau 2.6.28 au minimum pour avoir accès à ce système.
3.2.4 Le ZFS
C’est un système de fichiers mis au point par Sun pour Solaris en OpenSource supporté par Linux (avec FUSE), FreeBSD, MacOSX server. La taille maximale d’un fichier est limitée à la taille du maximale du volume, soit 16 Eb.
Le système de RAID est intégré de manière totalement transparente. ZFS est capable de supporter les disques SSD, afin de les utiliser comme cache (autorégulé). Le mécanisme de snapshot est disponible, avant que ZFS écrive une nouvelle donnée sur un secteur, les blocs qui contiennent les anciennes données peuvent être sauvés (historique des données). La taille des blocs alloués peut être variable si la compression des données est utilisée (LZIB ou gzip). Le cryptage des données sur ZFS est en développement (version beta).
Le nombre de fichiers est limité à 248 (79 milliards de milliards de milliards ).
Il existe un clone de ce système de fichiers appelé BTRFS qui vient d’être publié en version stable et intégré dans le noyau 2.6.29. Il a été développé par Oracle. A l’occasion, le nombre de fichiers enregistrables à été porté à 264 (environ 340 milliards de milliards de milliards de milliards 🙂 ).
3.2.5 Le HFS+
C’est le système de fichiers d’Apple (détesté par Linus TORVALDS, qualifié de non sens de l’informatique). Les noms de fichiers sont passé à l’unicode (contrairement au HFS) pour une meilleure compatibilité.
Les volumes sont limités à 16 Eb, et les fichiers à 8 Eb. On peut enregistrer 232-1 fichiers (environ 4 milliards). Linux ne peut accéder à ce système de fichiers uniquement en lecture seule.
Il n’y a aucune limite sur la longueur du chemin d’accès d’un fichier.
3.2.6 Le XFS
C’est un système de fichiers journalisé pour Unix, il est assez ancien et très stable (entièrement débuggé). Il est adapté aux accès multiples par plusieurs programmes en même temps. Les accès sont triés pour être optimisés. La taille d’un bloc est variable, de 512 octets à 64 Ko pour optimiser les temps d’accès. XFS dispose d’un accès direct au disque sans passer par le cache pour certaines applications. Il possède aussi un utilitaire de défragmentation intégré ainsi que toutes les fonctionnalités nécessaires pour la sauvegarde de données.
3.2.7 Le CXFS
C’est une évolution commerciale de XFS distribuée par Silicon Graphics, spécialement pour les espaces de stockage réseau (SAN). Les données et métadonnées sont complétement séparés. Le client peut accéder aux données directement s’il le souhaite, sans passer par la partie des métadonnées.
Chapitre 4 – Le logiciel de sauvegarde
Une sauvegarde ne s’effectue pas seule. Il faut la supervision d’un logiciel spécialisé qui va prendre les bonnes données pour les mettre sur les supports destinés aux sauvegardes. Le système d’exploitation positionne un drapeau « archive » sur chaque fichier. Ce drapeau permet de savoir rapidement si le fichier a été sauvegardé ou non.
4.1 Les sauvegardes complètes
Elles peuvent être effectuées simplement par un script en ligne de commande. Il suffit de copier les répertoires d’un emplacement local (ou réseau) vers le support de sauvegarde. On trouve une multitude de logiciels (gratuits ou non) qui effectuent ce genre de sauvegarde. Pour la compression, on passe généralement par un format ZIP qui est très utilisé et de bonne qualité de compression pour des types de fichiers différents mais rien n’empêche d’utiliser d’autres algorithmes. Chaque fichier sauvegardé doit avoir son attribut « archive » positionné à 0.
4.2 Les sauvegardes différentielles
Ce sont les sauvegardes les plus complexes à gérer. En effet, il faut comparer tous les fichiers un à un entre la sauvegarde de référence et le contenu du disque à sauvegarder. S’il y a une différence notable, alors le fichier a été modifié depuis la dernière sauvegarde complète et il faut donc sauvegarder ce fichier 1. Une fois le fichier sauvegardé, on position l’attribut « archive » du fichier à 0 pour notifier au système d’exploitation qu’il a bien été sauvegardé.
Lorsqu’un fichier a été modifié, deux alternantives sont possibles pour la sauvegarde :
- On sauvegarde une nouvelle fois le fichier en le copiant entièrement. Cette méthode demande peu de ressources machine et convient entièrement pour des fichiers de petite tailles créés rapidement et qui ne seront pas modifiés souvent. Cette méthode ne convient pas pour les gros fichiers dont on modifie régulièrement le contenu,
- On peut sauvegarder uniquement les modifications d’un fichier. Cette méthode très économe en espace de stockage mais beaucoup moins en calcul. Pour des bases de données type MS SQL ou Oracle, on sauvegarde les fichiers qui contiennent toutes les tables. Ces fichiers sont très volumineux et il est préférable de ne sauvegarder que les modifications faites sur le fichier depuis la dernière sauvegarde complète (sauvegarde à delta ou bloc).
4.3 Les sauvegardes incrémentales
Les plus simples à réaliser, il suffit de copier à intervalle régulier tous les fichiers dont l’attribut d’archive est positionné à 1. On peut aussi ne sauvegarder que les modifications d’un fichier en le comparant par rapport à sa dernière sauvegarde (sauvegarde « delta » ou par bloc).
Chapitre 5 – Le protocole NDMP (Network Data Management Protocol)
Protocole de communication ouvert entre les espaces de stockage et le(s) serveur(s) de sauvegarde.
5.1 Principe de fonctionnement
Il y a interaction continue entre le serveur de données et le serveur de sauvegardes via le protocole NDMP. Dans le cas de NDMP, le client NDMP est le serveur de sauvegarde. Le serveur NDMP est quand à lui le serveur de données.
(source : http ://2001.jres.org/actes/lesanetlenas.pdf)
5.2 Domaine d’application
Le protocole NDMP est ouvert et beaucoup d’applications de sauvegarde utilisent aujourd’hui ce protocole (en option chez certains éditeurs). Il permet une uniformisation des échanges entre des serveurs de différente nature (Linux, Windows, BSD etc…) sur un réseau hétérogène.
Ce que je vais dire là vaut surtout pour les archives publiques. Cela dit il n’y a pas que dans le public que la valeur probante doit être garantie.
Ce billet montre un peu le conflit qui oppose informaticiens et archivistes. Pour les informaticiens, l’archivage c’est le stockage des données. Pour les archivistes, ça ne suffit pas. Les tris, sélections, élimination, classement, indexation, etc répondent à des normes archivistiques et à la législation aussi d’ailleurs. Si on parle d’archives publiques par exemple, il y a un vrai besoin que les informaticiens et les archivistes travaillent en étroite collaboration, acceptent de mettre de côté leurs certitudes et apprennent à parler le même langage.
Il faut respecter des délais d’utilité publique et un sort final à appliquer à chaque document, faire des déclarations d’élimination, etc.
Actuellement, on préconise la mise en place d’une plateforme parallèle au réseau sur lequel sont stockés les documents. Et la gravure de CDROM en supplément. Ce support est le seul pour lequel on dispose d’une étude claire et c’est la norme. Une nouvelle étude montrera peut-être dans quelques temps qu’il vaut mieux conserver sur disque dur mais ce n’est pas le cas et l’archiviste sera toujours indispensable pour faire respecter les délais de conservation. Un vrai travail de complémentarité entre les deux acteurs.