== Manipulation de données grille == * __variable d'environnement__[[BR]]Avant toutes choses, vous allez créer votre répertoire personnel sur le SE du LPSC. Pour cela il est nécessaire de définir les variables d'environnement $DPNS_HOST et $DPNS_HOME {{{ [lambert@lpsc-ui ~]$ setenv DPNS_HOST lpsc-se-dpm-server.in2p3.fr [lambert@lpsc-ui ~]$ setenv DPNS_HOME /dpm/in2p3.fr/home/atlas/ }}} Créez ensuite votre répertoire personnel {{{ [lambert@lpsc-ui ~]$ dpns-mkdir flambert }}} Il doit apparaitre maintenant sous /dpm/in2p3.fr/home/atlas {{{ [lambert@lpsc-ui ~]$ dpns-ls ... atlasmcdisk ... flambert ... }}} Remarque: Les commandes dpns-* sont par analogie assez similaires aux commandes lfc-*. Elles ne sont à utiliser que pour "préparer" le SE lpsc-se-dpm-server.in2p3.fr ''--> Exercice: Créez Egalement un repertoire test sous votre repertoire perso'' * __Copie de fichier__ [[BR]]La copie d'un fichier local sur le SE se fait avec la commande lcg-cr (copy and register). Cette commande effectue la copie du fichier sur le SE et enregistre eventuellement un LFN dans le LFC. * '''lcg-cr''' [-l LFN] [-d SURL] srcFile {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-cr --vo atlas -l user.flambert.testfileLFN \ -d srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile \ file://atlas/lambert/TestGrid/user.flambert.testfile guid:67796c49-29ac-4831-838d-b5ffc389e846 }}} La commande retourne un ''GUID'' qui identifie le fichier de manière unique sur la grille.[[BR]] ''-->Exercice: Créez votre fichier et copiez le sur le SE dans votre répertoire.''[[BR]] ''-->Exercice: Vérifiez que le fichier à bien été enregistré dans le LFC.'' * __Identifiants d'un fichier__ [[BR]]Une fois copier sur un SE et déclarer dans un LFC, un fichier peut être retrouvé avec plusieurs identifiants. * '''lcg-lg''' Obtenir le GUID à partir du LFN {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-lg lfn:user.flambert.testfileLFN guid:67796c49-29ac-4831-838d-b5ffc389e846 }}} * '''lcg-la''' Obtenir le LFN à partir du GUID {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-la guid:67796c49-29ac-4831-838d-b5ffc389e846 lfn:/grid/atlas/users/user.FabianLambert/user.flambert.testfileLFN }}} * '''lcg-lr''' Obtenir la SURL à partir du LFN {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-lr lfn:user.flambert.testfileLFN srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile }}} * '''lcg-gt''' Obtenir la TURL à partir de la SURL {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-gt srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile gsiftp gsiftp://lpsc-se-dpm-server.in2p3.fr/lpsc-se-dpm-server.in2p3.fr:/data2/atlas/2008-05-22/user.flambert.testfile.89643.0 89650 0 }}} ''--> Exercice : Testez les commandes précédentes sur votre fichier en essayant plusieurs options'' * __Récupérer un fichier__ [[BR]]Un fichier copié sur un SE peut être récupéré en local. * '''lcg-cp''' srcFile destFile {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-cp --vo atlas lfn:user.flambert.testfileLFN file://atlas/lambert/TestGrid/user.flambert.testfileRecup [lambert@lpsc-ui ~/TestGrid]$ ls user.flambert.testfile user.flambert.testfileRecup }}} ''--> Exercice : Récuperez votre fichier en local depuis le SE en utilisant successivement un GUID, une SURL, une TURL'' * __Répliquer un fichier__ [[BR]] Un fichier peut-être répliquer d'un SE à un autre SE.[[BR]]Remarque : Dans l'exemple suivant le SE de destination est le même que le SE source, ceci afin d'éviter des problèmes de droits sur les fichiers. * '''lcg-rep''' [-d destFile] srcFile * Le fichier est répliqué sur le SE. {{{ [lambert@lpsc-ui ~]$ lcg-rep --vo atlas -d srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/testdir/user.flambert.testfileReplica lfn:user.flambert.testfileLFN [lambert@lpsc-ui ~]$ dpns-ls testdir user.flambert.testfileReplica }}} * Aucun alias (LFN) n'est crée pour ce nouveau fichier... {{{ [lambert@lpsc-ui ~]$ lfc-ls testdir }}} * ... par contre l'alias pointe maintenant sur deux réplications du fichier {{{ [lambert@lpsc-ui ~]$ lcg-lr lfn:user.flambert.testfileLFN srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/testdir/user.flambert.testfileReplica srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile }}} ''--> Exercice : Répliquez votre fichier sur le SE du LPSC en utilisant successivement son GUID'' * __Effacer un fichier__ [[BR]]lcg-del est une commande puissante qui doit être manié avec précaution. Elle permet d'effacer un replica d'un SE, ou tous les replicas d'un SE, ou encore tous les replicas connus sur la grille ! * Effacer un replica (et un seul...) d'un SE {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-del --vo atlas --se lpsc-se-dpm-server.in2p3.fr srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/testdir/user.flambert.testfileReplica [lambert@lpsc-ui ~/TestGrid]$ lcg-lr lfn:user.flambert.testfileLFN srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.testfile }}} ''--> Exercice : Effacez votre réplica et vérifiez que votre fichier a bien été effacé du SE'' * Effacer tous les replica (fichier initial compris) d'un SE[[BR]]Remarque: l'alias est également supprimé du LFC. {{{ [lambert@lpsc-ui ~/TestGrid]$ lcg-del --vo atlas --se lpsc-se-dpm-server.in2p3.fr lfn:user.flambert.testfileLFN [lambert@lpsc-ui ~/TestGrid]$ lfc-ls }}} [wiki:dataMgt up] ; [wiki:lfcTuto previous]