O menu.lst foi (re)criado em /boot/grub, mas ele ainda está sem indicar que o sistema é um RAID, o parâmetro root ainda está apontando para o sda1, lugar onde originalmente está o /boot.
É necessário alterar este parâmetro para que se um dos HDs falhar, na hora do próximo boot ele assuma que o outro HD é o principal.
Para editar:
# vim /boot/grub/menu.lst
Na linha:
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda1 ro quiet
Troque para:
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/md0 ro
Obs.: A versão do kernel poderá ser diferente na versão do
Linux instalado.
O /dev/md0 é a primeira posição do array criado pelo mdadm, usando o /dev/sda1 e /dev/sdb1.
Depois destas configurações, o sistema está pronto para suportar uma eventual falha de um dos HDs.
Verificando e testando o sistema na ocorrência de falhas
O sistema está atualizado e funcionando, mas precisamos fazer uma simulação real de um HD queimado. Podemos retirar um dos HDs e reiniciar o sistema ou usar o mdadm para simular o erro.
Utilizando o mdadm:
# mdadm --manage --set-fault /dev/md1 /dev/sdb5
Este comando fará com que o segundo disco (/dev/sdb5), primeira partição, que está no array md0 pare de funcionar.
Os parâmetros:
- --manage - chama o módulo de gerência
- /dev/md0 - primeiro dispositivo RAID
- /dev/sdb5 - partição lógica no segundo HD
Este comando "danificou" o array /dev/md1. Para verificar o erro digite:
# mdadm --detail /dev/md1
No final da listagem aparecerá:
Number | Major | Minor | RaidDevice | State |
0 | 8 | 5 | 0 | Active sync /dev/sda5 |
1 | 0 | 0 | 1 | Removed |
2 | 8 | 21 | - | Fault spare /dev/sdb5 |
O sistema está com um "crash". Segundo o comando, o /dev/sdb5 foi removido do RAID.
O /proc/mdstat dará a mesma informação:
md1: active raid1 sdb5[2] (F) sdb5[0]
O (F) é a indicação de fault.
Corrigindo o problema
Vimos que o /dev/md1 /dev/sdb5 está danificado. Poderia ser um erro por causa de um erro físico no HD, ou mesmo um HD queimado.
Se for um HD com problemas físicos, a primeira coisa a ser feita é colocar outro HD no lugar.
Depois é necessário remover do RAID as partições que estão no array para depois adicioná-las novamente.
Para remover:
# mdadm /dev/md1 -r /dev/sdb5
Supondo que o HD pifou de vez e tenha que colocar outro, a melhor alternativa é colocar um HD igual ao primeiro, mas não é a única chance do RAID funcionar, o fundamental é que as partições tenham o mesmo tamanho.
Para colocar o novo HD fazendo o RAID, basta seguir os passos a partir do item COPIANDO A TABELA DE PARTICIONAMENTO e seguir até o final.
Considerações finais
Esta solução é uma boa alternativa para dar uma segurança ao sistema em caso de falhas. Mas é bom lembrar que o RAID não é backup. Um backup sempre é importante, mesmo em sistemas RAID.