A idéia por trás da otimização de tamanhos de distribuição é otimizá-la de forma que, em sua carga de trabalho típica , a maioria das solicitações de leitura seja preenchida por uma única leitura, dividida igualmente por todos os discos de dados. Para um conjunto de três discos RAID-5, a quantidade de discos de dados seria dois.
Por exemplo, suponhamos que minha carga de trabalho típica faça solicitações de leitura de E / S que são em média 128kB. Você iria querer fazer pedaços de 64kB se eu tivesse um conjunto de três discos RAID-5. Calcule assim:
avg request size / number of data disks = chunk size
128kB / 2 = 64kB
Este é o tamanho do pedaço do seu conjunto RAID , ainda não chegamos a fazer o sistema de arquivos.
O próximo passo seria garantir que o sistema de arquivos esteja alinhado com as características do conjunto RAID. Portanto, queremos garantir que o sistema de arquivos esteja ciente do tamanho do bloco do conjunto RAID. Em seguida, ele pode distribuir uniformemente os superblocos nos três discos.
Para isso, precisamos dizer ao mke2fs qual é o tamanho de um pedaço ou, mais exatamente, quantos blocos do sistema de arquivos vão se encaixar em um pedaço. Isso é chamado de 'stride' do sistema de arquivos:
chunk size / size of filesystem block = stride size
64kB / 4kB = 16
Você pode então chamar o mke2fs com a opção -E stride = 16.
A página mencionada anteriormente também fala sobre a opção -E stripe-width para mke2fs, mas eu nunca usei isso eu mesmo, nem a manpage da minha versão do mke2fs menciona isso. Se quisermos usá-lo, estaríamos usando o 32: a largura da faixa é calculada multiplicando a passada pela quantidade de discos de dados (dois, no seu caso).
Agora, para o cerne da questão: qual é o tamanho ideal do pedaço? Como descrevi acima, você precisaria do tamanho médio de uma solicitação de leitura de E / S. Você pode obter esse valor verificando a coluna apropriada na saída de iostat ou sar. Você precisará fazer isso em um sistema que tenha uma carga de trabalho comparável ao sistema que você está configurando, durante um período prolongado.
Verifique se você sabe que tipo de unidade o valor usa: setores, kilobytes, bytes ou blocos.