Você está na página 1de 7

Sistemas de Armazenamento de Dados de Grande Escala

Diego da Silva Gomes1 Relat rio T cnico - Maio/2006 o e PPGC, Instituto de Inform tica Universidade Federal do Rio Grande do Sul a Caixa Postal 15064 90501-970 Porto Alegre, RS
dsgomes@inf.ufrgs.br
1

Resumo. Sistemas de armazenamento de grande escala j s o utilizados h a a a um longo tempo em projetos onde uma grande quantidade de dados precisam ser arquivados e processados. Entretanto, a uni o deles para atingir capacia dades de armazenamento ainda maiores e um t pico recente, principalmente o no contexto de grades computacionais. Neste trabalho, e apresentado um es tudo sobre esses sistemas para servir como base para trabalhos futuros. Como contribuicao, identica-se a necessidade por novos servicos de grade.

1. Introducao
Embora os avancos tecnol gicos tenham permitido a construcao de unidades de armaze o namento com capacidades cada vez maiores, estas ainda est o muito longe de satisfazer a aos requisitos exigidos por muitas aplicacoes. Algumas areas da Ci ncia, como a Fsica e de Altas Energias (High Energy Physics - HEP), possuem experimentos que geram uma massiva quantidade de dados que precisam ser armazenados e, posteriormente, processados. Infelizmente, o espaco de armazenamento exigido por essas aplicacoes est a ordens a de grandeza acima daquela provida por unidades de disco ou ta. Uma abordagem que viabiliza muitas aplicacoes e distribuir os dados entre v rios a dispositivos de armazenamento, aumentando consideravelmente sua capacidade. Surgem ent o os sistemas de armazenamento (SA) de grande escala, onde aspectos como a seguranca, toler ncia a falhas e desempenho precisam ser tratados por eles no gerencia a mento desses dados. Existem ainda propostas de sistemas de armazenamento que trabalham com uma escala ainda maior, e que se baseiam na uni o de muitos SAs de grande escala. Os SAs a de larga escala, assim chamados, s o geralmente colocados como servicos de dados em a grades computacionais. Objetivos Este trabalho tem o objetivo de mostrar os diferentes tipos de SAs de grande escala, de forma a identicar os aspectos envolvidos no seu uso. Prentende-se, com isso, viabilizar o desenvolvimento de aplicacoes e de solucoes para SAs de larga escala. Os exemplos aqui mostrados s o todos retirados de projetos da area do HEP, por a ser este o grande usu rio desses sistemas. a Ap s uma descricao dos tipos de SAs de grande escala (x2), apresenta-se crit rios o e o de SAs na secao 3. Na seq encia (x4), mostra-se como e feito o de classicaca u gerenciamento do espaco de nomes dentro dos SAs. Por m, dedica-se a secao 5 para identicar aspectos da computacao em grade envolvidos no uso de SAs de forma global. As conclus es nalizam o documento (x6). o

2. Tipos de Sistemas de Armazenamento de Grande Escala


Entre as propostas de SAs de grande escala, pode-se identicar 4 tipos b sicos [2]: a
   

Sistemas Raid; Caches de Disco Distribudas; Sistemas de Rob ticos de Fita; o Sistemas de Armazenamento Hier rquicos; a

2.1. Sistemas Raid Sistemas Raid [3] utilizam um ou mais discos com esquemas transparentes de replicacao e toler ncia a falhas. Existem diferentes categorias de sistemas Raid, mas elas n o ser o a a a aqui apresentadas. O gerenciamento nesses sistemas e centralizado e, portanto, f cil. O a desempenho e a sua principal vantagem, pois al m de permitir a transfer ncia paralela e e de dados, o acesso em cada unidade de disco e feito de forma aleat ria (acesso direto). o Sua desvantagem diz respeito a escalabilidade (em termos de espaco de armazenamento), sendo portanto pouco utilizado em grandes projetos que coletam dados continuamente. 2.2. Caches de Disco Distribudas Uma segunda abordagem envolve em unir unidades de disco colocadas em nodos distintos para prover um espaco de armazenamento ainda maior . Esses discos podem ser unicos ou podem ser sistemas Raid. De qualquer forma, o acesso aos dados continua a ser feito de forma direta, e normalmente os nodos fazem parte de um pool de m quinas que a est o interconectadas em uma rede r pida. Os dados podem ser replicados internamente a a para melhorar o desempenho atrav s de transfer ncias em paralelo ou simplesmente para e e atender a requisitos de toler ncia a falhas. A escala desses sistemas continua a ser sua a principal desvantagem. Como exemplo, pode-se citar o dCache [4], o SRB e o DRM. Estes sistemas s o chamados de cache pois s o normalmente usados em conjunto a a com sistemas de tas para diminuir lat ncias de acesso e melhorar o desempenho. e 2.3. Sistemas Rob ticos de Fita o Os Sistemas Rob ticos de Fita (tamb m conhecidos por Mass Storage Systems - MSS) o e s o basicamente grandes sistemas compostos por tas de dados [6]. O gerenciamento a destas se d atrav s do uso de bracos rob ticos, o que implica diretamente em lat ncias a e o e de acesso elevadas. Embora a replicacao de componentes seja utilizada para aumentar o paralelismo, o acesso em uma unica ta e feito de forma sequencial. Normalmente os arquivos s o unidos em conjuntos (chamados de datasets) para compensar o baixo a desempenho peculiar a esta forma de armazenamento. Abaixo, apresenta-se alguns dos MSS mais conhecidos utilizados em projetos de HEP:
   

Enstore: localizado no Fermilab, EUA; High Performance Storage System - HPSS: no Berkeley Lab, EUA; CASTOR: no CERN, Suca; Tivoli Storage Manager - TSM: DESY, em Karlsruhe, na Alemanha;

2.4. Sistemas de Armazenamento Hier rquicos a Os SAs Hier rquicos (ou Hierarchical Storage Manager - HSM) s o compostos pela a a uni o dos sistemas rob ticos de ta (grande capacidade de armazenamento) com as caches a o de disco (r pido acesso a dados) [5]. Consegue-se, portanto, amenizar as altas lat ncias de a e acesso dos sistemas de tas usando pools de discos como grandes caches. As aplicacoes

cliente desses sistemas falam diretamente com a cache, e esta sim faz a comunicacao com um ou mais MSSs. dCache e o sistema mais conhecido e amplamente utilizado nos experimentos de HEP, suportanto uma grande variedade de MSSs. E comum tamb m referenciar os MSSs como sendo HSMs, pois normalmente o e sistema rob tico de tas j vem com um conjunto de discos embutido para melhorar o o a desempenho (por m a quantidade de cache e menor que aquela provida pelos sistemas de e cache distribudos).

3. Classicacao dos Sistemas de Armazenamento


Pode-se classicar os SAs quanto a disponibilidade no acesso aos dados, quanto a persist ncia, e quanto aos protocolos de transfer ncia suportados [2]. e e 3.1. Persist ncia de Dados e Com relacao a persist ncia dos dados, classifaca-se em: ` e
 Permanente: uma vez colocados no sistema, os dados se mant m a menos que e sua remocao seja feita de forma explcita. Os MSSs constituem essa classe, e diz-se que os dados foram arquivados.  Tempor rio: o armazenamento dos dados est associado a um prazo. Quando a a este expira, os dados podem ser descartados automaticamente para liberar espaco quando o sistema estiver chegando perto do limite de armazenamento. Nesta categoria, encontram-se as caches de disco distribudas e os sistemas raid.

3.2. Disponibilidade de Acesso a Dados ` Quanto a disponibilidade no acesso aos dados, tem-se que:
 Os dados est o imediatamente disponveis. Aparecem aqui os sistemas de acesso a direto aos dados, tais como as caches de disco e os sistemas raid;  Precisa-se fazer uma reserva antes de utilizar os dados (tas precisam ser montadas, arquivos precisam migrar para discos, etc.). Os MSSs e HSSs fazem parte dessa classe.

3.3. Protocolos de Transfer ncia e Existem duas formas b sicas adotadas pelos sistemas de armazenamento para o acesso a a dados:
 Atrav s de protocolos de transfer ncia de arquivos, tais como FTP e GSIFTP e e mais utilizado para acesso remoto; (GridFTP). E  Por meio de uma API parecida com a do padr o POSIX. Normalmente especca a para cada SA, mas permite que o usu rio tenha mais anidade nas operacoes de a acesso a dados. E mais utilizado para acesso local pois s o operacoes que exigem a maior interatividade com o usu rio. dCap e rfio s o exemplos dessa categoria. a a

A maioria dos diferentes tipos de SAs suporta os dois modos de acesso a dados.

4. Espaco de Nomes
Um aspecto muito importante no gerenciamento dos SAs de grande escala diz respeito ao cat logo dos dados. Freq entemente, usu rios precisam procurar por arquivos ou datasets a u a 1 no SA baseado em metadados , ou simplesmente o SA deve indexar os dados de tal forma que o usu rio possa navegar de forma organizada. a
Metadados s o informacoes referentes aos dados que est o armazenados. Como exemplo, pode-se a a citar: tamanho de arquivo, hor rio da ultima modicacao, dono, permiss es, origem e etc a o
1

Em ambos os casos, trabalha-se em cima de um espaco de nomes (name spaces), que e a forma como o usu rio enxerga o reposit rio de dados. O Perfectly Normal File a o System (PNFS) [7] e uma estrutura de nomes parecida com a de um sistema de arquivos convencional. Ele foi introduzido junto aos SAs para prover uma vis o dos dados de a forma mais amig vel. a PNFS obedece ao protocolo NFS2, sendo portanto suportado por uma grande quantidade de plataformas. Nesse caso, os metadados s o mostrados diretamente ao a usu rio enquanto este navega na estrutura de diret rios. Entretanto, PNFS n o e NFS. a o a Este ultimo apresenta limitacoes [7]:  As operacoes s o sem estado (stateless); a  O desempenho das operacoes de I/O e considerado lento;  O n mero de operacoes providas pelo NFS e xo e limitado. u Algumas estrat gias simples s o utilizadas junto ao PNFS para contornar os problemas e a relacionados, ao mesmo tempo que se mant m a compatibilidade com o protocolo NFS2. e Entretanto, elas n o ser o aqui descritas. a a E importante ressaltar que o reposit rio de dados do MSS e independente do o PNFS, sendo que o usu rio pode ainda acessar os dados brutos no MSS. Para o uso em a conjunto, os reposit rios s o montados em um diret rio no espaco de nomes fornecido o a o pelo PNFS.

5. Grades e Sistemas de Armazenamento


Grades computacionais apresentam-se como uma proposta de sistemas distribudos inte ressante para permitir o processamento e an lise de uma massiva quantidade de dados. a Entretanto, diversos aspectos precisam ser tratados [2]:  Os SAs devem prover mecanismos de reserva e agendamento de recursos de armazenamento;  Precisa-se tratar a heterogeneidade dos ambientes de SAs;  Aplicacoes de grade normalmente precisam acessar dados em m ltiplas u instituicoes e/ou MSSs. Uma aplicacao de grade tpica de projetos de HEP precisaria ent o implementar diferentes a interfaces para ter acesso a cada um dos recursos de armazenamento (Fig.1). Para tratar os problemas relacionados, foi elaborada uma especicacao chamada de Storage Resource Manager (SRM). SRM [8] padroniza a interface de acesso aos SAs, de forma que um acesso uniforme a diferentes tipos de SAs pode ser feito. A Fig.2 mostra como ca a aplicacao cliente: Percebe-se na gura a exist ncia do middleware de grade. De fato, SRMs s o e a componentes de middleware cuja funcao e prover alocacao din mica de espaco e geren a ciamento de arquivos em componentes de armazenamentos compartilhados na grade [9]. SRMs prov m: e  Acesso uniforme a armazenamento heterog neo; e  Negociacao de protocolo;  Acesso a tipos de armazenamento tempor rios e permanentes; a  Reserva avancada de espaco e de arquivos. Devido a estas caractersticas, SAs de larga escala montados sobre grades adotam o SRM como meio de acesso aos diferentes tipos de SAs. E comum unir, atrav s de e servicos de grade, os SAs globalmente espalhados, usando-se ainda algum esquema de replicacao de dados. Grades montadas para o processamento de grandes quantidades de dados armazenados em escala global s o chamadas de grades de dados [1]. a

Figura 1: Aplicacao cliente acessando SAs sem uma interface padronizada.

5.1. Tipos de Arquivos e Espacos ` Para dar suporte a persist ncia de dados, SRM considera a exist ncia de 3 tipos de arquie e vos e espacos [9]:
 Vol til: arquivos vol teis podem ser removidos do sistema para liberar espaco a a quando expira seu tempo de vida lifetime;  Permanente: arquivos permanentes permanecem nos SAs a menos que seja solicitada sua remocao de forma explcita;  Dur vel: arquivos dur veis tem um lifetime e um mecanismo de noticacao assoa a ciados a eles, mas sua remocao tamb m s pode ser feita de forma explcita. e o

A tabela abaixo mostra o relacao entre os tipos de arquivos e as propriedades consideradas pelo SRM: Propriedade Arquivado Tempo de vida Auto-apag vel a Vol til Dur vel a a N o a N o a Sim Sim Sim N o a Permanente Sim N o a N o a

A Fig.3 mostra como e o relacionamento entre os tipos de arquivos e os tipos de espaco fornecidos: 5.2. Funcoes dos SRMs Pode-se dividir as funcoes dos SRMs em 5 grupos:
 Funcoes de gerenciamento de espaco: srmCompactSpace, SrmReserveSpace, etc;  Funcoes para transfer ncia de dados: srmCopy, SrmRemoveFiles, etc; e  Funcoes de diret rios: srmMv, srmLs, etc; o  Funcoes para tratamento de permiss es: o srmSetPermission, srmCheckPermission, etc;  Funcoes de Status: srmStatusOfGetRequest, SrmGetRequestID, etc.

Figura 2: Aplicacao cliente acessando SAs atraves de SRMs.

Figura 3: Relacionamento entre tipos de arquivos e espacos.

5.3. Elementos de Armazenamento Dentro de alguns projetos de grade do HEP, tais como o LHC Computing Grid, os SAs precisam satisfazer alguns requisitos para serem utilizados. Eles recebem o nome de Elementos de Armazenamento (Storage Elements - SE) [6]. Os aspectos a serem tratados s o: a  Precisa existir um protocolo para acesso local dos dados. Normalmente isso e feito junto com NFS para compreender operacoes nos name spaces;  Protocolos para transfer ncia seguros (GsiFtp); e  Os SEs devem prover status (monitoracao) das c pias de arquivos e requisicoes o de transfer ncia; e  Suporte ao SRM para que sejam utilizados no contexto de grades. 5.4. Catalogacao Embora os reposit rios de dados nos SAs possuam uma interface de I/O que permite o ao usu rio navegar pelo espaco de nomes (normalmente via NFS), servicos de grades a

que catalogam os dados globalmente se fazem necess rios, pois do contr rio o usu rio a a a precisaria procurar pelos datasets em cada elemento de armazenamento. Os servicos de cat logo de dados podem ser classicados em duas categorias: servicos de localizacao de a r plicas (Replica Location Services - RLS) e servicos de metadados (Replica Metadada e Services - RMS). Em um procedimento comum de acesso a dados em projetos do HEP, o usu rio lanca uma consulta junto ao RMS procurando por arquivos que satisfazem os a metadados informados. O RMS retorna ent o nomes l gicos de arquivos como resultado. a o Estes nomes s o usados em uma nova consulta, desta vez junto a um RLS, para saber que a SEs possuem r plicas do arquivo procurado. O usu rio ent o escolhe um ou mais desses e a a SEs e os contacta diretamente via interface SRM.

6. Conclus es o
O estudo sobre SAs de grande escala aqui apresentado serviu como base para a compreens o de sistemas em escala ainda maior, os SAs de larga escala. Assim, torna-se possvel a ` analisar com mais anidade os problemas inerentes a utilizacao de difetentes SAs em um contexto de grade. Um dos problemas ainda em aberto diz respeito a especicacao de servicos de arquivos para grades que trabalhem com SRMs e RLS em um unico servico [10]: os cha mados Gerenciadores de R plicas (R plica Management). Este problema ser explorado e e a como tema de dissertacao.

Refer ncias e
[1] I.Foster and C. Kesselman and S. Tuecke. The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, 1999. [2] D. Petravick and Timur Perelmutov. Storage Resource Managers by CMS, LCG. Presentation Slides on Twelfth NASA Goddard and Twenty First IEEE Conference on Mass Storage Systems and Technologies - Spring 2004, Washington DC. [3] RAID Systems. http://www.usbyte.com/common/raid_systems.htm [4] P. Fuhrmann, dCache: the commodity cache, proceedings of the Twelfth NASA Goddard and Twenty First IEEE Conference on Mass Storage Systems and Technologies, Washington DC 2004. [5] M. Ernst, P. Fuhrmann, M. Gasthuber, T. Mkrtchyan and C. Waldman. dCache, a distributed data storage caching system. Chep 2001, Beijing. [6] P. Fuhrmann. The Tivoli Storage Manager in the LHC Grid World. TSM Symposium, Sep 2005, Oxford. [7] P. Fuhrmann. A Perfectly Normal Namespace for the DESY Open Storage Manager. Conf. on Computing in High Energy Physics, Berlin, 1997. [8] J. Gu, A. Sim and A. Shoshani. The Storage Resource Manager Interface Specication, version 2.1. http://sdm.lbl.gov/srm/documents/joint.docs/ SRM.spec.v2.1.final.doc [9] D. Petravick and T. Perelmutov. Utilization of Storage Resource Managers by Compact Muon Solenoid Large Hadron Collider Experiment. Twelfth NASA Goddard and Twenty First IEEE Conference on Mass Storage Systems and Technologies. Spring 2004, Washington DC. [10] A. Shoshani. Data and Storage Management, Data Transport. PPDG Review. Fermilab, 2003.