Autores
L. Cavalheiro, R. Real et al. Curso Dell, 2003
C. Geyer
revisão 2005
Diego Gomes (versão para GT4) 2006
Colaboração
O globus fornece ferramentas para
localização, transferência e gerência
São elas:
GridFTP
Reliable File Transfer (RFT) service Replica Location Service (RLS)
Data Replication Service (DRS)
OGSA Data Access and I ntegration (OGSA-DAI )
O GridFTP
é um protocolo para transferência de dados definido pelo Global Grid Forum (GGF);
Este protocolo é seguro, robusto e eficiente; O GT4.0 fornece uma implementação deste protocolo (embora não completa), através das ferramentas:
O GT4.0 fornece ainda uma biblioteca
para que um cliente GridFTP próprio seja desenvolvido.
O servidor GridFTP dá suporte às seguintes interfaces de armazenamento:
Sistema de Arquivos POSI X Storage Resource Broker (SRB)
High Performance Storage System (HPSS) NeST
O cliente globus-url-copy pode acessar dados através dos protocolos http, https, ftp, gsiftp
I nicializando o servidor:
globus@hostA:~$ globus-gridftp-server -s
Requisitando a transferência do arquivo remoto / tmp/ arqteste para o arquivo local com o nome / tmp/ meuarq:
user@hostB:~$ grid-proxy-init
user@hostB:~$ globus-url-copy gsiftp://hostA/tmp/arqteste file:///tmp/meuarq
Transferência entre terceiros:
user@hostC:~$ globus-url-copy gsiftp://hostA/tmp/foo
gsiftp://hostB/tmp/bar
Especificando o número de conexões TCP
para transferências em paralelo (8 conexões):
user@hostC:~$ globus-url-copy -p 8 file:///tmp/teste
O GridFTP suporta as seguintes
funcionalidades:
Segurança GSI : infra-estrutura de chave pública e certificação X509;
Transferências entre terceiros; Acesso parcial a arquivos;
Suporte a arquivos grandes: offsets e tamanhos de arquivo são de 64 bits;
O GridFTP suporta as seguintes
funcionalidades:
Reuso de canais de dados: reuso de conexões TCP; Estatísticas da transferência;
Transferências em paralelo: diferentes partes do arquivo sendo transferidas simultaneamente;
Controle do tamanho do buffer TCP;
Stripping: transferência de um mesmo arquivo envolvendo várias fontes e/ ou vários destinos.
O Reliable File Transfer (RFT)
é um mecanismo para fazer persistência do estado das transferências em armazenamento confiável;
Sua interface é baseada em protocolos de web services (SOAP, WSDL, ...);
Funciona como um escalonador de jobs para transferências de arquivos;
Permite consultar o estado das transferências.
RFT evita que o usuário tenha que manter a conexão durante transferências demoradas;
Usa bancos de dados de terceiros (PostgreSQL, MySQL,...);
Servidor disponível através de um serviço no container do Globus;
Classes java disponíveis para desenvolvimento de aplicações customizadas;
Ferramentas por linha de comando: rft: submete e monitora transferências
# true= binary false= ascii true
# Block size in bytes
Gerando um proxy antes de usar a ferramenta:
user@hostA:~$ grid-proxy-init
Criando um job de transferências (arquivo
...
# TCP Buffer size in bytes 16000
# Notpt (No thirdPartyTransfer) false
# Number of parallel streams 8
# Data Channel Authentication (DCAU) true
... 1
# Grid Subject name of the source gridftp server / O= Grid/ OU= GlobusTest/ OU=
simpleCA-venus.inf.ufrgs.br/ CN= host/ venus
# Grid Subject name of the destination gridftp server
/ O= Grid/ OU= GlobusTest/ OU= simpleCA-venus.inf.ufrgs.br/ CN= host/ labtec
...
# Transfer all or none of the transfers false
# Maximum number of retries 10
# Source/ Dest URL Pairs
gsiftp:/ / venus/ tmp/ rftTest1.tmp
gsiftp:/ / labtec:5678/ tmp/ Done1.tmp gsiftp:/ / venus/ tmp/ rftTest2.tmp
Submetendo o job de transferência
vai transferir 2 arquivos
do host venus para o host labtec,
salvando o EPR do recurso WSRF criado em meujobtransfer.epr:
user@hostA:~$ rft -h hostA -file
meujobtransfer.epr -f exemplo_transfer.xfr
Consultando o estado da transferência
Criando um job para remover arquivos arquivo exemplo_delete.xfr:
# Subject name (defaults to host subject)
/O=Grid/OU=GlobusTest/OU=simpleCA-venus.inf.ufrgs.br/CN=host/labtec gsiftp://labtec:5678/tmp/Done1.tmp gsiftp://labtec:5678/tmp/dirTest/
Apagando arquivos
apaga o arquivo /tmp/Done1.tmp e apaga
recursivamente o diretório /tmp/dirTest:
user@hostA:~$ rft-delete -h hostA -file meujobdelete.epr -f exemplo_delete.xfr
O Replica Location Service (RLS)
é usado para localizar réplicas (cópias) de arquivos em um ambiente de grade;
Usuários e/ ou serviços registram os arquivos criados junto ao RLS para posterior consulta; O RLS é um registro distribuído
podendo consistir em diversos servidores em diferentes sites;
O RLS mantém associações (mapeamentos) entre um LFN e um ou mais PFNs, onde:
LFN (Logical File Name): é o identificador único para o conteúdo do arquivo (ex.: dset_simCMS);
PFN (Physical File Name): é a URL de uma cópia do arquivo em um sistema de armazenamento (ex.:
gsiftp://labtec:5678/opt/DoneSim.dat);
Usuários podem associar atributos (ex.: tamanho do arquivo, checksum, etc.) ao LFN ou ao PFN;
Usuários podem fazer consultas baseadas nesses atributos.
O RLS não garante a corretude nem a consistência dos mapeamentos que
Consiste de dois tipos de servidores:
Local Replica Catalog ( LRC) :
armazena mapeamentos entre LFNs e PFNs em um BD local.
I ndepende da existência de RLI s e responde localmente às consultas;
Replica Location I ndex ( RLI ) :
cada RLI coleta informações sobre LFNs de um ou mais LRCs ou RLI s.
Exemplo de configuração entre LRCs e RLI s:
Cada LRC envia periodicamente as informações (que expiram) para os RLI s (protocolo soft state).
Pode-se compactar estas informações de diferentes formas (ex.: bloom filters) para evitar o tráfego
I nicializando o postgres: globus@hostA:~$ postmaster -D $GLOBUS_LOCATION/var/lib/postgresql/ -i -o -F -p 5433 I nicializando o daemon RLS: globus@hostA:~$ $GLOBUS_LOCATION/sbin/SXXrls start Requisitando credenciais: user@hostA:~$ grid-proxy-init
Verificando se o servidor está ativo:
user@hostA:~$ $GLOBUS_LOCATION/bin/globus-rls-admin -p rls://hostA
Criando um LFN novo:
user@hostA:~$ globus-rls-cli create dset_simCMS
gsiftp://labtec:5678/opt/DoneSim.dat rls://hostA
Adicionando outros PFNs com realação a um LFN já criado:
user@hostA:~$ globus-rls-cli add dset_simCMS gsiftp://venus/tmp/sim.dat rls://hostA
Consultando LFN:
user@hostA:~$ globus-rls-cli query lrc lfn dset_simCMS rls://hostA
Resposta:
gsiftp://labtec:5678/opt/DoneSim.dat gsiftp://venus/tmp/sim.dat
Consultando por um PFN no catálogo:
user@hostA:~$ globus-rls-cli query lrc pfn gsiftp://venus/tmp/sim.dat rls://hostA
Apagando um mapeamento:
user@hostA:~$ globus-rls-cli delete
dset_simCMS gsiftp://venus/tmp/sim.dat rls://hostA
Renomeando:
user@hostA:~$ globus-rls-cli rename lfn dset_simCMS dsetSimCMS rls://hostA
O Data Replication Service (DRS)
é um serviço de mais alto nível construído usando os serviços do RFT e do RLS;
Sua função é assegurar que um conjunto de arquivos exista em um elemento de armazenamento;
Ao receber uma requisição, o DRS cria um recurso
WSRF para dar persistência à operação e para permitir o seu monitoramento;
Cada requisição é atendida da seguinte forma:
Consulta-se o RLS para saber onde o arquivo existe na grade (PFNs);
Uma vez localizado, cria-se uma requisição de transferência para ser executada pelo RFT;
Terminado a transferência, registra-se o PFN da cópia recém criada junto ao RLS.
I nicializando um proxy:
user@hostA:~$ grid-proxy-init
Deve-se criar uma credencial:
user@hostA:~$ globus-credential-delegate -h hostA -p 8443 mycredential.epr
O próximo passo é criar o arquivo de requisição.
Esse arquivo deve conter pares LFN -> URL destino para cada arquivo que deseja-se transferir.
Deve-se então criar um recurso de replicação: user@hostA:~$ globus-replication-create -s https://hostA:8443/wsrf/services/Repl icationService -C mycredential.epr -V myreplicator.epr file:///home/user/testr testrun-1 gsiftp://venus/tmp/files/testrun-1 testrun-2 gsiftp://labtec:5678/opt/testrun-2 testrun-3 gsiftp://hostA/sandbox/files/testrun-3
I nicializando a replicação:
user@hostA:~$ globus-replication-start -e myreplicator.epr
Verificando-se o status da requisição:
user@hostA:~$ wsrf-get-property -e myreplicator.epr "{http://www.globus.o rg/namespaces/2005/05/replica/replicator}statu s" Resposta: <ns1:status xmlns:ns1="http://www.glob us.org/namespaces/2005/05/replica/rep
Solicitando-se mais informações: user@hostA:~$ wsrf-get-property -e myreplicator.epr "{http://www.globus.o rg/namespaces/2005/05/replica/replicator}count " Resposta: <ns1:count xmlns:ns1="http://www.globus.org/namespaces/20 05/05/replica/replicator"> <ns1:total>3</ns1:total> <ns1:finished>0</ns1:finished> <ns1:failed>0</ns1:failed> <ns1:terminated>0</ns1:terminated>
Destruindo o recurso de replicação:
user@hostA:~$ wsrf-destroy -e myreplicator.epr Destroy operation was successful
O OGSA-DAI
é um middleware que permite que os recursos de dados (tais como DBs relacionais ou DBs XML) sejam
acessados via web services;
Pode-se consultar dados, atualizá-los, transformá-los e então entragá-transformá-los à aplicação;
O OGSA-DAI é fornecido em um pacote independente ao Globus;
É compatível com as seguintes especificações de web services:
Web Services I nter-operability (WS-I )
Web Services Resource Framework (WSRF)
A implementação WSRF funciona junto ao
Globus;
O OGSA-DAI fornece:
Suporte a diferentes recursos de dados (DBs relacional e XML, arquivos...), a serem expostos por web services;
Os dados em cada um desses tipos de recursos podem ser consultados e atualizados;
Os dados podem ser
transformados (usando XSLT),
O OGSA-DAI fornece:
Dados podem ser entregues a clientes,
outros web services, URLs,
servidores FTP, GridFTP ou ainda a arquivos.
Requisições a web services OGSA-DAI
GT4 Data Management docs:
http:/ / www.globus.org/ toolkit/ docs/ 4.0/ data/ GridFTP Docs:
http:/ / www.globus.org/ toolkit/ docs/ 4.0/ data/ g ridftp/
RFT Docs:
http:/ / www.globus.org/ toolkit/ docs/ 4.0/ data/ rf t/
RLS Docs:
http:/ / www.globus.org/ toolkit/ docs/ 4.0/ data/ rl s/
GT 4.0 Tech Preview: Data Replication Service (DRS)
http:/ / www.globus.org/ toolkit/ docs/ 4.0/ techpr eview/ datarep/
This document was created with Win2PDF available at http://www.win2pdf.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only. This page will not be added after purchasing Win2PDF.