Eles estão corretos, tal arranjo permitiria que uma falha em qualquer dois fosse perpétua.
A configuração 'N = 2' garante que os dois primeiros blocos replicados estejam em setores equivalentes de discos diferentes.
A configuração 'F = 2' garante que os dois segundos dos blocos replicados não compartilhem discos com N = 2 blocos replicados, desde que o array atenda ou exceda os drives N + F em tamanho .
Quanto à capacidade matemática, o artigo está incorreto (veja abaixo). Vamos dar uma olhada em alguns exemplos:
Uma matriz 2x2 de 4 drives
- Há um total de 4 unidades na matriz
- Existem 2 réplicas próximas a
- Existem 2 réplicas 'longe'
- A "largura da faixa" é, portanto, de 4 blocos.
Cada bloco é, portanto, replicado quatro vezes. A capacidade é o tamanho de uma única unidade.
Uma matriz de 5 x 2 x 2
- Há um total de 5 unidades na matriz
- Existem 2 réplicas próximas a
- Existem 2 réplicas 'longe'
- A "largura da faixa" é, portanto, de 4 blocos.
Como na matriz de 4 unidades, cada bloco é replicado quatro vezes. No entanto, a unidade extra fornece outras unidades completas de blocos para expansão. A capacidade é o tamanho de duas unidades.
Coloque de uma forma diferente:
Dado:
- N = número de unidades
- R = Número de blocos replicados por faixa
- S = tamanho das unidades
Capacidade = S * (N - (R-1))
Matriz de 4 drives:
N = 4
R = 4
Capacidade = S (4 - (4-1)) = S * (4-3) = S * 1
5-Drive Array:
N = 5
R = 4
Capacidade = S * (5 - (4-1)) = S * (5 - 3) = S * 2
A condição 'any two can fail' só existe se N ≧ R. Na verdade, com R = 4, any three pode falhar. Novamente, somente se N ≧ R.
Eu devo apontar um erro matemático no próprio artigo . Para citar:
A capacidade desta configuração RAID “near” e “far” de quatro drives é a seguinte.
Capacity = (n/2) * capacity of single disk
Isso está incorreto. O 2
nessa fórmula deve ser o número de blocos replicados. Que em uma configuração 2x2 é 4. Isso é claramente demonstrado no diagrama, onde o bloco "A1" aparece quatro vezes. O autor acerta para os exemplos de 3 drives, já que essas fórmulas mostram a divisão por 3.
[O exemplo é para um RAID de duas réplicas em três discos]
Capacity = 2/3 * capacity of single disk
Isso é mais suportado pela man-page para md:
Finally, it is possible to have an array with both 'near' and 'far' copies. If an array is configured with 2 near copies and 2 far copies, then there will be a total of 4 copies of each block, each on a different drive. This is an artifact of the implementation and is unlikely to be of real value.
Portanto, uma configuração RAID 2 por 2 terá quatro cópias. Portanto, uma implementação de quatro unidades de um RAID 2 por 2 terá a capacidade de uma única unidade.
A tese do autor de que uma configuração RAID próxima / distante fornecerá proteção adicional acima e além do R10 normal é fraca. A proteção não vem da configuração near / far, a proteção vem de mais de 2 replicações dos dados.
O RAID configura onde os dados são replicados R vezes podem tolerar até falhas no disco R-1. Mais falhas podem ser toleradas desde que os dispositivos com falha extras estejam em conjuntos de replicação já com falha . É por isso que um par de espelhos (R = 2) de dispositivos RAID0 pode tolerar uma falha de unidade única. Se R for igual ao número de unidades (N), você poderá ter todas, exceto uma, e ainda manter o serviço.