Eu tenho uma matriz RAID5 de software (Linux md) em 4 discos.
Gostaria de substituir um dos discos por um novo, sem colocar a matriz em um estado degradado e, se possível, online. Como aquilo seria possível?
É importante porque eu não quero:
- corre o risco de estressar os outros discos, para que um possa travar durante a reconstrução,
- corre o risco de estar em um "estado sem paridade", para que eu não tenha uma rede de segurança por algum tempo.
Suponho que fazê-lo on-line seja muito exigente e eu deveria apenas copiar ( dd
) os dados do disco antigo para o novo offline e substituí-lo, mas acho que é teoricamente possível ...
Algum contexto : todos esses discos estão girando quase continuamente há mais de 5,5 anos. Eles ainda funcionam perfeitamente no momento e são aprovados no (longo) autoteste SMART. No entanto, tenho motivos para pensar que um desses 4 discos não durará muito mais tempo (suposta falha preditiva).
fonte
mdadm --add
ainda é necessário antes--replace
que funcione. (mdadm
3.3, Ubuntu 15.10). Se você fizer o--add
seguinte--replace
, a cópia começará assim que uma reposição for adicionada. (O dispositivo permanece marcado como "desejando substituição").Pode ser possível atender aos requisitos
Mas mesmo que o seguinte funcione, você provavelmente não encontrará nenhuma recomendação desse tipo "nos livros" ...
Idéia:
mdadm --manage /dev/raid5 --fail /dev/OLD
mdadm --build /dev/md42 --level=mirror --raid-devices=2 /dev/OLD /dev/NEW
mdadm --manage /dev/raid5 --re-add /dev/md42
O que deve :-) acontecer:
Assista ao progresso da sincronização (
cat /proc/mdstat
oumdadm --monitor
). Se a sincronização terminar, retire o RAID-1 do RAID-5, pare o RAID-1, adicione novamente / dev / NEW ao RAID-5. Se estiver tudo bem, substitua os superblocos mdraid em / dev / OLD para evitar problemas:mdadm --zero-superblock
Aviso: A sincronização rápida do RAID-5 pode funcionar apenas se você usar um bitmap. Se você não tiver um, é melhor fazer um teste com um RAID-5 fictício (sem um bitmap) primeiro. Ou adicione um. Pelo menos, adicionar um externo deve ser possível. Caso contrário, pode ser necessário interromper o RAID-5 antes de alterar os dispositivos. Se você inicializar a partir do RAID-5, isso se tornaria um pouco complicado.
fonte
Se você não se importa de executar o RAID-6 (2 discos de paridade em vez de 1) e se estiver executando o mdadmin 3.1.x ou superior, poderá converter seu array RAID-5 em RAID-6 para adicionar um disco de paridade adicional . Isso colocará a matriz sob estresse durante a reconstrução, no entanto. E isso tem algumas implicações de desempenho, pois há mais discos de paridade para atualizar durante as gravações.
Mas se ele for concluído com êxito, você poderá manter o disco com falha no lugar e, quando finalmente falhar, ainda terá proteção por paridade para a matriz. Eu acho que você pode converter a matriz do RAID6 de volta para o RAID5 se não esperar para mantê-lo como RAID6.
Não conheço uma maneira on-line de manter a matriz como RAID-5 e substituir o disco sem colocar a matriz no modo degradado, pois acho que você deve marcá-lo como falha ao substituí-lo. Sua idéia de cópia em dd pode ser a maneira de fazer isso.
fonte