É possível alterar o tamanho do bloco Raid5 de um dispositivo existente?

2

Eu tenho um dispositivo raid5 que eu criei usando o mdadm no Linux.

Quando criei o dispositivo, defini o tamanho do bloco para 64, mas gostaria de testar o desempenho de vários tamanhos, mas não quero ter que recriar todo o meu sistema para fazer isso.

Se não for possível fazer isso ao vivo, é possível fazer isso inicializando com um disco de recuperação?

Qualquer conselho sobre as etapas de como fazer isso, seja ao vivo ou com um disco de recuperação, será muito bem-vindo.

    
por AlexCombas 01.10.2010 / 11:30

2 respostas

2

Esta questão é bastante antiga e a resposta de Wzzrd estava correta no momento da escrita. No entanto, o suporte para reformular matrizes MD foi adicionado nesse meio tempo.

Agora, é possível alterar o tamanho do fragmento de uma matriz RAID existente executando

mdadm --grow --chunk=128 /dev/md0

Neste exemplo, o tamanho do bloco de /dev/md0 seria alterado para 128 KiB. Por favor, note que alterar o tamanho do bloco é um processo muito lento, porque isso envolve reescrever todos os dados armazenados na matriz RAID. Como isso é feito de maneira a garantir a segurança dos dados mesmo em caso de falha do sistema, cada parte dos dados deve ser gravada duas vezes. Portanto, você deve esperar que esse processo demore bastante (na ordem dos dias).

    
por 21.11.2016 / 16:06
1

Um 'chunk' é a parte de uma faixa gravada em um único disco. Sua configuração atual é escrita no disco como algo ao longo das linhas deste (assumindo um RAID5 de três discos):

| data   | data   | parity |
| parity | data   | data   |
| data   | parity | data   |

No seu caso, cada parte 'data' ou 'parity' (ou seja, 'chunk') é 64KiB, o que lhe dá uma largura de faixa de 192KiB, o que é bastante normal.

Neste momento, não acho que você possa mudar o tamanho do bloco.

O que você pode fazer é descobrir qual seria o melhor tamanho de bloco para o seu sistema, sem ter que testar todas as opções possíveis. Se você monitora seu sistema com o sar por um tempo, você deve ser capaz de encontrar algo chamado 'tamanho médio da requisição'. Esse número (sar exibe em setores de 512 bytes, iirc) é o tamanho ideal para as partes combinadas de 'dados' de uma faixa.

Portanto, como exemplo, se o seu tamanho médio de requisição for 64 KiB (que é 128 setores de 512 bytes), você vai querer fazer o tamanho combinado das partes 'data' de sua distribuição de 64 KiB. No caso de um conjunto de três discos RAID5, um tamanho de bloco de 32kB seria o melhor.

    
por 01.10.2010 / 12:39