O software RAID5 é remodelado a 0K / seg depois de tentar crescer

2

Eu tenho um array RAID5 que tentei adicionar um disco para aumentar o array e parece estar preso. Eu encontrei todos os tipos de tópicos sobre problemas semelhantes, mas não consigo localizar uma solução clara sobre o que fazer.

Basicamente, fiz isso:

mdadm --grow --raid-devices=6 --backup-file=/root/grow_md0.bak /dev/md0

Agora eu recebo:

[root@server ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdg1[7] sde1[3] sdd1[5] sdc1[6] sda1[2] sdb1[0]
  15627540480 blocks super 1.2 level 5, 512k chunk, algorithm 2 [6/6] [UUUUUU]
  [>....................]  reshape =  0.0% (4096/3906885120) finish=362200428.2min speed=0K/sec

Observe a velocidade de 0k / s. Agora, o 4096 era originalmente 1024. Eu tentei isso com base em algumas sugestões:

mdadm --grow --continue --backup-file=/root/grow_md0.bak /dev/md0

Que colidiu com o 1024 até 2048, mas não fez mais nada.

Eu também notei neste momento que /root/grow_md0.bak não existe. Algumas outras tentativas de "continuar" me levaram a 4096, mas nada mais.

Outras informações:

[root@server ~]# cat /sys/block/md0/md/stripe_cache_size
643
[root@server ~]# cat /sys/block/md0/md/sync_min
0
[root@server ~]# cat /sys/block/md0/md/sync_max
8192
[root@server ~]# cat /sys/block/md0/md/sync_speed
0
[root@server ~]# cat /proc/sys/dev/raid/speed_limit_min
50000
[root@server ~]# cat /proc/sys/dev/raid/speed_limit_max
200000
[root@server ~]# dmesg |grep md
[ 2734.805157] md: md_do_sync() got signal ... exiting
[ 2735.071850] md: reshape of RAID array md0
[ 2735.071854] md: minimum _guaranteed_  speed: 50000 KB/sec/disk.
[ 2735.071855] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for reshape.
[ 2735.071860] md: using 128k window, over a total of 3906885120k.
[ 2766.527554] md: md_do_sync() got signal ... exiting
[ 2766.578718] md: reshape of RAID array md0
[ 2766.578722] md: minimum _guaranteed_  speed: 50000 KB/sec/disk.
[ 2766.578723] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for reshape.
[ 2766.578728] md: using 128k window, over a total of 3906885120k.
[ 2950.824300] md: md_do_sync() got signal ... exiting
[ 2950.874411] md: reshape of RAID array md0
[ 2950.874418] md: minimum _guaranteed_  speed: 50000 KB/sec/disk.
[ 2950.874420] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for reshape.
[ 2950.874427] md: using 128k window, over a total of 3906885120k.
[ 2974.287731] md: md_do_sync() got signal ... exiting
[ 2974.365615] md: reshape of RAID array md0
[ 2974.365620] md: minimum _guaranteed_  speed: 50000 KB/sec/disk.
[ 2974.365621] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for reshape.
[ 2974.365625] md: using 128k window, over a total of 3906885120k.

Mudar alguma coisa aqui ajudaria? Eu aumentei speed_limit_min para 50000, mas isso não pareceu me levar a nada, já que está presa, não devagar.

EDITAR Eu tentei atualizar o stripe_cache_size para 16384 sem sucesso.

    
por Fmstrat 19.02.2017 / 23:35

2 respostas

2

Então, depois de uma tonelada de pesquisas, eu finalmente encontrei este link: link

Que identificou isso:

echo max > /sys/block/md0/md/sync_max

Que deu o pontapé inicial na sincronização. Espero que isso ajude alguém a procurar uma resposta.

    
por 22.02.2017 / 17:50
0

Funciona para mim. Eu só preciso usar (porque permissão):

sudo nano /sys/block/md4/md/sync_max

e salve a string: max

você também pode usar o comando:

echo max |sudo tee /sys/block/md4/md/sync_max
    
por 26.10.2018 / 13:00

Tags