Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Tecnologia RAID Bruna Takita - 2786, Estudante, UFV-CRP Jackson Santana - 2535, Estudante, UFV-CRP Stanelle Julle - 2551,Estudante, UFV-CRP Resumo—Em decorrência ao avanço tecnológico, grandes quantidades de dados têm sido geradas. Dado tal cenário, surge a necessidade de armazenamento destes dados, incitando assim, buscas por tecnologias que visem aumentar o desempenho da leitura e escrita de dados. Neste trabalho, serão descritos alguns dos tipos de RAID (do Inglês, Redundant Array of Independent Disks), tal como seu funcionamento e implementações. Palavras-chave—RAID, tecnologia, armazenamento, disco rígido, redundante, desempenho F 1 INTRODUÇÃO SABE-SE que a tecnologia não só muda a vida do serhumano, mas também está em constante evolução. Os dados que são o pivô dessas constantes mudanças, estão sendo transmitidos e armazenados por diversos meios. Com isso a capacidade de armazenar tais dados, tornou-se de grande relevância para a sociedade. Além da capacidade de armazenamento, é necessário soluções para que esses dados sejam de fácil acesso e escrita, estando protegidos de forma que o usuário se sinta seguro em confiar as suas informações. A tecnologia RAID (Redundant Array of Independent Disks), proposto por David A. Patterson [1] em 1988, que em português é dado como Conjunto Redundante de Discos Independentes, possibilita o aumento de desempenho do disco rígido, melhoria de segurança e confiabilidade. Essa tecnologia é composta por diferentes níveis, sendo que cada nível possui sua característica específica. 2 NÍVEIS DE RAID Os níveis de RAID original proposto Patterson [1] são descritos como RAID, de 1 a 5. Esses níveis possuem diferentes configurações, como o espalhamento, correção de erros usando Hamming, paridade entrelaçada em nível de bit, paridade entrelaçada em nível de blocos e paridade distribuída em nível de bloco, respectivamente [2]. Posteriormente outros níveis de tecnologia RAID surgiu como sendo a derivação do 5 níveis de Patterson [1]. Os níveis originais e alguns dos seus derivados serão descritos detalhadamente a seguir. • B.T. Graduanda do curso de sistemas de informação, UFV-CRP E-mail: brunatakita@hotmail.com • J.S. Graduanda do curso de sistemas de informação, UFV-CRP. E-mail: jack.rsantana@gmail.com • S.S. Graduanda do curso de sistemas de informação, UFV-CRP. E-mail: stanellejulle@hotmail.com 2.1 Níveis de RAID Originais 2.1.1 RAID 1 É a solução tradicional originalmente proposta por Pat- terson et al. [1] e também pode ser denominada espel- hamento ou Mirroring, visto que implementa o espel- hamento de disco. O espelhamento de disco consiste em sempre que um dado é escrito em um disco, o mesmo dado é escrito em um disco redundante, mantendo sempre duas cópias do dado, conforme ilustrado na figura 2. Por este motivo, o RAID 1 utiliza o dobro de discos de uma matriz não redundante. [2] Dessa forma, sempre que um dado precisar ser recuperado, alguns fatores poderão ser considerados, como menor fila e menor tempo de busca, para escolha do disco. E caso um disco falhe, terá a cópia de segurança armazenada no segundo disco. Porém, em detrimento à segurança oferecida pela cópia dos dados tem- se a perda de 50% do espaço disponível. Fig. 1: RAID 1 2.1.2 RAID 2 A tecnologia RAID 2 utiliza os códigos de Hamming para a recuperação de componentes falhos. Essa tecnologia é constituída por no mínimo quatro discos de dados e três para redundância. Caso ocorra falha em um dos compo- nentes, as informações serão recuperadas a parti da leitura dos outros.[2] O RAID 2 caiu em desuso, devido as novas tecnologias já possuírem essa correção. 2 Fig. 2: RAID 2 2.1.3 RAID 3 RAID 3 mostrado na Figura X, é uma versão melhorada do RAID nível 2. Essa tecnologia é caraterizada por usar somente um único disco para a paridade e por apresentar maior complexidade de implementação. Dessa forma pode- se observar que os quatro primeiros discos armazenam os dados e o último disco armazena a paridade. O bit de paridade pode recuperar e detectar a falha em disco, pois quando um disco falha, é subtraído todos os dados dos discos bons do disco que contém somente a paridade e o restante das informações é que possivelmente estava faltando[2][3]. Fig. 3: RAID 3 2.1.4 RAID 4 Para ser implementado, o RAID 4 necessita de no mín- imo três discos, pois ao contrário do RAID 1, ele não utiliza espelhamento. Ao invés disso, um dos discos armazena a paridade dos dados contidos nos outros discos. Nesse tipo de implementação, os dados são divididos em blocos e estes blocos são armazenados nos discos de dados. No momento em que um bloco é armazenado, a paridade referente ao que foi armazenado é criada e armazenada no disco de paridade. Desta forma, caso algum dos discos de dados apresente problemas, a paridade pode ser acionada em tempo real para reconstruir o seu conteúdo. Conforme dito por [4], esse tipo de RAID é útil na criação de discos virtuais de dimensões grandes, pois este consegue somar o espaço total oferecido pelos discos de dados. Fig. 4: RAID 4 2.1.5 RAID 5 A tecnologia RAID 5 é uma mistura de espelhamento com divisão, basicamente possui uma matriz de três ou mais discos rígidos, onde os dados serão distribuídos. Além dos dados, cada disco possui os bits de paridade que é usado para a correção caso algum disco falhe [5][6]. A matriz de disco com a paridade distribuída elim- ina o gargalo do disco, pois a sua distribuição uniforme possibilita que todos os discos participem das requisições. Os RAID 5 tem como melhor desempenho para pequenas leituras, grandes leituras e grande escritas, contudo para as pequenas requisições de escrita são ineficientes comparado ao espelhamento e redundância, pois é necessário executar as operações para atualizar a paridade[6]. Figura abaixo ilustra como seria o armazenamento dos dados e as paridades compartilhando o mesmo disco em uma matriz do RAID 5. Fig. 5: RAID 5 2.2 Níveis de RAID Derivados 2.2.1 RAID 6 O RAID 6 é uma derivação do RAID 5. Esta tecnologia apresenta um adicional de tolerância à falha utilizando a paridade distribuída. A distribuição dos dados é semelhante à do RAID 5, contudo recebe o dobro de bits de paridade. Esse dobro de paridade dar suporte para uma segunda falha simultânea de disco, utilizando geralmente o código REED-Solomon [2] Para aplicações mais complexas o RAID 6 tem como vantagem ser usado, por conta do o suporte de 3 múltiplas falhas. Contudo, é complexo e em alguns casos causa sobrecarga devido o cálculo da segunda paridade, causando assim a redução no desempenho da escrita [2]. Fig. 6: RAID 6 2.2.2 RAID 0 (zero) O sistema RAID 0, apresentado na figura 1, é uma derivação dos cinco primeiros níveis de RAID e pode ser definido como a matriz de discos sem tolerância a falha, uma vez que não oferece tolerância a falhas. Também pode ser denominado conjunto de fragmentos sem paridade (no- parity strip set), pois como não oferece tolerância a falhas, não tem a sobrecarga do cálculo de paridade. [2] Esse nível RAID realiza a divisão da informação em blocos (por exemplo, um arquivo de 4Mb é dividido em 4 blocos de 1Mb) gravando estes blocos em discos distintos visando aumentar o desempenho da escrita, uma vez que distribui a carga de E/S ao longo de vários canais e discos. Permitindo, dessa forma, que a leitura e escrita dos blocos ocorram simultaneamente em cada unidade. [2] Fig. 7: RAID 0 2.2.3 RAID 0+1 O RAID 0+1 é uma combinação dos níveis RAID 0 (Strip- ing) e 1 (Mirroring), na qual os dados são divididos entre os discos, utilizando espelhamento de discos em seguida, conforme apresentado na figura 3. Dessa forma, é possível aproveitar o bom desempenho do RAID 0 e a segurança oferecida através da redundância dos dados do RAID 1. Devido a essas características, esse nível RAID pode ser consideradoo mais rápido e seguro, porém o de mais cara implantação, necessitando de, no mínimo, 4 discos. Caso um dos discos falhe, o sistema se torna RAID 0 [4]. Fig. 8: RAID 0+1 Segundo os autores Barbieri et al [4] e Canedo e Teixeira [7], o sistema RAID 0, também conhecido como Striping, não oferece segurança, uma vez que, a perda de um disco representa a perda dos dados. Por este motivo, não é um método para ser utilizado em projetos críticos. Além disso, esse nível RAID não apresenta redundância. 2.2.4 RAID 10 (1+0) Conforme dito por Lobato, O RAID 10 é um RAID 0 que utiliza RAID 1 ao invés de discos convencionais [2], ou seja, é também uma combinação dos níveis RAID 1 e 0. Cada par será espelhado, garantindo a redundância do nível RAID 1, e os pares serão então distribuídos, obtendo melhor desem- penho semelhante ao RAID 0. Dessa forma, até metade dos discos pode falhar simultaneamente, sem prejudicar todo o conjunto, desde que não falhem os dois discos redundantes. A implantação não é tão cara e o desempenho tão bom quanto o RAID 0+1, porém é um nível RAID recomendado por ser seguro e consideravelmente rápido. Fig. 9: RAID 10 4 2.2.5 RAID 50 O RAID 50, que também é chamado de RAID 5 + 0, combina as técnicas de paridade distribuída do RAID 5 juntamente com a segmentação de dados do RAID 0. Para ser implementado, necessita de no mínimo 6 unidades de disco. Na sua implementação utilizando o número mínimo de unidades de discos, as unidades são divididas em dois grupos de RAID 5 interligadas através do RAID 0. Em casos de falhas, cada unidade de RAID 5 poderia falhar sem perda de dados. Esse tipo de RAID possui uma boa performance, uma vez que o mesmo reparte os dados no RAID 0 e em seguida, escreve simultaneamente no RAID 5. Uma de suas desvantagens é o seu custo elevado de implementação. O RAID 50 é recomendado para aplicações que exigem um alto nível de confiabilidade.[8] Fig. 10: RAID 50 2.2.6 RAID 100 O RAID 100 (RAID 10 + 0) trata-se de uma implemen- tação utilizando RAID 10 e RAID 0. Requer no mínimo 8 discos para ser implementado e geralmente é implemen- tado utilizando software RAID 0 sobre o hardware do RAID 10. As características de falha desta implementação são idênticas ao RAID 10. Sua principal vantagem, é o alto desempenho e tolerância a falhas. Em contrapartida, sua implementação custa caro e possui um alto nível de complexidade[9] Fig. 11: RAID 100 3 IMPLEMENTAÇÕES DE RAID A implementação de um sistema RAID pode acontecer de duas formas, através de uma implementação utilizando software ou através de uma implementação utilizando hard- ware. 3.1 Implementação Via Software Em uma implementação de sistema RAID utilizando software, o gerenciamento da RAID é feito pelo sistema operacional através da controladora de discos. Neste tipo de implementação, a movimentação de dados é realizada por uma camada de software que realiza uma abstração entre as opções lógicas da RAID e os discos físicos. O processamento necessário para o gerenciamento é realizado pela CPU. Atualmente, a maioria dos sistemas operacionais possuem a capacidade de criar RAIDs através de software. Devido ao fato de não utilizarem controladores físicos, sua implementação torna-se mais barata. 3.2 Implementação Via Hardware Na implementação de sistema RAID utilizando hard- ware, é utilizado uma controladora especialmente dedicada ao gerenciamento da RAID. Geralmente, as implementações de RAID via hardware oferecem um sistema de cache para leitura e escrita, isso juntamente com o fato de implemen- tações via hardware não sobrecarregarem o processador, faz com que haja um aumento na performance. Outra facilidade apresentada pelas implementações via hardware, é que a grande parte suporta "hot-swapping", ou seja, em caso de falhas, é possível substituir os discos enquanto o sistema está em funcionamento. 4 REVISÃO BIBLIOGRÁFICA Diversos autores relatam as características e utilizam a tecnologia RAID para experimentos, entre eles têm-se: Goldman et al [10]; Lobato [2]; e Canedo, Teixeira e Bruchi [7]. Goldman et al [10] em seu trabalho "TAQUARA – Tecnologia, Aplicações e Qualidade de Serviço em Re- des Avançadas no Projeto GIGA", Realiza experimentos para a transmissão de dados em redes Gigabit em dois cenários distintos. No primeiro, os dados são armazenados na memória do computador e são transmitidos para outro computador através de uma rede Gigabit. O segundo, os dados estão armazenados em disco rígidos que são lidos e repassados para a sua interface de rede e em seguida é transmitido pela rede. A transmissão disco a disco obteve baixa vazão de dados, assim não alcançou a taxa de 1 Gbps . Para resolver esse problema, foi reconfigurado os disco em modo RAID 0 que conseguiu atende a transmissão em altas taxas. Para a compressão do assunto abordado, os autores descrevem o conceito da tecnologia RAID com ênfase no nível 0. Lobato [2] aborda em seu trabalho, um ambiente que auxilia o aprendizado e na avaliação de desempenho de diferentes níveis de RAID. Para tanto, foi realizada uma revisão bibliográfica sobre a tecnologia RAID e os seus aspectos como o desempenho, confiabilidade e os níveis existentes. 5 O gerenciamento da disponibilidade de armazenamento uniu diversas técnicas e ferramentas. Canedo, Teixeira e Bruchi [7] ressaltam que os negócios são afetados direta- mente pelos pontos falhos, como, ambientes sem redundân- cia e disco únicos. Os autores no seu trabalho abordam conceitos e ferramentas que prove alta disponibilidade em armazenamento de banco de dados com foco em alta perfor- mance. Entre tais conceitos pode ser visto storage, Clusters, RAID e Raw Devices. 5 CONCLUSÃO RAID é uma tecnologia que permite que o computador ganhe desempenho nas operações de escrita e leitura de dados, com detecção de erros e em alguns casos com a recu- peração de erros caso ocorra falha em disco. Essa tecnologia é dividida em níveis com diferentes características. Cada nível possui sua particularidade adequando-se aos diversos problemas, sendo que esses são usados de acordo com a necessidade. O uso desta tecnologia possibilita o aumento da capaci- dade de armazenamento e do desempenho dos sistemas computacionais, possibilitando futuras expansões. Além de, assegurar considerável confiabilidade e segurança dos da- dos armazenados. Tornando-se, portanto, uma tecnologia de grande relevância no cenário atual, que cada vez mais busca por melhorias de desempenho. REFERENCIAS [1] D. A. Patterson, G. Gibson, and R. H. Katz, A case for redundant arrays of inexpensive disks (RAID). ACM, 1988, vol. 17, no. 3. [2] D. C. Lobato, “Proposta de um ambiente de simulação e apren- dizado inteligente para raid,” Ph.D. dissertation, Universidade de São Paulo, 2000. [3] D. Patterson and J. Hennessy, “Organização e projeto de computa- dores: a interface hardware/software. editora campus,” 2005. [4] V. d. S. N. C. André Barbieri, David Leandro, “Tecnologia RAID,” vol. 1, pp. 363–387, 2013. [5] B. A. Milanez, G. d. S. De Lucca, and D. P. da Cunha, “7a fase- estudo da tecnologia raid 5 implementada em um cluster hp,” Anais SULCOMP, vol. 4, 2008. [6] Intel, “Tecnologia de armazenamento Intel R© Rapid,” vol. 0, 2011. [7] F. dos Santos Canedo, G. C. Bruschi, L. A. da Silva, and V. de Oliveira Teixeira, “Gerenciamento e alta disponibilidade em armazenamento de banco de dados,” Caderno de Estudos Tecnológi- cos, vol. 1, no. 1, 2013. [8] Cisco, Introduction to RAID. Cisco, 2007. [9] Intel, RAID Basics Training Guide - Discover a Higher Level of Performance. Cisco, 2007. [10] A. G. et al, “Taquara - tecnologia, aplicações e qualidade de serviço em redes avançadas no projeto giga. projeto giga/rnp 2460,” Caderno de Estudos Tecnológicos, vol. 1, p. 14, 2005. Introdução Níveis de Raid Níveis de RAID Originais RAID 1 RAID 2 RAID3 RAID 4 RAID 5 Níveis de RAID Derivados RAID 6 RAID 0 (zero) RAID 0+1 RAID 10 (1+0) RAID 50 RAID 100 Implementações de Raid Implementação Via Software Implementação Via Hardware Revisão Bibliográfica Conclusão Referencias
Compartilhar