CASTOR est, au CERN, le système de stockage des gros fichiers de données de physique (>1 GB). Ce tutorial s’adresse aux utilisateurs LXPLUS (tout utilisateur LXPLUS dispose d’un répertoire dans CASTOR, répertoire dont la structure est similaire à la structure du répertoire AFS mais qui nécessite des commandes spéciales pour accéder aux fichiers). Vous apprendrez à : 1.Sauvegarder un fichier dans CASTORSauvegarder un fichier dans CASTOR 2.Télécharger un fichier depuis CASTORTélécharger un fichier depuis CASTOR 3.Informer CASTOR que vous voulez accéder à un ensemble de fichiersInformer CASTOR que vous voulez accéder à un ensemble de fichiers 4.Vous assurer que vous utilisez l’emplacement correct pour stocker vos données dans CASTORVous assurer que vous utilisez l’emplacement correct pour stocker vos données dans CASTOR CASTOR : Tutoriel pour débutants 1 Tutoriel basé sur la version 1.4 du tutoriel en anglais Mars 2016
Avant de commencer…. Vous devez initialiser votre variable d’environnement STAGE_HOST % export STAGE_HOST=castorpublic CASTORPUBLIC est le point d’entrée pour tous les utilisateurs qui n’appartiennent pas à une expérience LHC. Si votre expérience dispose d’espace de stockage dédié (voir ….), vous devez initialiser STAGE_HOST avec la valeur CASTOR, car vous n’avez probablement pas accès à CASTORPUBLIC. 2
Sauvegarder un fichier dans CASTOR 3 1.Créer un répertoire, appelé ici castor_tutorial, dans VOTRE propre répertoire (home directory) [n’utilisez pas l/laman/ !] en utilisant la commande nsmkdir % nsmkdir /castor/cern.ch/user/l/laman/castor_tutorial 2.Choisir le fichier local à sauvegarder dans CASTOR. Pour notre exemple, nous utiliserons un fichier nommé test.txt % ls -l test.txt -rw-r--r-- 1 laman vy 10 Mar 21 15:05 test.txt 3.Copier le fichier dans votre répertoire nouvellement créé en utilisant la commande xrdcp % xrdcp test.txt root://castorpublic.cern.ch//castor/cern.ch/user/l/laman/castor_tutorial/castor.txt [100%][==================================================] [5/5] 4.Vérifier le contenu de votre repertoire en utilisant la commande nsls % nsls -l /castor/cern.ch/user/l/laman/castor_tutorial -rwxr--r-- 1 laman vy 10 Mar 21 15:06 castor.txt
Télécharger un fichier depuis CASTOR 4 1.Copier (télécharger) le fichier castor.txt dans votre répertoire sous le nom myfile.txt % xrdcp root://castorpublic.cern.ch//castor/cern.ch/user/l/laman/castor_tutorial/cast or.txt myfile.txt [100%][==================================================] [5/5] En résumé, avec ces deux premiers chapitres, vous avez créé deux copies de votre fichier initial test.txt : une dans CASTOR sous le nom castor.txt une seconde dans votre espace local sous le nom myfile.txt Notez également que : root utilise xroot comme protocole de transfert de données castorpublic.cern.ch héberge le serveur xroot /castor/cern.ch/user/l/laman/castor_tutorial/castor.txt est le chemin complet de votre fichier dans CASTOR
Sur disque ou sur bande ? 5 Certaines catégories de fichiers seront copiées sur bande, en plus d’être disponibles sur disque. Ce processus a lieu en parallèle, avec un délai d’environ 1 heure. Pour savoir si un fichier se trouve sur bande, il faut lire le résultat de la commande nsls : un m, qui signifie migrated, s’affiche alors en début de ligne. Pour notre exemple, le fichier castor.txt est à la fois sur un disque CASTOR et sur une bande CASTOR. % nsls -l /castor/cern.ch/user/l/laman/castor_tutorial mrwxr--r-- 1 laman vy 10 Mar 21 15:06 castor.txt Votre fichier peut, après un certain temps, disparaître de l’espace disque lorsqu’il est sauvegardé sur bande et qu’un autre utilisateur a besoin d’espace sur le disque. Toute action que vous ferez sur ce fichier (comme par exemple xrdcp pour recopier le fichier depuis CASTOR sur votre espace local) déclenchera un rappel (recall) qui aura pour résultat de recopier votre fichier depuis la bande CASTOR sur un disque CASTOR. Cela peut prendre un certain temps, indépendamment des priviléges liés à votre expérience. Note : Tous les fichiers ne sont pas sauvegardés sur bande car CASTOR offre aussi des espaces dédiés uniquement sur disque. Pour connaître votre configuration et les règles d'utilisation de l'espace, contactez votre responsable informatique.
Sur disque ou sur bande ? 6 Pour déterminer si un fichier se trouve sur disque, eg. a le statut STAGED, utiliser la commande stager_qry % stager_qry -M /castor/cern.ch/user/l/laman/castor_tutorial/castor.txt STAGEDSi votre fichier est encore sur disque, le résultat sera : /castor/cern.ch/user/l/laman/castor_tutorial/castor.txt STAGED Si votre fichier n’est pas disponible sur disque, le résultat sera : Error 2/No such file or directory (File /castor/cern.ch/user/l/laman/castor_tutorial/ castor.txt not on disk cache) Votre fichier est sur bande, et un rappel de la bande sera nécessaire avant que vous ne puissiez lire le fichier. Si votre fichier fait l’objet d’une action (par exemple xrdcp ), le résultat sera : /castor/cern.ch/user/l/laman/castor_tutorial/castor.txt STAGEIN L’action ne s’effectuera que lorsque le fichier sera sur disque.
Informer CASTOR que vous voulez accéder à plusieurs fichiers 7 Un rappel d’une bande CASTOR demande un délai minimum de 4 heures pour éviter que chaque requête d’utilisateur n’implique le montage d’une bande différente. Le délai permet de regrouper plusieurs demandes d’utilisateurs et aide ainsi à préserver les supports de bande. Pour réduire ce temps d’attente, vous pouvez informer CASTOR de votre intention d’accéder à un ensemble de fichiers, en utilisant la commande stager _get. Cette action s’appelle le ‘prestaging’. Au lieu de : xrdcp root://castorpublic.cern.ch//castor/cern.ch/user/l/l…/myfile1 myfile1 xrdcp root://castorpublic.cern.ch//castor/cern.ch/user/l/l…/myfile2 myfile2 … xrdcp root://castorpublic.cern.ch//castor/cern.ch/user/l/l…/myfilen myfilen Utiliser : stager_get –M/castor/cern.ch/…/myfile1 stager_get –M/castor/cern.ch/…/myfile2 … stager_get –M/castor/cern.ch/…/myfilen
Espaces dédiés aux expériences 8 Chaque expérience LHC dispose de sa propre installation et, en principe, votre compte est configuré de manière à utiliser ces ressources. D’autres expériences peuvent néanmoins utiliser CASTORPUBLIC, dans lequel ells auront alors des espaces réservés (appelés pools ou service class) identifiés par la variable d’environnement $STAGE_SVCCLASS Les commandes de type stager_* utilisent de manière explicite la variable d’environnement. Cependant, pour la commande xrdcp, vous devez spécifier quel(s) espace(s) utiliser. Si vous ne le faites pas, vous pourriez recevoir un message du type “access denied”, ou même causer une surcharge du système qui vous ralentira ainsi que vos collègues. Exemples: % stager_qry -S -M /castor/cern.ch/.../myfile /castor/cern.ch/.../myfile STAGED Pour copier un fichier depuis CASTOR sur votre espace local, vous devez spécifier la service class Source –OSsvcClass, et inversement la service class Destination -ODsvcClass % xrdcp root://castorpublic.cern.ch//castor/cern.ch/.../myfile.txt myfile.txt -OSsvcClass=
Pour plus d’informations … 9 Site Web de CASTOR : (pour la documentation, l'état du système et le support) Le manuel LXPLUS pour les commandes xrdcp, stager_* et ns*