iRODS

Le système iRODS (Integrated Rule-Oriented Data System) est un outil permettant 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.)

Important

Le CC-IN2P3 propose un script Python ergonomique fournissant une interface graphique pour interagir avec iRODS. Vous pouvez trouver l’utilitaire dans son projet GitLab :

Disponible pour Windows, macOS et Linux.

Obtenir un compte

Vous devez disposer d’un compte iRODS pour pouvoir l’utiliser sur CC-IN2P3 : vous pouvez le demander en contactant le support utilisateurs. Une fois votre demande approuvée, vous recevrez vos paramètres de connexion.

Utiliser les iCommands

Les iCommands sont les utilitaires en ligne de commande Unix et Windows qui assurent l’interface au système iRODS. Vous pouvez installer le client sur votre machine de travail ou, si vous avez un compte calcul, vous pouvez vous connecter depuis un serveur interactif et configurer votre environnement. Veuillez trouver ci-dessous les recettes pour les deux méthodes.

Vous pouvez télécharger le client à partir de la version 4.0 depuis le site du projet ou utiliser le gestionnaire de paquets de votre machine.

Pour télécharger les clients en version 3.x, sélectionnez l’archive correspondant à votre système d’exploitation depuis la liste ci-dessous. Extrayez ensuite l’archive et ajustez votre variable d’environnement PATH en conséquence.

Important

On rappelle que les utilisateurs des serveurs en 3.3.1 doivent avoir un client en 3.3.1, de la même manière que les utilisateurs des serveurs 4.x doivent avoir un client en 4.x

L’information relative à la version de l’instance du serveur sur lequel l’utilisateur travaillera (irodsZone), lui sera transmise lors de sa demande de compte.

Il est aussi possible d’utiliser iRODS au travers d’API Java en utilisant le paquet jargon.

Pour Windows, il existe un client graphique qui permet de naviguer dans l’arborescence iRODS de façon conviviale.

Démarrer avec les iCommands

Exécutez la commande iinit

% iinit

qui vous demandera les paramètres suivants (que vous aurez reçus lors de votre demande de compte) :

irodsHost:

Le nom de la machine où est hebergé le serveur iRODS.

irodsPort:

Le port de connexion au serveur.

irodsUserName:

Le « compte iRODS » de l’utilisateur.

irodsZone:

L’instance iRODS sur laquelle seront vos données.

Il demandera enfin le mot de passe de votre compte.

Une fois terminé vos activités sur l’environnement iRODS, exécutez la commande iexit.

Attention

Les noms de fichier ne doivent PAS contenir des accents ou des caractères spéciaux tels que #?! * etc.

iCommands utiles

Veuillez trouver ci-dessous la liste des iCommands les plus utilisés. Utilisez l’option -h avec la commande de votre choix pour avoir plus de détails.

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

init

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

Vous trouverez plus d’informations au sujet des iCommands sur la page de documentation de iRODS.

Gérer les métadonnées

Les métadonnées sont des données relatives à vos données. Dans iRODS, les métadonnées incluent les attributs système et ceux définis au niveau utilisateur associés à un Data-Object, une collection, une ressource, etc. stockés dans la base de données iCAT.

Pour ajouter, supprimer, répertorier ou interroger des métadonnées définies par l’utilisateur, utilisez la commande imeta :

% imeta
Usage: imeta [-vVh] [command] Commands are:

add -d|C|R|u Name AttName AttValue [AttUnits] (Add new AVU triplet)
rm  -d|C|R|u Name AttName AttValue [AttUnits] (Remove AVU)
rmw -d|C|R|u Name AttName AttValue [AttUnits] (Remove AVU, use Wildcards)
ls  -d|C|R|u Name [AttName] (List existing AVUs for item Name)
lsw -d|C|R|u Name [AttName] (List existing AVUs, use Wildcards)
qu -d|C|R|u AttName Op AttVal  (Query objects with matching AVUs)
cp -d|C|R|u -d|C|R|u Name1 Name2 (Copy AVUs from item Name1 to Name2)

Avec imeta vous pouvez ajouter des métadonnées à : Data-Object, Collection, User.

Une métadonnée est définie par un triplet contenant :

  • le Attribute Name (AttName)

  • le Attribute Value (AttVal)

  • le Attribute Unit (AttUnits)

Ajouter une métadonnée à une collection /tempZone/home/<username>/images :

% imeta add -C /tempZone/home/<username>/images type tiff
% imeta add -C /tempZone/home/<username>/images zone isere

Répertorier des métadonnées :

% imeta ls -C /tempZone/home/<username>/images
AVUs defined for collection /tempZone/home/<username>/images:
attribute: type
value: tiff
unit:
----
attribute: zone
value: isere
unit:

Supprimer des métadonnées :

% imeta rm -C /tempZone/home/<username>/images/montagne type tiff

Rechercher des données à partir de métadonnées :

% imeta qu -C zone = isere
collection: /tempZone/home/<username>/images

Migration vers bandes magnétiques

Il est possible, sur demande, de déclencher une migration de vos données arrivant sur iRODS vers notre système de stockage hiérarchique sur bande HPSS . Merci de contacter le support utilisateurs pour demander l’activation de ce mécanisme.