Prévia do material em texto
UNIVERSIDADE DO ESTADO DA BAHIA UNIDADE ACADÊMICA DE EDUCAÇÃO À DISTÂNCIA LICENCIATURA EM CIÊNCIA DA COMPUTAÇÃO EMILE LUCI DOS SANTOS CAMPOS GABRIEL BONFIM MENDES ARQUITETURA RAID SALVADOR 2018 EMILE LUCI DOS SANTOS CAMPOS GABRIEL BONFIM MENDES ARQUITETURA RAID Trabalho apresentado no curso de Licenciatura em Ciência da Computação da Universidade do Estado da Bahia como requisito parcial da disciplina Arquitetura de Computadores. Prof.: Márcio Freire Palmeira SALVADOR 2018 SUMÁRIO 1 INTRODUÇÃO .......................................................................................................... 4 2 DESENVOLVIMENTO ............................................................................................ 5 2.1 RAIDS NÃO-HÍBRIDOS ........................................................................................ 5 2.2 RAIDS HÍBRIDOS ................................................................................................... 6 3 CONSIDERAÇÕES FINAIS .................................................................................... 7 4 REFERÊNCIAS ......................................................................................................... 8 4 1 INTRODUÇÃO RAID (Redundant Array of Independent Disk, ou Conjunto Redundante de Discos Independentes) é uma tecnologia desenvolvida em 1978 que é composta por um conjunto – denominado array – de discos físicos. Segundo Rosário (2016), seu objetivo é ganhar segurança e desempenho através do escalonamento de dados. Suas configurações são baseadas em três pilares para que funcionem da melhor forma possível em cada ambiente e necessidade: divisão, espelhamento e paridade. Divisão (ou stripping) é o processo onde os dados são divididos em vários pedaços e salvos em setores diferentes do disco. Espelhamento (ou mirroring) é o processo onde os dados são duplicados e gravados em vários setores do disco. Paridade é o valor calculado para reconstruir dados após uma falha no disco. Normalmente, esse tipo de tecnologia funciona utilizando dois ou mais discos (HDs, SSDs, etc) e é através disso que oferece segurança e confiabilidade, pois se um disco tiver problemas os demais continuam funcionando e disponibilizando os dados armazenados entre si. Apesar disso, ele não protege contra erros operacionais ou falhas de alimentação de energia. 5 2 DESENVOLVIMENTO A tecnologia RAID tem níveis que indicam a forma que os dados se repartem entre os discos e a forma que esses discos se combinam para receber esses dados. Existem 11 níveis de RAID, que se dividem entre não-híbridos e híbridos. Os RAID comuns – ou não-híbridos – são os 7 níveis dessa tecnologia usados originalmente: RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6. Os RAIDs híbridos são combinações de níveis RAID comuns, combinando as propriedades dos dois arrays. São 3: RAID 01, RAID 10 e RAID 50. 2.1 RAIDS NÃO-HÍBRIDOS O RAID 0 utiliza o “stripping” e a sua vantagem é o rápido acesso as informações armazenadas em disco e custo baixo para expansão de memória. Por outro lado, causa perda de informações se algum dos setores do disco apresentar falhas. Além disso, não tem espelhamento e não usa paridade. O RAID 1 funciona através de mirroring. Através disso, a leitura é aumentada e a segurança dos dados é aumentada , já que os mesmos foram gravados várias vezes no disco. Entretanto, esse nível de RAID demora mais para escrever os dados e é mais caro que o nível 0. O RAID 2 surgiu no final dos 80. Ele é similar ao RAID 0, mas conta com o “Hamming ECC” – Hamming Error Correcting Code, ou Código de Hamming, algoritmo utilizado para detectar erro de um bit e onde esse bit se encontra – o que reduz as taxas de erro a zero mesmo que aconteçam falhas de energia. Apesar disso, ele se tornou obsoleto e não é muito utilizado atualmente por existirem melhores tecnologias para a mesma função. O RAID 3 funciona como uma versão simplificada do RAID 2 e também conta com a organização por divisão. Nesse nível, um dos setores do disco é separado para armazenar informações sobre a paridade computada para cada palavra de dados. Possui leitura rápida, escrita rápida e controle de erros. Porém, para o caso de erros aleatórios não detectados, vai ser feita somente a detecção do erro, sem correção. Além disso, esse nível tem montagem difícil quando implementado por software. O RAID 4 também divide os dados (entre três ou mais discos, nesse caso) e utiliza paridade, assim como o 3. A paridade desse nível é mais envolvente, pois necessita de um novo cálculo para cada operação de gravação e auxilia na reconstrução em tempo real de dados perdidos em caso de falha de um dos discos. Devido a utilização de vários discos, há uma possibilidade 6 de aumento da área dos discos físicos e a taxa de leitura é mais rápida. Entretanto, se tornou obsoleta e foi substituída por tecnologias melhores por ter taxa de gravação lenta e tem reconstrução difícil em caso de avarias do disco. O RAID 5 funciona como um RAID 4 com melhorias. pois as informações sobre paridade agora estão distribuídas entre todos os discos (no mínimo 3) ao invés de armazenadas em um único. Ele oferece melhor relação custo x desempenho x segurança e tolerância a falhas, e apesar de ter um sistema complexo para controle dos discos, ele tem leitura rápida e maior rapidez durante o tratamento de ECCs (Error Correcting Code, ou Código de Correção de Erro). O RAID 6 é um modelo novo, suportado por poucas controladoras. Tem funcionamento parecido com o RAID 5, mas utiliza o dobro de bits de paridade e assim ele garante a integridade dos dados caso até 2 discos apresentem falhas ao mesmo tempo. Apesar do controle de erros, ele tem escrita lenta e também apresenta sistema completo para controle dos discos. 2.2 RAIDS HÍBRIDOS Os dois primeiros – RAID 01 e RAID 10 – são variações resultantes da combinação entre o RAID 0 e o RAID 1 e tem características similares. Eles utilizam o “stripping” e o “mirroring”, fazendo-se necessário o uso de pelo menos 4 discos. Dessa forma, obtém-se uma melhoria no rendimento, e é garantida a segurança contra perda de dados, sendo possível receber falhas em até 2 discos de vez (pois os dados estão repartidos e duplicados entre os 4). Possui alto custo de expansão de hardware e necessita de sincronismo de velocidade entre eles para atingir a performance máxima. A diferença entre eles é baseada no “fim” da variação em caso de falhas, pois quando ocorrem, um dos níveis originais para de funcionar e o outro é priorizado. Ou seja: caso o RAID 01 (0 + 1) falhe, ele assume o nível RAID 0; caso o RAID 10 (1 + 0) falhe, ele assume o nível RAID 1. O RAID 50 combina os níveis RAID 5 e RAID 0. Ele necessita de no mínimo dois subgrupos com três discos cada, sendo um disco de paridade para cada subgrupo. Devido a quantidade mínima de discos utilizados, ele possui alta taxa de transferência e é ótimo para utilização em servidores, mas possui alto custo para implementação e expansão de memória. 7 3 CONSIDERAÇÕES FINAIS Furtunato e Paula (2010) dizem que “o RAID por hardware é sem dúvida a maneira mais eficiente de implementar matrizes de discos rígidos”. Ele requer pelo menos uma controladora isolada dos discos que seja dedicada para essa função e utiliza layouts de disco proprietários.A maioria dessas implementações concedem cache de leitura e escrita e permitem hot swapping (de tradução literal “troca quente”, é a operação que permite a substituição de componentes de uma máquina sem precisar desliga-la). Ainda de acordo com Furtunato e Paula (2010), o RAID via software não é muito utilizado por ser mais lento e difícil de configurar apesar de possuir valor menor. Além disso, ele depende do sistema operacional para que possa apresentar desempenho satisfatório. Isso acontece porque a CPU gerencia o RAID e toda a movimentação de dados é feita em uma camada de software. Curiosamente, existe um RAID híbrido pouco usado chamado RAID 100 que combina a implementação do RAID 10 por hardware com o RAID 0 por software. Atualmente a montagem e implementação dessa tecnologia não é mais tão complicada e limitada apenas a servidores, pois é suportada por praticamente qualquer sistema operacional moderno. Para isso, é necessário adquirir uma placa-mãe com uma controladora RAID inclusa ou, caso isso não seja possível, adicionar placas que acrescentem essa função. 8 4 REFERÊNCIAS ROSÁRIO, Luiz Garetti. Trabalhando com RAID (Redundant Array of Independent Disk) – Parte 01. Disponível em <https://imasters.com.br/banco-de-dados/sql- server/trabalhando-com-raid-redundant-array-of-independent-disk-parte-01>. Acesso em 13 Abr 2018. WIKIPÉDIA. RAID. Disponível em <https://pt.wikipedia.org/wiki/RAID>. Acesso em 13 Abr 2018. FURTUNATO, Robson; PAULA, Mariana de. Arquitetura de Computadores: Tecnologia RAID. Disponível em <http://arquiteturacamoes.blogspot.com.br/2010/04/tecnologia- raid.html>. Acesso em 13 Abr 2018. BLOGPLUS. O que é Hot Swap. Disponível em <http://hardplus.com.br/blog/o-que-e-hot- swap>. Acesso em 15 Abr 2018. ALECRIM, Emerson. Sistemas RAID (Redundant Array of Independent Disks). Disponível em <https://www.infowester.com/raid.php>. Acesso em 16 Abr 2018. SYMANTEC. Parity (paridade). Disponível em <https://www.symantec.com/pt/br/security_response/glossary/define.jsp?letter=p&word=parit y>. Acesso em 16 Abr 2018. INSTITUTO DE MATEMÁTICA E ESTATÍSTICA – UNIVERSIDADE DE SÃO PAULO. Código de Hamming. Disponível em <https://www.ime.usp.br/~song/mac412/hamming.pdf>. Acesso em 16 Abr 2018. CONTROLE.NET. Arranjos de discos: Qual é o RAID ideal para você? Disponível em <https://www.controle.net/faq/qual-o-melhor-raid-a-ser-usado>. Acesso em 18 Abr 2018.