IngridPtWiki:Computação Grid:Utilizadores
De IngridPtWiki
Introdução
Antes de iniciar as suas actividades como utilizador no campo da computação grid, é conveniente adquirir conhecimentos sobre a arquitectura e os processos de interacção com o sistema. Os tutoriais disponíveis na área de documentação providenciam uma excelente base de trabalho inicial.
Requisitos de acesso a uma infra-estrutura Grid
Obter um certificado digital
O primeiro passo para que um utilizador tenha acesso a qualquer infra-estrutura Grid, nacional ou internacional, é a obtenção de um certificado digital X509. Os certificados são emitidos pela LIPCA - Autoridade de Certificação Portuguesa operada pelo LIP, e apenas são disponibilizados para entidades académicas ou relacionadas. O uso dos mesmos está restrito ao descrito no documento CP/CPS, como seja pesquisa académica e actividades educativas. O procedimento para obter um certificado está detalhado na página pública da LIPCA [1].
De forma sucinta, o requerente deve:
- ser membro de uma organização académica portuguesa ou centro de pesquisa académica.
- preencher o formulário disponível em [2]
- Entregar o formulário anterior (versão em papel) na sua Autoridade de Registo (RA);
- Caso a instituição do utilizador ainda não tenha uma RA, e nem deseje formar uma, entregar o formulário nas instalações do LIP (Lisboa ou Coimbra) fazendo-se acompanhar de um documento comprovativo da filiação a uma organização académica portuguesa ou centro de pesquisa académica.
- Entrar na "Interface Pública" correspondente à sua Autoridade de Registo [3], e preencher o formulário electrónico;
- Caso a instituição do utilizador ainda não tenha uma RA, e nem deseje formar uma, usar a "Interface Pública" Lisboa ou Coimbra (escolher a que mais se adequa geográficamente ao utilizador)
- no acto da emissão do certificado, o requerente receberá um email da LIPCA com instruções (link) de como aceder ao seu certificado digital
- O utilizador deve usar o mesmo browser utilizado quando requereu o certificado
- Consultar vídeo: Pedir certificado online
Registo na VO
O passo seguinte consiste no registo numa Organização Virtual (VO) de acordo com os objectivos científicos do utilizador. O utilizador deve:
- Verificar se possui o seu certificado instalado no browser;
- Consultar a lista de VOs INGRID:
- Seleccionar a VO à qual pretende aderir na interface web do servidor de VOMS, e proceder ao registo;
- Após o registo, o utilizador recebe um email de confirmação do seu endereço electrónico;
- Caso a confirmação seja bem sucedida, o pedido segue para o administrador da VO para aprovação;
- Caso o pedido tenha sido aprovado pelo administrador da VO, o requerente recebe um email de confirmação, e fica automaticamente habilitado a utilizar todos os recursos disponíveis no contexto da VO.
- Consultar vídeo: Registo numa VO
Instalação do certificado digital
O passo final para que um utilizador comece a interagir com qualquer infra-estrutura Grid é a instalação do certificado digital, no formato .pem, na gLite User Interface. Para tal, o utilizador deve:
- Fazer backup do certificado digital a partir do browser;
- No caso do Firefox, esta operação é realizada fazendo:
- Edit -> Preferences -> View Certificates
- Escolher o certificado a guardar
- Backup
- Escolher a localização onde guardar o certificado (em formato .p12)
- Save
- Introduzir a password do "Software Security Device"
- Introduzir uma password robusta como passphrase do certificado.
- Consultar video: Backup do certificado digital (firefox)
- No caso do Firefox, esta operação é realizada fazendo:
- Converter o certificado digital do formato .p12 para o formato .pem (tenha em atenção que o conjunto de chaves privada/publica devem manter a nomenclatura userkey.pem/usercert.pem). Deve realizar a conversão em máquinas com uma versão de openssl superior à 1.0.0 beta5.
[username@machine ~]$ openssl pkcs12 -nocerts -in usercert.p12 -out userkey.pem Enter Import Password: MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase: [username@machine ~]$ touch userkey.pem; chmod 400 userkey.pem [username@machine ~]$ touch usercert.pem; chmod 644 usercert.pem [ username@machine~]$ openssl pkcs12 -clcerts -nokeys -in usercert.p12 -out usercert.pem Enter Import Password: MAC verified OK [username@machine ~]$ ll user*.pem -rw-r--r-- 1 username users 1830 2009-11-09 20:21 usercert.pem -r-------- 1 username users 1131 2009-11-09 20:21 userkey.pem
- Copiar as chaves publicas e privadas do utilizador para a gLite-UI, debaixo de uma directoria ~/.globus
[username@machine ~]$ scp user*.pem username@ui01.ncg.ingrid.pt:~/.globus/ username@ui01.ncg.ingrid.pt's password: usercert.pem 100% 1830 1.8KB/s 00:00 userkey.pem 100% 1131 1.1KB/s 00:00
- Garantir sempre que as permissões das chaves publicas e privadas são as correctas
[username@ui01.ncg.ingrid.pt~]$ cd .globus; chmod 644 usercert.pem; chmod 400 userkey.pem
Operações de autorização
A interacção com qualquer infra-estrutura Grid é realizada a partir de comandos de linha instalados numa gLite-UI. O utilizador deve, portanto, ter acesso via ssh a esse serviço. Para requerer uma conta/password nos serviços gLite-UI disponíveis no âmbito do projecto INGRID, por favor contacte o suporte técnico.
Credencial (proxy) de acesso à infra-estrutura
[username@machine ~]$ ssh -l username ui01.ncg.ingrid.pt username@ui01.ncg.ingrid.pt's password: Last login: Mon Nov 2 17:25:14 2009 from elnet-111.lip.pt [username@ui01 ~]$ voms-proxy-init --voms iber.vo.ibergrid.eu Cannot find file or dir: /home/ingrid/username/.glite/vomses Enter GRID pass phrase: Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name Creating temporary proxy ........................................................................ Done Contacting voms01.ncg.ingrid.pt:40003 [/C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt] "iber.vo.ibergrid.eu" Done Creating proxy ...................................................................................................................................... Done Your proxy is valid until Tue Nov 10 07:17:56 2009
Informação sobre a credencial gerada
[username@ui01 ~]$ voms-proxy-info --all subject : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy issuer : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name identity : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name type : proxy strength : 1024 bits path : /tmp/x509up_u500 timeleft : 11:59:50 === VO iber.vo.ibergrid.eu extension information === VO : iber.vo.ibergrid.eu subject : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name issuer : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt attribute : /iber.vo.ibergrid.eu/Role=NULL/Capability=NULL attribute : /iber.vo.ibergrid.eu/Portugal/Role=NULL/Capability=NULL timeleft : 11:59:50 uri : voms01.ncg.ingrid.pt:40003
Lista de atributos (ROLES) de uma dada VO
[username@ui01 ~]$ voms-proxy-list --voms iber.vo.ibergrid.eu Cannot find file or dir: /home/ingrid/username/.glite/vomses Enter GRID pass phrase: Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name Creating temporary proxy ..................................................................... Done Contacting voms01.ncg.ingrid.pt:40003 [/C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt] "iber.vo.ibergrid.eu" Done Available attributes: /iber.vo.ibergrid.eu/Role=NULL/Capability=NULL /iber.vo.ibergrid.eu/Portugal/Role=NULL/Capability=NULL /iber.vo.ibergrid.eu/Role=Production/Capability=NULL /iber.vo.ibergrid.eu/Role=SW-Admin/Capability=NULL /iber.vo.ibergrid.eu/Role=VO-Admin/Capability=NULL
Inicializar credencial com um atributo (ROLE) diferente do pré-definido para a VO
[username@ui01 ~]$ voms-proxy-init --voms iber.vo.ibergrid.eu:/iber.vo.ibergrid.eu/Portugal Cannot find file or dir: /home/ingrid/username/.glite/vomses Enter GRID pass phrase: Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name Creating temporary proxy ....................................... Done Contacting voms01.ncg.ingrid.pt:40003 [/C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt] "iber.vo.ibergrid.eu" Done Creating proxy .................................. Done Your proxy is valid until Tue Nov 10 07:23:02 2009
Finalizar sessão
[username@ui01 ~]$ voms-proxy-destroy; voms-proxy-info Couldn't find a valid proxy.
Operações com servidores MyProxy
Os servidores de MyProxy são utilizados sempre que é necessaŕio executar tarefas de computação longas, e de maior duração do que o proxy gerado permite. Neste contexto, é necessário guardar o "proxy" no servidor MyProxy, e o serviço WMS responsabiliza-se por revalidar o proxy do utilizador 30 minutos antes de ele expirar, permitindo que a tarefa de execução se complete com sucesso.
Para revalidar uma credencial através do servidor MyProxy é necessário ter um proxy valido (a revalidação é feita em contexto de quase expiração). Para demonstrar o procedimento, inicializamos uma credencial de 8 horas, que após revalidação, fica com um limite temporal de 12 horas. Note que a extensão da VO é perdida neste processo de revalidação.
Armazenar credencial no servidor de MyProxy
[username@ui01 ~]$ voms-proxy-init --voms iber.vo.ibergrid.eu -vomslife 8:0 -hours 8:0 Cannot find file or dir: /home/ingrid/username/.glite/vomses Enter GRID pass phrase: Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name Creating temporary proxy ...................................... Done Contacting voms01.ncg.ingrid.pt:40003 [/C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt] "iber.vo.ibergrid.eu" Done Creating proxy ...................................................................... Done Your proxy is valid until Tue Nov 10 19:39:13 2009
[username@ui01 ~]$ myproxy-init -d -s px01.ncg.ingrid.pt --voms iber.vo.ibergrid.eu Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name Enter GRID pass phrase for this identity: Creating proxy ................................. Done Proxy Verify OK Your proxy is valid until: Tue Nov 17 11:25:37 2009 Enter MyProxy pass phrase: Verifying - Enter MyProxy pass phrase: A proxy valid for 168 hours (7.0 days) for user /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name now exists on px01.ncg.ingrid.pt.
Credenciais armazenadas no servidor de MyProxies
[username@ui01 ~]$ myproxy-info -d -s px01.ncg.ingrid.pt username: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name owner: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name timeleft: 167:59:29 (7.0 days)
Revalidar uma credencial através do servidor MyProxy
[username@ui01 ~]$ voms-proxy-info --all subject : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy issuer : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name identity : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name type : proxy strength : 1024 bits path : /tmp/x509up_u500 timeleft : 7:59:54 === VO iber.vo.ibergrid.eu extension information === VO : iber.vo.ibergrid.eu subject : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name issuer : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt attribute : /iber.vo.ibergrid.eu/Role=NULL/Capability=NULL attribute : /iber.vo.ibergrid.eu/Portugal/Role=NULL/Capability=NULL timeleft : 7:59:53 uri : voms01.ncg.ingrid.pt:40003 [username@ui01 ~]$ myproxy-logon -d -s px01.ncg.ingrid.pt Enter MyProxy pass phrase: A credential has been received for user /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name in /tmp/x509up_u500. [username@ui01 ~]$ voms-proxy-info --all subject : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy/CN=proxy/CN=proxy issuer : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy/CN=proxy identity : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy/CN=proxy type : proxy strength : 1024 bits path : /tmp/x509up_u500 timeleft : 11:59:57 === VO iber.vo.ibergrid.eu extension information === VO : iber.vo.ibergrid.eu subject : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name issuer : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt attribute : /iber.vo.ibergrid.eu/Role=NULL/Capability=NULL attribute : /iber.vo.ibergrid.eu/Portugal/Role=NULL/Capability=NULL timeleft : 11:59:57 uri : voms01.ncg.ingrid.pt:40003
Destruir credenciais armazenadas no servidor de MyProxies
[username@ui01 ~]$ myproxy-destroy -d -s px01.ncg.ingrid.pt Default MyProxy credential for user /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name was successfully removed.
Operações com o sistema de informação
Obter os CEs suportando a VO
[username@ui01 ~]$ lcg-infosites --vo iber.vo.ibergrid.eu ce #CPU Free Total Jobs Running Waiting ComputingElement ---------------------------------------------------------- 4 4 0 0 0 ce02.up.pt:8443/cream-sge-ibergrid 848 824 0 0 0 ce03.ific.uv.es:8443/cream-pbs-short 22 22 0 0 0 grid001.fc.up.pt:8443/cream-sge-ibergrid 3 1 1 1 0 ce01.rediris.es:8443/cream-pbs-ibergrid 848 824 0 0 0 ce03.ific.uv.es:8443/cream-pbs-ibiberL 36 36 0 0 0 ce01.up.pt:2119/jobmanager-lcgsge-ibergrid 432 99 0 0 0 ce01.lip.pt:8443/cream-sge-ibergrid_x86_64 466 392 0 0 444444 ce01.macc.unican.es:2119/jobmanager-lcgpbs-grid 416 406 0 0 444444 ce.iaa.csic.es:2119/jobmanager-lcgpbs-geniber 22 22 0 0 0 grid001.fe.up.pt:2119/jobmanager-lcgsge-ibergrid 820 292 528 528 0 lcg02.ciemat.es:2119/jobmanager-lcgpbs-medium 14 14 0 0 0 cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber 6 6 0 0 0 golp-ce.ist.utl.pt:2119/jobmanager-lcgpbs-ibergrid 12 12 1 0 1 ce.cp.di.uminho.pt:2119/jobmanager-lcgpbs-ibergrid 188 59 0 0 0 ce01-tic.ciemat.es:2119/jobmanager-lcgpbs-ibergrid 248 248 0 0 0 ce-iber.bifi.unizar.es:2119/jobmanager-lcgpbs-iber 333 333 1 0 1 ce2.egee.cesga.es:2119/jobmanager-lcgsge-GRID_iberibeu 333 333 1 0 1 ce3.egee.cesga.es:2119/jobmanager-lcgsge-GRID_iberibeu 8 8 0 0 0 ce.egee.di.uminho.pt:8443/cream-pbs-ibergrid 204 19 0 0 0 ce01.igfae.usc.es:8443/cream-pbs-iber 1456 482 0 0 0 gridce02.ifca.es:8443/cream-sge-iber 1456 500 0 0 0 gridce01.ifca.es:8443/cream-sge-iber 168 2 1 0 1 grid008.gridc.lip.pt:8443/cream-pbs-ibergrid 168 1 1 0 1 grid006.gridc.lip.pt:2119/jobmanager-lcgpbs-ibergrid 116 116 0 0 0 ce-sge-ngi.ceta-ciemat.es:2119/jobmanager-lcgsge-iber 8 4 0 0 0 axon-g01.ieeta.pt:2119/jobmanager-lcgpbs-ibergrid 1024 0 0 0 0 ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid 278 488 0 0 0 nureddunace.uib-csic.es:8443/cream-sge-egi 1456 0 0 0 0 egeece03.ifca.es:2119/jobmanager-sge-iber
Obter Storage Elements suportando a VO
[username@ui01 ~]$ lcg-infosites --vo iber.vo.ibergrid.eu se Avail Space(Kb) Used Space(Kb) Type SEs ---------------------------------------------------------- 26252202 7084236 n.a se.iaa.csic.es 511338166 570921424 n.a hades.up.pt 197697211 16946295 n.a se01.macc.unican.es 28838844497 6802672386 n.a se01-tic.ciemat.es 197697211 16946295 n.a se01.macc.unican.es 91848424 21562282 n.a se.cp.di.uminho.pt 257478542 1175061421 n.a se2.egee.cesga.es 28838844497 6802672386 n.a se01-tic.ciemat.es 7109599 3040861 n.a cmgse.mieres.uniovi.es 75161927 n.a n.a srm01.lip.pt 1865082162 103528067 n.a dpm-iber.bifi.unizar.es 138315780 3024162 n.a srmv2.ific.uv.es 231928234 n.a n.a srm.ciemat.es 4992755814 379860926 n.a golp-se.ist.utl.pt 934286499 50219942 n.a se.igfae.usc.es 1073741791 32 n.a storm.ifca.es 1073741791 32 n.a storm.ifca.es 99857981 8 n.a storm.gridc.lip.pt 164411232 157654564 n.a griddpm01.ifca.es 164411232 157654564 n.a griddpm01.ifca.es 1099463204 48431 n.a se-ngi.ceta-ciemat.es 1069893699 3848124 n.a srm01.ncg.ingrid.pt 43174807504 4809252894 n.a nureddunase.uib-csic.es 87855436 102381440 n.a axon-g05.ieeta.pt
Submissão de tarefas
Preparar o ficheiro JDL para a submissão da tarefa
A submissão de tarefas é realizada através de um ficheiro JDL (Job Description Language). Este ficheiro consiste num conjunto de variáveis ("key=value") com a descrição da tarefa a executar. O exemplo seguinte mostra a estrutura de um ficheiro JDL tipico.
[username@ui01 ~]$ cat sleep.jdl
# Declarar o executavel para execução remota
Executable = "sleep.sh";
# Argumentos para o executável
Arguments = "60";
# Declarar o ficheiro de standard output (produzido quando o executável correr remotamente)
StdOutput = "sleep.out";
# Declarar o ficheiro de standard error (produzido quando o executável correr remotamente)
StdError = "sleep.err";
# Numero de tentativas caso as submissões falhem sucessivamente
RetryCount = 0;
# Ficheiros que quero enviar para execução / leitura (disponivel da dir local)
InputSandbox = {"sleep.sh"};
# Ficheiros que quero obter depois da aplicação executar
OutputSandbox = {"sleep.out","sleep.err"};
Neste exemplo específico, o executável é um simples script bash mas poderia ser um qualquer binário compilado pelo utilizador.
[username@ui01 ~]$ cat sleep.sh #!/bin/bash uname -a; whoami; pwd echo "===============" env|sort cat /proc/cpuinfo echo "===============" echo "Sleeping for $1 seconds" sleep $1 exit '
Visualizar hipóteses de execução
[username@ui01 ~]$ glite-wms-job-list-match -a sleep.jdl Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server ========================================================================== COMPUTING ELEMENT IDs LIST The following CE(s) matching your job requirements have been found: *CEId* - axon-g01.ieeta.pt:2119/jobmanager-lcgpbs-ibergrid - ce-iber.bifi.unizar.es:2119/jobmanager-lcgpbs-iber - ce-sge-ngi.ceta-ciemat.es:2119/jobmanager-lcgsge-iber - ce.egee.di.uminho.pt:8443/cream-pbs-ibergrid - ce01.igfae.usc.es:8443/cream-pbs-iber - ce01.lip.pt:8443/cream-sge-ibergrid_x86_64 - ce01.rediris.es:8443/cream-pbs-ibergrid - ce01.up.pt:2119/jobmanager-lcgsge-ibergrid - ce02.up.pt:8443/cream-sge-ibergrid - ce03.ific.uv.es:8443/cream-pbs-ibiberL - ce03.ific.uv.es:8443/cream-pbs-short - cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber - cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber - egeece03.ifca.es:2119/jobmanager-sge-iber - golp-ce.ist.utl.pt:2119/jobmanager-lcgpbs-ibergrid - grid001.fc.up.pt:8443/cream-sge-ibergrid - grid001.fe.up.pt:2119/jobmanager-lcgsge-ibergrid - grid006.gridc.lip.pt:2119/jobmanager-lcgpbs-ibergrid - grid008.gridc.lip.pt:8443/cream-pbs-ibergrid - gridce01.ifca.es:8443/cream-sge-iber - gridce02.ifca.es:8443/cream-sge-iber - lcg02.ciemat.es:2119/jobmanager-lcgpbs-medium - nureddunace.uib-csic.es:8443/cream-sge-egi - ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid - ce3.egee.cesga.es:2119/jobmanager-lcgsge-GRID_iberibeu - ce2.egee.cesga.es:2119/jobmanager-lcgsge-GRID_iberibeu - ce.cp.di.uminho.pt:2119/jobmanager-lcgpbs-ibergrid - ce.iaa.csic.es:2119/jobmanager-lcgpbs-geniber - ce.iaa.csic.es:2119/jobmanager-lcgpbs-geniber - ce01-tic.ciemat.es:2119/jobmanager-lcgpbs-ibergrid - ce01.macc.unican.es:2119/jobmanager-lcgpbs-grid ==========================================================================
Submissão da tarefa
[username@ui01 ~]$ glite-wms-job-submit -a sleep.jdl Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server ====================== glite-wms-job-submit Success ====================== The job has been successfully submitted to the WMProxy Your job identifier is: https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A ==========================================================================
Obter o estado da tarefa
[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A ======================= glite-wms-job-status Success ===================== BOOKKEEPING INFORMATION: Status info for the Job : https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A Current Status: Scheduled Status Reason: Job successfully submitted to Globus Destination: cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber Submitted: Mon Jan 31 23:39:17 2011 WET ==========================================================================
[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A ======================= glite-wms-job-status Success ===================== BOOKKEEPING INFORMATION: Status info for the Job : https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A Current Status: Running Status Reason: Job successfully submitted to Globus Destination: cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber Submitted: Mon Jan 31 23:39:17 2011 WET ==========================================================================
Obter informação detalhada sobre o estado da tarefa
[username@ui01 ~]$ glite-wms-job-logging-info -v [0|1|2|3] https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A
Obter resultados da execução
[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A ======================= glite-wms-job-status Success ===================== BOOKKEEPING INFORMATION: Status info for the Job : https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A Current Status: Done (Success) Logged Reason(s): - - Job terminated successfully Exit code: 0 Status Reason: Job terminated successfully Destination: cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber Submitted: Mon Jan 31 23:39:17 2011 WET ==========================================================================
[username@ui01 ~]$ glite-wms-job-output https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server ================================================================================ JOB GET OUTPUT OUTCOME Output sandbox files for the job: https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A have been successfully retrieved and stored in the directory: /tmp/jobOutput/username_3c0ExVvKbauWI1RSQCMk7A ================================================================================
[username@ui01 ~]$ ll /tmp/jobOutput/username_3c0ExVvKbauWI1RSQCMk7A total 8 -rw-r--r-- 1 username csys 0 Feb 1 00:14 sleep.err -rw-r--r-- 1 username csys 5813 Feb 1 00:14 sleep.out
Manipulação de dados
Manipulação dos metadados no catálogo de ficheiros
Iniciar variável de ambiente para aceder ao catalogo de ficheiros
[username@ui01 ~]$ export LFC_HOST=lfc01.ncg.ingrid.pt
Listar os conteúdos do catálogo de ficheiros
[username@ui01 ~]$ lfc-ls /grid/iber.vo.ibergrid.eu CROSS-Fire-lmiranda abenitez crossFire file-lfc-probe-lfc01.ncg.ingrid.pt fmartine generated jpina jpinho lbellot lmiranda lucero mattia mpiJava.tar parameters.txt rodon tiagosa
Criar uma directoria no catálogo de ficheiros
[username@ui01 ~]$ lfc-mkdir /grid/iber.vo.ibergrid.eu/username
Copiar um ficheiro do filesystem local para um SE, registando-o no catálogo de ficheiros
[username@ui01 ~]$ lcg-cr -v --vo iber.vo.ibergrid.eu -d srm01.ncg.ingrid.pt -l lfn:/grid/iber.vo.ibergrid.eu/username/test-`date +%s`.txt file:/home/ingrid/csys/username/sleep.sh
Using grid catalog type: lfc
Using grid catalog : lfc01.ncg.ingrid.pt
Checksum type: None
SE type: SRMv2
Destination SURL : srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
Source SRM Request Token: ca3cbb3e-2a9a-4994-8717-42b87d240cc2
Source URL: file:/home/ingrid/csys/username/sleep.sh
File size: 159
VO name: iber.vo.ibergrid.eu
Destination specified: srm01.ncg.ingrid.pt
Destination URL for copy: gsiftp://gftp01.ncg.ingrid.pt:2811//lustre/ncg.ingrid.pt/data3/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
# streams: 1
159 bytes 0.76 KB/sec avg 0.76 KB/sec inst
Transfer took 2090 ms
Using LFN: lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt
Using GUID: guid:aae518f6-e074-44b3-9287-50ac19e5ef35
Registering LFN: /grid/iber.vo.ibergrid.eu/username/test-1296518563.txt (aae518f6-e074-44b3-9287-50ac19e5ef35)
Registering SURL: srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 (aae518f6-e074-44b3-9287-50ac19e5ef35)
guid:aae518f6-e074-44b3-9287-50ac19e5ef35
Criar uma nova replica do ficheiro anterior num outro SE
[username@ui01 ~]$ lcg-rep -v --vo iber.vo.ibergrid.eu -d storm.gridc.lip.pt srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
Using grid catalog type: UNKNOWN
Using grid catalog : lfc01.ncg.ingrid.pt
VO name: iber.vo.ibergrid.eu
Checksum type: None
Trying SURL srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 ...
Source SE type: SRMv2
Source SRM Request Token: 03edd573-32fc-4b79-a706-7c98dcda3681
Destination SE type: SRMv2
Destination SRM Request Token: 24eb73f9-3a55-4ad8-bbe5-de9201748cf3
Source URL: srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
File size: 159
Destination specified: storm.gridc.lip.pt
Source URL for copy: gsiftp://gftp01.ncg.ingrid.pt:2811//lustre/ncg.ingrid.pt/data3/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
Destination URL: gsiftp://gridftp1.gridc.lip.pt:2811//gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f
# streams: 1
0 bytes 0.00 KB/sec avg 0.00 KB/sec inst
Transfer took 1190 ms
Using LFN: lfn:(null)
Using GUID: guid:aae518f6-e074-44b3-9287-50ac19e5ef35
Registering SURL: srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f (aae518f6-e074-44b3-9287-50ac19e5ef35)
Destination URL registered in file catalog: srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f
Listar replicas
[username@ui01 ~]$ lcg-lr -v --vo iber.vo.ibergrid.eu lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt Using grid catalog type: lfc Using grid catalog : lfc01.ncg.ingrid.pt srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f (aae518f6-
Apagar uma replica
[username@ui01 ~]$ lcg-del -v --vo iber.vo.ibergrid.eu srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 VO name: iber.vo.ibergrid.eu SE type: SRMv2 [guid:aae518f6-e074-44b3-9287-50ac19e5ef35] srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 - DELETED [guid:aae518f6-e074-44b3-9287-50ac19e5ef35] srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 - UNREGISTERED
Apagar todas as replicas
[username@ui01 ~]$ lcg-del -v --vo iber.vo.ibergrid.eu -a lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt VO name: iber.vo.ibergrid.eu SE type: SRMv2 [lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt] srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f - DELETED [guid:aae518f6-e074-44b3-9287-50ac19e5ef35] srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f - UNREGISTERED [guid:aae518f6-e074-44b3-9287-50ac19e5ef35] lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt - UNREGISTERED
Operações avançadas de submissão e manipulação de dados
Submissão de tarefas restringindo os CEs aptos para execução de acordo com uma aplicação / software desejado
O software instalado nas máquinas de execução é publicado pelos "Computing Elements" nas varáveis GlueHostApplicationSoftwareRunTimeEnvironment. Assim, para submeter tarefas a Computing Elements com o software R-2.11.0-1 instalado, o utilizador deve incluir o seguinte requisito no seu ficheiro JDL:
Requirements = Member("VO-iber.vo.ibergrid.eu-R-2_11_0-1",other.GlueHostApplicationSoftwareRunTimeEnvironment);
[username@ui01 ~]$ glite-wms-job-list-match -a sleep.jdl Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server ========================================================================== COMPUTING ELEMENT IDs LIST The following CE(s) matching your job requirements have been found: *CEId* - ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid ==========================================================================
Submissão de tarefas para um CE específico
Incluir no ficheiro JDL o seguinte requisito:
Requirements = other.GlueCEUniqueID == "ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid";
[username@ui01 ~]$ glite-wms-job-list-match -a sleep.jdl Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server ========================================================================== COMPUTING ELEMENT IDs LIST The following CE(s) matching your job requirements have been found: *CEId* - ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid ==========================================================================
Ranking dos CE de acordo com o número de CPUs livres
Ao incluir no ficheiro JDL o requisito seguinte, o primeiro site elegível para execução será o que apresentar maior número de CPUs livres.
Rank = other.GlueCEStateFreeCPUs;
Escolher um CE de acordo com ficheiros guardados num SE associado
Note que a inclusão destes atributos no JDL, não realiza a copia do ficheiro do SE para as máquinas de execução, esta é uma tarefa que deve ser realizada pelo utilizador (ver ponto seguinte).
DataRequirements = {
[
InputData = {"lfn:/grid/iber.vo.ibergrid.eu/username/test-1296571168.txt"};
DataCatalogType = "DLI";
DataCatalog = "http://lfc01.ncg.ingrid.pt:8085";
]
};
DataAccessProtocol = {"gsiftp"};
[username@ui01 ~]$ glite-wms-job-list-match -a sleep.jdl Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server ========================================================================== COMPUTING ELEMENT IDs LIST The following CE(s) matching your job requirements have been found: *CEId* - ce01-tic.ciemat.es:2119/jobmanager-lcgpbs-ibergrid ==========================================================================
Copia de ficheiros de input armazenados num SE a partir de uma tarefa em execução
Se o utilizador necessitar de copiar ficheiros de input armazenados num SE e a partir de uma tarefa em execução, deve ser o utilizador a assumir essa responsabilidade. O exemplo seguinte enquandra-se no contexto descrito em que a script scriptInputData.sh (a executar remotamente) realiza a cópia.
[username@ui01 ~]$ cat scriptInputData.jdl
Executable = "/bin/sh";
Arguments = "scriptInputData.sh lfn:/grid/iber.vo.ibergrid.eu/username/test-1296571168.txt";
StdOutput = "std.out";
StdError = "std.err";
InputSandbox = "scriptInputData.sh";
OutputSandbox = {"std.out","std.err"};
DataRequirements = {
[
InputData = {"lfn:/grid/iber.vo.ibergrid.eu/username/test-1296571168.txt"};
DataCatalogType = "DLI";
DataCatalog = "http://lfc01.ncg.ingrid.pt:8085";
]
};
DataAccessProtocol = {"gsiftp"};
RetryCount = 0;
[username@ui01 ~]$ cat scriptInputData.sh #!/bin/sh # Set the proper environment export LFC_HOST=lfc01.ncg.ingrid.pt export LCG_GFAL_INFOSYS=topbdii01.ncg.ingrid.pt:2170 export LCG_CATALOG_TYPE=lfc # Download the file from the SE to the WN where this job runs # note that the LFN is passed as input to this script lcg-cp -v --vo iber.vo.ibergrid.eu $1 file:`pwd`/local_file echo "########################################" ls -la local_file echo "########################################"
Submissão da tarefa:
[username@ui01 ~]$ glite-wms-job-submit -a scriptInputData.jdl Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server ====================== glite-wms-job-submit Success ====================== The job has been successfully submitted to the WMProxy Your job identifier is: https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg ==========================================================================
[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg ======================= glite-wms-job-status Success ===================== BOOKKEEPING INFORMATION: Status info for the Job : https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg Current Status: Done (Success) Logged Reason(s): - - Job terminated successfully Exit code: 0 Status Reason: Job terminated successfully Destination: ce01-tic.ciemat.es:2119/jobmanager-lcgpbs-ibergrid Submitted: Tue Feb 1 15:02:27 2011 WET ==========================================================================
O standard error e standard output recebidos após o termino da tarefa mostram que o ficheiro foi copiado do SE para o WN:
[username@ui01 ~]$ glite-wms-job-output https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server ================================================================================ JOB GET OUTPUT OUTCOME Output sandbox files for the job: https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg have been successfully retrieved and stored in the directory: /tmp/jobOutput/username_FAz-rPDY0gWdcrYUL9-jhg ================================================================================
[username@ui01 ~]$ ll /tmp/jobOutput/username_FAz-rPDY0gWdcrYUL9-jhg total 8 -rw-r--r-- 1 username csys 911 Feb 1 15:41 std.err -rw-r--r-- 1 username csys 312 Feb 1 15:40 std.out
[username@ui01 ~]$ cat /tmp/jobOutput/username_FAz-rPDY0gWdcrYUL9-jhg/std.err
Using grid catalog type: LFC
Using grid catalog : lfc01.ncg.ingrid.pt
VO name: iber.vo.ibergrid.eu
Checksum type: None
Trying SURL srm://se01-tic.ciemat.es/dpm/ciemat.es/home/iber.vo.ibergrid.eu/generated/2011-02-01/file58c82d74-01a0-42bf-a035-76a69d2a9504 ...
Source SE type: SRMv2
Source SRM Request Token: 3b21832c-8123-447b-b723-680a7322aa43
Source URL: /grid/iber.vo.ibergrid.eu/username/test-1296571168.txt
File size: 159
Source URL for copy: gsiftp://se01-tic.ciemat.es/se01-tic.ciemat.es:/storage24/iber.vo.ibergrid.eu/2011-02-01/file58c82d74-01a0-42bf-a035-76a69d2a9504.1241311.0
Destination URL: file:/local/home/iber-ibergrid23/globus-tmp.ciewn086.9789.0/https_3a_2f_2fwms01.ncg.ingrid.pt_3a9000_2fFAz-rPDY0gWdcrYUL9-jhg/local_file
# streams: 1
0 bytes 0.00 KB/sec avg 0.00 KB/sec inst
Transfer took 1000 ms
[username@ui01 ~]$ cat /tmp/jobOutput/username_FAz-rPDY0gWdcrYUL9-jhg/std.out ######################################## -rw-r--r-- 1 iber-ibergrid23 iber-ibergrid 159 Feb 1 16:06 local_file ########################################
Cópia de ficheiros de output armazenado a partir de uma tarefa em execução para um SE
Se o utilizador necessitar de copiar ficheiros de output, gerados pela tarefa em execução, para um SE em particular, deve ser ele a garantir que isso acontece. O exemplo seguinte enquandra-se no contexto descrito em que a script scriptOutpupData.sh (a executar remotamente) realiza a cópia:
[username@ui01 ~]$ cat scriptOutputData.jdl
Executable = "/bin/sh";
Arguments = "scriptOutputData.sh";
StdOutput = "std.out";
StdError = "std.err";
InputSandbox = "scriptOutputData.sh";
OutputSandbox = {"std.out","std.err"};
RetryCount = 0;
[username@ui01 ~]$ cat scriptOutputData.sh #!/bin/sh output_file="output_file-`date +%s`.txt" uname -a > $output_file echo "I am doing some stuff" >> $output_file # Set the proper environment export LFC_HOST=lfc01.ncg.ingrid.pt export LCG_GFAL_INFOSYS=topbdii01.ncg.ingrid.pt:2170 export LCG_CATALOG_TYPE=lfc # Upload the file to the SE from the WN where this job runs lcg-cr -v --vo iber.vo.ibergrid.eu -d srm01.ncg.ingrid.pt -l lfn:/grid/iber.vo.ibergrid.eu/username/$output_file file:`pwd`/$output_file
Submissão da tarefa de execução:
[username@ui01 ~]$ glite-wms-job-submit -a scriptOutputData.jdl Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server ====================== glite-wms-job-submit Success ====================== The job has been successfully submitted to the WMProxy Your job identifier is: https://wms01.ncg.ingrid.pt:9000/MR7Cmd69xhd9pnkea84HAw ==========================================================================
[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/MR7Cmd69xhd9pnkea84HAw ======================= glite-wms-job-status Success ===================== BOOKKEEPING INFORMATION: Status info for the Job : https://wms01.ncg.ingrid.pt:9000/MR7Cmd69xhd9pnkea84HAw Current Status: Done (Success) Logged Reason(s): - - Job terminated successfully Exit code: 0 Status Reason: Job terminated successfully Destination: cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber Submitted: Tue Feb 1 15:26:27 2011 WET ==========================================================================
Confirmação de que o ficheiro foi efectivamente transferido para o SE de destino:
[username@ui01 ~]$ lfc-ls /grid/iber.vo.ibergrid.eu/username/ /grid/iber.vo.ibergrid.eu/username/output_file-1296575015.txt
[username@ui01 ~]$ lcg-lr -v --vo iber.vo.ibergrid.eu lfn:/grid/iber.vo.ibergrid.eu/username/output_file-1296575015.txt Using grid catalog type: lfc Using grid catalog : lfc01.ncg.ingrid.pt srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4e4bf6a5-c92d-4187-bfc3-b9282168620f
