README.md 6.08 KB
Newer Older
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
1
# Prise en main de iRODS et des `iCommand`
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
2

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
3
contact@prabi.fr
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
4

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
5 6
## Remerciements

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
7 8 9
```
If you use the computing resources of LBBE / PRABI, thank you to make it
appear in your scientific publications by including the following sentence:
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
10
"This work was performed using the computing facilities of the CC LBBE/PRABI."
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
11
```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
12

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
13 14
## Prérequis:

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
15
* Lecture de la Charte des utilisateurs du CC LBBE/PRABI-amsb (http://amsb.prabi.fr/charte_utilisateur_cluster_04022019.pdf)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
16
* Formation aux bonnes pratiques d'utilisation des ressources mutualisées (cluster, cloud, iRODS)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
17
* Un compte sur l'infrastructure mutualisée LBBE/PRABI-AMSB (contact: contact@prabi.fr pour les utilisateurs hors LBBE)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
18 19
* Un compte sur le CC-IN2P3 (contact: Simon Penel (LBBE, Tristan Lefebure (LEHNA)))
* Bases en lignes de commandes UNIX (ssh, mkdir, cd, touch)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
20

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
21 22
# iRODS

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
23 24
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.).

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
25
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. 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
26

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
27 28
# iCommand

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
29 30
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'.

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|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|

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
46
# iRODS du CC LBBE/PRABI-AMSB
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
47

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
48
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/<user_account>` n'étant pas sauveguardées (voir <a href="https://gitlab.in2p3.fr/vincent.navratil/training-prabi/-/blob/master/handson-slurm/README.md" target="_blank">atelier slurm</a>), 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). 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
49 50 51

La capacité de stockage sous les système iRODS du CC LBBE/PARBI-AMSB est actuellement de **360 To.**

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
52 53
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).

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
54
### Etape 1: Connection à la passerelle `pbil-gates` - `pbil-deb` :
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
55

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
56
```bash
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
57 58 59 60 61 62 63
#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
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
64 65

```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
66

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
67 68 69
| Astuce
| La commande `echo $HOSTNAME` permet de savoir sur quelle machine physique on se trouve/

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
70
### Etape 2: Initialisation de son compte i-RODS
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
71

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
72
```bash
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
73 74
iinit
Enter your current PAM password:
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
75 76 77 78 79 80

ils
#tester la copie d'un fichier sous iRODS
iput /etc/irods/irods_environment.json
ils

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
81
```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
82 83 84

Vous aurez besoin d'un certain nombre d'informations concernant le serveur iRODS:

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
85
```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
86
irods_host = lbbe-irods-local
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
87
irods_port = 1247
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
88
irods_zone_name= lbbeZone
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
89 90 91 92
```

Un fichier de configuration `irods_environment.json` dans le répertoire `~/.irods/` sera crée que vous pourez aisément éditer manuellement si besoin.

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
93
### Solution bis
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
94

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
95
```bash
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
96
# crée le répertoire de configuration iRODS dans son <b>home directory</b> (`~`)
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
97
mkdir ~/.irods
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
98
# copie du fichier template de configuration de l'environnement irods au format json
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
99
cp /etc/irods/irods_environment.json ~/.irods/
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
100

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
101 102 103
#initialisation de son compte iRODS
iinit
Enter your current PAM password:
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
104

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
105 106 107 108 109 110
ils
#tester la copie d'un fichier sous iRODS
iput /etc/irods/irods_environment.json
ils

```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
111 112 113 114 115
# 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
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
116

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
117
```bash 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
118 119 120
git clone https://github.com/sigau/easy_irods_commands
cd easy_irods_commands
```
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
121

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
122 123
# iRODS du CC-IN2p3

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
124
Vous avez également accès au système iRODS du CCIN2P3.
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
125 126 127 128

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

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
129 130 131
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) 
NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
132

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
133 134
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).

NAVRATIL VINCENT's avatar
NAVRATIL VINCENT committed
135 136 137 138 139 140 141
## 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