Comutando o mdadm para um bitmap externo

7

Acabei de ler isso em outro post sobre como melhorar as velocidades de gravação do RAID5 / 6 :

  

Depois de aumentar o cache de stripe & amp; mudando para bitmap externo, minhas velocidades são de 160 Mb / s, leituras de 260 Mb / s. :-D

Eu já descobri como aumentar o cache de stripe e isso funcionou muito bem, mas gostaria de saber mais sobre um bitmap externo. Eu tenho um SSD RAID0 incrivelmente rápido (540MB / s) que faria bem se um bitmap faz o que eu acho que faz, mas eu ainda estou muito inseguro. Eu só sei sobre eles desde que eu conheça este post .

Algumas perguntas:

  • O que é um bitmap (em termos de mdadm)?
  • Quais são as vantagens de um bitmap interno (over external)?
  • Quais são as vantagens de um bitmap externo (over internal)?
  • Como faço para alternar entre os dois?

Devo acrescentar que, embora este seja um thread do tipo I'm-bored-let's-break-something, eu valorizo os dados armazenados no array RAID. Se isso for colocar dados com risco significativo , informe-nos.

    
por Oli 26.06.2011 / 13:58

2 respostas

8

O que é um bitmap:

Um bitmap mdadm, também chamado de "bitmap de intenção de gravação", é um mecanismo para acelerar reconstruções de RAID após um desligamento não limpo ou após a remoção e a adição de um disco.

Com um bitmap, gravar dados no RAID é assim:

  • Atualizar bitmap: marque os fragmentos de RAID que você está prestes a gravar como sujos.
  • Grave os dados no RAID.
  • Atualizar bitmap: marque os fragmentos de RAID que acabaram de ser escritos como limpos.

A vantagem de um bitmap é que, se o sistema ficar inativo no meio de uma gravação, a reconstrução precisa verificar apenas os fragmentos marcados como sujos, em vez de todo o RAID multi-TB. Isso pode acelerar o processo de reconstrução, levando várias horas para ser concluído em apenas alguns segundos.

A desvantagem é menor desempenho de gravação sob uso normal (recriações externas), já que o mdadm faz acesso adicional ao disco para atualizar o bitmap.

Externo vs interno:

  • external : armazenado como um arquivo em um disco fora do RAID. A vantagem sobre um bitmap interno é melhor desempenho de gravação durante o uso normal (recriações externas).
  • interno : armazenado como metadados RAID. A vantagem sobre um bitmap externo é que você não precisa de um disco não-RAID e economiza um pouco na configuração (o caminho para o bitmap).

De acordo com a página do manual do mdadm:

Note:  external bitmaps are only known to work on ext2 and ext3.
       Storing bitmap files on other filesystems may result in  serious
       problems.

De acordo com uma postagem de Neil Brown , o autor do mdadm, os bitmaps externos devem trabalhe no ext4 também:

I haven't looked inside ext4 but I am fairly confident that external bitmaps 
will work properly.

HOWTO:

Os bitmaps são adicionados e removidos usando mdadm --grow --bitmap=XXX ... , em que o XXX é um dos seguintes:

  • --bitmap=internal : crie um bitmap interno.
  • --bitmap=/var/my_bitmap.bin : crie um bitmap externo no caminho especificado. O caminho deve residir fora do RAID. Um parâmetro bitmap=... deve ser adicionado à entrada ARRAY em /etc/mdadm/mdadm.conf , e o parâmetro --bitmap=... deve ser passado se você estiver montando o RAID a partir da linha de comando.
  • --bitmap=none : remover / desativar os bitmaps.

Referências:

Comentários:

IMO, os bitmaps são talvez principalmente de interesse para os níveis de RAID 5 e 6, já que eles têm as reconstruções mais lentas.

Eu mudei de RAID 5 para RAID 10 eu mesmo; as recriações são muito mais rápidas que eu não sinto a necessidade de um bitmap, e o RAID 10 parece exigir muito menos reconstruções em primeiro lugar.

Minha configuração do RAID 5 costumava soltar um disco algo como uma vez por mês, causando recriações de 12 a 14 horas. O RAID 10 só caiu um disco uma vez em meio ano, reconstruído em menos de uma hora.

Não sei se as freqüentes quedas de disco que experimentei foram causadas por algo diferente do nível do RAID, mas o RAID 10 foi muito mais estável e a velocidade de reconstrução não é mais uma preocupação.

    
por j-g-faustus 06.10.2011 / 02:08
1

Eu tenho usado md RAID 5 por um tempo agora, e não tive nenhum dropouts de disco. Eu estava interessado em ver o que a adição de um armazenamento de bitmap externo me daria.

Minha configuração atual inclui um disco de inicialização e, em seguida, 4 discos de 3 TB como RAID 5. Ontem à noite eu adicionei outro disco de 3 TB e depois de 20 horas ímpares ele é 70% através de reformulação. Desde a leitura deste post, eu decidi que depois de terminar a reformulação, definitivamente adicionarei o bitmap externo ao disco de inicialização (1TB).

Eu tenho md RAID 5 camada base, LVM2 sobre isso e alguns alvos ISCS para algumas das partições LVM2 com várias máquinas virtuais sendo testadas no ISCSI.

Eu fiz um monte de imagens de benchmark, postadas aqui se você está interessado.

    
por Andrew 16.11.2012 / 08:25