Project

General

Profile

Utiliser GFAL2

Cette documentation détaille la gestion des données stockées sur un serveur DPM à l'aide des outils GFAL2.

Pré-requis

Installation du client

Actuellement, les paquets ne sont disponibles que pour la distribution RedHat et ses dérivés (la version Ubuntu est en cours de packaging). Les paquets sont fournis par le dépôt EPEL. Une fois ce dépôt disponible sur votre système, les outils gfal2 et dpm peuvent être rapidement installés avec :

$ yum install gfal2-util gfal2-all dpm

Sélection du serveur de stockage

L'infrastructure France Grilles dispose de plusieurs serveurs de stockage. Vous pouvez en obtenir la liste sur https://operations-portal.egi.eu/vapor/resources/GL2ResVO (choisissez la VO vo.france-grilles.fr dans le menu à gauche). Dans cette documentation, nous utiliserons le serveur de stockage sbgse1.in2p3.fr hébergé par le site IN2P3-IRES.

L'URL suivante est utilisée pour l'ensemble de la documentation. Elle sera abrégée en ${SRM} :

$ export SRM="srm://sbgse1.in2p3.fr:8446/dpm/in2p3.fr/home/vo.france-grilles.fr" 

Utilisation des outils GFAL2

Lecture du contenu d'un répertoire

La commande gfal-ls permet de lister le contenu d'un répertoire. Le résultat de cette commande est similaire à celui de la commande ls. Dans l'exemple ci-dessous, remplacez :

$ gfal-ls ${SRM}
generated
jpansane
user

$ gfal-ls -l ${SRM}
drwxrwxr-x   1 48    50            0 Apr 27  2016 generated    
drwxrwxr-x   1 48    51            0 Apr 20  2015 jpansane    
drwxrwxr-x   1 48    52            0 Sep 11  2015 user

Création d'un répertoire

La commande gfal-mkdir permet de créer un répertoire :

$ gfal-mkdir ${SRM}/user/m/myusername
$ gfal-ls  ${SRM}/user/m
myusername

Copie d'un fichier

La commande gfal-copy permet de copier des données depuis ou vers un serveur DPM :

$ gfal-copy file://${PWD}/my_dataset.tar.gz ${SRM}/user/m/myusername/my_dataset.tar.gz
Copying file://${PWD}/my_dataset.tar.gz   [DONE]  after 2s
$ gfal-ls ${SRM}/user/m/myusername
my_dataset.tar.gz

Vérification des droits d'un fichier

La commande dpns-getacl permet d'obtenir les permissions d'accès à un fichier ou à un dossier. Le chemin du fichier utilisé par cette commande est raccourci par rapport à la variable ${SRM}, mais il faut au préalable exporter la variable d'environnement DPNS_HOST :

$ export DPNS_HOST=sbgse1.in2p3.fr
$ dpns-getacl /dpm/in2p3.fr/home/vo.france-grilles.fr/user/m/myusername/my_dataset.tar.gz
# file: /dpm/in2p3.fr/home/vo.france-grilles.fr/user/m/myusername/my_dataset.tar.gz
# owner: /O=GRID-FR/C=FR/O=CNRS/OU=LAB/CN=MYUSERNAME
# group: vo.france-grilles.fr
user::rw-
group::rw-           #effective:rw-
other::r--

Modification des droits d'un fichier

La commande dpns-setactl permet de modifier les permissions d'accès à un fichier ou à un répertoire. Par défaut, les fichiers créés dans un répertoire héritent des permissions de ce répertoire. La commande suivante permet d'empêcher la consultation (lecture et écriture) à tout le monde, sauf au propriétaire et au groupe du fichier :

$ dpns-setacl -s u::6,g::4,o::0 /dpm/in2p3.fr/home/vo.france-grilles.fr/user/m/myusername/my_dataset.tar.gz

$ dpns-getactl /dpm/in2p3.fr/home/vo.france-grilles.fr/user/m/myusername/my_dataset.tar.gz
# file: /dpm/in2p3.fr/home/vo.france-grilles.fr/user/m/myusername/my_dataset.tar.gz
# owner: /O=GRID-FR/C=FR/O=CNRS/OU=LAB/CN=USER
# group: vo.france-grilles.fr
user::rw-
group::r--           #effective:r--
other::---

Suppression d'un fichier

La commande gfal-rm permet de supprimer un fichier sur le serveur DPM :

$ gfal-rm ${SRM}/user/m/myusername/my_dataset.tar.gz

Suppression d'un répertoire

La commande gfal-rm -r permet de supprimer un répertoire (et son contenu) :

$ gfal-rm -r ${SRM}/user/m/myusername