5.5. Stockage des données

Voir aussi

Cette section s’appuie fortement sur la description de l’architecture des données, en particulier en ce qui concerne les données d’archive.

Les offres de stockage VITAM portent la référence des données concernant les archives hébergées par le système VITAM : leur contenu binaire (BDO), mais également les métadonnées associées au sens large (AU, GOT, journaux).

VITAM possède trois implémentations possibles d’offres de stockage « classiques » : l’implémentation basée sur un système de fichiers, l’implémentation Swift et l’implémentation S3. En complément, une implémention Tape-library permet l’usage de robotique de cartouches magnétiques.

Note

Dans cette version, une offre de stockage Tape-library, aussi désignée Offre froide, doit être utilisée conjointement avec une offre disque « classique ». Une installation de Vitam ne peut donc pas fonctionner correctement en utilisant que des offres froides en terme de stockage. Les offres froides ne peuvent pas être définies comme offres référentes (elles doivent rester secondaires)

VITAM peut stocker les données dans plusieurs offres de stockage en parallèle afin de se parer contre la perte de données. Les deux types d’offres peuvent être utilisées seuls ou ensemble sur des offres de stockage différentes : ainsi, on peut configurer VITAM pour déposer les données dans 2 offres de stockage filesystem disjointes, ou dans une offre de stockage filesystem et une offre Swift, ou encore dans une offre de stockage filesystem et 2 offres Swift différentes (se basant sur 2 clusters Swift distincts) ; tout dépend des contraintes de non-perte de données, de scalabilité et de résilience à la panne qui sont abordés dans la description des types d’offres ci-dessous.

Note

Un mécanisme de resynchronisation d’une offre de stockage avec une autre, migrant de fait les données entre offres, est disponible en mode complet (la procédure est décrite dans le DEX). La resynchronisation partielle n’est pas supportée dans cette version du système VITAM, mais est prévue pour une future release.

Important

Dans le but d’assurer au maximum la pérennité des données conservées dans le système VITAM, il est très fortement conseillé de stocker les données dans au moins 2 technologies de stockage différentes (ex: 2 stockages objets de constructeurs et technologies différentes, un stockage objet et un stockage bloc, 2 stockages bloc de constructeurs et technologies différentes, …)

5.5.1. Offre filesystem

L’offre filesystem permet de stocker les données sur un système de fichiers accessible localement par le composant « storage-offer ».

Points positifs :

  • facile à mettre en place
  • facile à exploiter
  • facile à sauvegarder

Points négatifs :

  • pour une offre de stockage, seule une seule instance du service storage-offer peut être active à un instant donné, ce qui implique que cette offre :

    • n’est pas scalable par multi-instanciation (i.e. horizontalement) ;
    • ne possède pas de solution de haute disponibilité portée par la solution logicielle.

Par conséquent, elle est particulièrement adaptée pour les déploiements de test ou de petite taille (ordre de grandeur : < 10 To), mais est à déconseiller pour les déploiements sur des volumétries importantes.

Prudence

L’offre filesystem nécessite un système de fichiers acceptant les attributs étendus (ex: XFS) ; en particulier, il n’est donc pas possible d’héberger les données sur un montage NFS (NFS ne supportant pas les attributs étendus).

5.5.2. Offre Swift

L’offre Swift permet de stocker les données sur un stockage objet implémentant l’API Swift.

Points positifs :

  • scalable : storage-offer se comporte dans ce scénario comme une passerelle vers l’API Swift ; il est donc multi-instanciable au sein d’une offre de stockage.
  • consomme une API normalisée : elle est donc compatible avec un grand nombre d’implémentations différentes de Swift.

Points négatifs :

  • nécessite la mise en place et l’exploitation d’un stockage objet, ce qui est potentiellement plus complexe et moins courant que la mise à disposition d’un simple stockage bloc ou fichier.

Par conséquent, elle est particulièrement adaptée pour les déploiements en production de forte volumétrie.

Note

Dans cette version de la solution logicielle VITAM, l’implémentation Swift n’est en théorie pas obligée de permettre l’upload de fichiers de taille non connue par avance (mode « chunk encoding ») ; cependant, aucun test pertinent n’a pu être effectué faute d’implémentation disponible. Merci de remonter à l’équipe support tout bug associé à ce comportement.

Avertissement

Seules les API d’authentification keystone v1 et v3 sont aujourd’hui officiellement supportées par la solution logicielle VITAM.

Note

Par tenant VITAM utilisé, 17 containers sont créés.

5.5.3. Offre S3

L’offre S3 permet de stocker les données sur un stockage objet implémentant l’API S3.

Les points positifs et négatifs sont les mêmes que pour l’offre Swift.

L’offre S3 utilise le client java S3 du SDK Amazon V1. De ce fait la compatibilité du stockage en API S3 choise sera limitée à sa compatibilité avec le client pour pouvoir utiliser l’offre S3. Pour que VITAM soit compatible avec l’API S3 les noms de conteneurs sont transformés pour obtenir des noms de bucket valids :

  • remplacement de tous les caractères non alphanumériques par des “.”
  • suppression des “.” au début et à la fin
  • passage de tous les caractères en minuscule

Note

Dans cette version de la solution logicielle VITAM, l’implémentation S3 fournie par VITAM nécessite la taille du fichier pour l’envoyer dans le stockage S3.

Note

Par tenant VITAM utilisé, 17 containers sont créés.

5.5.4. Offre Tape-library

L’offre Tape-library, aussi désignée Offre Froide, permet de stocker les données sur des librairies de cartouches magnétiques.

Elle s’appuie sur des commandes linux standard pour manipuler les éléments robotiques. Elle est donc a priori compatible avec tous les matériels compatibles Linux.

Points positifs :

  • Froide : a contrario des offres disques déjà utilisables dans Vitam (FS ou Objet), l’accès aux données sur les cartouches n’est pas immédiat. Il nécessite le montage des cartouches dans des lecteurs, qui sont en nombre limités. En cas de corruption des données des offres disques, sa répercussion vers les données archivées sur cartouches serait très lente. C’est une garantie de sécurité supplémentaire.
  • Peu onéreuse : comparée à un stockage disque, un stockage bande est moins onéreux: 1 To de stockage sur LTO revient à 10€ HT.
  • Externalisable : les cartouches peuvent être extraites de la librairie une fois les données inscrites, et stockées dans un local sécurisé tiers.

Note

Dans sa version actuelle, Vitam ne prend pas en charge les opérations d’externalisation. Ce process ne peut être réalisé que manuellement.

Points négatifs :

  • Nécessite la mise en place et l’exploitation d’une librairie de cartouches. Cela induit les manipulations de médias pour externalisation, ajout de cartouches neuves, etc … Afin de ne pas ralentir le fonctionnement en écriture de l’application durant ces manipulations, les données sont stockées dans un espace disque « tampon » avant d’être transférées sur bandes.

L’offre Tape-library utilise les commandes standard mt et mtx pour manipuler les lecteurs de bandes et la librairie. Ces outils doivent être présents sur le serveur supportant l’offre. Cette même machine doit également avoir accès à la librairie soit par attachement direct, soit par le biais d’un accès distant ( ex: iscsi )

Note

L’usage des commandes mt et mtx nécessite d’associer le user vitam au groupe unix « tape »