== 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 {{{ [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 }}} Le fichier a été répliqué sur le SE. {{{ [lambert@lpsc-ui ~]$ lfc-ls testdir }}} Aucun alias (LFN) n'a été crée pour ce nouveau 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 }}} ... par contre l'alias pointe maintenant sur deux réplications du fichier. [wiki:dataMgt up] ; [wiki:lfcTuto previous]