Quando falamos em bancos de dados, a primeira coisa que vêem em nossas mentes é a preocupação com a performance, mas segurança para mim, realmente é fundamental. Neste artigo irei comentar um pouco sobre o uso da tecnologia RAID, mais especificamente sobre o RAID 0, RAID 1 e a junção dos dois que é um híbrido entre RAID 0 e RAID 1. Outra coisa que irei comentar é sobre a diferença entre RAID 10 (1+0) e RAID 01 (0+1) que são implementações completamente diferentes e que às vezes muitos profissionais de TI não percebem. Em resumo, mostrarei porque uma configuração em RAID 10 (1+0) tem uma certa superioridade em relação a uma configuração em RAID 01 (0+1).
O que é RAID?
- RAID por hardware é sempre uma controladora de disco, isto é, um dispositivo que pode através de um cabo conectar os discos. Geralmente ele vem na forma de uma placa adaptadora que pode ser “plugada”. O conceito básico do RAID (Redundant Array of Independent Disks) que traduzido para o português seria algo como Matriz Redundamente de Discos Independentes é combinar vários discos em uma disposição que se obtenha não só alta performance, mas também segurança no que se refere a tolerância à falhas de disco. Na verdade ele visa primariamente a proteção contra falha de disco às custas do uso de mais espaço em disco. Entretanto, as implementações do RAID têm diferenças importantes em suas características de E/S, as quais têm impacto sobre o desempenho e limitam ou ampliam sua adequação às diferentes situações. Cada nível do RAID difere na forma como a redundância é implementada no nível de hardware. Existem vários tipos de RAID e foram definidos inicialmente cinco tipos de arquiteturas de disposição de discos, RAID 1 até RAID 5, cada qual com tolerância a falhas, porém com diferentes propostas de características e performance. Além destas cinco arquiteturas, tornou-se comum referir-se a uma disposição não redundante como RAID 0.
- RAID por software é uma configuração de módulos do kernel, juntamente com utilitários de administração que implementam RAID puramente por software, e não requer um hardware especializado. RAID por software, por ter sua natureza no software, tende a ser muito mais flexível que uma solução por hardware. O lado negativo é que ele em geral requer mais ciclos e capacidade de CPU para funcionar bem, quando comparado a um sistema de hardware.
Em resumo, comparando as duas soluções e no meu ponto de vista, o RAID via hardware é transparente para o sistema operacional, e isto tende a simplificar o gerenciamento, já que via software mesmo que tenha mais opções e escolhas de configurações, pode fazer com que o gerenciamento se torne mais complexo.
RAID 0 (STRIPING – SEGMENTAÇÃO DE DADOS)
O RAID 0 não é realmente um array redundante. Como dito anteriormente, eu tiraria o R (Redundante) e deixaria apenas o AID (Array de discos Independentes) pelo fato de mesmo não proporcionar nenhuma tolerância contra falhas de disco. O uso de RAID 0 é mais indicado quando custo e performance são críticos e a integridade de dados pode ficar em segundo plano, ou seja, abrir mão da segurança em detrimento da performance. Chamamos de “striping” a combinação de vários discos em apenas uma única unidade lógica de armazenamento que particiona o espaço de armazenamento de cada disco em faixas. O striping busca melhorar o desempenho de disco distribuindo a atividade de E/S através de várias unidades de disco e reduzindo ou eliminando um gargalo de E/S. Como exemplo, é possível usar de dois a quatro discos rígidos em RAID 0, onde os mesmos serão acessados como se fosse um único disco, aumentando o desempenho do acesso aos dados. Os dados gravados são divididos em partes e são gravados por todos os discos. Na hora de ler, os discos são acessados ao mesmo tempo. De acordo com algumas pesquisas, teremos um aumento de desempenho de cerca de 97% usando dois discos, 179% usando 3 discos e algo próximo a 249% usando 4 discos. As capacidades dos discos são somadas e usando 4 discos de 80 GB, por exemplo, passaríamos a ter um único grande disco de 320 GB.
Obs: O tamanho do disco virtual criado a partir do RAID 0 é igual ao dobro do tamanho do menor disco. Isso possibilita utilizarmos discos de diferentes capacidades, porém perderemos espaço no disco de maior tamanho e o desempenho também ficará limitado ao desempenho do disco mais lento.
RAID 1 (MIRRORING – ESPELHAMENTO)
O RAID 1 consiste nos mirrors (espelhamento) de disco que mantém cópias completas e idênticas dos dados de cada mirror de disco. Todas as alterações feitas nos dados de um disco são simultaneamente feitas no mirror de disco correspondente. As leituras de disco, por outro lado, podem ser executadas em um dos mirrors de disco (a controladora de disco seleciona o mirror de disco menos ocupado) ou simultaneamente nos dois discos pelo fato da operação de E/S estar distribuída nos dois discos. Em resumo, a operação com dados neste nível possuem tendência de serem gravados mais lentamente (mas realmente acredito que a performance se mantém a mesma), porém com leitura rápida já que o sistema terá dois ponteiros para achar os arquivos. É importante salientar que o sistema mostrará apenas 1 disco, pois o segundo será um clone do primeiro. Imagine que tenhamos dois discos com 80 GB cada. Para o sistema, existirá apenas uma unidade com 80 GB, pois os dados estarão sendo duplicados (espelhados) no segundo disco, e por esse motivo passamos a ter tolerância a falhas, pois se um disco falhar o conjunto continua em operação e, se os discos suportarem a tecnologia de hot-swap (troca à quente), o disco defeituoso poderá ser substituído e o sistema fará o sincronismo sem a necessidade de parada do equipamento. No meu ponto de vista, o RAID 1 geralmente (mas nem sempre) é um tipo de array de discos adequado para os arquivos do Oracle. Se eu tivesse que escolher apenas um tipo de array de discos para o Oracle, o RAID 1 seria a melhor opção.
Obs: O RAID 1 não pode ser considerado como um substituto para backup porque neste nível os dados são replicados em discos, e no caso de deletarmos o conteúdo do primeiro disco, automaticamente os dados do disco-espelho também serão deletados.
Multiplexing e Mirroring são a mesma coisa?
Mesclando mirroring e striping
Este tipo de RAID é um híbrido do RAID 0 e RAID 1 que usa tanto o mirroring quanto o striping. Ele combina os benefícios de alta disponibilidade oferecidos pelo RAID 1 com os benefícios de desempenho relacionados ao striping do RAID 0. Existem duas combinações que podem ser escolhidas ao utilizar a técnica de striping e mirroring juntas a qual eu chamo de nível duplo de RAID. Observe que é preciso no mínimo quatro discos para montar este tipo de configuração.
RAID 01 (ou RAID 0+1) – Striping e Mirroring
Na figura acima vemos que o discos 1 e 2 formam um RAID 0 sendo após espelhados pelo discos 3 e 4 também em RAID 0, formando assim RAID 1 sobre RAID 0. Apesar de ser uma configuração que proporciona alta performance, se perdermos um disco em um dos lados, praticamente teremos uma configuração em RAID 0, porque em uma configuração RAID 0 se um disco falha todo o conjunto falhará. Neste caso, se o disco 1 falhar, então o disco 2 que está intacto ficará inutilizado, restando assim os discos 3 e 4 em RAID 0.
RAID 10 (ou RAID 1+0) – Mirroring e Striping
Em uma implementação RAID 1+0, os dados são segmentados através de grupos de discos espelhados, isto é, os dados são primeiro espelhados e para depois serem segmentados como demonstrado na figura abaixo:
Na figura acima vemos que o discos 1 e 2 formam um RAID 1 e os discos 3 e 4 também sendo após segmentados em RAID 0, formando assim RAID 0 sobre RAID 1. Além de ser uma configuração que proporciona o mesmo nível de performance proporcionado pelo RAID 01, o RAID 10 proporciona mais tolerância à falhas que o RAID 01 porque poderíamos ter uma falha simultânea dos discos 1 e 3 e ainda assim o conjunto estaria intacto, pois teríamos os espelhos em perfeito funcionamento. No meu ponto de vista, este conjunto é o mais indicado nos casos onde necessitamos aliar performance e redundância, como é o caso, por exemplo, de bancos de dados Oracle de alta performance.Conclusão
Nos dois casos (0+1 ou 1+0), a perda de um único disco não resultará na falha do sistema RAID. A diferença aparece no caso da perda de um segundo disco que dependendo do disco, o sistema RAID 0+1 ficaria em desvantagem sobre o sistema RAID 1+0. Uma outra diferença é na velocidade de recuperação, porque caso ocorra uma falha de disco, no sistema RAID 1+0 será necessário apenas re-espelhar um disco, ao contrário do sistema RAID 0+1 que será necessário espelhar todo um conjunto segmentado. Portanto não se esqueça que RAID 01 é diferente de RAID 10.
RAID 01 (0+1)
RAID 10 (1+0)Em resumo, para bancos de dados de produção de alta disponibilidade, escolha os arrays de disco hot swappable que permitem substituir um disco falho sem precisar desligar todo o array. Se eu não estiver enganado, esse recurso é quase que um padrão atualmente. Melhor ainda que os discos hot swappable é o recurso standby disk, no qual um disco substituto já está contido no array, pronto para assumir caso um disco falhe.
Gerenciamento Automático de ArmazenamentoA constante evolução da tecnologia Oracle busca melhorar a resposta e simplificar a gestão da plataforma tecnológica. Como resultado, surgiu o revolucionário Automatic Storage Manager, ou ASM, componente da nova versão do banco de dados Oracle 10g. O ASM possibilita que o usuário não se preocupe com RAID. Com ele, é possível aproveitar não apenas os recursos do hardware de armazenamento, mas também todas as decisões de stripping e espelhamento adequados à configuração de dados e sua dinâmica de utilização, mas é importante salientar que o ASM não substitui o RAID, mas aproveita os recursos do hardware e aplica de maneira automática e transparente para o administrador a configuração de stripping e mirroring mais adequada, de acordo com o número de dispositivos disponíveis e com as características de uso e volume do banco de dados em questão. Esse esclarecimento é importante para evitar confusões, já que o ASM usa as capacidades de RAID do hardware.
Leia mais: http://eduardolegatti.blogspot.com/2008/03/descomplicando-raid-01-01-e-raid-10-10.html#ixzz1cf31fZEm
Under Creative Commons License: Attribution Non-Commercial







































