Projet

Général

Profil

Le projet

Présentation

Un nouveau système de stockage porté par le Mésocentre de Calcul Intensif Aquitain et 6 partenaires :

  • Université de Bordeaux, Mésocentre de Calcul Intensif Aquitain (MCIA)
  • Université de Pau et des Pays de l'Adour (UPPA)
  • Université de Poitiers et Ecole Nationale Supérieure de Mécanique et d’Aérotechnique (ENSMA)
  • Institut National de Recherche pour l'Agriculture, l'Alimentation et l'Environnement de Bordeaux (INRAE)
  • Institut de Mathématiques de Bordeaux (IMB)
  • Institut des Sciences Moléculaires (ISM)

L'objectif est de disposer d'un stockage des données de grande capacité, sécurisé, durable et évolutif en complément des possibilités existantes (stokage NFS des /home utilisateur, stockage parallèle de haute performance GPFS).
Le projet a été validé par le comité scientifique du MCIA en octobre 2020.

Qu'est-ce que c'est

Ce système de stockage est basé sur le logiciel de gestion de données iRODS http://irods.org.

iRODS est un système de stockage dit "objet". C'est à dire que pour travailler sur un fichier, il faut le récupérer préalablement avec la commande iget monFichier. De même, pour déposer un objet sur ce système de stockage: iput monFichier. Il existe ainsi une myriade de "icommand" pour gérer en ligne de commande ces fichiers (ils, iput, iget, irm, irsync, icp etc.). Ces commandes sont assez similaires a ce que l'on connaît (ls, rm, rsync, cp, etc.). Pour plus d'informations, voir ICommands.
Mais il est aussi possible d'utiliser une interface graphique pour visualiser et travailler sur ces données: Brocoli

iRODS a été conçu pour assurer la gestion d'une grande quantité de donnée.
Par gestion, on entends par exemple: être capable de transférer de grande quantité de données, de les stocker, de gérer finement les droits d'accès, d'associer des métadonneés aux données, de définir des politiques (durée de rétention, nombre de réplication, emplacement de stockage, etc.) ou de définir des actions à réaliser automatiquement.
Il est aussi capable d'agréger des ressources hétérogènes (disques, bandes, etc.)
C'est donc un système puissant mais qui peut s'avérer complexe de prime abord.
La gestion de ces données est réalisé dans iRODS à l'aide de "règles" et de "microservices.
Le langage utilisé pour définir ces règles et microservices est assez complexe à prendre en main.

+iRODS en bref:+

  • iRODS = Integrated Rule-Oriented Data-management System
  • Site web: https://www.irods.org
  • Historique de plus de 12 ans (issu du monde de la grille de calcul)
  • Open source, licence BSD
  • Développé par le "Data Intensive Cyber Environments (DICE) Center" + partenaires (CC-IN2P3, ...)
  • Supporté par la "National Archives and Records Administration" et la "National Science Foundation"
  • Projets internationaux (des centaines de collaborateurs)
  • Plusieurs Po de données, des centaines de millions de fichiers dans le monde
  • Références: National Aeronautics and Space Administration (NASA), Bibliothèque Nationale de France (BNF), Sanger Institute, BaBar Experiment, etc.
  • Pour aller plus loin: http://irods.org/resources/

Techniquement

Les 3 centres partenaires hébergent chacun:

  • 3 serveurs DELL R740XD (20 cœurs, 96GB RAM, 12 disques 12 To)

Pour un total de ~ 1.3Po brut.

La sécurisation est assuré par un RAID6 et la couche logicielle iRODS qui réplique les données sur plusieurs sites.

Ainsi, sur chaque serveur est installé iRODS.

La solution se compose;

  • d'un serveur dédié « iCAT » (métacatalogue)
    • C'est là que sont enregistrés la localisation de chaque fichiers, les métadonnées associées, etc.
    • C'est le serveur central de la solution.
    • Ce service tourne sur une machine virtuelle appelé "icat1" qui fait tourner iRODS ("icat enabled") et une base de donnée PostgreSQL.
  • Des ressources de stockage (iRODS Server)
  • Un système de « règles »

Et le tout est administré via un gestionnaire de configuration Ansible et supervisé via Centreon et Grafana