Como a paridade funciona em uma matriz RAID-5?

31

Eu estou olhando para construir um pequeno arranjo RAID para backups dedicados. Eu gostaria de ter cerca de 2 a 4 TB de espaço disponível, já que tenho esse pequeno e desagradável hábito de digitalizar tudo. Assim, preciso de muito armazenamento e muita redundância em caso de falha da unidade. Também vou essencialmente fazer backup de pastas de /home de 2-3 computadores usando um dos clones "Time Machine" para Linux. Este array estará acessível através da minha rede local via SSH.

Estou com dificuldades para entender como o RAID-5 atinge a paridade e quantas unidades são realmente necessárias. Alguém poderia supor que precisa de 5 unidades, mas posso estar errado. A maioria dos diagramas que vi só me confundiu. Parece que é assim que o RAID-5 funciona, por favor corrija-me, pois tenho a certeza que não o estou a captar correctamente:

/---STORAGE---\    /---PARITY----\
|   DRIVE_1   |    |   DRIVE_4   |
|   DRIVE_2   |----|     ...     |
|   DRIVE_3   |    |             |
\-------------/    \-------------/

Parece que as unidades 1-3 aparecem e funcionam como uma unidade única e volumosa ( capacity * number_of_drives ) e as unidades de paridade fazem backup dessas unidades. O que parece estranho para mim é que eu geralmente vejo 3+ unidades de armazenamento em um diagrama para apenas 1 ou 2 unidades de paridade. Digamos que estamos rodando 4 drives de 1TB em uma matriz RAID-5, 3 em execução e 1 em execução, temos 3TB de armazenamento real, mas temos apenas 1TB de paridade!?

Eu sei que estou sentindo falta de algo aqui, alguém pode me ajudar? Além disso, para meu caso de uso, o que seria melhor, RAID-5 ou RAID-6? A tolerância a falhas é a maior prioridade para mim neste momento, já que ela será executada em uma rede somente para uso doméstico, a velocidade não é extremamente crítica.

    
por Naftuli Kay 23.05.2011 / 23:59

5 respostas

30

Apenas XORs cada bit correspondente de cada unidade - Se você perder alguma unidade, poderá reconstruir os dados que faltam.

Para o fundo:

A B (A XOR B)
0 0    0
1 1    0
0 1    1
1 0    1

Suponha que D é o XOR das outras colunas e, enquanto você perder apenas uma unidade, poderá descobrir o que perdeu.

A B C D
1 0 0 1
0 1 0 1
1 1 0 0

Algumas vezes o bit stripe será distribuído pelas unidades, mas o conceito é o mesmo.

Portanto, para o RAID-5, não importa quantas unidades você precisa de apenas 1 unidade para paridades iguais ou maiores que a menor unidade na matriz que deseja RAID.

O RAID-5 para uso pessoal é provavelmente melhor, pois a complexidade computacional é muito menor que o RAID-6.

O RAID-6 é mais complicado usando Galois Fields para calcular a paridade. E isso pode taxar cálculos de paridade. No entanto, você pode perder mais unidades, mas se você reconstruir sua matriz assim que obtiver uma única falha, deverá ficar bem com o RAID-5.

    
por 24.05.2011 / 00:05
7

Aqui está o que eu acho que é um diagrama melhor para mostrar como funciona a paridade em RAID4 e RAID5

RAID4

Disk1  Disk2  Disk3  Disk4
----------------------------
data1  data1  data1  parity1
data2  data2  data2  parity2
data3  data3  data3  parity3
data4  data4  data4  parity4

RAID5

Disk1   Disk2   Disk3   Disk4
----------------------------
parity1 data1   data1   data1   
data2   parity2 data2   data2  
data3   data3   parity3 data3
data4   data4   data4   parity4
    
por 25.05.2011 / 08:01
4

Eu recomendaria ler este artigo da Wikipedia sobre Raid 5 e Raid 6

link

O RAID 5 grava um bloco de paridade em cada faixa, portanto, para a Faixa A de uma matriz de 4 discos, ele grava a verificação de paridade no 4º disco, com Dados nos discos 1, 2 e 3

Para a Faixa B, o bloco de paridade está no disco 3, com dados nos discos 1,2 e 4 .. etc.

Se o disco 4 falhar, os dados poderão ser recuperados para a Faixa B, já que você conhece os dados no disco 1 e 2 e terá a verificação de paridade no disco 3.

Se a tira B tiver uma paridade de "2" e o disco 1 tiver dados de "1" e dados de disco 2 "0", o disco 4 deve ter dados iguais a "1" para que o disco seja gravado com dados=" 1 "

O disco inteiro pode ser recriado dessa maneira, o RAID 6 estende isso por meio de blocos de 2 partes por faixa.

Em relação ao espaço para Raid 5, você só perde um disco por espaço para paridade, pois ele só escreve em bloco de paridade por faixa, enquanto que com Raid 6 você perderá dois discos, mas também pode soltar dois discos em vez daquele que você pode perder no Raid 5;)

O artigo da Wikipedia explica isso melhor!

    
por 24.05.2011 / 00:20
3

O RAID 5 usa uma unidade para paridade, independentemente de quantas unidades de dados existem na matriz. Isso significa que se torna mais eficiente, em termos de espaço utilizável, quanto mais unidades forem adicionadas.

A paridade é obtida executando uma operação XOR no mesmo bloco em cada unidade; o conteúdo da unidade de paridade é ajustado de tal forma que todas as unidades XOR são . Isso significa que o RAID 5 é restrito pela menor capacidade de todas as unidades na matriz.

O RAID 6 é semelhante, exceto pelo fato de que duas falhas simultâneas no drive podem ser toleradas. Isso é útil porque o processo de " resilvering " uma matriz após uma única falha de unidade pode ser estressante o suficiente para causar uma falha. segunda unidade a falhar.

    
por 24.05.2011 / 00:16
0

Se a tolerância a falhas for o seu objetivo, o RAID-6 fornecerá redundany suficiente para soltar duas unidades. Normalmente, o RAID-5 só tolerará uma falha de unidade única.

    
por 24.05.2011 / 00:07

Tags