Usando o mdadm 3.3
Desde mdadm
3.3 (lançado em 2013, 3 de setembro), se você tiver um 3.2+ kernel , você pode proceder da seguinte forma:
# mdadm /dev/md0 --add /dev/sdc1
# mdadm /dev/md0 --replace /dev/sdd1 --with /dev/sdc1
sdd1
é o dispositivo que você deseja substituir, sdc1
é o dispositivo preferido para fazer isso e deve ser declarado como sobressalente em sua matriz.
A opção --with
é opcional, se não especificada, qualquer reserva disponível será usada.
Versão mais antiga do mdadm
Observação: você ainda precisa de um 3.2 + kernel .
Primeiro, adicione uma nova unidade como sobressalente (substitua md0
e sdc1
pelo RAID e pelo dispositivo de disco, respectivamente):
# mdadm /dev/md0 --add /dev/sdc1
Em seguida, inicie uma operação de substituição de cópia como essa ( sdd1
sendo o dispositivo com falha):
# echo want_replacement > /sys/block/md0/md/dev-sdd1/state
Resultado
O sistema copiará todos os blocos legíveis de sdd1
para sdc1
. Se chegar a um bloco ilegível, ele será reconstruído a partir da paridade. Quando a operação estiver concluída, a antiga reserva (aqui: sdc1
) ficará ativa e a unidade com falha será marcada como com falha (F) para que você possa removê-la.
Nota: crédito vai para frostschutz e Ansgar Esztermann que encontrou a solução original (veja o questestão duplicada ).
Kernels mais antigos
Outras respostas sugerem:
- A abordagem do Johnny : : converta a matriz para RAID6, "substitua" o disco e, em seguida, volte para RAID5,
- abordagem : remova brevemente o disco da matriz RAID5, torne-o parte de um RAID1 (espelho) com o novo disco e adicione essa unidade espelhada de volta ao array RAID5 (teórico) ...