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.