Configurei um nível 5 de invasão de software do Linux que consiste em discos de 4 * 2 TB. A matriz de disco foi criada com um tamanho de faixa de 64k e sem outros parâmetros de configuração. Após a reconstrução inicial, tentei criar um sistema de arquivos e essa etapa leva muito tempo (cerca de meia hora ou mais). Tentei criar um sistema de arquivos xfs e ext3, ambos demoraram muito tempo, com mkfs.ext3 observei o seguinte comportamento, o que pode ser útil:
- escrever tabelas de inode corre rápido até atingir 1053 (~ 1 segundo), depois grava cerca de 50, aguarda dois segundos e depois as próximas 50 são gravadas (de acordo com a exibição do console)
- quando tento cancelar a operação com Control + C, ela fica suspensa por meio minuto antes de ser realmente cancelada
O desempenho dos discos individualmente é muito bom; executei o bonnie ++ em cada um separadamente, com valores de gravação / leitura em torno de 95 / 110MB / s. Mesmo quando executo o bonnie ++ em todas as unidades em paralelo, os valores são reduzidos apenas em cerca de 10 MB. Portanto, estou excluindo a programação de hardware / E / S em geral como uma fonte de problema.
Tentei diferentes parâmetros de configuração para o tamanho stripe_cache_size e readahead sem êxito, mas não acho que sejam relevantes para a operação de criação do sistema de arquivos.
Os detalhes do servidor:
- Servidor Linux 2.6.35-27-generic # 48-Ubuntu SMP x86_64 GNU / Linux
- mdadm - v2.6.7.1
Alguém tem uma sugestão sobre como depurar ainda mais isso?
fonte
time mkfs.xfs -l sunit=128 -d agsize=64g,sunit=128,swidth=512 -b size=4096 /dev/md0 -f
que teve aproximadamente o mesmo tempo que mkfs sem parâmetrosEu suspeito que você esteja enfrentando um problema típico de gravação pequena do RAID5. Para gravações abaixo do tamanho de uma faixa, é necessário executar uma leitura-modificação-gravação para os dados e a paridade. Se a gravação tiver o mesmo tamanho da faixa, ela poderá simplesmente substituir a paridade, pois sabe qual é o valor e não precisa recalculá-lo.
fonte
Seus mkfs e o desempenho subsequente do sistema de arquivos podem melhorar se você especificar a largura da passada e da faixa ao criar o sistema de arquivos. Se você estiver usando os blocos 4k padrão, seu passo é 16 (faixa RAID de 64k dividido pelo bloco de sistema de arquivos de 4k) e a largura da faixa é 48 (passo de 16 do sistema de arquivos multiplicado pelos 3 discos de dados em sua matriz).
fonte