Preparando /dev/hda e GRUB para RAID1
7 Preparando /dev/hda
Se tudo correu bem, você deverá ver /dev/md0 e /dev/md2 na saída de:
df -h
Exemplo esperado (tradução do output mostrado):
[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 4.4G 757M 3.4G 18% /
/dev/md0 167M 9.0M 150M 6% /boot
[root@server1 ~]#
A saída de:
cat /proc/mdstat
deverá indicar os dispositivos RAID ativos, por exemplo:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdb5[1]
417536 blocks [2/1] [_U]
md0 : active raid1 hdb1[1]
176576 blocks [2/1] [_U]
md2 : active raid1 hdb6[1]
4642688 blocks [2/1] [_U]
unused devices:
[root@server1 ~]#
Agora altere o tipo das três partições em /dev/hda para “Linux raid autodetect”:
fdisk /dev/hda
Sequência esperada (interativa):
Command (m for help): t
Partition number (1-6): 1
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)
Command (m for help): t
Partition number (1-6): 5
Hex code (type L to list codes): fd
Changed system type of partition 5 to fd (Linux raid autodetect)
Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): fd
Changed system type of partition 6 to fd (Linux raid autodetect)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@server1 ~]#
Em seguida, adicione as partições ao arrays correspondentes:
mdadm --add /dev/md0 /dev/hda1
mdadm --add /dev/md1 /dev/hda5
mdadm --add /dev/md2 /dev/hda6
Verifique o progresso com:
cat /proc/mdstat
Você verá que os arrays estão em sincronização. Exemplo de saída em andamento:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hda5[2] hdb5[1]
417536 blocks [2/1] [_U]
resync=DELAYED
md0 : active raid1 hda1[0] hdb1[1]
176576 blocks [2/2] [UU]
md2 : active raid1 hda6[2] hdb6[1]
4642688 blocks [2/1] [_U]
[======>..............] recovery = 34.4% (1597504/4642688) finish=1.0min speed=50349K/sec
unused devices:
[root@server1 ~]#
Dica: rode watch cat /proc/mdstat
para acompanhar em tempo real. Para sair do watch, pressione CTRL+C.
Aguarde até a sincronização terminar. Quando concluída, a saída deverá mostrar todos os arrays com [UU]:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hda5[0] hdb5[1]
417536 blocks [2/2] [UU]
md0 : active raid1 hda1[0] hdb1[1]
176576 blocks [2/2] [UU]
md2 : active raid1 hda6[0] hdb6[1]
4642688 blocks [2/2] [UU]
unused devices:
[root@server1 ~]#
Depois, atualize /etc/mdadm.conf para refletir a nova configuração:
cp -f /etc/mdadm.conf_orig /etc/mdadm.conf
mdadm --examine --scan >> /etc/mdadm.conf
O arquivo /etc/mdadm.conf deverá conter entradas ARRAY semelhantes a estas (exemplo):
# mdadm configuration file
#
# mdadm will function properly without the use of a configuration file,
# but this file is useful for keeping track of arrays and member disks.
# ...
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=6b4f013f:6fe18719:5904a9bd:70e9cee6
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=63194e2e:c656857a:3237a906:0616f49e
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=edec7105:62700dc0:643e9917:176563a7
8 Preparando o GRUB
Estamos quase concluindo. Edite o menu do GRUB em /boot/grub/menu.lst. Atualmente ele referencia hd1 (ou /dev/hdb). Para permitir que o sistema dê boot caso /dev/hdb falhe, copie a primeira seção de kernel, cole abaixo e substitua hd1 por hd0. Comente as demais entradas para deixar apenas as duas entradas principais (hd1 e hd0).
Edite com:
vi /boot/grub/menu.lst
Exemplo do menu resultante:
timeout 10
color black/cyan yellow/cyan
default 0
fallback 1
title linux
kernel (hd1,0)/vmlinuz BOOT_IMAGE=linux root=/dev/md2 resume=/dev/md1
initrd (hd1,0)/initrd.img
title linux
kernel (hd0,0)/vmlinuz BOOT_IMAGE=linux root=/dev/md2 resume=/dev/md1
initrd (hd0,0)/initrd.img
#title linux
#kernel (hd0,0)/vmlinuz BOOT_IMAGE=linux root=/dev/hda6 resume=/dev/hda5
#initrd (hd0,0)/initrd.img
#title failsafe
#kernel (hd0,0)/vmlinuz BOOT_IMAGE=failsafe root=/dev/hda6 failsafe
#initrd (hd0,0)/initrd.img
Depois atualize o ramdisk do kernel atual e reinicie:
mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig2
mkinitrd /boot/initrd-`uname -r`.img `uname -r`
reboot
O sistema deverá iniciar normalmente. Parabéns — você sincronizou /dev/hda com os arrays RAID1 e atualizou o GRUB.
Checklist rápido
- Verificar /proc/mdstat e df -h antes de começar.
- Alterar tipos de partição para fd em /dev/hda com fdisk.
- Adicionar partições com mdadm –add.
- Aguardar sincronização completa ([UU] em /proc/mdstat).
- Atualizar /etc/mdadm.conf com mdadm –examine –scan.
- Ajustar /boot/grub/menu.lst para boot em hd0 e hd1.
- Regenerar initrd e reiniciar.
Quando algo der errado (solução rápida)
- Se a sincronização não iniciar: verifique logs com dmesg e /var/log/messages.
- Se um array não monta: rode
mdadm --detail /dev/mdX
para diagnosticar falhas e estados. - Se o sistema não bootar: reinicie em modo de recuperação e verifique /boot/grub/menu.lst e se os initrds existem. Reinstale o GRUB no MBR de ambos os discos se necessário.
Importante: faça backup antes de manipular tabelas de partição. Alterações em partições podem causar perda de dados se executadas incorretamente.
Mini-cheat sheet (comandos úteis)
- Verificar espaço:
df -h
- Verificar RAID:
cat /proc/mdstat
- Adicionar disco:
mdadm --add /dev/md0 /dev/hda1
- Examinar array:
mdadm --detail /dev/md0
- Gerar mdadm.conf:
mdadm --examine --scan
- Atualizar initrd:
mkinitrd /boot/initrd-$(uname -r).img $(uname -r)
Critérios de aceitação
- Todos os arrays mostram estado [UU] em /proc/mdstat.
- /etc/mdadm.conf contém entradas ARRAY correspondentes.
- GRUB possui entradas para hd0 e hd1 e o sistema inicializa com sucesso após reboot.
Glossário (1 linha cada)
- RAID1: espelhamento de blocos entre dois discos para redundância.
- mdadm: utilitário Linux para gerenciar dispositivos RAID por software.
- initrd: imagem de disco inicial usada pelo kernel para montar o root temporário.
Resumo final
Você sincronizou as partições de /dev/hda com os arrays RAID existentes, atualizou mdadm.conf, ajustou o GRUB para suportar boot a partir de ambos os discos e regenerou o initrd. Após reiniciar, o sistema deve arrancar normalmente e estar protegido contra falha de um dos discos.
Notas: sempre mantenha backups e, se possível, teste o processo em um sistema de staging antes de aplicar em produção.
Materiais semelhantes
Aprenda inglês com IA: 10 apps essenciais

Legendas no Final Cut Pro: guia prático
Instalar BIKA LIMS Inkosi no Ubuntu Server

Guia prático: aumentar a bateria do iPhone

Corrigir erro 0x800F0909 no Windows 11
