Ouvi dizer que o RAID 1+0 é mais dependente de falhas do que o RAID 0+1, porque é mais provável que uma falha na unidade secundária cause perda de dados no RAID 0+1 do que no RAID 1+0.
Na imagem acima, se o “Disco 1” falhar, quais outras falhas de disco causarão perda de dados? O que li parece indicar que a perda de qualquer unidade no "Grupo 2" causará perda de dados, mas o raciocínio por trás disso não está claro para mim. Se perdermos o “Disco 5”, por que isso causaria perda de dados? Parece-me que há informações suficientes para recuperar o estado completo dos dados - combinar "Disco 4" + "Disco 2" + "Disco 3", por exemplo, deve ter todas as informações necessárias para continuar funcionando corretamente sem dados perda.
Nesse caso, por que a perda do “Disco 1” e do “Disco 5” causaria perda de dados?
Desde já, obrigado!
Isso se resume aos detalhes de implementação da(s) camada(s) RAID.
Por exemplo, se você usar um RAID de hardware para fazer a distribuição e, em seguida, um RAID de software na parte superior para espelhar os grupos de distribuição, o RAID de software que está fazendo o espelhamento não verá os discos individuais, apenas os dois dispositivos gerados pelo hardware. RAID representando cada grupo de distribuição.
Nessa configuração, quando o Disco 1 falhar, o controlador RAID de hardware retornará erros no dispositivo do Grupo 1. O RAID de software na parte superior deve então considerar todo o Grupo 1 como falho, pois não verá os discos individuais.
Se o Disco 5 falhar, o dispositivo do Grupo 2 também começará a retornar erros e, no que diz respeito ao software RAID que faz o espelhamento, isso é uma falha dupla - os dados são perdidos. Game Over.
Se você tentar usar os discos 4, 2 e 3 para recuperação, há o problema de que após a falha do Disco 1, o RAID de software terá parado de atualizar todo o Grupo 1. Portanto, o Disco 4 teria dados mais recentes que os Discos 2 e 3, a menos que ambos os discos falhou exatamente ao mesmo tempo... o que é improvável. E por causa da distribuição, qualquer dado contíguo que seja maior que uma faixa terá o risco de incorporar partes de conjuntos de faixas "mais antigos" e "mais novos", resultando em uma bagunça corrompida.
Se o striping e o espelhamento forem feitos pela mesma implementação de RAID, ou seja, apenas um controlador RAID de hardware que possa fazer "RAID 10" ou "RAID 0+1", ou apenas uma implementação de RAID de software que possa fazer o mesmo, então a implementação pode ser inteligente o suficiente para continuar atualizando os Discos 2 e 3 após a falha do Disco 1, mesmo que o conjunto de faixas do Grupo 1 não esteja mais completo. Se o disco 5 também falhar, o controlador poderá ser inteligente o suficiente para ver que os discos 4 + 2 + 3 juntos formam um conjunto válido e continuam funcionando.
Sempre que a mesma implementação RAID lida com o striping e o espelhamento, as implementações modernas geralmente funcionam da maneira que você parece estar pensando - elas rastreiam a integridade de cada cópia de cada conjunto de stripes e continuarão funcionando enquanto um conjunto completo de stripes puder. ser encontrado.
No entanto, isso não é algo em que você deva confiar cegamente: você deve pesquisar cuidadosamente sua implementação de RAID com antecedência, para que quando (não "se"!) os discos começarem a falhar, você saiba o que sua implementação de RAID pode ou não fazer.
E se você colocar diferentes implementações de RAID em camadas (por exemplo, se você usar o software RAID integrado do sistema operacional para espelhar dados entre dois grandes sistemas de armazenamento SAN localizados em edifícios diferentes para tolerância a desastres), você deve pensar cuidadosamente nos cenários de falha - na fase de design , antes mesmo de começar a implementar a sua configuração.