Eu tenho feito algumas pesquisas sobre a possibilidade de migração ao vivo do RAID 5 para o RAID 10 e estou curioso para saber porque parece que a maioria dos controladores RAID (particularmente os controladores PERC da Dell) não suportam a noção de um migração ao vivo do RAID 5 para o RAID 10.
Eu trabalhei em uma planilha rápida que mostra que não somente este deve ser um processo relativamente fácil, mas pode ser feito de tal forma que a tolerância a falhas nunca seja perdida durante qualquer parte da migração. O único requisito é pelo menos 1 unidades adicionais devido à eficiência de armazenamento perdida ... um RAID 5 de 3 unidades se torna um RAID 10 de 4 unidades, um RAID 5 de 4 unidades se torna um RAID 10 de 6 unidades e assim por diante. / p>
A migração de um RAID 5 de 3 unidades (composto nos discos A, B e C) para um RAID 10 de 4 unidades (adicionando no disco D) pode ser feita de maneira tolerante a falhas em 4 passagens. (Esse processo pode presumivelmente ser feito de forma mais eficiente, com algumas possíveis perdas para a tolerância a falhas, mas meu objetivo aqui é apenas demonstrar que isso pode ser feito)
Começando com blocos virtuais de dados com esta aparência:
A B C D
- - - -
1 2 p
3 p 4
p 5 6
(p=parity; repeats every 6 blocks)
O primeiro passo então é preencher D como se fosse o segundo drive em um RAID 0:
A B C D
- - - -
1 2 p 2
3 p 4 4
p 5 6 6
Neste ponto, se o A-C falhar, não será diferente de uma falha normal do RAID 5. Se D falhou, a única perda é que você precisa reiniciar a migração.
Em seguida, faça o mesmo para C como se fosse a primeira unidade em um conjunto de RAID 0:
A B C D
- - - -
1 2 1 2
3 p 3 4
p 5 5 6
As unidades AB agora são um conjunto RAID 5 'degradado'. Drives CD são agora um conjunto RAID 0 'saudável'. Qualquer falha de unidade individual pode ainda ser recuperada a partir de - C & D podem ser reconstruídos a partir do 'degradado' A & B, e o estado de A & B pode ser recalculado a partir do estado de C & D
O processo então repete para B:
A B C D
- - - -
1 2 1 2
3 4 3 4
p 6 5 6
B é agora um espelho de D, portanto, qualquer unidade pode cobrir a falha do outro. Se C falhar, A já terá uma cópia dela ou terá dados de paridade para reconstruí-la.
Por fim, atualize os bits de paridade de A para corresponder a C:
A B C D
- - - -
1 2 1 2
3 4 3 4
5 6 5 6
que produz uma matriz RAID10
Eu executei isso para um caso de migração RAID 5 a 6 discos RAID 10 de 4 discos também, e o processo parece se manter bem (requer 5 passagens, já que os discos de expansão E e F podem ser preenchidos em o mesmo passe sem perda de tolerância a falhas.)
Portanto, a questão é ... por que nenhum controlador RAID no mercado parece suportar esse tipo de migração? (Existe algum que faça isso?) Com o "One Big RAID10" sendo defendido como o novo padrão para armazenamento de dados, não faria sentido ter ferramentas mais fáceis de migrar além do atualmente recomendado "Backup, recriar array, restaurar"?
Mais interessante é que, pelo menos no caso dos cartões PERC da Dell, nem é possível migrar do RAID 0 para o RAID 10, o que parece não ser diferente de migrar de nenhum RAID para RAID 1.