Diferente do que simplesmente guardar dados, as soluções de armazenamento devem fornecer acesso à informação de maneira eficiente, em tempo hábil, e dentro fo possível oferecer algum tipo de proteção contra falhas. É neste ponto que o sistema RAID (Redundant Array of Independent Disks) entra em ação.
Níveis de RAID
Para que um sistema RAID seja criado, é necessário utilizar pelo menos dois HDs (ou SSDs). Mas não é só isso: é necessário também definir o nível de RAID do sistema. Cada nível possui características distintas justamente para atender às mais variadas necessidades. A seguir, os níveis mais comuns:
RAID 0 (zero)
Também conhecido como striping (fracionamento), o nível RAID 0 é aquele onde os dados são divididos em pequenos segmentos e distribuídos entre os discos. Trata-se de um nível que não oferece proteção contra falhas, já que nele não existe redundância. Isso significa que uma falha em qualquer um dos discos pode ocasionar perda de informações para o sistema todo, especialmente porque “pedaços” do mesmo arquivo podem ficar armazenados em discos diferentes.
O foco do RAID 0 acaba sendo o desempenho, uma vez que o sistema praticamente soma a velocidade de transmissão de dados de cada unidade. Assim, pelo menos teoricamente, quanto mais discos houver no sistema, maior é a sua taxa de transferência. Não é difícil entender o porquê: como os dados são divididos, cada parte de um arquivo é gravada em unidades diferentes ao mesmo tempo. Se este processo acontecesse apenas em um único HD, a gravação seria uma pouco mais lenta, já que teria que ser feita sequencialmente.
Por ter estas características, o RAID 0 é muito utilizado em aplicações que lidam com grandes volumes de dados e não podem apresentar lentidão, como tratamento de imagens e edição de vídeos.
RAID 1
O RAID 1 é, provavelmente, o modelo mais conhecido. Nele, uma unidade “duplica” a outra, isto é, faz uma “cópia” da primeira, razão pela qual o nível também é conhecido como mirroring (espelhamento). Com isso, se o disco principal falhar, os dados podem ser recuperados imediatamente porque existe cópias no outro.
Perceba que, por conta desta característica, sistemas RAID 1 devem funcionar em pares, de forma que uma unidade sempre tenha um “clone”. Na prática, isso significa que um sistema RAID composto por dois HDs com 500 GB cada terá justamente esta capacidade, em vez de 1 TB.
O nível RAID 1 é claramente focado na proteção dos dados, ou seja, não torna o acesso mais rápido. Na verdade, pode até ocorrer uma ligeira perda de desempenho, uma vez que o processo de gravação acaba tendo que acontecer duas vezes, uma em cada unidade.
É importante observar, no entanto, que o uso de RAID 1 não dispensa soluções de backup. Como a duplicação dos dados é feita praticamente em tempo real, significa que se uma informação indevida for gravada na primeira unidade (como um vírus) ou se um arquivo importante for apagado por engano, o mesmo acontecerá no segundo disco. Por isso, RAID 1 se mostra mais adequado para proteger o sistema de falhas “físicas” das unidades.
RAID 0+1 e RAID 10
Tal como você já deve ter imaginado, o nível RAID 0+1 é um sistema “híbrido” (hybrid RAID), ou seja, que combina RAID 0 com RAID 1. Para isso, o sistema precisa ter pelo menos quatro unidades de armazenamento, duas para cada nível. Assim, tem-se uma solução RAID que considera tanto o aspecto do desempenho quanto o da redundância.
Há uma variação chamada RAID 10 (ou RAID 1+0) de funcionamento semelhante. A diferença essencial é que, no RAID 0+1, o sistema se transforma em RAID 0 em caso de falha; no RAID 1+0, o sistema assume o nível RAID 1.
RAID 5
O RAID 5 é outro nível bastante conhecido. Nele, o aspecto da redundância também é considerado, mas de maneira diferente: em vez de existir uma unidade de armazenamento inteira como réplica, os próprios discos servem de proteção. Deste modo, pode-se inclusive montar o sistema com quantidade ímpar de unidades. Mas, como isso é possível? Com o uso de um esquema de paridade.
Neste método de proteção, os dados são divididos em pequenos blocos. Cada um deles recebe um bit adicional – o bit de paridade – de acordo com a seguinte regra: se a quantidade de bits ‘1’ do bloco for par, seu bit de paridade é ‘0’; se a quantidade de bits ‘1’ for ímpar, o bit de paridade é ‘1’.
As informações de paridade – assim como os próprios dados – são distribuídas entre todos os discos do sistema. Via de regra, o espaço destinado à paridade é equivalente ao tamanho de um dos discos. Assim, um array formado por três HDs de 500 GB terá 1 TB para armazenamento e 500 GB para paridade.
A partir daí, se em uma tarefa de verificação o sistema constatar, por exemplo, que o bit de paridade de um bloco é ‘1’, mas ali há uma quantidade par de bits, percebe que há um erro. Se houver apenas um bit com problema e se o sistema conseguir identificá-lo, conseguirá substituí-lo imediatamente. A restauração dos dados poderá ser feita inclusive depois de o HD ter sido trocado.
Como exemplo, imagine um bloco de dados com os bits ‘110X’ e paridade ‘1’. O X indica um bit perdido, mas será que ele é ‘0’ ou ‘1’? Como a paridade é ‘1’, significa que o bloco é composto por quantidade ímpar de bits ‘1’. Logo, se X fosse ‘0’, a paridade também deveria ser ‘0’, pois ali existiria quantidade par de bits ‘1’. Isso significa que o bit X só pode ser ‘1’.
Durante a substituição, é possível manter o sistema em funcionamento, principalmente com o uso de equipamentos que suportam hot-swaping, ou seja, a troca de componentes sem necessidade de desligamento do computador. Isso é possível porque os dados são distribuídos entre todos os discos. Caso um falhe, o esquema de paridade permite recuperar os dados a partir das informações existentes nas demais unidades.
RAID 6
O RAID 5 é uma opção bastante interessante para sistemas que precisam aliar redundância com custos (relativamente) baixos, mas tem uma limitação considerável: consegue proteger o sistema se apenas um disco apresentar falha.
Uma maneira de lidar com isso é acrescentando um recurso de nome hot-spare ao sistema. Trata-se de um esquema onde um ou mais discos são acrescentados para ficar de reserva, entrando em ação tão logo uma unidade apresente problemas.
Outra alternativa interessante é o uso de RAID 6. Trata-se de uma especificação mais recente e parecida com o RAID 5, mas com uma importante diferença: trabalha com dois bits de paridade. Com isso, é possível oferecer redundância para até dois HDs no sistema, em vez de apenas um.
RAID 2, 3 e 4
Os níveis de RAID mostrados até agora são os mais utilizados, mas há alguns menos conhecidos, entre eles, RAID 2, RAID 3 e RAID 4:
RAID 2
RAID é um tipo de solução de armazenamento que surgiu no final dos anos 1980. Naquela época e nos anos seguintes, os HDs não tinham o mesmo padrão de confiabilidade que têm hoje. Por este motivo, foi criado o RAID 2. Ele é, até certo ponto, parecido com o RAID 0, mas conta com um mecanismo de detecção de falhas do tipo ECC (Error Correcting Code). Hoje, este nível quase não é mais utilizado, uma vez que praticamente todos os HDs contam com o referido recurso.
RAID 3
Este é um nível parecido com o RAID 5 por utilizar paridade. A principal diferença é que o RAID 3 reserva uma unidade de armazenamento apenas para guardar as informações de paridade, razão pela qual são necessários pelo menos três discos para montar o sistema. Este nível também pode apresentar maior complexidade de implementação pelo fato de as operações de escrita e leitura de dados considerarem todos os discos em vez de tratá-los individualmente.
RAID 4
O RAID 4 também utiliza o esquema de paridade, tendo funcionamento similar ao RAID 3, com o diferencial de dividir os dados em blocos maiores e de oferecer acesso individual a cada disco do sistema.
Este nível pode apresentar algum comprometimento de desempenho, pois toda e qualquer operação de gravação exige atualização na unidade de paridade. Por este motivo, seu uso é mais indicado em sistemas que priorizam a leitura de dados, ou seja, que realizam muito mais consultas do que gravação.
JBOD (Just a Bunch Of Disks)
Quando o assunto é RAID, você também pode ouvir falar de JBOD, sigla para Just a Bunch Of Disks (algo como “Apenas um Conjunto de Discos”). Não se trata de um nível de RAID, mas sim de um método que simplesmente permite o uso em conjunto de dois ou mais HDs (independente de sua capacidade) de forma a fazer com que o sistema operacional enxergue o arranjo como uma única unidade lógica.
De fato, JBOD é semelhante ao RAID, mas não possui foco em desempenho ou redundância, considerando apenas o aumento da capacidade de armazenamento. Aqui, os dados são simplesmente gravados e, quando um disco fica lotado, a operação continua no outro. Desta forma, se um HD sofrer danos, os dados existentes nos demais não são prejudicados.
RAID-10
O RAID 1+0, ou 10, exige ao menos 4 discos rígidos.
Cada par será espelhado, garantindo redundância, e os pares serão distribuídos, melhorando desempenho. Até metade dos discos pode falhar simultaneamente, sem colocar o conjunto a perder, desde que não falhem os dois discos de um espelho qualquer — razão pela qual usam-se discos de lotes diferentes de cada ‘lado’ do espelho. É o nível recomendado para bases de dados, por ser o mais seguro e dos mais velozes, assim como qualquer outro uso onde a necessidade de economia não se sobreponha à segurança e desempenho.
Vantagens:
– Segurança contra perda de dados.
– Pode falhar um ou dois dos HDs ao mesmo tempo, dependendo de qual avaria.
Desvantagens:
– Alto custo de expansão de hardware (custo mínimo = 2N HDs).
– Os drivers devem ficar em sincronismo de velocidade para obter a máxima performance.
RAID-50
É um arranjo híbrido que usa as técnicas de RAID com paridade em conjunção com a segmentação de dados. Um arranjo RAID-50 é essencialmente um arranjo com as informações segmentadas através de dois ou mais arranjos. Veja o esquema representativo abaixo:
Vantagens:
– Alta taxa de transferência.
– Ótimo para uso em servidores.
Desvantagens:
– Alto custo de implementação e expansão de memória.
RAID 100
O RAID 100 basicamente é composto do RAID 10+0. Normalmente ele é implementado utilizando uma combinação e software e hardware, ou seja, implementa-se o RAID 0 via software sobre o RAID 10 via Hardware.
Tipos de RAID
Existem 2 tipos de RAID, sendo um baseado em hardware e o outro baseado em software.
Cada uma possui vantagens e desvantagens. O primeiro tipo é o mais utilizado, pois não depende de sistema operacional (pois estes enxergam o RAID como um único disco grande) e são bastante rápidos, o que possibilita explorar integralmente seus recursos. Sua principal desvantagem é ser um tipo caro inicialmente.
O RAID baseado em hardware, utiliza dispositivos denominados “controladores RAID”, que podem ser, inclusive, conectados em slots PCI da placa-mãe do computador. Já o RAID baseado em software não é muito utilizado, pois apesar de ser menos custoso, é mais lento, possui mais dificuldades de configuração e depende do sistema operacional para ter um desempenho satisfatório.
Este tipo ainda fica dependente do poder de processamento do computador em que é utilizado.
Concluindo
A tecnologia RAID é um dos principais conceitos quando o assunto é armazenamento de dados. Sua eficiência é comprovada por se tratar de uma tecnologia em uso há vários anos e que mesmo assim “não sai de moda”. Grandes empresas, como a Intel, oferecem soluções de RAID, e essa tecnologia é possível de ser encontrada até mesmo em computadores domésticos.
É muito provável que o RAID ainda venha a apresentar novos meios de funcionalidades, ampliando seu uso para os mais diversos tipos de necessidade de armazenamento e acesso à dados.
0.000000
0.000000