Capacidade e tolerância a falhas do md RAID10 com layout n2 f2

3

O seguinte é qouted de: Intro to Nested Raid

Linux md allows you to combine “near” and “far” RAID configurations. For example, in a m=2 and f=2 configuration with four drives (the minimum allowed) the data layout looks the following (omitted). Notice that there are four copies of each data chunk! Also notice that we can lose two drives without losing access to the data. However, in contrast to the normal RAID-10 we can lose any two drives and still retain access to all of the data. This is much better than RAID-10 where we can lose any single drive, but only specific combinations of two drives. The capacity of this particular four-drive “near” and “far” RAID configuration is the following. | Capacity = (n/2) * capacity of single disk | So we don’t gain any extra capacity relative to RAID-10 but we do gain the ability to lose any drives (a strong plus in my book).

Eu não sei se há um erro e realmente não consigo encontrar qualquer outra menção do benefício enorme (na minha opinião) do layout MD-RAID10 n2 f2 - a capacidade para soltar QUALQUER DOIS (de um conjunto de 4 discos) sai da matriz, ao contrário do padrão RAID10, no qual você só pode perder certos pares de discos. Isso é verdade para absolutamente qualquer layout do MD RAID10 n2 f2? Além disso, qual é a capacidade de um layout de 4 discos md raid 10 n2 f2? O artigo está errado e alguns dos comentários não estão de acordo.

Obrigado!

    
por Diego 29.02.2012 / 01:28

1 resposta

6

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.

    
por 29.02.2012 / 02:50

Tags