RAID: o que é e quais os principais tipos

Introdução

Mais do que guardar dados, soluções de armazenamento devem fornecer acesso a eles de modo eficiente, em tempo hábil e, dependendo das circunstâncias, oferecendo algum tipo de proteção contra falhas. É o que sistemas de armazenamento RAID podem proporcionar.

Nas próximas linhas, você entenderá o conceito e descobrirá quais os tipos de RAID mais comuns.

Links diretos:

- O que é RAID?
- Níveis de RAID (tipos)
- RAID 0 (zero)
- RAID 1
- RAID 0+1 e RAID 10
- RAID 5
- RAID 50 (5+0)
- RAID 6
- RAID 60 (6+0)
- RAID 2, 3 e 4: níveis quase desconhecidos
- RAID 2
- RAID 3
- RAID 4
- Não confunda RAID com JBOD ou JOBF
- Implementação de RAID

O que é RAID?

RAID é a sigla para Redundant Array of Independent Disks ou, em tradução livre, "Matriz Redundante de Discos Independentes". Trata-se de uma solução computacional que combina vários discos rígidos (HDs) ou SSDs para formar uma unidade lógica única de armazenamento de dados.

O que é unidade lógica? No contexto de RAID, é uma forma de fazer o sistema operacional "enxergar" um conjunto de HDs ou SSDs como uma única unidade de armazenamento de dados, simples assim.

Isso significa que você pode combinar duas ou mais unidades, mas, para o sistema operacional, somente um volume de armazenamento existe ali.

Fazer várias unidades de armazenamento trabalharem em conjunto proporciona vários benefícios. Alguns exemplos possíveis:

- se um HD ou SSD sofrer danos, os dados existentes nele não serão perdidos, pois podem ser replicados em outra unidade (redundância);

- é possível aumentar a capacidade de armazenamento a qualquer momento com a adição de mais unidades;

- o acesso à informação pode se tornar mais rápido, pois os dados são distribuídos a todos os discos;

- dependendo das circunstâncias, há mais tolerância a falhas, pois o sistema não é paralisado se uma unidade de armazenamento deixar de funcionar;

- Um sistema RAID pode ser mais barato que um dispositivo de armazenamento mais sofisticado e, ao mesmo tempo, oferecer recursos similares.

Disco rígido — imagem ilustrativa: PxHere
Disco rígido — imagem ilustrativa: PxHere

Níveis de RAID (tipos)

Para um sistema RAID ser formado, é necessário combinar pelo menos dois HDs ou SSDs. Mas não é só isso: também é preciso definir o nível de RAID do sistema.

Cada nível possui características distintas de modo a atender às mais variadas necessidades. Por isso, cada nível pode ser considerado um tipo de RAID.

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 as unidades de armazenamento.

Trata-se de um nível que não oferece proteção contra falhas, pois não existe redundância nele. Isso significa que uma falha em qualquer um dos discos ou SSDs pode ocasionar perda de informações para o sistema todo, especialmente porque "pedaços" do mesmo arquivo podem ficar armazenados em unidades diferentes.

O foco do RAID 0 acaba sendo o desempenho, pois o sistema praticamente soma a velocidade de transmissão de dados de cada unidade. Assim, quanto mais discos ou SSDs houver no sistema, maior é a sua taxa de transferência, pelo menos teoricamente.

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 esse processo acontecesse apenas em um único HD ou SSD, a gravação seria um pouco mais lenta, pois teria que ser feita sequencialmente.

Devido a essas características, o RAID 0 é muito usado 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.

Nível RAID 0
Nível RAID 0

RAID 1

O RAID 1 é, provavelmente, o nível 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 a unidade principal falhar, os dados do sistema podem ser recuperados imediatamente, afinal, há cópias deles na outra.

Perceba que, por conta dessa 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 a eles mais rápido. Na verdade, esse nível pode até causar uma ligeira perda de desempenho, pois o processo de gravação de dados precisa ser executado 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, se uma informação indevida for gravada na primeira unidade (por um vírus, por exemplo) ou se um arquivo importante for apagado por engano, o mesmo acontecerá no segundo disco.

Com base nisso, fica claro que o RAID 1 costuma ser mais indicado para proteger o sistema de falhas físicas nas unidades de armazenamento.

Nível RAID 1
Nível RAID 1

RAID 0+1 e RAID 10

Tal como você pode ter imaginado, o nível RAID 0+1 é um sistema híbrido (hybrid RAID), ou seja, 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 de RAID que considera tanto o aspecto do desempenho quanto o da redundância.

Há uma variação chamada RAID 10 (ou RAID 1+0) que tem 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 0+1
RAID 0+1

RAID 5

O RAID 5 é outro nível bastante conhecido. Nele, o aspecto da redundância também é considerado, mas por meio de uma configuração de paridade.

Nesse método, os dados são divididos em pequenos blocos. Cada um recebe um bit adicional — o bit de paridade — de acordo com a seguinte regra: se a quantidade de bits '1' do bloco for par, o bit de paridade é '0'; se a quantidade de bits '1' for ímpar, o bit de paridade é '1'.

As informações de paridade são distribuídas entre todas as unidades do sistema. Via de regra, o espaço destinado à paridade é equivalente ao tamanho de uma das unidades. Assim, um array (conjunto) formado por três HDs de 500 GB terá 1 TB para armazenamento e 500 GB para paridade.

A partir daí, se o sistema constatar, por exemplo, que o bit de paridade de um bloco é '1', mas ali há uma quantidade par de bits '1', perceberá que há um erro.

Se houver apenas um bit com problema e se o sistema conseguir identificá-lo, é possível substituí-lo imediatamente. A restauração dos dados pode ser feita inclusive depois de uma unidade ter sido trocada.

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', isso significa que o bloco é composto por uma quantidade ímpar de bits '1'. Logo, se X fosse '0', a paridade também deveria ser '0', pois ali existiria uma 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 — troca de componentes sem necessidade de desligamento do computador.

Isso é possível porque os dados são distribuídos entre todos as unidades do RAID. Caso uma falhe, o mecanismo de paridade possibilita a recuperação dos dados a partir das informações existentes nas demais unidades.

Nível RAID 5
Nível RAID 5

RAID 50 (5+0)

O nome deixa claro que o RAID 50 é uma combinação dos níveis 5 e 0, daí o fato de também ser conhecido como RAID 5+0. A ideia aqui é combinar os aspectos da tolerância a falhas e redundância proporcionados pelo RAID 5 com o desempenho do RAID 0 durante operações de leitura e gravação de dados.

Para ser formado, um sistema RAID 50 precisa de pelo menos dois conjuntos RAID 5 trabalhando sob o RAID 0.

A configuração de um solução do tipo deve incluir pelo menos seis unidades de armazenamento, além de exigir um controlador mais avançado. Por conta disso, sistemas RAID 50 costumam ser mais caros em relação a níveis mais simples.

RAID 6

O RAID 5 é uma opção bastante interessante para aplicações que precisam aliar redundância com custos (relativamente) baixos. Mas há uma limitação importante aqui: a solução consegue proteger o sistema se apenas uma unidade de armazenamento apresentar falha.

Eis que o RAID 6 aparece com uma opção para superar essa restrição. Trata-se de uma especificação parecida com o RAID 5, mas com um diferencial: ela trabalha com dois bits de paridade.

Uma configuração de dupla paridade pode oferecer redundância para até duas unidades no sistema, portanto. Mas, se de um lado há mais proteção, do outro, pode haver alguma perda de performance, pois há mais dados a serem gravados, além de a operação ser mais complexa.

RAID 60 (6+0)

O RAID 60 (ou RAID 6+0) é mais uma combinação de níveis. Aqui, pelo menos dois conjuntos em RAID 6 devem trabalhar sob o nível RAID 0.

Assim como o RAID 50, um sistema RAID 60 visa aumentar a tolerância a falhas e a redundância. Mas, como existe dupla paridade aqui, o sistema continuará funcionando se até duas unidades de armazenamento falharem.

Um sistema RAID 60 pode ter como desvantagem o fator custo, afinal, pelo menos oito unidades de armazenamento devem fazer parte do sistema. Um controlador avançado também precisa ser usado no conjunto.

Além disso, o desempenho pode ficar comprometido em relação a outros níveis. Isso porque, como já informado, a abordagem de dupla paridade leva a um aumento das operações de gravação de dados.

RAID 2, 3 e 4: níveis quase desconhecidos

Os níveis de RAID mostrados até este ponto são os mais utilizados ou populares. Mas há alguns que são pouco conhecidos ou estão praticamente em desuso: os níveis RAID 2, RAID 3 e RAID 4. Vamos conhecê-los rapidamente.

RAID 2

RAID é um tipo de solução de armazenamento que surgiu no final dos anos 1980. Naquela época e na década seguinte, os HDs não tinham o mesmo padrão de confiabilidade que têm hoje. De certa forma, o RAID 2 foi criado em resposta a essa limitação.

Esse nível é parecido com o RAID 0, mas conta com um mecanismo de detecção de falhas do tipo ECC (Error Correcting Code). Hoje, o RAID 2 nível quase não é mais usado. Isso porque todos os HDs modernos contam com ECC ou outros mecanismos de prevenção contra falhas.

RAID 3

O nível RAID 3 é parecido com o RAID 5, afinal, também é baseado em paridade. A principal diferença é que o RAID 3 reserva uma unidade de armazenamento apenas para guardar as informações de paridade. Por esse motivo, é necessário contar com menos três unidades para montar o sistema.

Esse nível também pode ter implementação complexa pelo fato de as operações de escrita e leitura de dados considerarem todas as unidades em vez de tratá-las individualmente.

Nível RAID 3
Nível RAID 3

RAID 4

O RAID 4 também tem uma técnica de paridade como base, além de apresentar funcionamento similar ao RAID 3. O diferencial está em dividir os dados em blocos maiores e oferecer acesso individual a cada unidade de armazenamento do sistema.

Esse 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 esse motivo, seu uso é mais indicado a sistemas que priorizam leitura de dados, ou seja, que realizam muito mais consultas do que operações de gravação.

Não confunda RAID com JBOD ou JOBF

Quando o assunto é RAID, você também pode ouvir falar sobre JBOD, sigla para Just a Bunch Of Disks (algo como "Apenas um Conjunto de Discos"). Esse não é outro nível de RAID, mas um método que permite o uso em conjunto de duas ou mais unidades de armazenamento de dados.

De fato, um sistema 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 uma unidade fica cheia, a operação continua em outra. Com isso, se um HD sofrer danos, por exemplo, os dados existentes nas demais unidades não são afetadas pelo problema.

Existe ainda uma variação chamada JBOF (Just a Bunch Of Flash — "Apenas um Conjunto de Flash"), que oferece mais desempenho do que o JBOD por ser baseada em memória Flash (como SSDs).

Obviamente, um sistema JBOF também não é um tipo de RAID.

Implementação de um sistema RAID

Antigamente, montar sistemas RAID não era uma tarefa das mais simples. Hoje, é possível implementá-los até em computadores pessoais, com relativa facilidade — há amplo suporte a soluções do tipo em sistemas Windows, Linux e macOS.

O jeito mais fácil de se fazer isso é recorrendo a uma placa-mãe equipada com um controlador RAID. Esse tipo de componente identifica as unidades de armazenamento conectadas e as fazem trabalhar como um sistema RAID, basicamente.

Via de regra, a configuração do RAID é feita a partir do setup do BIOS, embora algum software de controle possa ser fornecido para funcionar no sistema operacional.

Placas controladoras de RAID também são uma opção. Modelos antigos trabalhavam com interfaces baseadas em tecnologias como PATA e SCSI. As atuais são baseadas em padrões como SATA, PCI Express e até Thunderbolt.

A placa da foto a seguir é um exemplo. Trata-se de um controlador RAID Intel RS3P4MF088F. O dispositivo é compatível com os níveis 0, 1, 10, 5, 50, 6 e 60, além de ser baseado na tecnologia PCI Express.

Placa controladora de RAID Intel RS3P4MF088F
Placa controladora de RAID Intel RS3P4MF088F

Além de placas controladoras, soluções de RAID podem ser baseadas em gabinetes específicos para esse fim. Esse tipo de equipamento tem gavetas para as unidades de armazenamento e recursos complementares, como sistema de alimentação elétrica e interfaces de comunicação.

A foto abaixo mostra o G-RAID Shuttle, da Western Digital. Trata-se de um gabinete apropriado para RAID a partir de SSDs.

G-RAID Shuttle, da Western Digital, para RAID com SSD
G-RAID Shuttle, da Western Digital, para RAID com SSD

Um sistema RAID pode ainda ser implementado via software, sem a necessidade de dispositivos controladores. Nesse caso, o gerenciamento é feito pelo próprio sistema operacional. Apesar disso, é importante contar com uma boa configuração de hardware para que o computador não fique sobrecarregado.

Finalizando

Sistemas RAID não são uma invenção recente. O conceito surgiu em 1987 pelas mãos de David Patterson, Garth Gibson e Randy Katz, na época, pesquisadores da Universidade de Berkeley, nos Estados Unidos. Isso pode levar à seguinte dúvida: uma tecnologia com tanto tempo de existência ainda tem utilidade nos dias atuais? A resposta é um sonoro "sim".

Hoje, uma solução de RAID pode ser muito mais vantajosa na comparação com as décadas anteriores. Primeiro porque os custos diminuíram. Antigamente, só era possível fazer RAID com as caríssimas unidades SCSI, por exemplo.

Levemos em conta também que, atualmente, controladores RAID são um pouco mais baratos e compatíveis com várias interfaces, além de permitirem implementação relativamente fácil.

Consideremos ainda que lidamos com volumes de dados cada vez maiores. Logo, organizações de todos os portes e até indivíduos podem precisar de soluções de armazenamento avançadas. Sistemas RAID se encaixam nesse cenário como soluções bastante eficazes.

Serviram de referência para este texto:

Veja também:

Publicado em 25_01_2012. Atualizado em 12_10_2022.

Emerson Alecrim Autor: Emerson Alecrim
Graduado em ciência da computação, tem experiência profissional em TI e produz conteúdo sobre tecnologia desde 2001. É especializado em temas como hardware, sistema operacionais, dispositivos móveis, internet e negócios.
Principais redes sociais: • X/TwitterLinkedIn