Eu tenho um mdadm RAID-6 no meu servidor doméstico de HDDs 5x1Tb WD Green. A velocidade de leitura é mais que suficiente - 268 Mb / s em dd. Mas a velocidade de gravação é de apenas 37,1 Mb / s. (Ambos testados via dd em um arquivo de 48Gb, o tamanho da RAM é 1Gb, o tamanho do bloco usado nos testes é 8kb)
Você poderia sugerir por que a velocidade de gravação é tão baixa e existem maneiras de melhorá-la? O uso da CPU durante a gravação é de apenas 25% (ou seja, metade de 1 núcleo do Opteron 165) Não há dados críticos para a empresa e o servidor é suportado por UPS.
mdstat é:
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sda1[0] sdd1[4] sde1[3] sdf1[2] sdb1[1]
2929683456 blocks super 1.2 level 6, 1024k chunk, algorithm 2 [5/5] [UUUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>
Alguma sugestão?
Coisas como writeback, barreira, nobh não ajudaram. DD tamanho do bloco = 1 milhão, 8 milhões não mudaram nada. Parece que o mdadm lê fisicamente setores para calcular a paridade, mesmo que isso não importe ... Está correto?
Atualização: A degradação da velocidade após o cache de faixas alteradas foi realmente porque 1 HDD provavelmente falhou durante o teste, bom :-D
Resolvido: Depois de aumentar o cache de distribuição e alternar para bitmap externo, minhas velocidades são de gravação de 160 Mb / s, de leitura de 260 Mb / s. :-D
Respostas:
Você já tentou ajustar / sys / block / mdX / md / stripe_cache_size?
De acordo com esta postagem do fórum (em norueguês, desculpe) "ajustar esse parâmetro é mais essencial, quanto mais discos e o sistema mais rápido você tiver":
Citando sua velocidade de comparação:
Meu servidor doméstico possui quase os mesmos discos que você, usando o RAID 5:
Portanto, parece que o desempenho de gravação sequencial representa cerca de 50% do desempenho de leitura.
Para que desempenho esperar, o Linux Raid Wiki diz sobre o RAID 5:
E sobre o RAID 6:
fonte
tentar
echo 32768 > /sys/block/md0/md/stripe_cache_size
e verifique;)
fonte