Configurando RAID1 em /dev/sda e GRUB no Fedora 8
7 Preparando /dev/sda
Se tudo correu bem, você deve ver /dev/md0 e /dev/md2 na saída de:
df -h
[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 4.4G 2.4G 1.8G 58% /
/dev/md0 99M 15M 80M 16% /boot
tmpfs 185M 0 185M 0% /dev/shm
[root@server1 ~]#
A saída de
cat /proc/mdstat
deve ser semelhante a:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1]
104320 blocks [2/1] [_U]
md1 : active raid1 sdb2[1]
513984 blocks [2/1] [_U]
md2 : active raid1 sdb3[1]
4618560 blocks [2/1] [_U]
unused devices:
[root@server1 ~]#
Agora precisamos alterar o tipo das três partições em /dev/sda para “Linux raid autodetect”:
fdisk /dev/sda
[root@server1 ~]# fdisk /dev/sda
Command (m for help): <-- t
Partition number (1-4): <-- 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-4): <-- 2
Hex code (type L to list codes): <-- fd
Changed system type of partition 2 to fd (Linux raid autodetect)
Command (m for help): <-- t
Partition number (1-4): <-- 3
Hex code (type L to list codes): <-- fd
Changed system type of partition 3 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 ~]#
Agora podemos adicionar /dev/sda1, /dev/sda2 e /dev/sda3 aos arrays RAID correspondentes:
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md2 /dev/sda3
Verifique o progresso com:
cat /proc/mdstat
Você deverá ver que os arrays estão sendo sincronizados:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0] sdb1[1]
104320 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
513984 blocks [2/2] [UU]
md2 : active raid1 sda3[2] sdb3[1]
4618560 blocks [2/1] [_U]
[=====>...............] recovery = 29.9% (1384256/4618560) finish=2.3min speed=22626K/sec
unused devices:
[root@server1 ~]#
Dica: execute
watch cat /proc/mdstat
para acompanhar continuamente o progresso. Para sair do watch, pressione CTRL+C.
Aguarde até a sincronização terminar — a saída deverá ficar assim:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0] sdb1[1]
104320 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
513984 blocks [2/2] [UU]
md2 : active raid1 sda3[0] sdb3[1]
4618560 blocks [2/2] [UU]
unused devices:
[root@server1 ~]#
Importante: não desligue nem reinicie o sistema enquanto um array estiver em processo de recuperação; isso aumenta o tempo necessário para re-sincronizar e pode degradar a redundância.
Ajustar /etc/mdadm.conf
Atualize o arquivo /etc/mdadm.conf para refletir a configuração atual:
mdadm --examine --scan > /etc/mdadm.conf
/ etc / mdadm.conf deve agora conter entradas ARRAY similares a estas:
| ARRAY /dev/md0 level=raid1 num-devices=2 UUID=2848a3f5:cd1c26b6:e762ed83:696752f9 ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8a004bac:92261691:227767de:4adf6592 ARRAY /dev/md2 level=raid1 num-devices=2 UUID=939f1c71:be9c10fd:d9e5f8c6:a46bcd49
|
Verifique o conteúdo com:
cat /etc/mdadm.conf
8 Preparando o GRUB
Estamos quase terminando. Agora edite /boot/grub/menu.lst. Atualmente está configurado para iniciar a partir de /dev/sdb (hd1,0). Para assegurar boot caso /dev/sdb falhe, copie a primeira stanza do kernel (que contém hd1), cole-a abaixo e substitua hd1 por hd0. Comente outras entradas de kernel que não queira usar. Deve ficar parecido com:
vi /boot/grub/menu.lst
| # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda3 # initrd /initrd-version.img #boot=/dev/sda default=0 fallback=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Fedora (2.6.23.1-42.fc8) root (hd1,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img title Fedora (2.6.23.1-42.fc8) root (hd0,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img #title Fedora (2.6.23.1-42.fc8) # root (hd0,0) # kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet # initrd /initrd-2.6.23.1-42.fc8.img
|
Isso garante que tanto hd0 quanto hd1 tenham uma entrada adequada para o mesmo kernel, permitindo que cada disco possa inicializar o sistema independentemente.
Atualizar ramdisk e reiniciar
Atualize o initrd para incluir os módulos md/raid necessários e crie um backup do initrd atual:
mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig2
mkinitrd /boot/initrd-`uname -r`.img `uname -r`
Após isso, reinicie:
reboot
O sistema deverá subir normalmente; verifique se os arrays estão ativos após o boot com:
cat /proc/mdstat
mdadm --detail /dev/md0
Checklist rápido para execução (para administradores)
- Fazer backup das configurações importantes (/etc/fstab, /boot/grub/menu.lst, /etc/mdadm.conf)
- Verificar estado atual de /proc/mdstat e df -h
- Alterar tipos de partição em /dev/sda para fd (Linux raid autodetect)
- Adicionar sda1/2/3 aos arrays com mdadm –add
- Monitorar sincronização com watch cat /proc/mdstat
- Atualizar /etc/mdadm.conf com mdadm –examine –scan
- Ajustar /boot/grub/menu.lst para suportar ambas as unidades (hd0 e hd1)
- Atualizar initrd e reiniciar
Quando isso pode falhar
- Se o disco de destino (/dev/sda) tiver setores defeituosos, a sincronização pode falhar. Faça smartctl/hdparm para checar saúde do disco antes.
- Se /boot estiver em um filesystem não acessível durante o boot (por ex. LVM não inicializado), o GRUB pode não encontrar o kernel. Certifique-se de que /boot permaneça uma partição simples e acessível.
- Mudar o mapeamento de hd0/hd1 em sistemas com controladoras diferentes (SCSI vs SATA) pode alterar a ordem; teste em rebootes antes de depender da nova configuração.
Abordagens alternativas
- Usar um instalador ou ferramenta que escreva o GRUB em ambos os discos automaticamente (algumas distribuições ou scripts de provisioning fazem isso).
- Em vez de editar manualmente menu.lst, instalar o GRUB em /dev/sda com grub-install –recheck /dev/sda após copiar a configuração.
- Para sistemas modernos: migrar para grub2 e usar os mecanismos de configuração automáticos (grub2-mkconfig) e systemd-boot, dependendo da distro.
Mini-metodologia (passos de alto nível)
- Validar estado atual e backups.
- Marcar partições como RAID (tipo fd).
- Adicionar partições ao array e monitorar a reconstrução.
- Atualizar /etc/mdadm.conf.
- Ajustar GRUB para suportar boot de ambos os discos.
- Regenerar initrd, testar e reiniciar.
Glossário rápido
- mdadm: utilitário Linux para criar/manter arrays RAID por software.
- initrd: ramdisk inicial usado pelo kernel para carregar módulos necessários antes do root filesystem.
- GRUB: carregador de boot que inicia o kernel.
Resumo final
Você configurou as partições de /dev/sda como RAID, adicionou-as aos arrays mdadm, esperou a sincronização completar, atualizou /etc/mdadm.conf, ajustou o menu do GRUB para garantir boot redundante e regenerou o initrd. Após o reboot o sistema deve iniciar normalmente e continuar com RAID1 ativo.
Nota: este guia foca em Fedora 8 com GRUB legado e mdadm; para versões mais novas consulte a documentação da sua distribuição e considere GRUB2 e initramfs modernos.
Materiais semelhantes

Remover KB5063878 no Windows 11 — corrigir 0x800f0905

Proteção contra Ransomware no Windows 11 — Guia

iPhone SE 2020 grátis — oferta Sprint Memorial Day

Recuperar arquivos no Mac com Stellar Data Recovery
