# Prise en main de iRODS et des `iCommand` contact@prabi.fr ## Remerciements ``` If you use the computing resources of LBBE / PRABI, thank you to make it appear in your scientific publications by including the following sentence: "This work was performed using the computing facilities of the CC LBBE/PRABI." ``` ## Prérequis: * Lecture de la Charte des utilisateurs du CC LBBE/PRABI-amsb (http://amsb.prabi.fr/charte_utilisateur_cluster_04022019.pdf) * Formation aux bonnes pratiques d'utilisationn des ressources mutualisées (cluster, cloud, iRODS) * Un compte sur l'infrastructure mutualisée LBBE/PRABI-AMSB (contact: contact@prabi.fr pour les utilisateurs hors LBBE) * Un compte sur le CCin2p3 (contact: Simon Penel (LBBE, Tristan Lefebure (LEHNA))) * des bases en lignes de commandes UNIX (ssh, mkdir, cd, touch) # iRODS iRODS (integrated Rule-Oriented Data System) est un système de virtualisation du stockage. Ce système permet un accès transparent aux données réparties sur différents sites et sur des supports hétérogènes (systèmes de fichiers sur disque, bases de données, systèmes de bandes, etc.). Les utilisateurs de l'infrastructure mutualisée LBBE/PRABI-amsb ont la possibilité de stocker leurs données sur le système iRODS administré par le PI du LBBE et/ou sur celui administré par le CC-IN2P3. # iCommand L'accès au serveur iRODS se fait généralement à travers l'utilisation des `iCommand`. On retrouve les commandes de base Linux (cd, chmod, ls, pwd) préfixées par la lettre 'i'. |iCommand|Description| |:------:|:-------------------------------------------------------------------------:| |icd |Change le répertoire de travail| |ichmod |Donne accès/accorde des autorisations à un autre utilisateur| |iexit |Se déconnecte de iRODS| |iget |Télécharge le fichier / répertoire de iRODS sur la machine locale| |iinit |Initialise et démarre la connexion à iRODS| |ils |Liste le contenu du répertoire de travail en cours| |imeta |Gère les métadonnées définies par l’utilisateur| |imkdir |Crée un nouveau répertoire| |iput |Télécharge le fichier / répertoire de la machine locale vers iRODS| |ipwd |Affiche le nom et le chemin du dossier distant actuel| |irm |Déplace un fichier dans la corbeille| |irsync |Synchroniser un dossier d’un répertoire local avec un répertoire dans iRODS| # iRODS du CC LBBE/PRABI-AMSB Un service iRODS est proposé par le CC mutualisé LBBE/PRABI-amsb pour un stockage dit "froid" et à moyen terme des données en complément du système de stockage "tiède" sous `/beegfs/data`. Les données sous `/beefs/data/` n'étant pas sauveguardées (voir atelier slurm), l'utilisation du système iRODS est indispensable pour assurer la pérénité à court terme de vos données par exemple lors d'un projet de calcul sur le cluster et avant/en complément de l'archivage de données sous les archives publiques (ENA, SRA). La capacité de stockage sous les système iRODS du CC LBBE/PARBI-AMSB est actuellement de **360 To.** Le service iRODS est accessible depuis le serveur `pbil-deb`, le client étant déjà installé il vous suffit de créer un répertoire `~/.irods/` dans votre home et de lancer la _**iCommand**_ `iinit` dans votre terminal. Pour accéder à `pbil-deb`, il vous faudra soit vous connecter en VPN sur le réseau UCBL (http://cisr.fr/?vpn.html) soit passer par la passerelle `pbil-gates` (accessible depuis le réseau publique). ### Etape 1: Connection à la passerelle `pbil-gates` - `pbil-deb` : ``` #depuis le terminal de votre poste de travail ssh login@pbil-gates.univ-lyon1.fr echo $HOSTNAME #depuis la passerelle pbil-gates ssh login@pbil-deb.univ-lyon1.fr echo $HOSTNAME ``` | Astuce | La commande `echo $HOSTNAME` permet de savoir sur quelle machine physique on se trouve/ ### Etape 2: Initialisation de son compte i-RODS ``` iinit Enter your current PAM password: ils #tester la copie d'un fichier sous iRODS iput /etc/irods/irods_environment.json ils ``` Vous aurez besoin d'un certain nombre d'informations concernant le serveur iRODS: ``` irods_host =lbbe-irods-local irods_port = 1247 irods_zone_name= lbbeZone ``` Un fichier de configuration `irods_environment.json` dans le répertoire `~/.irods/` sera crée que vous pourez aisément éditer manuellement si besoin. ### Solution bis ``` # crée le répertoire de configuration iRODS dans son home directory (`~`) mkdir ~/.irods # copie du fichier template de configuration de l'environnement irods au format json cp /etc/irods/irods_environment.json ~/.irods/ #initialisation de son compte iRODS iinit Enter your current PAM password: ils #tester la copie d'un fichier sous iRODS iput /etc/irods/irods_environment.json ils ``` # easicmd (by Gautier Debaecker, LEHNA) Ce client est un wrapper des `iCommand` de base avec notemment la gestion de l'autocomplétion et l'automatisation de l'ajout de metadata en batch. https://github.com/sigau/easy_irods_commands ``` git clone https://github.com/sigau/easy_irods_commands cd easy_irods_commands ``` ```mermaid graph TB SubGraph1 --> SubGraph1Flow subgraph "SubGraph 1 Flow" SubGraph1Flow(SubNode 1) SubGraph1Flow -- Choice1 --> DoChoice1 SubGraph1Flow -- Choice2 --> DoChoice2 end subgraph "Main Graph" Node1[Node 1] --> Node2[Node 2] Node2 --> SubGraph1[Jump to SubGraph1] SubGraph1 --> FinalThing[Final Thing] end ``` # iRODS du ccin2p3 Vous avez également accès au système iRODS du CCIN2P3. La procédure (création de compte, configuration) est décrite sur le site du ccin2p3: https://doc.cc.in2p3.fr/fr/Data-storage/distributed-storage/irods.html Si vous souhaitez créer un compte contacter les Cezars/correspondant des laboratoires: cezar pour le LBBE et de la FR BioEEnvis (Simon Penel) cezar pour le LEHNA (Tristan Lefebure) Si vous souhaitez faire un transfert depuis votre ordinateur, il vous faudra installer un client iRODS (Icommand ou autre). Suivre les très bonnes indications fournies par le ccin2p3 (https://doc.cc.in2p3.fr/fr/Data-storage/distributed-storage/irods.html#client-irods). ## Références https://irods.org/ https://www.projet-plume.org/fiche/iRODS https://forge.in2p3.fr/projects/france-grilles-documentation/wiki/Description_du_logiciel_iRODS https://forge.in2p3.fr/projects/france-grilles-documentation/wiki/Mise_en_place_de_son_environnement_de_travail_iRODS