Le 11/12/00

                  Transferer  des fichiers Monte Carlo  du C2IN2P3  vers D0MINO  avec BBFTP

 

 
 
 

BBFTP Home Page

A/   Client-Serveur bbftp :Les outils  de transfert ( serveur et client ) sont développés par Gilles Farrache pour D0 et Babar. Ces 2 expériences transferent
regulièrement  outre-atlantique des volumes importants de données.  L'intéret de ce transfert est d'aller vite et  en cas de
suspension de la ligne  pendant plus de 50 mn de ne perdre que le fichier courant .  Cependant ces données  ont des caractéristiques  tres différentes :

Babar :    les données sont fortement compressibles et elles sont extraites des disques objectivity.
D0      :    les données  sont des fichiers  déja compressés au maximum et ils  résident sur des disques (rfio a Lyon ou /pnfs sur
                 D0mino
 

 Dans la version  1.9.4,  le client bbftp est installé sur toutes les machines interactives de Lyon et le demon tourne sous  root,  sur d0mino.fnal.gov
 
 

Remarques :

1/  Au démarrage du transfert, le  serveur   alloue la place disque maximum ( contrairement au ftp standard) : donc le critére de la
taille n'est pas valable pour surveiller le transfert.

2/  On peut utiliser le client pour transferer des données à partir des disques /afs
 
 

B/ Transfert de fichiers simulés dans le cadre d'une production pmc03


Les scripts *.csh et *.py  du package d0_bbftp.tar permettent la création du fichier de controle  à bbftp ainsi que  l'envoi des fichiers *.params et *.py des repertoires Metadata.  Le stage des fichiers  en batch est  soumis si les données  sont  sur bande ( option Xtage)

Installation  des scripts :

    Se placer dans le repertoire de travail d'une production  cad $GROUP_DIR/workdir  ( les jobdir se trouve dans $GROUP_DIR/workdir )

    Copier à  partir de $THRONG_DIR/info-data/pmc03/d0_bbftp.tar.gz

    Detarer le fichier

    cd d0_bbftp
 

Le  déroulement du script est le suivant :

          1/ Faut il transferer les répertoires Metadata [CR=yes]
                        Si oui    ===>  Confirmer  [yes/no]

          2/ Creation du fichier de controle de bbftp à  partir de HPSS [CR=yes]
                        Si non   ===>   Creation du fichier de controle de bbftp à  partir de XTAGE [yes/no]

La syntaxe d'appel de run_bbftp.csh est :

run_ftp_bbftp.csh    prodname ( nom du répertoire top de production )  database_name (nom du fichier database)  [ where ( chemin absolu du disque output sur d0mino )]

Exemple :

              ./run_ftp_bbftp.csh   fakedir export_database

ou
              ./run_ftp_bbftp.csh   myprod  export_hpss_database  /tmp/777/
 
 

La 1ère commande concerne la production qui se trouve $GROUP_DIR/workdir/fakedir ;  par defaut , les transferts de fichiers se font dans /sam/cache20/import/in2p3
On peut spécifier un autre  filesystem de d0mino pour envoyer les fichiers ( /scratch4/user/...)
Au lancement du script run_ftp_bbftp.csh,   sont crées deux repertoires  de travail  w_prodname/export  et w_prodname/export_param pour chaque production à exporter  à partir de d0_bbftp
Vous devez donc vérifier si vous avez les droits d'écriture sur  ces filesystem  sinon adressez vous  à Lee Lueking
Enfin, afin que les fichiers data soient rapidement ecrits dans Enstore, il  est conseillé de vérifier la syntaxe des   fichier import.py  avec les commandes suivantes :

setup n32
setup python
setup sam
python my_importfile.py

Quand le fichier ctrlfile est cree dans w_prodname/export,  le transfert de fichiers peut etre lance par la commande : ./d0_bbftpc.csh &

Quand tous les fichiers sont arrivés, une dernière opération est nécessaire , à savoir mettre les droits 777 sur tous les fichiers (params, import et data)
 

Remarques

1/    L'analyse du staging des fichiers de data se fait à partir d'un fichier  database crée le script createdb.sh.

2/   Vous devez donc vérifier si vous avez les droits d'écriture sur  les filesystem   concernés sinon adressez vous  à Lee Lueking

3/    Le script run_ftp_bbftp.csh permet de ne pas transférer les fichiers  *.params et import.py  s'ils ont déjà été transferés ou s'il
s'agit d'un export privé.
 

 4/   Si les données sont des  fichiers stagés ,  ils ne sont plus 'accessed' au moment du client bbftp  :
IL faut donc les maintenir en exécutant sur C2in2p3,  le script interactif   make_xtagein.csh crée  dans le répertoire  w_prodname

 5/     Liste des fichiers de d0_bbftp.tar

            run_ftp_bbftp.csh
                 ftparam.py                       :  fait les liens vers les fichiers *.params et import.py
                     d0ftparam                    :  fait le transfert de  *.params et import.py
                 ftpsim_bbftp.py               :  fait le stage des fichiers
                 make_ctrl_bbftp.py         :  cree le fichier de controle
                d0_bbftpc.csh                   :  active le client bbftpc - a condition d'avoir obtenu un pid  avec la commande  bbftpcd -u user -o mypid d0mino.fnal.gov

            MyTools.py                           :   librairie de mc_runjob  (G.Graham)