Skip to main content

O que é o RAID? (Matriz redundante de unidades de baixo custo)

KINGS ROAD #233 - KILLING GUILD BOSS RAID: (Abril 2025)

KINGS ROAD #233 - KILLING GUILD BOSS RAID: (Abril 2025)
Anonim

O RAID é uma solução desenvolvida originalmente para o mercado de servidores de rede como um meio de criar um armazenamento grande a um custo menor. Essencialmente, seriam necessários vários discos rígidos de baixo custo e colocados juntos através de um controlador para fornecer uma única unidade de maior capacidade. Isso é o que o RAID significa: matriz redundante de unidades ou discos baratos. Para isso, foram necessários softwares e controladores especializados para gerenciar os dados que estão sendo divididos entre as várias unidades.

Eventualmente, o poder de processamento do seu sistema de computador padrão permitiu que os recursos se infiltrassem no mercado de computadores pessoais.

Agora, o armazenamento RAID pode ser baseado em software ou hardware e pode ser usado para três finalidades distintas. Estes incluem capacidade, segurança e desempenho. A capacidade é simples e está normalmente envolvida em quase todos os tipos de configuração de RAID usados. Por exemplo, dois discos rígidos podem ser vinculados como um único disco ao sistema operacional, tornando-se um disco virtual com o dobro da capacidade. O desempenho é outro motivo importante para usar uma configuração RAID em um computador pessoal. No mesmo exemplo de duas unidades sendo usadas como uma única unidade, o controlador pode dividir uma parte de dados em duas partes e depois colocar cada uma dessas partes em uma unidade separada. Isso efetivamente duplica o desempenho de gravação ou leitura dos dados no sistema de armazenamento. Finalmente, o RAID pode ser usado para segurança de dados.

Isso é feito usando parte do espaço nas unidades para clonar essencialmente os dados gravados nas duas unidades. Mais uma vez, com duas unidades, podemos fazer com que os dados sejam gravados em ambas as unidades. Assim, se uma unidade falhar, a outra ainda terá os dados.

Dependendo dos objetivos da matriz de armazenamento que você deseja reunir para o seu sistema de computador, você usará um dos vários níveis de RAID para atingir esses três objetivos.

Para aqueles que usam discos rígidos em seus computadores, o desempenho provavelmente será mais um problema do que capacidade. Por outro lado, aqueles que usam unidades de estado sólido provavelmente vão querer uma maneira de pegar as unidades menores e vinculá-las para criar uma única unidade maior. Então, vamos dar uma olhada nos vários níveis de RAID que podem ser usados ​​com um computador pessoal.

RAID 0

Este é o nível mais baixo do RAID e, na verdade, não oferece nenhuma forma de redundância, e é por isso que ele é referido a um nível 0. Essencialmente, o RAID 0 usa duas ou mais unidades e as une para criar uma unidade de maior capacidade. Isto é conseguido através de um processador chamado striping. Blocos de dados são divididos em blocos de dados e, em seguida, gravados em ordem nas unidades. Isso oferece maior desempenho porque os dados podem ser gravados simultaneamente nas unidades pelo controlador, multiplicando efetivamente a velocidade das unidades. Abaixo está um exemplo de como isso pode funcionar em três discos:

Drive 1Drive 2Drive 3
Bloco 1123
Bloco 2456
Bloco 3789

Para que o RAID 0 funcione de forma eficaz para melhorar o desempenho do sistema, você precisa tentar e ter unidades correspondentes. Cada unidade deve ter as mesmas características de desempenho e capacidade de armazenamento exatas.

Se não o fizerem, a capacidade será limitada a um múltiplo do menor dos drives e do desempenho para o mais lento dos drives, pois ele deve aguardar que todas as faixas sejam gravadas antes de passar para o próximo conjunto. É possível usar unidades incompatíveis, mas, nesse caso, uma configuração do JBOD pode ser mais eficaz.

JBOD representa apenas um monte de unidades e efetivamente é apenas uma coleção de unidades que podem ser acessadas independentemente umas das outras, mas aparecem como uma única unidade de armazenamento para o sistema operacional. Isso normalmente é obtido com a extensão de dados entre as unidades. Muitas vezes isso é chamado de SPAN ou BIG.

Efetivamente, a operação os vê como um único disco, mas os blocos seriam gravados no primeiro disco até que sejam preenchidos, depois passariam para o segundo, depois para o terceiro, etc. Isso é útil para adicionar capacidade extra a um sistema de computador existente e com unidades de vários tamanhos, mas isso não aumentará o desempenho da matriz de unidades.

O maior problema com as configurações de RAID 0 e JBOD é a segurança de dados. Como você tem várias unidades, as chances de corrupção de dados aumentaram porque você tem mais pontos de falha. Se qualquer unidade em uma matriz RAID 0 falhar, todos os dados ficarão inacessíveis. Em um JBOD, uma falha na unidade resultará na perda de todos os dados que estavam nessa unidade. Como resultado, é melhor para aqueles que querem usar este método de armazenamento para ter algum outro meio para fazer backup de seus dados.

RAID 1

Esse é o primeiro nível verdadeiro de RAID, pois fornece um nível completo de redundância para os dados armazenados na matriz. Isso é feito por meio de um processo chamado de espelhamento. Efetivamente, todos os dados gravados no sistema são copiados para cada unidade em uma matriz de nível 1. Essa forma de RAID normalmente é feita com apenas um par de unidades, pois a adição de mais unidades não adicionará nenhuma capacidade adicional, apenas mais redundância. Para dar um exemplo disso, aqui está um gráfico que mostra como ele seria escrito em duas unidades:

Drive 1Drive 2
Bloco 111
Bloco 222
Bloco 333

Para obter o uso mais eficaz de uma configuração RAID 1, o sistema usará novamente as unidades correspondentes que compartilham as mesmas capacidades e classificações de desempenho.

Se unidades incompatíveis forem usadas, a capacidade da matriz será igual à unidade de menor capacidade da matriz. Por exemplo, se uma unidade de um terabyte e uma de um terabyte fossem usadas em um array RAID 1, a capacidade desse array no sistema seria de apenas um terabyte.

Este nível de RAID é altamente eficaz para segurança de dados, porque as duas unidades são efetivamente as mesmas. Se uma das duas unidades falhar, a outra terá os dados completos da outra. O problema com esse tipo de configuração geralmente é determinar qual das unidades está com falha porque geralmente o armazenamento fica inacessível quando um dos dois falha e não é restaurado adequadamente até que uma nova unidade seja inserida no lugar da unidade com falha e uma recuperação processo é executado. Como mencionado anteriormente, também não há nenhum ganho de desempenho com relação a isso. Na verdade, haverá uma pequena perda de desempenho devido à sobrecarga do controlador para o RAID.

RAID 1 + 0 ou 10

Esta é uma combinação um tanto complicada dos níveis 0 e 1 do RAID. Efetivamente, o controlador precisará de um mínimo de quatro drives para funcionar neste modo, porque o que vai fazer é fazer dois pares de drives. O primeiro conjunto de unidades é uma matriz espelhada que clona os dados entre os dois. O segundo conjunto de unidades também é espelhado, mas configurado para ser a faixa do primeiro. Isso fornece a redundância de dados e ganhos de desempenho. Abaixo está um exemplo de como os dados seriam gravados em quatro unidades usando esse tipo de configuração:

Drive 1Drive 2Drive 3Drive 4
Bloco 11122
Bloco 23344
Bloco 35566

Para ser honesto, este não é um modo desejável de RAID para ser executado em um sistema de computador. Embora ele forneça algum aumento de desempenho, ele não é tão bom devido à enorme quantidade de sobrecarga no sistema. Além disso, é um grande desperdício de espaço, já que a matriz de unidades terá, no máximo, metade da capacidade de todas as unidades combinadas. Se unidades incompatíveis forem usadas, o desempenho será limitado ao mais lento dos drives e a capacidade será apenas o dobro do menor drive.

RAID 5

Este é o nível mais alto de RAID que pode ser encontrado em sistemas de computadores de consumo e é um método muito mais eficaz para aumentar a capacidade e a redundância. Isso é obtido através de um processo de distribuição de dados com paridade. É necessário um mínimo de três unidades para fazer isso, pois os dados são divididos em faixas em várias unidades, mas um bloco na faixa é reservado para paridade. Para explicar isso melhor, vamos primeiro dar uma olhada em como os dados podem ser gravados em três unidades:

Drive 1Drive 2Drive 3
Bloco 112 p
Bloco 23 p 4
Bloco 3 p 56

Em essência, o controlador de unidade faz com que um bloco de dados seja gravado em todas as unidades da matriz. O primeiro bit de dados é colocado na primeira unidade e o segundo é colocado na segunda. A terceira unidade obtém o bit de paridade, que é essencialmente uma comparação dos dados binários no primeiro e no segundo. Na matemática binária, você tem apenas 0 e 1. Um processo matemático booleano é feito para comparar os bits. Se os dois somarem um número par (0 + 0 ou 1 + 1), o bit de paridade será zero. Se os dois somarem um número ímpar (1 + 0 ou 0 + 1), o bit de paridade será um. A razão para isso é que, se uma das unidades falhar, o controlador pode descobrir quais são os dados ausentes. Por exemplo, se a unidade um falhar, deixando apenas a unidade dois e três, e a unidade dois tiver um bloco de dados de um e a unidade três tiver um bloco de paridade de um, o bloco de dados ausente na unidade um deverá ser zero.

Isso fornece redundância de dados efetiva que permite que todos os dados sejam restaurados no caso de uma falha na unidade. Agora, para a maioria das configurações do consumidor, uma falha ainda fará com que o sistema não seja porque não está em um estado funcional. Para obter o sistema funcional, é necessário substituir a unidade com falha por uma nova unidade. Em seguida, um processo de reconstrução de dados deve ser feito no nível do controlador, que fará uma função booleana reversa para recriar os dados na unidade ausente. Isso pode levar algum tempo, especialmente para unidades de maior capacidade, mas é pelo menos recuperável.

Agora, a capacidade de um array RAID 5 depende do número de drives no array e de sua capacidade. Mais uma vez, a matriz é restrita pela unidade de menor capacidade na matriz, portanto, é melhor usar unidades correspondidas. O espaço de armazenamento efetivo é igual ao número de unidades menos uma vez a capacidade mais baixa. Então, em termos matemáticos, é (n-1) * Capacitymin . Portanto, se você tiver três unidades de 2 GB em uma matriz RAID 5, a capacidade total será de 4 GB. Outra matriz RAID 5 que usava quatro unidades de 2 GB teria 6 GB de capacidade.

Agora, o desempenho para o RAID 5 é um pouco mais complicado do que algumas das outras formas de RAID, devido ao processo booleano que deve ser feito para criar o bit de paridade quando os dados estão sendo gravados nas unidades. Isso significa que o desempenho de gravação será menor que um array RAID 0 com o mesmo número de unidades. O desempenho de leitura, por outro lado, não sofre tanto quanto a escrita porque o processo booleano não é feito porque lê os dados retos das unidades.

O grande problema com todas as configurações de RAID

Nós discutimos os vários prós e contras de cada um dos níveis de RAID que podem ser usados ​​em computadores pessoais, mas há outro problema que muitas pessoas não percebem quando se trata de criar configurações de drives RAID. Antes que uma configuração RAID possa ser usada, primeiro ela deve ser construída pelo software do controlador de hardware ou dentro do software do sistema operacional. Isso basicamente inicializa a formatação especial necessária para controlar adequadamente como os dados serão gravados e lidos na unidade.

Isso provavelmente não parece um problema, mas é mesmo se você precisar alterar a forma como deseja que seu array RAID seja configurado. Por exemplo, digamos que você esteja com poucos dados e queira adicionar uma unidade extra para uma matriz RAID 0 ou RAID 5. Na maioria dos casos, você não conseguirá, sem primeiro reconfigurar a matriz RAID, que também removerá qualquer um dos dados armazenados nessas unidades.Isso significa que você precisa fazer backup completo dos dados, adicionar a nova unidade, reconfigurar a matriz de unidades, formatar essa matriz de unidades e restaurar os dados originais de volta à unidade. Isso pode ser um processo extremamente doloroso. Como resultado, verifique se você realmente configurou o array da maneira que deseja na primeira vez.