Suponha que você tenha duas matrizes RAID, uma com N discos e outra com N+1 discos. A matriz com N discos foi formatada como RAID 5 e deixada em paz, enquanto a outra matriz foi formatada como RAID 6 antes que um de seus discos fosse removido. Agora, ambas as matrizes têm N discos, N-1 discos no valor de armazenamento utilizável e podem sobreviver à perda de um (mais) disco.
Além dos metadados que o controlador RAID usa, há alguma diferença entre esses dois arrays (em termos de layout de dados, desempenho e confiabilidade)? Eu poderia converter uma matriz RAID 6 com um disco ausente em um RAID 5 de um disco a menos esperado com o mínimo de "remodelagem"/"reescrita"?
Eu sei que existem diferentes "políticas"/"alinhamentos" dentro do RAID 5 e RAID 6, mas isso provavelmente está além do escopo desta questão. Talvez deva ser assumido que ambas as matrizes usam uma política comum a ambos os níveis de RAID.
Sim. O RAID5 usa uma única paridade rotativa, enquanto o RAID6 usa duas. Você pode estar visualizando discos de paridade dedicados, mas na verdade eles estão girando.
RAID5 deve ser bastante simples:
Com RAID6, imagine o último disco faltando:
diagramas cortesia da Wikipedia [*1]
Os layouts obviamente diferem, e um RAID6 degradado requer busca e recálculo extras significativos para compensar o disco ausente em contraste com um array RAID5 intacto.
Por exemplo, em vez de ler B3 diretamente, quaisquer três pedaços de [B1, B2, Bp, Bq] precisam ser lidos para reconstruir B3 - observe que essa reconstrução de dados é apenas temporária e precisa ser feita toda vez que B3 é acessado. Observe também que essa 'amplificação de leitura' para leituras aleatórias aumenta com o número de discos. Para leituras sequenciais mais longas, os outros pedaços teriam que ser lidos de qualquer maneira.
Espera-se que a matriz RAID6 degradada tenha um desempenho muito pior, dependendo da carga de trabalho e da implementação e armazenamento em cache do controlador RAID. As implementações de RAID tendem a ser otimizadas para operação e estabilidade normais, portanto, um array degradado pode ter um desempenho abaixo das expectativas, mesmo com um cache grande.
Sim, em teoria, pois todos os dados podem ser reconstruídos. Na prática, isso depende dos recursos do controlador RAID disponível. Como requer um algoritmo de migração especial, a implementação não é muito provável. Pessoalmente, acho que nunca vi essa opção, mas também não a procurei.
[*1] Você deve observar que existem diferentes maneiras de mapear os dados em matrizes RAID. Os diagramas acima mostram os esquemas mais simples, não otimizados. Outros esquemas otimizariam cargas de trabalho específicas e um esquema RAID5 para acesso de leitura sequencial poderia ser