MCIA-iRODS P. Aurel (ISM) D. Benaben (CBiB) L. Facq (IMB) P. Gay (MCIA) J. Hertzberg (UPPA) M. Irvine (INRA) Y. Laizet (I Bergonié) K. Tran Cong(I Bergonié)
Plan Présentation Interfaces graphiques Utilisation en ligne de commande Utilisation avancée 2
Présentation 3
Besoins exprimés Stockage pérenne des données scientifiques : massif, durable et évolutif Exploitabilité sur le long terme : indexation/recherche, automatique de préférence Gestion du cycle de vie des données Nettoyages (CNIL, etc...) Définition et application de politiques Surveillance du système Comptabilité d'usage Chaque sous communauté peut avoir des besoins spécifiques supplémentaires 4
L'idée Objectifs Fournir une infrastructure de stockage «pérenne» autour du Mésocentre, et dans les laboratoires Sécurisation des données par réplication géographique (3x répliques physiques) Accessible à tous les utilisateurs du Mésocentre Le projet 8 partenaires : MCIA, CBiB, IB, IMB, INRA, ISM, MCIA, UPPA Choix du logiciel irods Projet démarré en septembre 2013 Démarrage en production en septembre 2015 5
Le projet irods Principes IRODS fournit une abstraction d'un système de stockage (put, get, delete, etc.) Un moteur de règles pour les traitements automatisés Fonctionnement Les informations sont centralisées dans un catalogue (avec une base de données) Des serveurs «ressources» stockent les copies physiques des fichiers Arborescence logique (collections, fichiers) : «/MCIA/home/pigay/testdir/testfile.txt» Répliques : plusieurs copies physiques pour un même fichier logique ACLs Métadonnées utilisateurs Un même fichier logique peut être présent sur plusieurs ressources (= avoir plusieurs répliques) Le moteur de règles permet d'exprimer des traitements dans un langage de programmation spécifique Projet http://www.irods.org Licence opensource permissive (BSD) Dirigé par l'irods Consortium http://irods-consortium.org Développeurs : notamment RENCI, DICE Utilisateurs / contributeurs : plein d'instituts scientifiques américains, japonais, l'in2p3 et la BNF en France 6
Le projet MCIA-iRODS (1/3) > 1 Po répartis sur 7 sites (Bordeaux + Pau) 7
Le projet MCIA-iRODS (2/3) Organisation Les 7 partenaires hébergent des ressources de stockage (MCIA ou financement propre) Les partenaires qui contribuent avec des ressources propres bénéficient de quota supplémentaire à allouer Leurs personnels participent à l'administration et la surveillance globale de la solution Fonctionnalités La documentation et le suivi des incidents passent par le projet Redmine : https://redmine.mcia.univ-bordeaux.fr/projects/irods/wiki/irods Authentification par mot de passe séparée du compte Avakas Réplication automatique de facteur 3 : 1 Po de disque 300To de fichiers Quotas : 500 Go de fichiers par personne, extensible sur demande Checksum des fichiers Cycle de vie des données : fichiers détruits 3 mois après clôture de compte MCIA Attention! Transferts et stockage non chiffrés! 8
Le projet MCIA-iRODS (3/3) Ce que c'est Un dépôt pour les données scientifiques : sauvegarde presque sécurisée Une infrastructure qui permet : De les pérenniser par la réplication et le checksum De les organiser et les gérer efficacement grâce au catalogue et aux métadonnées De leur appliquer des politiques de gestion automatisées grâce à l'utilisation de règles Ce que ce n'est pas Un filesystem parallèle / haute performance les performances fournies ne sont pas de la même nature Un filesystem réseau (NFS, ) On ne peut pas travailler directement sur un fichier, il faut le télécharger depuis irods sur la machine locale Une alternative à DropBox pas de synchronisation automatique d'un espace de travail Chiffré!!! les données sont stockées sur les ressources et circulent en clair sur le réseau! En cas de besoin de chiffrement, il doit être mis en œuvre par l'utilisateur (contactez-nous) 9
Interfaces... «Mot de passe» «Desktop» «web» «ligne de commande» 10
Initialisation du mot de passe MCIAiRODS https://icat0.mcia.univ-bordeaux.fr:8443 Authentification : mot de passe Avakas Page d'accueil Formulaire d'initialisation ou de changement de mot de passe irods 11
Interface «desktop» : idrop https://github.com/dice-unc/idrop/wiki/idrop-installers Idrop-desktop : Windows, Mac, Linux java >= 1.7 Interface simple Parcours des fichiers, download, upload Fonctionnalité de «synchronisation» (non testé) Tous les fonctionnalités ne sont pas présentes (partage, etc.) Tous n'est pas visible (répliques, etc.) 12
13
Interface «desktop» : installation 14
Interface «web» : idrop-web https://irods-web.mcia.univ-bordeaux.fr/ 15
16
17
18
19
20
Add a local file Add a file from an URL File list to upload Start upload 21
Select file or collection 22
Define destination path Start download 23
24
25
READ WRITE READ_METADATA WRITE_METADATA Search : user or group 26
27
OWN READ WRITE 28
Limit 29
Show a web page before download/upload 30
Interface Web David 31
Client Desktop David 32
Utilisation en ligne de commande 33
Initialisation du mot de passe MCIAiRODS Initialisation sur Avakas : «$ module load irods/mcia» Création d'un mot de passe irods Changement ultérieur de mot de passe : «$ module load irods/mcia» «$ mcia-irods-password» Ou bien en mode web : https://icat0.mcia.univ-bordeaux.fr:8443 34
Installation des clients (1/2) Sur Avakas / Pyrene, pas besoin de faire l'installation : «module load irods/mcia» La première fois qu on charge le module, il faut répondre à des questions pour configurer le client Notamment : irodsdefresource siterg-ubx : MCIA (proche Avakas) siterg-cbib : CBiB siterg-ism : ISM siterg-imb : IMB siterg-uppa : UPPA siterg-ib : Institut Bergonié siterg-inra : INRA Villenave d'ornon Exécuter la commande «iinit» pour initialiser le mot de passe du client 35
Installation des clients (2/2) Sur une machine Linux (hors Avakas et Pyrene) : https://redmine.mcia.univ-bordeaux.fr/projects/irods/wiki/installation_icommands 36
Icommands (1/2) Documentation : Sur le Wiki redmine https://docs.irods.org/master/icommands/user/ Option «-h» ou commande «ihelp» Session : $ iinit Répertoires : $ ipwd $ icd $ imkdir $ ils [-lla] FTP like : $ iget $ iput Manipulation logique $ imv $ icp $ irm $ ichmod 37
Icommands (2/2) Répliques : $ irepl $ itrim Transferts : $ irsync Métadonnées : $ imeta -C -d set get ls fichier/collection $ imeta -C -d qu AttName op AttVal Extensions MCIA Wildcards : ilsw, igetw, irmw $ idu $ irepl-check $ imeta-coll $ iextract 38
Utilisation avancée 39
Réplication automatique Lors du dépôt d'un fichier, le système crée automatiquement une «règle» qui va effectuer la réplication en 3 exemplaires, de manière asynchrone La première réplique est déposée par l'utilisateur dans la ressource par défaut (voir configuration du client : «ienv») Les deux répliques suivantes sont choisies en fonction de la place disponible sur les sites Le fichier n'est donc pas immédiatement répliqué De plus, la procédure de réplication peut parfois échouer Chaque réplique compte dans l'évaluation du quota utilisateur Le système contrôle périodiquement le nombre de répliques des fichiers En cas d'erreur, les administrateurs corrigeront ce nombre, ou vous contacterons pour savoir quoi faire 40
Contrôle du facteur de réplication On peut vouloir limiter le nombre de répliques pour les fichiers d'un répertoire (collection) Il faut placer une métadonnée «replfactor» au niveau de la collection On doit, si nécessaire, le faire de manière récursive : «imetacoll» Si on crée une collection («imkdir») dont le parent possède un replfactor, celui-ci est copié automatiquement Si on modifie le replfactor d'une collection, on doit corriger le nombre des répliques des fichiers de l'arborescence : «ireplcheck -r replfactor+3 --repair» 41
Quotas Les quotas sont calculés régulièrement Chaque réplique compte : 1ko répliqué 3 fois consomme 3ko de quota Initialement, chaque utilisateur dispose de 1500Go de quota (500Go de fichiers) Afin de demander une extension de quota, demander au Comité des Utilisateurs MCIA : mcia-comut@diff.u-bordeaux.fr Préciser le volume demandé, la durée d'utilisation, une description du projet scientifique 42
Groupes de travail et quotas Les groupes sont les mêmes que sur Avakas. Pour une collaboration, il suffit de demander la création d'un groupe pour Avakas : il sera automatiquement créé dans MCIA-iRODS et on pourra l'utiliser dans les ACLs On peut demander d'allouer un quota à une collaboration. Pour un groupe «gr1», cela aboutira à la création d'un utilisateur irods «collabgr1» C'est cet utilisateur qui se verra alloué le quota Pour qu'un fichier soit comptabilisé dans le quota d'un groupe de collaboration, il faudra le déposer dans l'arborescence du groupe Par exemple : «/MCIA/home/gr1/» Dans les 24 heures, le fichier déposé sera transféré à l'utilisateur «collab-gr1» et sera comptabilisé dans le quota correspondant 43
Cycle de vie des comptes Chaque compte utilisateur MCIA-iRODS correspond à un compte Avakas de même login Le cycle de vie de ces comptes est le même Soumis ux mêmes conditions et notamment à la charte d'utilisation MCIA http://www.mcia.univ-bordeaux.fr/index.php?id=charte_d_utilisation Renouvelé tous les ans Les données stockées dans MCIA-iRODS sont liées à la validité du compte MCIA Les données relatives à un compte désactivé seront supprimées 3 mois après la date d'expiration du compte Les quotas précédemment alloués à un compte désactivé seront éventuellement réaffectés à d'autres 44
Corbeille, effacement des fichiers La commande «irm» ne supprime pas les fichiers. Elle les met dans une corbeille «/MCIA/trash/<username>/» Les répliques des fichiers dans la corbeille continuent à compter dans le quota utilisateur Les corbeilles sont nettoyées régulièrement par une procédure automatique Les fichiers de plus de 10 jours sont supprimés Pour supprimer définitivement un fichier, utiliser «irm -f» 45
Vérification de l'intégrité des fichiers (WIP) Une somme de contrôle de chaque réplique est stockée dans le catalogue A terme, MCIA-iRODS vérifiera l'adéquation entre le contenu des répliques physiques et la somme de contrôle, sur une base régulière En cas de problème, des actions de réparation pourront être menées 46
Aller plus loin Pour extraire des informations du catalogue : Exécuter des règles (procédures) en tant qu'utilisateur $ iquest $ irule Besoins particuliers : demandez nous! Par exemple : Métadonnées automatiques Commandes supplémentaires Envie de participer au projet? Join our cause! 47
Questions 48