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