• Nenhum resultado encontrado

Ficha de Caracterização do Trabalho

N/A
N/A
Protected

Academic year: 2021

Share "Ficha de Caracterização do Trabalho"

Copied!
5
0
0

Texto

(1)

Ficha de Caracterização do Trabalho

Título: RAID : aumento do paralelismo e segurança no armazenamento de dados

Resumo: Apresentam-se, através de uma linguagem objectiva, os sistemas de armazenamento RAID, nas

diferentes vertentes de organização dos dados, a sua arquitectura e implementação (por hardware e

software). Para esse efeito, descrevem-se as características mais importantes, tais como: escritas, leituras,

redundância, distribuição, paridade e falhas dos dados nas diversas estruturas existentes. Mediante os sistemas descritos pretende-se que se tenha uma noção dos níveis de organização dos dados adequados às características dum sistema de informação (taxa de transacção / transferência) onde se vai aplicar a tecnologia. Com esta apresentação, pensa-se contribuir para a informação dos apreciadores de sistemas de armazenamento (RAID) face à presente e futura importância destes no mercado.

URL: http://student.dei.uc.pt/~apsimoes/cp/template%20portfolio_files/2artigo.pdf Data: 15 de Novembro de 2003

Esforço: ~40 horas

Motivação: Apresentar, clarificar, elucidar, aprofundar e figurar as vantagens da utilização de um sistema de

armazenamento de alta performance e confiabilidade, de desígnios intimamente relacionados com os microprocessadores, através de um documento de fácil interpretação, integração, consolidação e visualização de conteúdos fulcrais. Desvendar um pouco do campo da Engenharia de Sistemas, nomeadamente aspectos de configuração na implementação de sistemas RAID (por hardware / software).

Aprendizagem: Arquitectura RAID (actual) e as diversas organizações dos dados nos sistemas RAID.

Adequação das escolhas dos sistemas a determinadas aplicações. Vantagens e desvantagens das duas formas de implementação dos sistemas RAID : software e hardware. Importância de um sistema de armazenamento de alta performance e segurança para sistemas de aplicações críticas.

Conteúdos: confiabilidade, disponibilidade, paralelismo, redundância, cálculo de paridade, organização de

dados / paridade, implementação por hardware / software, tempo de acesso aos dados, código de Hamming, falhas / escritas / leituras de dados, taxa de transacção / transferência.

Processos: Contacto com docentes e especialistas da matéria. Melhoria na pesquisa de informação na Web,

e livros, assim como, da capacidade de escrita e avaliação de documentos (artigos). Instalação de discos RAID por software ou hardware.

Futuro: Actualização e complementação do artigo, sempre que relevante e estritamente necessário,

permitindo uma consulta ilustrativa e textual, rápida e eficaz deste tema.

(2)

RAID: AUMENTO DO PARALELISMO E SEGURANÇA

NO ARMAZENAMENTO DE DADOS

por António Pedro Oliveira Departamento de Engenharia Informática

Universidade de Coimbra 3030 - 290 Coimbra, Portugal

apsimoes@student.dei.uc.pt http://student.dei.uc.pt/~apsimoes/cp

Resumo: Apresentam-se, através de uma linguagem objectiva, os sistemas de armazenamento RAID, nas diferentes vertentes de organização dos dados, a sua arquitectura e implementação (por hardware e software). Para esse efeito, descrevem-se as características mais importantes, tais como: escritas, leituras, redundância, distribuição, paridade e falhas dos dados nas diversas estruturas existentes. Mediante os sistemas descritos pretende-se que se tenha uma noção dos níveis de organização dos dados adequados às características dum sistema de informação (taxa de transacção / transferência) onde se vai aplicar a tecnologia. Com esta apresentação, pensa-se contribuir para a informação dos apreciadores de sistemas de armazenamento (RAID) face à presente e futura importância destes no mercado.

Palavras chave: RAID, sistemas de armazenamento, confiabilidade, paralelismo, segurança/paridade/redundância dos dados, código de Hamming, Reed Solomon, engenharia de sistemas.

1. INTRODUÇÃO

Assiste-se, nos últimos anos, a um enorme desenvolvimento na área dos (micro)processadores (caches), aliado a um aperfei-çoamento das memórias (em capacidade e tempo de acesso). Isto traduziu-se num “fosso” relativamente aos discos, que dispõem de tempos de acesso elevados para uma desejável utilização rápida (eficaz) dos dados. Assim, estudou-se a necessidade de rapidamente indagar e trabalhar a área de sistemas de armazenamento para um apetecível aumento do paralelismo no acesso aos dados. Daqui resultou um aumento das taxas de transferência de I/O (analogia com a história dos microprocessadores). Estes sistemas prontamente começaram a ser requisitados por empresas que necessitavam destas qualidades, conduzindo ao estímulo de vários técnicos especialistas e cientistas em integrar vários discos que aumentassem a performance e que assim pudessem inovar, melhorar esta área de interesse crescente.

Foi neste campo que o sistema RAID, tecnologia confiável, em contínuo crescendo, despontou. Surgindo num projecto da iniciativa da universidade de Berkley, veio acrescentar ao paralelismo entre múltiplos discos, uma segurança necessária dos mesmos para as eventuais falhas destes dispositivos de fulcral importância no armazenamento de dados. Esta tecnologia apresenta enorme implementação em grandes empresas, sendo importante para aplicações que utilizem servidores. Existem duas obras de qualidade sobre este tema, que o leitor poderá (e deverá) consultar: “RAID: High-Performance, Reliable Secondary Storage”, de David Patterson e “Sobrevivência de Dados em Disco”, de Manuel Quadros.

Pretende este artigo alargar o conhecimento dos interessados no tema, apresentando as diversas organizações de dados de elevada performance e contribuir para a sensibilização do impacto presente e futuro que estes sistemas têm nas velocidade de acesso, que se traduz numa rapidez (eficiência) de processamento dos dados do CPU. Pretende-se, também, alertar para a existência de duas formas de implementação destes sistemas (Software e Hardware). Nos parágrafos que se seguem são apresentadas diversas organizações dos dados em sistemas RAID, tais como: o nível 0, 1, 2, 3, 4, 5 e 6 destes sistemas.

2. DISCOS

O disco é um dispositivo que armazena informação em pratos. Estes apresentam duas faces onde são gravados os dados, cada uma com as cabeças de leitura e escrita, que giram radialmente sobre os pratos e se encontram ligadas por uma haste metálica (braço) a um actuador (de rotação). Cada lado dos pratos é organizado em pistas circunferenciais constituídas por sectores com a mesma capacidade de armazenamento de dados (512

bytes). Há a salientar 3 conceitos importantes: o tempo de latência que, corresponde ao

tempo necessário para mover a cabeça de leitura/escrita para a pista correcta, o tempo de rotação que corresponde ao tempo necessário para colocar a cabeça no sector desejado e o tempo de transferência que corresponde à taxa a que os dados são transferidos de/para pratos. Destacam-se as interfaces de discos IDE, SCSI e fibre channel.

(3)

3. SISTEMAS RAID

Um sistema RAID é um conjunto de dispositivos de armazenamento (discos) organizados, mais pequenos e mais baratos, vistos e usados pelo sistema operativo como uma unidade funcional e lógica. Estas organizações de dados permitem maiores taxas de I/O (devido à redundância), mais segurança (devido à paridade) e uma maior capacidade de armazenamento. Há a considerar quatro conceitos relevantes: a taxa de transferência (bytes por segundo), taxa de transacção (acessos I/O por segundo), paridade (informação que permite reconstruir classes de dados) e redundância (dados duplicados). São apresentadas as arquitecturas mais usadas e influentes do mercado, existindo outras arquitecturas que integram características de mais do que uma arquitectura, tais como: RAID 0+1, RAID 1+0, RAID 3+5 e o RAID 7 (de uma companhia) entre outras. Nos resultados apresentados foram considerados grupos de 10 discos.

A

RQUITECTURA

R

AID

Esta é a arquitectura utilizada pelos sistemas RAID, onde são estabelecidas ligações de baixa largura de banda (e custo) entre os discos e um controlador RAID de hardware (ou simulado por software) com microprocessador incorporado. O controlador está ligado atra-vés de uma ou mais ligações de elevada largura de banda ao(s) computador(es) e é responsável por toda a actividade do sistema, nomeadamente o controlo de discos, manutenção da informação redundante e detecção e recuperação de discos (e ligações) com falhas.

A arquitectura dos controladores RAID 5 e 6 são as mais complexas, seguindo-se as dos controladores RAID 3 e 4 também bastante complexas, sendo a do RAID 2 e, essencialmente, a do RAID 1 as mais fáceis de implementar.

R

AID

0

-

N

ÃO

R

EDUNDANTE

Os dados são divididos em blocos (~32/64Kb) distribuídos pelos vários discos. O con-junto de leituras e escritas pode ser feito concorrentemente pois não há actualização de paridade nem redundância dos dados, o que se traduz em excelentes taxas de transferência e transacção. Oferece a melhor performance de escrita pois não actualiza dados redundan-tes, escrevendo apenas num disco. Apresenta boa performance de leitura, mas pior que o RAID 1. Se ocorre uma falha num dos discos, os dados são todos perdidos (problema do RAID 0)!

É a organização mais barata, sendo utilizada em ambiente de supercomputação, onde a performance e capacidade são fulcrais em detrimento da segurança dos dados.

R

AID

1

D

ISCOS

D

UPLICADOS

Os dados são divididos em blocos (~32/64Kb) e estão duplicados em 2 discos diferen-tes (normal e cópia – dobro do RAID 0). Para operações de leitura dos dados o controlador pode escalonar o disco com menor tempo de latência, atraso de rotação e fila de espera (superando o RAID 0), ficando o outro disco disponível para outras leituras. Já as operações de escrita são realizadas no disco principal e na sua cópia, sequencialmente, pois temos um controlador para 2 discos, o que degrada a performance de escrita (problema do RAID 1). No caso de discos com falhas, a escrita e leitura processam-se normalmente nos discos sem falhas, permitindo tolerância a múltiplas falhas.

Este sistema é utilizado em aplicações de bases de dados, onde a disponibilidade dos discos (imediata) e a taxa de transacção são mais importantes.

R

AID

2

C

ÓDIGO DE

H

AMMING

Os dados são divididos em bits (ou bytes) e distribuídos por discos diferentes. Utiliza o código de Hamming para recuperação/correcção de dados, necessitando de (log (total de discos)) discos de paridade, onde guarda o código dos dados. Este é utilizado em conjunto com os bits dos discos de dados para recuperação da informação do disco com falha, atri-buindo um valor ao bit com erro de acordo com o código de Hamming. São necessários vários discos de paridade para identificar o disco com falha e outro para recuperar os dados perdidos, permitindo correcção instantânea. Corrige erros com 1 bit e detecta erros com 2

bits. Apresenta excelentes taxas de transferência, mas fraca performance nos pequenos

acessos, pois tem de aceder a todos os discos, limitando os acessos em simultâneo, facto que se poderá atenuar aumentando o número de discos de paridade.

Sistema em que a velocidade de correcção dos erros se adequa a mainframes.

Grandes leituras Grandes escritas Pequenas leituras Pequenas escritas Overhead de custo Capacidade usada

100% 100% 100% 100% 0% 100%

Grandes leituras Grandes escritas Pequenas leituras Pequenas escritas Overhead de custo Capacidade usada

100+% 50% 100+% 50% 100% 50%

Grandes leituras Grandes escritas Pequenas leituras Pequenas escritas Overhead de custo Capacidade usada

(4)

R

AID

3

B

ITS

D

ISTRIBUÍDOS

Os dados são divididos em bits (ou bytes). Ostenta apenas um disco de paridade, pois a detecção do disco com falha é feita pelos controladores, o que aumenta a eficiência dos acessos. Todos os acessos usam todos os discos de dados. Na leitura apenas acede aos discos de dados, ficando o disco de paridade inactivo, o que resulta numa pior performance relativamente aos discos com paridade distribuída. Nas escritas, o controlador actualiza (Xor) o disco com paridade concorrentemente com actualização dos discos de dados. Por isso, a performance das pequenas escritas não é boa, sendo apenas possível servir um pedi-do (acesso) de cada vez o que resulta numa baixa taxa de I/O. No caso de uma falha num disco, esse não participa nas escritas e tudo se processa da mesma forma. Já nas leituras, além de se lerem os dados dos discos (sem falhas) é necessário calcular a informação do dado com erro, através dos dados dos outros discos (incluindo o de paridade), comparando

bit a bit a paridade desses dados. É tolerante a múltiplas falhas se utilizar mais discos de

paridade e técnicas de detecção/correcção de erros mais complexas (Reed Solomon). Ocorre muitas vezes uma perda de eficiência devido a uma sobrecarga de acessos ao disco de paridade. Oferece excelentes taxas de transferência de dados.

Sistema utilizado em aplicações que necessitem de elevada largura de banda, em detrimento de aplicações de elevadas transacções.

R

AID

4

B

LOCOS

D

ISTRIBUÍDOS

Os dados são divididos em blocos (~32/64Kb) escritos numa unidade dos disco de dados. Assim, a probabilidade de em pequenos acessos se aceder a mais que um disco é reduzida, resultando num grande número de acessos concorrentes. Este sistema melhora a performance das pequenas leituras, usufruindo do paralelismo, ao aceder apenas ao disco onde se encontra o bloco de dados, sendo a principal vantagem relativamente ao RAID 3. As pequenas escritas precisam actualizar o bloco de paridade, necessitando para isso de ler a paridade antiga, os novos dados e os dados antigos, num total de 4 acessos a 2 discos (2 leitura + 2 escrita). Em caso de falha num disco, os dados são reconstruídos nas leituras com auxílio do disco de paridade. Ostenta excelentes taxas de transacção nas leituras, facto que já não sucede nas escritas devido à sobrecarga de acessos no disco de paridade. Este sistema é utilizado em servidores de ficheiros.

R

AID

5

-

P

ARIDADE

D

ISTRIBUÍDA

Os dados são divididos em blocos (~32/64Kb) escritos num disco de dados, sendo actualizado o bloco de paridade correspondente a esses dados. Distribui a paridade unifor-memente por todos os discos, evitando problemas no acesso a um único disco de paridade (RAID 3/4). Este facto, permite que todos os discos participem nas leituras dos dados, ao contrário das organizações com discos de paridade dedicados que não participam nas leituras, resultando em melhores performances de leitura (pequenas e grandes). Nas escritas todos os discos podem ser utilizados e a actualização de paridade feita num dos outros discos. Nas pequenas escritas suporta múltiplos acessos individuais, pois a paridade está distribuída pelos vários discos. Não são, no entanto, tão eficazes quanto o RAID 1, dado que necessitam de actualizar os dados de paridade. Em caso de falha de um disco, nas leituras todos os discos são lidos e calculada a informação (Xor) e nas escritas actualiza-se o disco de paridade com o cálculo (Xor) do dado a escrever e dos dados antigos lidos. A distribuição dos dados nos discos deverá ser feita por forma a que cada disco seja acedido pelo menos uma vez (tal como no esquema), antes de outros serem acedidos duas, salvaguardando conflitos no acesso de grandes leituras (ou escritas).

É utilizado em sistemas transaccionais e servidores de qualquer tipo (BD, www...).

R

AID

6

P

ARIDADE

P

E

Q

Semelhante ao RAID 5, oferece mais segurança dos dados derivada de mais um nível de paridade (Q). Permite a protecção contra várias falhas em múltiplos discos. Para isso, necessita de um forte código (de paridade) de correcção de erros (Reed-Solomon) e que as leituras se processem correctamente de todos os discos (sem falhas). Nas escritas necessita de 6 acessos devido à actualização da informação de paridade “P” (4) e “Q” (2).

Sistema utilizado em aplicações que necessitem de elevada confiabilidade.

Grandes leituras Grandes escritas Pequenas leituras Pequenas escritas Overhead de custo Capacidade usada

91% 91% 9% 5% 10% 91%

Grandes leituras Grandes escritas Pequenas leituras Pequenas escritas Overhead do custo Capacidade usada

91% 91% 91% 5% 10% 91%

Grandes leituras Grandes escritas Pequenas leituras Pequenas escritas Overhead do custo Capacidade usada

91% 91% 100% 25% 10% 91%

Grandes leituras Grandes escritas Pequenas leituras Pequenas escritas Overhead do custo Capacidade usada

(5)

4. HARDWARE /SOFTWARE

O RAID por hardware é mais eficiente e rápido pois apresenta um controlador dedicado para operações de transferência I/O “libertando” o processador para outras tarefas. O controlador “apresenta” os discos RAID como um único dispositivo (lógico) de armazenamento, facilmente reconhecido por qualquer sistema operativo. Nesta implementação todo o espaço da unidade de disco é exclusiva do RAID.

O RAID por software apresenta como vantagem não ser necessário qualquer controlador RAID, o que se reflecte num baixo custo, sendo a única necessidade um sistema operativo onde são implementadas as funções de suporte à tecnologia. No caso do Windows temos dois tipos de discos: básico e dinâmico, sendo que o primeiro não dá suporte a RAID por software, daí a necessidade converter os discos básicos para dinâmicos. Estes podem ser subdivididos em volumes simples (por defeito), volumes striped utilizados para o RAID 0, volumes “espelhados” para RAID 1, ou então, striped com paridade para RAID 5.

5. CONCLUSÕES

Pretendeu-se com este artigo dar a conhecer e desbravar um campo dos sistemas de armazenamento, de uma forma clara, através da familiarização com diversos conteúdos de relevância de diversas organizações de dados. Pensa-se que poderá constituir um auxiliar útil, para o leitor que pretenda integrar, consolidar e até visualizar conteúdos fulcrais no campo dos sistemas RAID, que vieram aumentar a confiabilidade e velocidade (paralelismo) de acesso aos dados. Cogita-se que estes sistemas venham a adquirir enorme sucesso e invadir, o mercado do utilizador, por apresentarem enormes potencialidades de paralelismo e segurança dos dados, necessitando para isso de beneficiar de uma baixa de preço de mercado destes sistemas (controladores). Espera-se que este artigo incentive ao conhecimento destes sistemas de armazenamento de elevada performance, para os quais o presente e futuro sucesso se poderá assemelhar ao dos multiprocessadores (vários microprocessadores), já que os sistemas RAID são constituídos por vários discos (pequenos e baratos), factor fulcral para uma “extracção” de paralelismo.

Agradecimentos

O autor agradece ao professor, especialista de sistemas RAID, David A. Patterson da Universidade de Berkley e aos docentes de Arquitecturas de Computadores, José Delgado e Carlos Felgueiras a informação fornecida, assim como aos pais a análise critica prestada ao trabalho.

Referências

1. Chen, P. M., R. H. Katz, D. A. Patterson (1994), “RAID: High-Performance, Reliable Secondary Storage”, http://www.inf.ufrgs.br/~flavio/ensino/ArqServ/pchen.pdf (visitada em 25 de Outubro de 2003)

2. Gibson G., M. Holland (1996), “RAIDframe: A Rapid Prototyping Tool for RAID Systems”, http://www.pdl.cmu.edu/RAIDframe/raidframebook.pdf (visitada em 31 de Outubro de 2003) 3. Patterson D., G. Gibson (1988), “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,

http://www-2.cs.cmu.edu/~garth/RAIDpaper/Patterson88.pdf (visitada em 31 de Outubro de 2003) 4. Quadros, M. G. (1994), Sobrevivência de Dados em Disco (lido em 5 de Novembro de 2003) 5. Cunha, A. P. (2003), “Dispositivos Secundários de Armazenamento de Dados”,

http://www.sj.univali.br/prof/Alecir%20Pedro%20Da%20Cunha/OrganizacaoDeArquivos/01_Apostila_DispositivosAr mazenagem.pdf (visitada em 27 de Setembro de 2003)

6. Gibson, G. (1995), “Reliable, Parallel Storage Architecture: RAID & Beyond”,

http://www.pdl.cmu.edu/RAIDtutorial/Sigarch95.pdf (visitada em 1 de Novembro de 2003) 7. Stallings W. (1997), Operating Systems : Internals and Design Principles, 3ª edição,

Upper Saddle River, NJ : Pentrice Hall pp. 471 - 479 (lido em 21 de Outubro de 2003)

8. Patterson D.A. e J.L. Hennessy (1996), Computer Architecture : A Quantitative Approach, 2ª edição, San Francisco, California : Morgan Kaufmann Publishers pp. 521 - 525 (lido em 17 de Outubro de 2003) 9. Rauber, F. K. (n/a), Baboo homepage, “RAID: perguntas e respostas !”

Referências

Documentos relacionados

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

Changes in the gut microbiota appears to be a key element in the pathogenesis of hepatic and gastrointestinal disorders, including non-alcoholic fatty liver disease, alcoholic

Os resultados permitiram concluir que a cultivar Conquista apresentou a maior produtividade de grãos, no conjunto dos onze ambientes avaliados; entre as linhagens

Estes resultados apontam para melhor capacidade de estabelecimento inicial do siratro, apresentando maior velocidade de emergência e percentual de cobertura do solo até os 60

Entendendo, então, como posto acima, propõe-se, com este trabalho, primeiramente estudar a Lei de Busca e Apreensão para dá-la a conhecer da melhor forma, fazendo o mesmo com o

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para

(14) use um método de escrileitura calcado na vontade lúcida de estruturar o texto e não na intenção (absurda) de formular juízos de valor; ou seja, não organize o

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,