Utilisation du Stockage

Le Storage Element (SE) est une machine de la grille permettant de stocker des fichiers. Ce service est accessible depuis tous les serveurs de calcul (Worker Nodes) et toutes les machines interactives (User Interfaces). Cependant, les fichiers stockés sur cette machine ne sont accessibles que par l'utilisation de commandes spécifiques.

Visualisation  de l'espace occupé, disponible et total du SE

Avant d'envoyer des données sur le SE de l'IPNL, assurez vous que vous disposez d'assez d'espace :

$ se_usage <nom de la VO>

Stockage d'un fichier sur un SE

Si vous êtes sur une machine interactive, il faut avant toute chose vous identifier sur la grille, et donc créer un proxy :

$ voms-proxy-init --voms <nom de la VO>

Les commandes gfal- remplacent les commandes lcg-, cette partie est en cours de révision.

Description Ancienne commande Nouvelle commande
Ajouter un alias à un GUID                 lcg-aa           Obsolète                                                                    
Copier des fichiers sans catalogue           lcg-cp           gfal-copy                                                                      
Copier et enregistrer des fichiers dans un catalogue                     lcg-cr           gfal-copy                                                                      
Effacer fichiers et répertoires                     lcg-del           gfal-rm                                                                        
Récupérer le checksum d'un fichier                         lcg-get-checksum gfal-sum                                                                      
Récupérer la TURLs d'une SURLs               lcg-getturls     gfal-xattr "user.replicas"                                                    
Récupérer la TURLs d'une SURL               lcg-gt           gfal-xattr "user.replicas"                                                    
Liste des aliases d'un LFN/GUID             lcg-la           Obsolète                                                                    
Récupérer le GUID d'un LFN                 lcg-lg           gfal-xattr "user.guid"                                                        
Liste les replicas d'un LFN           lcg-lr           gfal-xattr "user.replicas"                                                    
Liste les information d'un fichier / directory                 lcg-ls           gfal-ls                                                                        
Supprimer un alias                               lcg-ra           Obsolète                                                                    
Copier entre plusieurs SEs en utilisant le catalogue           lcg-rep           gfal-copy                                                                      
Enregistrer un fichier dans un catalogue     lcg-rf           gfal-copy                                                                      
Récupérer un space tokens associé a une description lcg-stmd         gfal-xattr 'spacetoken"/"spacetoken.token?$tok"/"spacetoken.description?$desc"
Supprimer l'enregistrement d'un fichier                       lcg-uf           Obsolète                                                                    
Créer un répertoire                                               gfal-mkdir                                                                    
Envoyer la sortie standard dans un fichier                               gfal-save                                                                      
Envoyer le contenu d'un fichier sur la sortie standard                           gfal-cat                                                                      

Ensuite vous pouvez enregistrer un fichier local sur le SE :

$ lcg-cr --vo <nom de la VO> -d <nom du SE> file:<adresse absolue du fichier>

Par exemple, en utilisant le SE de l'IPNL (lyogrid06.in2p3.fr) :

$ lcg-cr --vo vo.ipnl.in2p3.fr -d lyogrid06.in2p3.fr file:/tmp/test.txt

La commande devrait vous retourner un GUID (Globally Unique IDentifier) permettant d'identifier le fichier.

Remarque : Pour toutes les commandes lcg-*, l'option -v permet d'obtenir plus de détails sur l'évolution et le résultat de la commande.

Suppression du fichier

Pour supprimer le fichier, vous pouvez utiliser son GUID :

$ lcg-del -a --vo vo.ipnl.in2p3.fr guid:f77ea699-98d1-4822-bf26-47879c7e2daf

Utilisation du LFC

Le GUID nous permet bien d'identifier le fichier, cela dit cette chaine de caractères n'est pas très intuitive. Il est donc possible d'utiliser un nom logique (Logical File Name : LFN) qui ressemblera à une arborescence de fichier plus habituelle.

La correspondance entre le GUID et le LFN est stockée sur une autre machine : le LFC (Logical File Catalog). Cette machine doit être définie dans la variable d'environnement $LFC_HOST. Sur les machines de l'IPNL, cette variable est définie par défaut avec la valeur lyolfc.in2p3.fr qui est le serveur LFC de l'IPNL.

Vous pouvez parcourir l'arborescence des noms de fichiers logiques comme sur un système de fichier classique en utilisant la commande :

$ lfc-ls /
$ lfc-ls /grid/
$ ...

Vous pouvez également créer un nouveau répertoire avec la commande lfc-mkdir.

Lorsque vous enregistrez un nouveau fichier sur le SE, il vous est donc possible de définir un nom logique avec l'option -l :

$ lcg-cr --vo vo.ipnl.in2p3.fr -d lyogrid06.in2p3.fr file:/tmp/test.txt -l /grid/vo.ipnl.in2p3.fr/mon_repertoire/test.txt

Comme sur un système de fichier classique, la commande précédente ne peut fonctionner que si le répertoire existe.

Dorénavant, il est possible d'utiliser le LFN /grid/vo.ipnl.in2p3.fr/mon_repertoire/test.txt pour identifier le fichier. La commande de suppression peut donc devenir :

$ lcg-del -a --vo vo.ipnl.in2p3.fr lfn:/grid/vo.ipnl.in2p3.fr/mon_repertoire/test.txt

Récupération d'un fichier sur le SE

Vous pouvez faire une copie locale d'un fichier stocké sur le SE avec la commande suivante :

$ lcg-cp --vo vo.ipnl.in2p3.fr lfn:/grid/vo.ipnl.in2p3.fr/mon_repertoire/test.txt file:/tmp/test2.txt

Une copie du fichier devrait se trouver dans /tmp/test2.txt.

Copie d'un fichier d'un SE à un autre

Vous pouvez copier un fichier entre 2 SE (création d'un répliqua) avec la commande suivante :

$ lcg-rep --vo <NOM DE LA VO> -d <SE_DESTINATION> lfn:<LFN DU FICHIER>

La liste des répliquas d'un fichier est accessible par la commande :

$ lcg-lr --vo <NOM DE LA VO> lfn:<LFN DU FICHIER>

Suppression d'un des répliquas

Si vous ne souhaitez supprimer qu'un répliqua (et non toutes les occurences du fichier), remplacez l'option -a par -s suivie d'un nom de SE dans la commande lcg-del :

$ lcg-del --vo vo.ipnl.in2p3.fr -s <SE CONTENANT UN RÉPLIQUA> lfn:/grid/vo.ipnl.in2p3.fr/mon_repertoire/test.txt

Le fichier ne sera alors supprimé que sur le SE spécifié, les autres répliquas subsisteront.