Como reparar / substituir preventivamente a unidade no array linux md sem degradar primeiro?

1

Eu tenho (já foi trocado, pedindo isso para uso futuro) uma unidade que está indicando falha pendente com testes internos do SMART e remapeamento de blocos defeituosos.

É fácil para mdadm --fail o disco estar em mau estado e ser recondicionado para um hot spare, ou para puxar o drive e colocar um novo, depois reconstruir para esse drive.

O problema é que isso leva a matriz a um estado degradado durante todo o período dessa ressincronização, incorrendo tanto no risco de falha adicional quanto na sobrecarga de desempenho da execução degradada. Isso é esperado se você realmente tiver uma falha de unidade, mas é uma exposição desnecessária se a unidade ainda não tiver realmente falhado.

Como posso substituir / reconstruir preventivamente essa única unidade para um hot spare sem tirá-la do serviço primeiro?

    
por Nathan Neulinger 22.06.2018 / 14:26

1 resposta

1

Não tenho certeza de quão resiliente é essa técnica, mas "deve funcionar". Eu gostaria de dar a este procedimento alguns testes em outras unidades antes de fazer isso de verdade.

Se você tiver um RAID-1 de dois discos, poderá usar mdadm --grow para transformá-lo em um RAID-1 de três discos. Este é um espelho triplo, não um RAID-1E. Em seguida, você pode falhar na unidade em que está preocupado e --grow em dois discos. Algo parecido com isto:

mdadm --grow /dev/md0 --level=1 --raid-devices=3 --add /dev/sdgood

# wait for the resync to complete, then fail the drive out that's starting to go bad:

mdadm /dev/md0 --fail /dev/sdbad --remove /dev/sdbad

# then, set the RAID-1 back to two devices.
mdadm --grow /dev/md0 --raid-devices=2

Se você fizer isso, sempre terá pelo menos uma cópia espelhada dos seus dados.

Segundo relatos, você pode usar --grow de uma matriz de RAID-5 a RAID-6, mas nunca ouvi falar de alguém voltando a um RAID-5 posteriormente. De qualquer forma, essa abordagem é muito mais arriscada, porque você terá que reescrever todos os seus dados em todos os discos.

    
por 24.06.2018 / 15:25