Presentation is loading. Please wait.

Presentation is loading. Please wait.

Duomenų valdymas.

Similar presentations


Presentation on theme: "Duomenų valdymas."— Presentation transcript:

1 Duomenų valdymas

2 Kaip išsaugoti ir pasiimti didelės apimties failus.
“Data Managemen” paslauga yra naudojamaduomenų siuntimui, išdėstymui ir pasiekimui ( accesing) Ji reikalinga tam, kad duomenys, kurie reikalingi skaičiavimams ar yra gaunami skaičiavimo metu būtų išsaugoti , t Kaip išsaugoti ir pasiimti didelės apimties failus. gLite failai vadinami skirtingais vardais tokiais kaip: Grid Unique IDentifier (GUID), Logical File Name (LFN), Storage URL (SURL) Transport URL (TURL). Indetifikuoja failus nepriklausomai nuo jų padėties failo Kur failas fiziškai yra išsidėstęs ir kaip ją pasiekti

3 gLite failų vardų katalogas:
Loginiai failų vardai (Logical File Name (LFN)) Alias sukuriamas naudotojo tam, kad aprašyti kai kuriuos duomenis turi formą: lfn:/<bet koks pavadinimas> pvz.: “lfn:/grid/balticgrid/user2/file2.dat” Globally Unique Identifier (GUID) Mašinos “skaitomas” tam tikrų duomenų (failų)unikalus numeris: guid:<36_bytes_unique_string> pvz.“guid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6”

4 URL (SURL) ( bylos pavadinimas (PFN) )
”Fizinis” duomenų išsidėstymas saugojimo elemente. Formatas: <sfn|srm>://<SE_hostname>/<some_string>  Pvz.:“srm://dpm01.grid.etf.rtu.lv/dpm/grid.etf.rtu.lv/home/balticgrid/generated/ /file fe94-4cac” - (SRM)  “sfn://tbed0101.cern.ch/data/balticgrid/file1” - (Classic SE) Siuntimo (TRANSPORT) URL (TURL) Byla, kurią skaito ir interpretuoja SE formatas:<protocol>://<some_string>  Pvz.: “ rfio://wn06.grid.etf.rtu.lv//data/balticgrid/ /file fe94-4cac-a e79b677f ” or „gsiftp://wn06.grid.etf.rtu.lv/wn06.grid.etf.rtu.lv:/data/balticgrid/ /file fe94-4cac-a e79b677f ”

5 Sąsajos, sąryšiai tarp bylų LFNs, GUIDs ir SURLs yra saugomi “ File Catalogue”, o pačios bylos yra išsaugomos Saugojimo elemente, kuriame naudotojas gali sudėti savo bylas, kurias jis naudos vėliau.

6 “Klientų įrankiai” “ Data Management” įrankiais, naudotojas siunčia užduotį ir ją pasiima iš grid'o, bylos “replikuoja” tarp saugojimo elemento, sąveikaujama su “File Catalogue” ir panašiai. Aukščiausio lygmens “data management” įrankiai yra nepasiekiami ir nematomi eiliniams naudotojams. Tai SE, siuntimo ir valdymo įrankiai. Žemesnio lygmens įrankiai yra pasiekiami, bet juos gali naudoti tik ekspertai. Naudotojas bylų katalogą pasiekia panaudodamas lcg_util. Bylų valdymui gLite yra dviejų tipo komandos: "lfc-*" komandos priskiriamos LFC katalogams, kurie valdo loginius failus (lfns), bei išdėsto logines bylas į failus saugojimo URLs. LFC pati savaime nėra saugojimo sistema. Tai duomenų bazė, kuri išsaugo naudotojo failų pėdsakus duomenų bazėje. "lcg-*" komandomis kopijuojamos bylos iš ir į SE bei atgaminami failai. Lcg- komandos naudojamos tiek saugojimo elemente, tiek katalogų serveryje.

7 Įsitikinimui, kad “Katalogų paslaugos” veikia korektiškai, naudojami keli kintamieji. Tikrinama:
~]$ echo $LCG_GFAL_INFOSYS; bdii.mif.vu.lt:2170 ~]$ echo $LCG_CATALOG_TYPE ~]$ echo $LFC_HOST Jai katalogai tušti, jie sukuriami tokiu būdu: export LCG_GFAL_INFOSYS= ( Katalogo pavadinimas) Pvz.: bdii.grid.etf.rtu.lv:2170 export LCG_CATALOG_TYPE=lfc export LFC_HOST=lfc.balticgrid.org Pagal nutylėjimą - LCG bylų katalogas (LFC) sukurtas balticgrid VO yra lfc.balticgrid.org, bet naudotojas gali sukurti bylų katalogą ant bet kurio išsirinkto Grid saito, pvz.:grid3.mif.vu.lt Gamess VO bylų katalogų pavadinimus galima rasti komanda: lcg-infosites --vo gamess lfc

8 Kai pagal nutylėjimą bylų katalogai nėra randami, išsaugojama naudojamant “environment variable” panaudojus komandą LFC_HOST, pvz.: ~]$ export LFC_HOST=lfc.balticgrid.org Kad nereikėtų aukščiau minimos komandos kartoti kiekvieną kartą, šis kintamasis gali būti įtrauktas į .bashrc bylą, kuri susikuria kiekvieną kartą, kai tik prisijungiate prie UI.

9 # User specific aliases and functions # Source global definitions
Susikuria savaime .bashrc: Koreguotas .bashrc: # .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi #export environment variables for lfc/lcg #export LFC_HOST=lfc.balticgrid.org #export LCG_CATALOG_TYPE=lfc #alias rsh=/usr/bin/ssh #export DDI_RSH=ssh #eval `/usr/bin/ssh-agent` >/dev/null #/usr/bin/ssh-add # .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi #alias rsh=/usr/bin/ssh #export DDI_RSH=ssh #eval `/usr/bin/ssh-agent` >/dev/null #/usr/bin/ssh-add

10 LFC bylų struktūra kiekvienai VO yra sekanti:
Saugojimo elementas gali būti priskirtas tik vienai arba kelioms skirtingoms VO. Kuris SE, kaip ir katalogas bus naudojamas priklauso nuo to, kuriai VO esate priskirtas. .  LFC bylų struktūra kiekvienai VO yra sekanti: /grid ( aukštesnė direktorija /grid/balticgrid ( VO direktorija žemiau). Direktorija peržiūrima : lfc-ls -l /grid/balticgrid Turime direktorijos info: drwxrwxr-x Mar 16 10:27 BGC2011 drwxrwxr-x Mar 04 11:01 BGCC2010 drwxrwxr-x Mar 16 11:05 BGCC2011 drwxrwxr-x Mar 01 16:25 GTLA2009

11 Sukurti direktoriją bylų kataloge
Tam, kad bylos būtų įrašytos SE, reikia susikurti savo direktoriją failų kataloge. Pagrindinis bruožas – visų bylų pavadinimai turi pradžią: /grid/<vo>/ lfc-mkdir –p /grid/<vo>/<user name> Pvz.: ~]$ lfc-mkdir -p /grid/balticgrid/$USER lfc-mkdir -p /grid/balticgrid/$Elena Patikrinama, ar direktorija sukurta: ~]$ lfc-ls -l /grid/balticgrid drwxrwxr-x 155 root Mar 16 10:27 balticgrid drwxrwxr-x 3 root Mar biit drwxrwxr-x 0 root Sep estonia

12 Bylos patalpinimas į katalogą
Pratimas: ~]$ echo " Labas .txt ieskau SE " > text.txt ~]$ cat text.txt

13 Patikrinimas, kuriuos SE galima naudoti
Kurie SE yra priskiriami VO, randama komanda: lcg-infosites --vo balticgrid se Turėtų būti: Avail Space(Kb)   Used Space(Kb) Type   SEs                   n.a    se01.grid.lumii.lv          n.a    io.hep.kbfi.ee              n.a    se.basnet.by Yra: ~]$ lcg-infosites --vo gamess se Avail Space(Kb) Used Space(Kb) Type SEs ~]$ lcg-infosites --vo balticgrid se :) :) :) :) :) :)

14 Bylos išdėstymas SE 1. Susikuriama direktorija: /gird/balticgrid/$elena 2. Komanda llcg copy-register byla iš UI kopijuojama į SE ir registeruojama bylų kataloge. Komandos turi būti įrašytos vienoje eilutėje: lcg-cr -d <SE_name> -l lfn:/grid/<vo>/<user_name>/<any_string_you_want> --vo balticgrid file:/< MySrcFilePath > Kur : SE_name -  SE pavadinimas, išrenkamas iš sąrašo, kurį pateikiamas naudojant lcg-infosites –vo gamess se.  lfn – loginis failo pavadinimas. Privalo turėti pavidalą: lfn:/grid/<specified VO>/<user name> --vo = Virtuali Organizacija. MySrcFilePath - failas, kurį norėtumėte iš UI kopijuoti į SE. Jis turi turėti pavidalą: file:AbsolutePath on UI machine Kai nėra nurodyta vieta ( SE_name praleistas), failas yra išdėstomas bet kuriame Balticgrid saugojimo elemente.

15 Pavyzdys: ~]$ lcg-cr -d dpm01.grid.etf.rtu.lv -l lfn:/grid/balticgrid/and63/text123.txt --vo balticgrid file:/home/and63/text123.txt guid:44971a08-9acc ff551597 Komanda sugrąžina GUID. Kai norima pamatyti savo direktorijos sudėtį, naudojama: lfc-ls /grid/balticgrid/<username> ~]$ lfc-ls -l /grid/balticgrid/and63 -rw-rw-r Aug 20 12:57 text123.txt

16 Bylų replikavimas Kartais reikia bylas išsaugoti keliuose SE ( bylas replikuojame). Tokiu būdu failus išdėstome arčiau skaičiavimo elemento, tad neprarandame laiko dėl failų atsisiuntimo. Byla gali būti išsaugota keliuose SE, tad pradėjus skaičiavimus, duomenys bus paimti iš SE, kuris yra arčiausiai. Be to išvengiame problemų susijusių su SE. Kai byla yra išsaugota viename SE, jis gali būti replikuojamas į kitą SE komanda: lcg-rep -vo <VO> -d <dest_host> guid:<the_unique_string> Šiuo atveju reikalingas guid bylos, kuri yra išdėstoma. lcg-lg (list GUID) pateiks guid susijusias su specifiniais lfn ar surl: lcg-lg --vo <VO> lfn:/grid/<VO>/<username>/<filename>

17 Pavyzdys: 1. Išsiunčiame failą į SE ~]$ lcg-lg --vo balticgrid lfn:/grid/balticgrid/and63/text123.txt 2. Gauname jo GUID guid:44971a08-9acc ff551597 3. Bylą replikuojame: ~]$ lcg-rep --vo balticgrid -d se02.grid.lumii.lv guid:44971a08-9acc ff551597 4. Patikriname ar byla replikavosi lcg-lr --vo balticgrid <guid:> or <lfn:/grid/balticgrid/username/<file_name>> Pvz.: lcg-lr --vo balticgrid lfn:/grid/balticgrid/and63/text123.txt Atsako pavidalas: ~] srm://dpm01.grid.etf.rtu.lv/dpm/grid.etf.rtu.lv/home/balticgrid/generated/ /filecc6fa74e-171f-43ae-ad2c-bd d6 srm://se02.grid.lumii.lv/dpm/grid.lumii.lv/home/balticgrid/generated/ /file93c8e76c-6fc8-41b8-84fc-5b784fbeea47 Pastaba: Vienam GUID, gali būti tik viena kopija viename SE. Jei lcg-rep naudojama norint išdėstyti bylą SE, kuriame ji jau yra – byla bus įrašyta, bet nauja byla neatsiras. ( Keisti pavadinimus)t

18 Bylų paėmimas iš SE Naudojama komanda: lcg-cp --vo balticgrid lfn:/grid/<vo>/<username>/<filename> file:/home/<username>/<local_filename> Pavyzdys: ~]$ lcg-cp --vo balticgrid lfn:/grid/balticgrid/and63/text123.txt file:/home/and63/local_text123.txt Patikrinama, ar failas atsirado ant UI ls –l komanda. Ar failai sutampa, tikrinama su cat komanda.

19 Bylų pašalinimas iš SE Bylos, kurios yra Seir registruotos bylų kataloge gali būti ištrintos sekančiai: lcg-del -a -v --vo balticgrid lfn:/grid/<vo>/<username>/<filename> Kai SURL yra pateikiamas kaip argumentas – ištrinama tam tikra kopija, Kai vietoj SURL yra pateikiamas LFN ar GUID, turi būti naudojama -s <SE>, kad būtų nurodyta, iš kurio SE byla turi būti ištrinta. Kai naudojama -a visos kopijos iš visų SE bus ištrintos ir išregistruotos. lcg-lr komandos panaudojimas ištrinant visas kopijas: ~]$ lcg-lr --vo balticgrid lfn:/grid/balticgrid/and63/text123.txt srm://dpm01.grid.etf.rtu.lv/dpm/grid.etf.rtu.lv/home/balticgrid/generated/ /filecc6fa74e-171f-43ae-ad2c-bd d6 srm://se02.grid.lumii.lv/dpm/grid.lumii.lv/home/balticgrid/generated/ /file93c8e76c-6fc8-41b8-84fc-5b784fbeea47

20 Ištrinti norimą bylą su SURL :
~]$ lcg-del --vo balticgrid srm://se02.grid.lumii.lv/dpm/grid.lumii.lv/home/balticgrid/generated/ /file93c8e76c-6fc8-41b8-84fc-5b784fbeea47 Patikriname, ar kopija ištrinta : ~]$ lcg-lr --vo balticgrid lfn:/grid/balticgrid/and63/text123.txt  srm://dpm01.grid.etf.rtu.lv/dpm/grid.etf.rtu.lv/home/balticgrid/generated/ /filecc6fa74e-171f-43ae-ad2c-bd d6 Po patikrinimo, matyti, liko viena kopija Ištrinti visas kopijas ir išsiregistruoti, pavyzdžiui: ~]$ lcg-del --vo balticgrid –a lfn:/grid/balticgrid/and63/text123.txt Patikrinimas: [LFC] lfc.balticgrid.org: /grid/balticgrid/and63/text123.txt: No such file or directory lcg_lr: No such file or directory Paskutinė pastaba nurodo, kad guid daugiau nėra registruotas kataloge – viskas ištrinta.

21 “Environment” kintamieji
Supaprastiną lfc-*, and lcg-* komandų naudojimą: export LCG_GFAL_VO=balticgrid – nereikia naudoti --vo kiekvieną kartą export LFC_HOME=/grid/balticgrid/$USER/ – nereikia nurodyti viso pavadinimo, kur byla įrašoma export VO_BALTICGRID_DEFAULT_SE=<SE_name> - nurodomas SE, kuris bus randamas pagal nutylėjimą, tad jo nereikės nurodyti kiekvieną kartą. Pavyzdžiui: ~]$ export LCG_GFAL_VO=balticgrid ~]$ export LFC_HOME=/grid/balticgrid/$USER/ Tada naudojamos trumpesnės komandos (be –vo ir nepilnu lfn): ~]$ lcg-cr -d dpm01.grid.etf.rtu.lv -l lfn:text123.txt file:/home/and63/text123.txt Kas yra direktorijoje, nustatoma: ~]$ lfc-ls -l -rw-rw-r Aug 20 16:18 text123.txt Nereikia rašyti pilno lfn.

22 Paprastesnio kopijavimo į SE pavyzdžiai.:
~]$ lcg-lr lfn:text123.txt srm://dpm01.grid.etf.rtu.lv/dpm/grid.etf.rtu.lv/home/balticgrid/generated/ /file fe94-4cac-a e79b677f Jei duomenys nusiunčiame į SE, kuris yra pasirenkamas ( nustatymas: “pasirink pagal nutylėjimą”) komanda sutrumpėja: ~]$ export VO_BALTICGRID_DEFAULT_SE=dpm01.grid.etf.rtu.lv Nenurodant kur keliauja uždavinys: ~]$ lcg-cr -l lfn:text123_second.txt file:/home/and63/text123.txt guid:ee27fdb3-a c-bb09-2d5a Kai nenorima komandų “export LCG_GFAL_VO=balticgrid ir export LFC_HOME=/grid/balticgrid/$USER/ naudoti kiekvieną kartą, jos yra įrašomos į .baschr bylą:

23 # .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi #export environment variables for lfc/lcg #export LFC_HOST=lfc.balticgrid.org #export LCG_CATALOG_TYPE=lfc #export LOG_GFAL_VO=balticgrid #export LFC_HOME/grid/balticgrid/$USEr #export VO_BALTICGRID_DEFAULT_SE=( SE pavadinimas) #alias rsh=/usr/bin/ssh #export DDI_RSH=ssh #eval `/usr/bin/ssh-agent` >/dev/null #/usr/bin/ssh-add

24 Susikurti VOMS prroxy ~]$ voms-proxy-init --voms balticgrid Susikurti direktoriją sclab_data: ~]$ mkdir scilab_data Dirbsime joje Sudaryti reikiamus gamess failus. Pvz: scilab.jdl, scilab.sh and scilab.inp

25 File scilab.sh is wrapper which call Scilab software and running on it scilab.sci after the completion of job results is transmitted to SE. Below is scilab.sh file with full description. echo "Job started `date`" #when task start (it not mandatory)  #If you want that job output after job execution  #is transmitted to SE (which is strongly recommended)  #very important is to indicate the Worker Node (WN) #where is your file catalogue. #It is done set up this environment variable export LFC_HOST=lfc.balticgrid.org  # Start Scilab. # Program on WN can be in different directories with different names  # so we use VO_BALTICGRID_SW_DIR variable which is common approach  # calling and running certain program on remotely WN. $VO_BALTICGRID_SW_DIR/scilab-4.0/bin/scilab -f scilab.sci -nb -nwni #Copy output to storage (SE). #Results are copied(job output file) to file catalogue directory - #scilab_results lcg-cr -v --vo balticgrid -d dpm01.grid.etf.rtu.lv –l lfn:/grid/balticgrid/<username>/scilab_results results echo "Job ended `date`" #when task end

26 The same scillab.sh file with my username and without any comments are given bellow:
echo "Job started `date`" export LFC_HOST=lfc.balticgrid.org $VO_BALTICGRID_SW_DIR/scilab-4.0/bin/scilab -f scilab.sci -nb -nwni ls -la lcg-cr -v --vo balticgrid -d dpm01.grid.etf.rtu.lv –l lfn:/grid/balticgrid/and63/scilab_results results echo "Job ended `date`"

27 Create a job description file named scilab.jdl with this content:
Type = "Job"; JobType = "Normal"; VirtualOrganisation = "balticgrid"; Executable = "scilab.sh"; StdOutput = "scilab.out"; StdError = "scilab.err"; InputSandbox={"scilab.sci","scilab.sh"}; OutputSandbox = {"scilab.err","scilab.out"}; Requirements = (other.GlueCEPolicyMaxWallClockTime > 30 && Member("VO-balticgrid-scilab-4.0", other.GlueHostApplicationSoftwareRunTimeEnvironment)); If the job duration is significant, it is strongly advised to put a requirement on the wall clock time (expressed in minutes), needed for the job to complete. For this example requirements mean that the job could need up to 30 min execution time and also Grid site Scilab software installed.  Grid sites support different job waiting queues on the CE therefore if user doesn’t specify approximate time for job execution job can get inappropriate queue. For example, short time job (some hours) gets queued long time queue where one job execution takes long period (one day or more), short time job may have to wait while long jobs executes. Or, if long time job doesn’t’ have requirement on the time it can get short time queue by default where it will be aborted after exceeding time limits.. NOTE If a job exceeds the time limits of the queue where it is running, it will be killed by the batch system.  Necessary job files could be created with any text editor like pico or vi utility or create it on your local computer and copy it to UI. At the end of this step your scilab_data directory should contain these three files:

28 Necessary job files could be created with any text editor like pico or vi utility or create it on your local computer and copy it to UI. At the end of this step your scilab_data directory should contain these three files: scilab_data]$ ls -l Total 12 -rw-r--r-- 1 and63 users 358 Oct 29 18:59 scilab.jdl -rw-r--r-- 1 and63 users 138 Oct 30 15:02 scilab.sci -rw-r--r-- 1 and63 users 327 Oct 29 18:58 scilab.sh

29 Check which computing elements (CE's) are able to accept this job as well as information about Balticgrid from BalticGrid Infosite: scilab_data]$ glite-wms-job-list-match -a scilab.jdl Connecting to the service ========================================================================== COMPUTING ELEMENT IDs LIST The following CE(s) matching your job requirements have been found: *CEId* - ce01.grid.etf.rtu.lv:2119/jobmanager-pbs-balticgrid - ce01.grid.etf.rtu.lv:2119/jobmanager-pbs-bgcore4

30 Job submission on my chosen CE (- a – delegation performed automatically):
scilab_data]$ glite-wms-job-submit -a -o scilab.id -r ce01.grid.etf.rtu.lv:2119/jobmanager-pbs-bgcore4 scilab.jdl Connecting to the service ====================== glite-wms-job-submit Success ====================== The job has been successfully submitted to the WMProxy Your job identifier is: The job identifier has been saved in the following file: /home/and63/scilab_data/scilab.id ==========================================================================

31 Check job status: scilab_data]$ glite-wms-job-status -i scilab.id ************************************************************* BOOKKEEPING INFORMATION: Status info for the Job : Current Status: Scheduled Status Reason: Job successfully submitted to Globus Destination: ce01.grid.etf.rtu.lv:2119/jobmanager-pbs-bgcore4 Submitted: Tue Nov 3 11:59: EET Current Status: Done (Success) Exit code: 0 Status Reason: Job terminated successfully Destination: ce.grid.etf.rtu.lv:2119/jobmanager-lcgpbs-short

32 Check job output on SE:  scilab_data]$ lfc-ls -l /grid/balticgrid/and63  -rw-rw-r Nov 04 06:01 scilab_results Retrieve Job output from SE to UI scilab_data directory: scilab_data]$ lcg-cp --vo balticgrid lfn:/grid/balticgrid/and63/scilab_results file:/home/and63/scilab_data/scilab_results Now you have results on your UI, check it: scilab_data]$ ls -l total 104 -rw-r--r-- 1 and63 users    80 Nov  4 10:47 scilab.id -rw-r--r-- 1 and63 users   382 Oct 30 18:10 scilab.jdl -rw-r--r-- 1 and63 users Nov  4 14:27 scilab_results -rw-r--r-- 1 and63 users   138 Oct 30 15:02 scilab.sci -rw-r--r-- 1 and63 users   339 Nov  4 10:46 scilab.sh an transmit results on your local machine, to process it with Scilab software as necessary and/or interpret graphically

33

34


Download ppt "Duomenų valdymas."

Similar presentations


Ads by Google